在R中,介绍条形图函数每个条形的不同颜色

时间:2015-09-13 08:08:50

标签: r

我有一个像这样的矩阵

df
v1 v2 v3
1  4  7
3  1  2
1  6  5

当我做愚蠢的代码时

 barplot(df , beside = F ,  hor = T , col= c("darkred" , "darkblue" , "darkgreen"))

我有这张照片barplo

我想改变每个酒吧的颜色......任何颜色...... 例如,v1条将是例如深色,深蓝色但是黄色而不是深绿色。我想更改其他不同颜色的v2条:黑色,黑色和粉红色,而不是"黑暗" ," darkblue" ," darkgreen" ...对于v3栏,同样的程序,选择任何其他颜色。我试着在col参数中放入一个矩阵,但它不起作用。

解决这个问题的一些方法?

1 个答案:

答案 0 :(得分:2)

这是ggplot2中的解决方案:

首先,重塑数据。

library(reshape2)
m_df <- melt(df)

然后创建一个(类似的)情节:

library(ggplot2)
#add color (quite random for now)
m_df$col <-  c("darkred" , "darkblue" , "yellow","green","red","orange","pink","blue","black")

p1 <- ggplot(m_df, aes(x=Var2,y=value,fill=col)) + 
  geom_bar(stat="identity",position="stack") + 
  scale_fill_identity() + coord_flip() +
  theme_classic()
p1

enter image description here