如何使用ggplot2和lattice在直方图上叠加分布曲线
比如说,我在 ggplot2 中使用 Facet_grid() 来获取 2 个直方图。现在我想将这些直方图与泊松曲线(两个直方图/网格具有不同的平均值)和另一个分布的第二条曲线(我想手动提供值的概率函数)叠加。这怎么能做到呢?
构建一个示例:
library(ggplot2)
value<-c(rpois(500,1.5))
group<-rep(c("A","B"),250)
data<-data.frame(value,group)
g1<-ggplot(data,aes(value))
g1+geom_histogram(aes(y=..count..),binwidth=1,position="identity")+facet_grid(.~group)
接下来做什么?
或者,可以使用lattice包来完成吗?
Say, I am using facet_grid()
in ggplot2 to obtain 2 histograms. Now I want to superimpose these histograms with Poisson curves (having different means for the 2 histogram plots/grids) and a second curve of another distribution (for which I want to manually provide the probability function of values). How can this be done?
Constructing an example:
library(ggplot2)
value<-c(rpois(500,1.5))
group<-rep(c("A","B"),250)
data<-data.frame(value,group)
g1<-ggplot(data,aes(value))
g1+geom_histogram(aes(y=..count..),binwidth=1,position="identity")+facet_grid(.~group)
What next?
Alternatively, can it be done using the lattice package?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
最简单的方法是绘制密度而不是计数并使用 stat_function()
如果您想要计数,那么您需要将 dpois 的密度转换为“计数”
The easy way is to plot densities instead of counts and use stat_function()
If you want counts then you need to convert the densities of dpois to 'counts'
最近遇到类似的问题(比较分布)时,我为 透明重叠直方图可能会给您一些从哪里开始的想法。
When recently faced with a similar problem (comparing distributions), I wrote up some code for transparent overlapping histograms that might give you some ideas on where to start.