# naver search confirm # markdown number and equation 3. aes 요소 추가 //google adsense
본문 바로가기
ggplot2

3. aes 요소 추가

by 노마드분석가 2022. 3. 10.

이전글

 

2. 데이터 타입과 차트 종류

이전글 1. ggplot2 기본구조 1. 들어가며 목적지를 향해 떠나기 전에 좋은 지도를 갖추는 것은 필수적이다. 데이터 시각화를 하기 전에 먼저 주어진 데이터로 어떤 차트를 그릴 수 있는지 파악하고

diseny.tistory.com

1. 들어가며

ggplot2의 기본 구조는 아래와 같다.
ggplot(data="데이터명", aes(x="변수명", y="변수명")) + geom 함수
여기에서 aes는 특정한 데이터(변수)를 척도에 맵핑 시킬 때 쓰는 명령어다.

 

library(ggplot2) 
ggplot(data=iris, aes(x=Sepal.Length, y=Petal.Length)) + geom_point()


위의 코드는 iris 데이터의 Sepal.Length 변수를 X축에, Petal.Length 변수를 Y축으로 맵핑하겠다는 의미이다.


2. 차트의 차원과 척도 맵핑 관계

기본적으로 모든 차트는 2차원 공간에서 그려진다. 따라서 기본적으로 차트의 차원(축)은 2차원이다. 물론 <그림 1>처럼 무리하게 2차원에서 3차원 차트를 구현할 수 있지만 일반적으로 권장하지 않는다.

[그림 1] 2차원에 그린 3차원 차트

 

따라서 차트를 그릴 때 2개의 변수 까지는 x, y 축에 맵핑하면 되는데 만약 z라는 변수까지 포함해서 차트를 그려야 한다면 z는 축이 아니라 다른 디자인 요소에 맵핑해야 한다. 일반적으로 다른 디자인 요소는 색, 모양, 크기가 있다. 예를 들어 <그림 1>의 3차원 차트에서 하나의 차원(변수)를 색에 맵핑한 경우의 차트는 <그림 2>와 같다

[그림 2] 두개의 변수를 두 축에, 하나의 변수를 색에 맵핑

 

위의 차트를 척도의 개념으로 분해해보면 아래와 같다.

  • X축 = Sepal.Length
  • Y축 = Petal.Length
  • 색 = Species

이제 이런 차트를 만들기 위한 ggplot2 구문을 보자.

 

library(ggplot2)
ggplot(data=iris, aes(x=Sepal.Length, y=Petal.Length, color=Species)) + geom_point()


aes 뒤의 괄호안에 color=Species 를 추가했다. 즉, aes는 특정한 데이터(변수)를 특정한 척도(scale)에 맵핑 시킬 때 쓰는 구문이다. x, y 축은 굳이 지정하지 않아도 즉 x=, y=를 붙이지 않아도 자동으로 축이라는 것을 인식하기 때문에 붙이지 않아도 괜찮다.

위의 코드에서 Species 변수를 색이 아니라 모양 척도에 매핑 시키려면 shape = Species 로 바꾸면 된다. Species가 연속형 변수라면 size=Species으로 크기 척도에도 맵핑할 수 있다. 현재는 범주형 변수라 크기 척도에 맵핑하는 것은 부적합하다.

 

3. 단순히 차트의 점 색깔을 바꾸고 싶을 때

점의 색깔이 척도(scale) 역할을 하는 것이 아니라 단순히 미적인 관점에서 다른 색으로 바꾸고자 한다면 아래와 같은 코드로 구현가능하다.

library(ggplot2)
ggplot(data=iris, aes(x=Sepal.Length, y=Petal.Length)) + geom_point(color='red')

반응형

'ggplot2' 카테고리의 다른 글

4. 1개의 연속형 변수로 density 차트 만들기  (0) 2022.03.12
2. 데이터 타입과 차트 종류  (0) 2022.03.07
1. ggplot2 기본구조  (0) 2022.03.07

댓글