【发布时间】:2020-10-06 14:01:25
【问题描述】:
我正在尝试绘制一条密度线,并且只想对与 x 轴的 95% 相关联的区域进行着色或填充。我正在尝试遵循所附答案中给出的答案,但是当我们使用分组因子同时绘制多个分布时,他们都没有谈论阴影区域。在这种情况下,分组因子是不同的中心电极(“Fz”、“Cz”、“Pz”)。我试图将类似于最高密度间隔的东西可视化,或者曲线下面积介于 5 和 95 之间。
我的数据如下所示:
> head(dframe1)
x y Electrode
1 1.571296 0.0001474116 Fz
2 1.576496 0.0001487649 Fz
3 1.581697 0.0001497564 Fz
4 1.586897 0.0001504074 Fz
5 1.592098 0.0001507446 Fz
6 1.597298 0.0001507776 Fz
目前我用来在 ggplot 中按组绘制分布的代码如下所示:
p1 <- ggplot(data = dframe1, mapping = aes(x = x, y = y)) +
geom_density_line(stat = "identity", size=.5, alpha=0.3, aes(color=Electrode, fill=Electrode)) +
scale_fill_discrete(breaks=c("Fz","Cz","Pz")) +
guides(colour = FALSE) +
geom_vline(xintercept = 0) +
xlab("values") +
xlim(-2, 10) +
ylab("density") +
ylim(0, .7) +
theme(axis.text=element_text(size=12),
axis.title=element_text(size=16),
plot.title = element_text(size=18)) +
labs(title="Interval")
我画了一些类似于我正在寻找的东西:
当然我可以使用bayestestR HDI标准输出,但我更喜欢ggplot的美感和灵活性。
任何帮助将不胜感激。
【问题讨论】:
-
您能否使用
dput()分享您的大量数据,当我们使用您分享的小数据时,该图是空的! -
或者,使用
dnorm来生成您的数据,以避免需要dput一个大型数据框并允许轻松验证解决方案。 -
对不起,我没有附上数据,但确实是3个正态分布。我从未使用过
dput(),所以我不知道该怎么做。不过感谢您的 cmets。