2017-09-02 88 views
0

我的目标是根据矩阵在R中创建堆叠的条形图,其中矩阵中的每列都是具有不同颜色的条形,每个条形代表列中的所有行。颜色编码在R中使用barplot编组堆叠的条形图()

这里的虚拟数据和柱状图中的脚本我使用麻烦拍摄:

m = matrix(1:9, ncol = 3, byrow = TRUE) 
v = matrix(c("red", "blue", "green"), ncol=3, nrow=3, byrow=TRUE) 
m #matrix of values 
v #matrix of colors for each point 

如果我只积1行,颜色正确分配

barplot(m[1,], col=v[1,])

如果我绘制行1-3指定颜色,数据堆叠正确:

barplot(m[c(1:3),])

如果我绘制行1-3与BESIDE = TRUE,色码正确地(但明显没有堆叠)

barplot(m[c(1:3),], col=v[c(1:3),], beside = TRUE)

如果我试图绘制行1-3,数据正确地堆叠,但颜色

barplot(m[c(1:3),], col=v[c(1:3),])

任何建议:根据需要,不适用的编码?

+0

最后,我要的颜色分组码条,如酒吧1-5是蓝色的,酒吧6 -10是绿色等,因此在我的帖子标题中使用术语“组”。我试图产生一个类似于以下文章中的图,但是每个条被堆叠起来,代表三个数据点(又名3行的列):https://user-images.githubusercontent.com/17264765 /29955156-593119c0-8e92-11e7-8ad7-e76a2700bb30.png –

回答

0

试试这个

v <- c("red","blue","green") 
barplot(m, col=v, beside=FALSE) 

数据矩阵的每一行都将在一个单一的颜色

+0

感谢您的帮助 - 但我实际上在寻找的是每个**列**在我的矩阵中呈现单一颜色。您的代码绘制的是所有酒吧中每个“堆叠”的单独颜色。我需要一个看起来像[this]的阴谋(https://user-images.githubusercontent.com/17264765/29955070-886f58a6-8e91-11e7-8ca1-5bdf16bfb1c3.png),但需要堆叠酒吧。 –

+0

你还想要堆栈线可见吗?或者每个类别的单个栏都很好? – CPak