시각화/R

▶R로만드는 데이터시각화 :: ggplot 기초 - iris 시각화

비주얼라이즈 2014. 4. 1. 15:51






R로만드는 데이터시각화 :: ggplot2배우기 <3>


Processing공부에 몰입하다보니

R포스팅이 뜸했습니다 ㅠㅠ



오늘은 ggplot2배우기 <2>에 이어서

ggplot2에 대한 기본적인 내용을 살펴볼까 합니다.

(**오늘 사용되는 예제는 전희원님의 ggplot2 tutorial[각주:1]을 참고하였습니다.)





들어가기에 앞서, 한 문장으로 ggplot2의 느낌을

살펴볼 수 있는 글이 있어서 적어봅니다^^ 



기본 그래픽 시스템은 그림을 그리기 위해 좋은 툴이지만

ggplot2는 데이터를 이해하는 데 좋은 시각화 툴이다.[각주:2]

- Hadley Wichham













library(ggplot2)

ggplot2라이브러리를 불러옵니다.

*없으시다면, install.packages("ggplot2")



오늘 예제에서 사용할 데이터는

R에 내장되어있는, 'iris'데이터입니다.



시각화를 하기 전,

어떤 데이터인지 먼저 살펴보는것이 중요하겠지요?



iris를 입력해보면

아래 사진과 같은 형테의 데이터라는 것을 볼 수 있습니다.




[ iris 데이터의 형태 ]



qplot이 문법기준,  빠른 플로팅을 위한 함수라면,

ggplot2는 문법기준, 상세한 설정을 할 수 있는 함수라고

설명하고 있습니다.



본격적으로 ggplot을 활용한 예제를 살펴보겠습니다.




오늘 다룰 내용은

<geom_point >그래프입니다.



ggplot(iris, aes(Sepal.Length, Sepal.Width))  + geom_point()

가로 축은 Sepal.Length로, 세로축은 Sepal.Width로 설정하고

geom_point로 설정해줍니다.


[ geom_point()의 결과모습 ]



간단한 문장으로 그래프가 그려졌습니다^^

여기에 색상(colour)를 이용하여

한가지 정보를 더 담아볼까요?



iris의 종류(Species)별로 다른 색상을 적용해줍니다.




ggplot(iris, aes(Sepal.Length, Sepal.Width))  + geom_point(aes(colour = Species)))

이렇게 색상을 부여해줌으로써,

iris의 종류별로 이해할 수 있도록 도와줍니다.

geom_point(aes(colour = Species)))의 결과모습 ]



여기에 한가지 더, 

point의 크기를 이용하여 

하나의 그래프에서 확인할 수 있는 정보량을 늘려줍니다.




ggplot(iris, aes(Sepal.Length, Sepal.Width))  + geom_point(aes(colour = Species, size=Petal.Width)))

point의 크기는 꽃잎의  넓이(Petal.Length)에

따라 설정되도록 해주었습니다.


geom_point(aes(colour = Species, size=Petal.Width))의 결과모습 ]


정확한 정보전달을 위하여

중복되어있는 점(겹쳐있는 점)을 표현해줍니다.


ggplot(iris, aes(Sepal.Length, Sepal.Width))  + geom_point(aes(colour = Species, size=Petal.Width), alpha=I(0.7))


[ geom_point(aes(colour = Species, size=Petal.Width), alpha=I(0.4))의 결과모습 ]



마지막으로 plot에서 pdf로 출력 후,

일러스트레이터로 보정을 해보았습니다^^















 





  1. Heewon Jeon, 「Hello ggplot2」, 2013 [본문으로]
  2. Heewon Jeon, 「Hello ggplot2」, 2013, p2 [본문으로]