цвет на основе сложенной гистограммы

Я хотел бы иметь столбчатую диаграмму с накоплением, например 1, но где цвет отличается для каждого bar, например, в 2 со строкой стека.

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

прикрепленный участок с неправильным цветомГистограмма с хорошими цветами, но без стека


person Wraf    schedule 02.04.2014    source источник
comment
возможный дубликат разных цветов для каждого столбца в стопке гистограмма – базовая графика   -  person Stephan Kolassa    schedule 02.04.2014


Ответы (1)


Я не знаю, как это сделать в базовой графике. Но если вы хотите использовать 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.

person shadow    schedule 02.04.2014