[withR]좀더 하는 ggplot2-Density Plot of Two-Dimensional Data(이차원 데이터의 density plot)

Neo Jeong
신나는연구소
Published in
3 min readAug 29, 2019

library(ggplot2) #예제 자료

이차원 데이터의 density plot을 생성하자.

이차원 density plot은 stat_density2d()로 가능하다.

p <- ggplot(faithful, aes(x=eruptions, y=waiting))
p + geom_point() + stat_density2d()

ggplot()을 p에 할당하고, p를 재사용해서 코딩을 한다.

등고선형태로 그래프가 생성 되었다. x축과 y축을 가진 2차원의 그래프이다.

p + stat_density2d(aes(colour=..level..))

density를 색으로 표현한 그래프이다. colour=..level..이 왜 ..density..가 아닌지는 잘 모르겠다.

p + geom_point()+stat_density2d(aes(alpha=..density..), geom=”tile”, contour=FALSE)

이번엔 alpha=를 통해서 구역의 투명도를 조절하여 2차원 density를 표현하였다.

p + stat_density2d(aes(fill=..density..), geom=”raster”, contour=FALSE)

옵션을 fill을 주면 위와 같은 그래프가 생성된다. 이때 geom=””안에, tile과 raster두가지가 들어 가는 것을 확인 할 수있는데 둘다 비슷한 형태의 그래프를 생성할때 사용된다. 아직은 정확한 차이점을 파악하지 못해서 나중에 다시 설명하도록 하겠다.

p + stat_density2d(aes(fill=..density..), geom=”raster”,contour=FALSE, h=c(.5,5))

h=c()를 이용하면 구간을 더 미세하게 쪼겔수 있다.

--

--

Neo Jeong
신나는연구소

#Data Analyst #세상을 보는 데이터 분석가 #책을 읽는 몽상가