堆积的基于条纹的颜色

时间:2014-04-02 12:45:45

标签: r colors bar-chart

我希望有一个像1这样的堆积条形图,但每个条形的颜色都不同,例如在2中有堆叠线。

x<-matrix(runif(40),ncol=10)
barplot(x,legend=c('part1','part2','part3','part4'), col=rainbow(10))

tacked plot with the wrong color bar plot with good colors but without the stack

1 个答案:

答案 0 :(得分:0)

我不知道如何在基本图形中执行此操作。但是,如果您愿意使用ggplot2,那么这很容易做到。例如,您可以将透明度和颜色用作您想要更改的两个不同的东西。这是我使用的代码。

require(ggplot2)
# defining the data
set.seed(1)
x<-matrix(runif(40),ncol=10)
df <- data.frame(x=factor(rep(1:ncol(x), each=nrow(x))), 
                 y=as.numeric(x), 
                 part=factor(paste0("part", 1:nrow(x)), levels=paste0("part", nrow(x):1)))
# ggplot call...
ggplot(df, aes(x=x, y=y, fill=x, alpha=part)) + 
  geom_bar(stat="identity") +
  theme_bw(base_size=30) + 
  scale_x_discrete(name="", breaks=NULL) +
  scale_y_continuous(name="") +
  scale_fill_discrete(name="", guide="none") +
  scale_alpha_discrete(name="", range=c(.3,1))

这给出了下图。 enter image description here

当然,您可以随意更改颜色和透明度。只需更改scale_alpha_discretescale_fill_discrete函数调用即可。