본문 바로가기

R프로그래밍,통계학/R까기2

ggplot2로 하는 정교한 시각화-산점도

반응형
png("C:/DATA/residualPlot01.png",width = 2000, height = 1500)
ggplot(data=diamonds, aes(x=carat, y=price, colour=clarity)) + geom_point() +theme_wsj()
dev.off()​
g1+geom_point() +geom_line(size=1) +facet_grid(sex~.)
install.packages("ggplot2")
install.packages("ggthemes")
library("ggplot2")
library("ggthemes")

ggplot(data=diamonds, aes(x=carat, y=price, colour=clarity)) + geom_point() +theme_wsj()

-ggplot2의 내장데이터인 diamonds를 그려봅니다.

 

*ggplot()함수는 크게 1. ggplot() + 2. geom_point() + 3.theme_wsj()로 이루어져 있습니다. 

*장점 : 구분하기 쉽고, 각각 객체에 담아 사용할 수 있어 관리가 쉽다. 

 

g1 <- ggplot(data=diamonds, aes(x=carat, y= price, colour=clarity))
#g1 : 데이터로 사용할 "데이터 프레임" 을 넣고 aes()함수로 데이터를 그래프 각 요소별로 매핑시킨다. 
여기서 aes 는 aesthetic mapping 이라고 부르고 aes()로 정의함.

g2 <- geom_point()
#geom_point(), line(), histogram() 등 이 있음.
점, 라인, 등과 같은것을 기하객체(geometric object)라고함 

g3 <- theme_bw()
#배경 디자인


g1+g2+g3

g1+geom_point()+geom_line() # 둘이 같이 사용 가능합니다.

g1+geom_point(size=2) + geom_line(size=1)

 


 

-ggplot() 뒤의 geom 함수는 ggplot에서 정의한 aes의 colour 값을 전달받아 그래프를 그립니다. ggplot()함수에서 정의한 aes 는 뒤에 있는 모든 geom 함수에 전달하지만 geom함수에서 정의한 aes는 다른 함수에 전달하지 않고 자기한테만 적용됩니다.

g1+geom_line(aes(colour=color), size=1) + geom_point(size=1)

-ggplot()에서 aes의 colour를 정의해서 geom_line에 전달했어도 geom_line()에서 다시 aes의 colour를 정의하면 전달받은 것을 무시하고 다시 정의내리게 됩니다.

ggplot에서 정의해준 clarity에 더해서 color까지 더해 색깔에 표현됨을 알 수 있음

 


facet_grid() 함수 사용하기

*facet : 측면, 양상

 

-명목형 변수를 기준으로 나눠서 별도의 그래프를 그려줍니다.

명목형 변수의 level을 기준으로 나눠서 서로 비교하는 것.

 

DF <- read.csv("example_studentlist.csv")
g1 <- ggplot(DF,aes(x=height, y
=weight, colour = bloodtype))
g1+geom_point() +geom_line(size=1)

 

g1+geom_point() +geom_line(size=1) +facet_grid(.~sex)

남, 여 범주별로 나누어서 그래프를 그려준다.

 

 

바꿔서 그려봅니다.

g1+geom_point() +geom_line(size=1) +facet_grid(sex~.)

 

 

 

 

y축을 하나로 통일해줬습니다.(scales ="free")

 


 

*참고  : 이미지파일을 내보내는 방법

png("C:/DATA/residualPlot01.png",width = 2000, height = 1500) #내보낼장소, 내보낼이름, 크기(가로세로)
ggplot(data=diamonds, aes(x=carat, y=price, colour=clarity)) + geom_point() +theme_wsj() #내보낼 그래프
dev.off()  #내보내기 실행

 

m.blog.naver.com/PostView.nhn?blogId=jjy0501&logNo=221256365690&proxyReferer=https:%2F%2Fwww.google.com%2F

 

R에서 그래프 저장하기

R에서 데이터 분석을 하기 위해선 여러 가지 그래프가 필수적입니다. 데이터 시각화는 데이터를 더 쉽...

blog.naver.com

 

 

반응형