将汇总信息添加到使用ggploy创建的密度图 [英] Adding summary information to a density plot created with ggplot

查看:18
本文介绍了将汇总信息添加到使用ggploy创建的密度图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个密度图,我想添加一些汇总信息,例如在中位数放置一条线,并对90%可信区间(第五和第95个分位数)加阴影。是否有办法在ggploy中执行此操作?

这是我想要总结的情节类型:

我可以计算出如何从y=0到y=密度(中值(X))画一条线,但我不清楚是否可以用90%的CI对曲线图进行阴影处理。或者,我可以在密度图的上方添加一个水平的框图,但不清楚如何旋转框图本身,而不旋转密度图。

x <- as.vector(rnorm(10000))
d <- as.data.frame(x=x)
library(ggplot2)
ggplot(data = d) + theme_bw() + 
  geom_density(aes(x=x, y = ..density..), color = 'black')

推荐答案

您可以使用geom_Area()函数。首先使用Density()函数显式显示密度。

x <- as.vector(rnorm(10000))
d <- as.data.frame(x=x)
library(ggplot2)
p <- ggplot(data = d) + theme_bw() + 
  geom_density(aes(x=x, y = ..density..), color = 'black')
# new code is below
q5 <- quantile(x,.05)
q95 <- quantile(x,.95)
medx <- median(x)
x.dens <- density(x)
df.dens <- data.frame(x = x.dens$x, y = x.dens$y)
p + geom_area(data = subset(df.dens, x >= q5 & x <= q95), 
              aes(x=x,y=y), fill = 'blue') +
    geom_vline(xintercept = medx)

这篇关于将汇总信息添加到使用ggploy创建的密度图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆