R中的叠加图

时间:2013-01-29 11:44:00

标签: r

我想根据数据框不同列的值在一个图表中绘制3个条形图。

应该看something like this

图1的y值是图2和图3的y值之和。图1和图2的颜色可以完全填充(例如蓝色和红色),但图3的颜色具有是半透明的。

我能够使用barplot()函数分别为每列创建一个绘图,但我无法将它们合并到一个图形中。

barplot(covpatient[[1]]$cov, names.arg = covpatient[[1]]$exon, xlab = covpatient[[1]]$gene[1] , ylab = "read depth" , border = "blue", col = "blue")
barplot(covpatient[[1]]$plus, names.arg = covpatient[[1]]$exon, xlab = covpatient[[1]]$gene[1] , ylab = "read depth" , border = "red", col = "red")
barplot(covpatient[[1]]$min, names.arg = covpatient[[1]]$exon, xlab = covpatient[[1]]$gene[1] , ylab = "read depth" , border = "gray", col = "gray")

有人可以帮我一把吗?

1 个答案:

答案 0 :(得分:0)

我不确定这是否是您想要的......但根据您发送的图片,我认为这会有所帮助:

require(ggplot2)
require(reshape2)

covpatient <-list()
covpatient$cov <-rnorm(100,2)
covpatient$plus <-rnorm(100,4)
covpatient$min <-rnorm(100,1)

plot_covpatient <- do.call(rbind,covpatient) 

melted_plot_covpatient<-melt(plot_covpatient,value.name = 'Value')

ggplot(melted_plot_covpatient,aes(group=Var1))+
  geom_density(aes(Value,colour=Var1,fill=Var1),alpha=.5)