对于一组8个基因,我有三种不同方法的表现和覆盖率数据,我想同时代表两种测量方法。我在考虑在y轴和覆盖范围内绘制性能作为scale_colour_gradient,如:
数据:
GENES P1 P2 P3 coverage1 coverage2 coverage3
gene1 0.520 0.43 0.68 0.826 1.000 0.84
gene2 0.410 0.48 0.91 0.911 1.000 0.96
gene3 0.240 0.65 0.82 0.833 1.000 0.95
gene4 0.470 0.535 0.81 0.853 1.000 0.77
gene5 0.590 0.677 0.84 0.813 1.000 0.89
gene6 0.370 0.55 0.54 0.753 1.000 0.82
gene7 0.420 0.56 0.78 0.867 1.000 0.91
gene8 0.550 0.638 0.76 0.830 1.000 0.83
有人可以给我一些如何做到这一点的指导方针吗?我已经看过每个情节单个尺度梯度的例子,但是找不到这样的情况。 您是否知道其他想法同时代表这两个方面的信息?
感谢。
编辑:@Jimbou我尝试了类似的东西,但它没有按照我的预期进行:我使用melt
格式化数据,然后我更改了colnames以避免混淆并绘制它:
colnames(d1) <- c("GENES", "performer", "performances","coverager","coverages")
ggplot(d1,aes(GENES, fill=performer, alpha=coverager)) + geom_bar(aes(weight=performances), position ="dodge")
但这不是一样的
答案 0 :(得分:3)
您可以在ggplot函数中指定颜色和alpha参数。 使用copy&amp; amp;读取您的数据。糊。将其转换为适合ggplot的数据格式并绘制条形图。
d <- read.table("clipboard",header=T)
library(reshape2)
d1 <- melt(d[,1:4])
d2 <- melt(d[,c(1,5:7)],value.name = "cov")
d1 <- cbind(d1,d2[,-1])
head(d1)
GENES variable value var_cov cov
1 gene1 P1 0.52 coverage1 0.826
2 gene2 P1 0.41 coverage1 0.911
3 gene3 P1 0.24 coverage1 0.833
4 gene4 P1 0.47 coverage1 0.853
5 gene5 P1 0.59 coverage1 0.813
6 gene6 P1 0.37 coverage1 0.753
#Plot
ggplot(d1,aes(GENES,fill=variable,alpha=cov))+
geom_bar(aes(weight=value),position = "dodge")