您的位置:首页 > 其它

ggplot2 geom相关设置—分布图

2016-07-23 21:49 330 查看
分布在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可以更直观的看出每个分类的密度情况,但坐标轴的指示效果会被模糊。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: