我希望有一个像1这样的堆积条形图,但每个条形的颜色都不同,例如在2中有堆叠线。
x<-matrix(runif(40),ncol=10)
barplot(x,legend=c('part1','part2','part3','part4'), col=rainbow(10))
答案 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))
这给出了下图。
当然,您可以随意更改颜色和透明度。只需更改scale_alpha_discrete
和scale_fill_discrete
函数调用即可。