Изменение цвета переменных и категорий в ggplot2 - PullRequest
1 голос
/ 16 марта 2012

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

a = c("A","A","B","B","C","C","D","D")
b = c("inclusion","exclusion","inclusion","exclusion","inclusion","exclusion","inclusion","exclusion")
c = c(60,20,20,80,50,55,25,20)
dat = data.frame(category=a, variable=b, value=c)
dat

category  variable value
1        A inclusion    60
2        A exclusion    20
3        B inclusion    20
4        B exclusion    80
5        C inclusion    50
6        C exclusion    55
7        D inclusion    25
8        D exclusion    20

Сюжет с различными цветами костюма может быть создан достаточно легко:

colors <- c("#9ECAE1","#F03B20")
ggplot(dat, aes(category, value, fill = variable)) +
geom_bar()+
scale_fill_manual(values = colors)

Вопрос в том, как вручную изменить также цвета категорий? Любая помощь будет оценена.

РЕДАКТИРОВАТЬ: просто, чтобы очистить его, окончательный график должен иметь 8 разных цветов: каждая категория / переменная пары будет иметь свой цвет, назначенный вручную.

http://i.stack.imgur.com/G9uKt.png

1 Ответ

2 голосов
/ 16 марта 2012

Хорошо, в этом случае вы просто создаете переменную для каждой уникальной комбинации (в данном случае по одной на строку, но склеивание двух переменных является более общим; вы также можете использовать interaction):

dat$grp <- paste(dat$category,dat$variable)

ggplot(dat, aes(category, value, fill = grp)) +
    geom_bar()+
    scale_fill_manual(values = brewer.pal(8,"Reds"))
...