ggplot2 geom相关设置—分布图


分布在R中应该算是个比较重要的内容,而通过画图来展示数据的分布,可以更直观的让我们了解数据的分布情况

直方图

geom_histogram(mapping = NULL, data = NULL, stat = "bin", position = "stack", ..., binwidth = NULL, bins = NULL, na.rm = FALSE, show.legend = NA, inherit.aes = TRUE)

密度图

geom_density(mapping = NULL, data = NULL, stat = "density", position = "identity", ..., na.rm = FALSE, show.legend = NA, inherit.aes = TRUE)

直方图是通过巨型的堆叠高度展示数据的分布情况,而密度图通过线性的弯曲情况展示数据的分布。

 

下面来看个具体的例子

library(ggplot2)
p<-ggplot(diamonds, aes(carat)) 
p+geom_histogram(bins=30)

下面我们来看下使用密度图的效果

p+geom_density()

密度图比直方图显得平滑,继续可以看下堆叠情况的对比

p<-ggplot(diamonds, aes(carat,fill=cut)) 
p+geom_histogram(bins=50)

p+geom_density(position="stack",adjust=1/1.2)

  

这里未来避免各个分类变量数据的遮挡,把参数position的值设置为stack,可以显示一层层往上叠加的效果

另外参数adjust可以和直方图中参数bins的效果类似,用于调整带状宽度或者矩形宽度

p+geom_density(position="fill",adjust=1/1.2)

  

把position设置成fill可以更直观的看出每个分类的密度情况,但坐标轴的指示效果会被模糊。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM