Все,Добавление заштрихованной области на гистограмме между квинтилях
я диаграмма, которая имеет 2 гистограммы, в которых я также нанесены линии, представляющие 20-й, 40-м, 60-й и 80-й процентили, код ниже воспроизводит аналогичную схему с соской данные
data <- rbind(data.frame(x=rnorm(1000,0,1),g="one"),data.frame(x=rnorm(1000,0.2,1.5),g="two"))
q1 = melt(ddply(melt(data,id.vars="g"),.(g),summarise,q20=quantile(value,.2,na.rm=T),
q40=quantile(value,.4,na.rm=T),q60=quantile(value,.6,na.rm=T),q80=quantile(value,.8,na.rm=T)))
ggplot(data,aes(x=x,fill=g))+
geom_vline(data=q1,aes(xintercept=value,group=variable),linetype=2,color="black")+
#stat_bin(aes(y=..count../sum(..count..)),binwidth=0.1,alpha=0.4,geom="bar")+
geom_histogram(aes(y=..count../sum(..count..)),alpha=0.75,binwidth=0.1)+facet_grid(g~.)+theme_bw()+coord_cartesian(xlim=c(-3,3))
Я хочу добавить затененной области (возможно, в серый цвет) между 40 и 60-й линии, чтобы показать средний квинтиль - Я хотел бы, чтобы регион быть управляемые данными (я используя dataframe q1, который является данными deri ved и это приемлемо, я просто не хочу вводить значение вручную)
Как это можно сделать? Я не был в состоянии сделать это
спасибо за помощь
У вас есть пример желаемых результатов? Как будет выглядеть этот «затененный регион»? – MrFlick
Это поможет? http://stackoverflow.com/questions/3494593/shading-a-kernel-density-plot-between-two-points –
MrFlick, у меня нет примера, поскольку у меня нет способа его генерировать, но на нижней диаграмме область между двумя средними пунктирными линиями (от примерно -0,2 до примерно 0,7) будет серым прозрачным прямоугольником (я могу закончить его сначала, чтобы гистограмма была выше) – user1617979