如何在R中绘制值的范围

时间:2016-09-14 09:09:23

标签: r ggplot2 range

我有这个Rdata:load(url('https://dl.dropboxusercontent.com/u/43417085/density_plot.RData'))

我想绘制类似this的密度图,我可以在want.IBS列中查看每个cutoff项的值范围。另外,我的X轴应该在-2到2之间,Y轴应该只有截止项(而不是数值)。

这是我试过的,但我能看到的只是暗线。有没有其他方法可以做到这一点?

p <- ggplot(mymat, aes(x=as.numeric(want.IBS), fill=cutoff)) #as suggested
p <- p + geom_density(alpha=0.5)
p <- p + xlab ("IBD") + ylab("cutoff")
p <- p + theme_bw()
p

2 个答案:

答案 0 :(得分:4)

mm<-mymat[,2:3]
dd<-melt(mm, id.vars=c("cutoff"))
ggplot(dd, aes(x= as.numeric(value), fill=cutoff))+
   geom_density(alpha=0.5)
   +xlab ("IBD") + ylab("cutoff")+theme_bw()

enter image description here

答案 1 :(得分:0)

这应该完成..但是考虑重新调整数据或仅绘制大值? magrittr运算符需要%>%。或者您可以使用原始data.frame作为Haboryme建议(+1)。

        data.frame(cutoff=mymat$cutoff,want.IBS=as.numeric(mymat$want.IBS)) %>%
 ggplot(.,aes(want.IBS))+geom_density(aes(fill=cutoff),alpha=0.8)

enter image description here