我在 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 为另一种灰色阴影的所有条形等等......

有人可以帮我一把吗?

最佳答案

首先,定义包含 covexon 值的样本数据帧。

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/

10-13 09:14