我在R中有一个数据帧.在每个数据帧中有8个变量.
我想制作一个条形图,我想根据一个特定变量中的值为条形指定不同的灰度.
这就是我制作一个条形图的方式:
barplot(x$cov, names.arg = x$exon,
xlab = x$gene[1],
ylab = "read depth" ,
border = gray.colors(???))
Run Code Online (Sandbox Code Playgroud)
变量外显子由整数组成.例如:
0 0 0 0 1 1 1 2 2 3 3 3 3 4 4 4
Run Code Online (Sandbox Code Playgroud)
所以我希望所有的酒吧$exon = 0都是一个灰色的阴影所有的酒吧$exon = 1都是另一个灰色等等......
有人可以帮我一把吗?
首先,定义包含cov和exon值的样本数据框.
x<-data.frame(cov=sample(1:20,20),exon=rep(0:4,each=4))
Run Code Online (Sandbox Code Playgroud)
使用的参数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)])
Run Code Online (Sandbox Code Playgroud)