R条形图-如何根据列名称更改条形图颜色?

hsvhsicv  于 2023-03-15  发布在  其他
关注(0)|答案(1)|浏览(135)

我有一个 Dataframe ,我想知道如何根据列名改变条形图的颜色。当我绘制下面的条形图时,我得到了一个交替的条形图,绿色,红色,黄色和蓝色(重复),而不是将A列中的所有内容(前5个条形图)都涂成绿色。

df <- data.frame(A=c(3,2,1,4,5),B=c(1,6,3,8,4),C=c(2,1,4,8,9), D=c(4,1,2,4,6))
row.names(df)<-c("R1","R2","R3","R4","R5")
print(df)
col.colors <- c(A="green", B="red", C="yellow", D="blue")
barplot(as.vector(as.matrix(df)), names = as.matrix(df), col=col.colors[colnames(df)])
5n0oy7gb

5n0oy7gb1#

由于您使用as.vector()消除了矩阵形状,因此需要为每一行数据重复取值。

barplot(as.vector(as.matrix(df)), names = as.matrix(df), 
  col=rep(col.colors[colnames(df)], each=nrow(df)))

相关问题