r - 在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 是正确的,但是密度搞砸了。根据箱的数量,我可以获得从 50 到 150 的最大密度,并且由于我的模型具有不同的大小(模型 1 和模型 2 的样本数几乎是模型 3/模型 4 的两倍),因此 y 值非常不同。我附上的图是上面显示的代码。
解决方案
推荐阅读
- python - 在python中覆盖(替换)redis列表的最佳方法
- php - 如何避免多次使用同一个名字?
- html - CSS 手风琴 - 复选框的内容在页脚上方
- c++ - 如何防止从中断例程中调用特定的函数或方法?
- python - 我有一个包含 .mat 格式文件的文件夹。有没有办法可以使用 python 将所有这些文件转换为 json?
- spring - 如何将带有@resource注释的类从依赖JAR添加到spring-boot应用程序
- lotus-notes - 如何通知其他地址备注?
- python - 如何使用 Python 和正则表达式从文件中提取文本部分
- angular - TypeError:无法读取未定义 angular7 的属性“_id”
- javascript - 如何使用 if else 条件推送数组