微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在ggplot中使用facet_wrap绘制密度直方图

如何解决在ggplot中使用facet_wrap绘制密度直方图

当我计划使用 facet_wrap 绘制多个组时,我在 ggplot 中绘制密度直方图时遇到了一些问题。我的数据如下所示:

label model   probability
0     model1  0.00000005
0     model2  0.00000788
0     model1  0         
0     model2  0.00000017
0     model1  0.00000005
0     model2  0.00000137

我总共有 4 个模型和 2 个标签 (0,1),所以我想生成一个包含 4 个子图的图,每个模型 1 个,其中概率在密度直方图中分箱,并且标签具有不同的颜色。我目前的代码是:

ggplot(data=df,aes(x=probability,y=after_stat(density),fill=factor(label))) +
  geom_histogram(bins=50,alpha=0.5) +
  facet_wrap(facets = vars(model),nrow=2,ncol=2) +
  scale_fill_discrete(name='True label',labels=c('0','1')) +
  labs(x='Probability of 1',y='Density')

到目前为止,我的 facet_wrap 是正确的,但是密度搞砸了。根据 bin 的数量,我可以获得 50 到 150 的最大密度,并且由于我的模型具有不同的大小(模型 1 和模型 2 的样本数量几乎是模型 3/模型 4 的两倍),因此 y 值非常不同。我附上的图是上面显示代码

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。