在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 (将#修改为@)