基于截止的着色ggplot密度图

时间:2018-11-22 22:57:31

标签: r ggplot2

我正在尝试根据一个截止点在ggplot中绘制具有不同颜色的密度图。关于如何根据截止条件有条件地对直方图进行着色,以及如何对密度图上的分位数进行着色,存在一些问题。但是,在给定单个截止点的情况下,我没有找到有关如何为密度图着色的任何资源。到目前为止,这是我的代码:

ggplot(dde_test, aes(x = meanABC)) +
          geom_vline(aes(xintercept=quantile(dde_test$meanABC)[4]), color="black", linetype="dashed", size=1) + 
          geom_density(alpha = 0.7, color = "black", fill = "#cb351e") + #, fill = "#405484"
          scale_x_continuous(limits = c(3,12), expand = c(0, 0)) +
          scale_y_continuous(limits = c(0,0.3), expand = c(0, 0)) +
          xlab("") + 
          ylab("density") +
          theme_bw() + 
          theme(panel.border = element_blank(), panel.grid.major = element_blank(),
              panel.grid.minor = element_blank(), axis.line = element_line(colour = "black"))

这将产生以下图:

link to image, since my account is still too new to embed images

非常简单,我想将虚线上方的所有内容都涂成红色,并将虚线下方的所有内容涂成蓝色。我尝试将if else语句放入geom_density()的填充部分,但这没有用。任何提示将不胜感激-谢谢!

p.s。我还想在整个情节中保持虚线为黑色;现在,它与红色密度融合在一起,这对于获得指示也非常有用。道歉,如果这些问题是非常基本的!

编辑:我在Shading a kernel density plot between two points.之前见过此问题,但这与未使用geom_density的情况不同。它也在两个点之间着色,而我想在单个点之前和之后着色。

0 个答案:

没有答案