728x90
반응형
1.3 심미성 매핑
심미성은 플롯 객체들의 시각적 속성이다. 심미성에는 점의 크기, 모양, 색상 같은 것들이 포함된다. 심미성 속성값을 변경하여 점을 다른방법으로 표시할 수 있다. 앞으로 여기서는 심미성 속성을 설명할 때는 수준(level)이라는 용어를 사용한다.
Color mapping example
ggplot(data=mpg)+
geom_point(mapping = aes(x = displ, y = hwy, color = class))
- 플롯 오른쪽에서 이상값으로 의심되는 데이터의 색상들을 보면 이상값 중 다수가 2인승차(2seater)임을 보여준다
- 이 차들은 스포츠카들이다. 스포츠카들은 SUV와 픽업트럭처럼 엔진이 크지만 차체가 중형차나 소형차처럼 작아서 연비가 좋다
- 심미성을 변수에 매핑하기 위해서는 aes() 내부에서 심미성 이름을 변수 이름과 연결해야한다.
- 스케일링(Scaling): 변수의 고유한 값에 심미성의 고유한 수준을 자동으로 지정함
- ggplot2는 스케일링 뿐만 아니라 어떤 수준이 어떤 값에 해당하는지를 설명하는 범례도 추가한다.
Size mapping example
ggplot(data=mpg)+
geom_point(mapping = aes(x = displ, y = hwy, size = class))
점의 크기 뿐만아니라 점의 투명도(alpha), 점의 모양(shape) 등으로 매핑할 수도 있다.
# 왼쪽
ggplot(data=mpg)+
geom_point(mapping = aes(x = displ, y = hwy, alpha = class))
# 오른쪽
ggplot(data=mpg)+
geom_point(mapping = aes(x = displ, y = hwy, shape = class))
- 모양 심미성을 사용한 그래프에서 SUV의 경우 ggplot2는 한번에 여섯 개의 모양만 사용하기 때문에 추가되는 그룹들은 기본적으로 플롯되지 않은 채로 진행된다.
- 각 심미성에 대해 aes() 를 사용하여 심미성 이름과 표시될 변수를 연결한다.
- x와 y의 심미성에 대해서는 ggplot2가 범례를 생성하지 않지만, 범례역할(위치와 값 사이에매핑)을 하는 축라인을 눈금, 라벨과 함께 생성한다.
- 지옴 심미성의 속성은 수동으로도 설정할 수 있다.
ggplot(data=mpg)+ geom_point(mapping = aes(x = displ, y = hwy),
color = "blue", shape = 15)
- 색상 설정을 이와 같이 하면 변수에에 대한 정보는 전달되지 않고 플롯 외양만 변경된다.
- 색상 뿐만 아니라 다양한 심미성이름을 지옴 함수의 인수로 설정하면 심미성을 수동으로 설정할 수 있다.
연습문제
1. 다음 코드는 무엇이 문제인가? 점들이 왜 파란색이 아닌가?
ggplot(data=mpg)+
geom_point( mapping = aes(x = displ, y = hwy, color = "blue") )
- aes 함수는 안에서는 심미성을 변수명과 연결하여 변수의 심미성을 나타낸다. 전체적인 점들의 심미성을 적용할 경우 지옴 심미성의 속성을 통해 변경할 수 있다.
2. mpg 의 어느 변수가 범주형인가? 어떤 변수가 연속형인가?
str(mpg)
- 범주형 : manufacturer, model, year, trans, drv, f1, class, cyl
- 연속형 : displ, , cty, hwy]
3. 연속형 변수 하나를 color, size, shape로 매핑하라. 이러한 심미성은 범주형, 연속형 변수에 따라 어떻게 다르게 작동하는가?
- 범주형의 경우 각 값에 따른 color, size, shape를 통해 나타낸다.
- 연속형의 경우 자동으로 범위가 정해서 범위에 따른 color, size, shape가 정해져 나타낸다.
ggplot(mpg)+
geom_point(mapping = aes(x = displ, y = hwy, color = cty ))
4. 하나의 변수를 여러 심미성에 매핑하면 어떻게 되는가?
- 모두 반영되어 나타난다. 여러 심미성을 매핑하면 그래프에 더 많은 정보를 담을 수 있다는 장점이 있다.
5. stroke심미성의 역할은 무엇인가? 어떤 모양과 함께 작동하는가?
- 점의 크기, 점의 테두리의 크기 정도를 나타낸다.
# 왼쪽
ggplot(data = mpg) +
geom_point(mapping = aes(x = displ, hwy, stroke = 5))
# 오른쪽
ggplot(data = mpg) +
geom_point(mapping = aes(x = displ, hwy, stroke = 5))
6. aes(color = displ < 5) 처럼 심미성을 변수 이름이 아는 다른것에 매핑하면 어떻게 되는가?
- 심미성 조건 만족 여부에 따라 TRUE와 FALSE를 color로 나타내는 그래프가 그려질 것이다.
ggplot(data=mpg)+
geom_point(mapping = aes(x = displ, y = hwy, color = displ < 5)
728x90
반응형
'Study > R' 카테고리의 다른 글
[R4DS] 1장 데이터 시각화 - 06 위치조정 (0) | 2022.01.10 |
---|---|
[R4DS] 1장 데이터 시각화 - 05 통계적 변환 (0) | 2022.01.10 |
[R4DS] 1장 데이터 시각화 - 04 기하객체 (0) | 2022.01.10 |
[R4DS] 1장 데이터 시각화 - 03 facet (0) | 2021.11.27 |
[R4DS] 1장 데이터 시각화 - 01 첫 단계 (0) | 2021.11.16 |