我在 R 中有一个数据框。在每个数据框中有 8 个变量。
我想制作一个条形图,其中我想根据一个特定变量中的值为条形分配不同的灰色阴影。
这就是我制作条形图的方式:
barplot(x$cov, names.arg = x$exon,
xlab = x$gene[1],
ylab = "read depth" ,
border = gray.colors(???))
变量外显子由整数组成。例如:
0 0 0 0 1 1 1 2 2 3 3 3 3 4 4 4
所以我希望
$exon = 0
的所有条形都处于一种灰色阴影中$exon = 1
为另一种灰色阴影的所有条形等等......有人可以帮我一把吗?
最佳答案
首先,定义包含 cov
和 exon
值的样本数据帧。
x<-data.frame(cov=sample(1:20,20),exon=rep(0:4,each=4))
使用参数
col=
而不是 border=
,因为它在示例中更明显。灰色向量作为
exon
的唯一值的长度。然后 []
用于根据 exon
值为每个条形选择颜色。barplot(x$cov, names.arg = x$exon,
ylab = "read depth" ,
col = gray.colors(length(unique(x$exon)))[as.factor(x$exon)])
关于r - barplot() 根据列中的类别数为条形显示不同颜色的灰色,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14382697/