2015-02-05 2 views
1

У меня есть трехгранная фигура с геомбарами в каждой.Ggplot2: изменение цвета заливки в каждом фасете

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

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

Здесь произвольные данные и код, чтобы представить основную идею: «? Dodgebars»

df = data.frame(matrix(data=c(1,3,1,2,3,1,2,3,2,3,1,2,3,1,2,3, 
           1,3,2,1,2,2,2,3,3,3,1,1,1,3,3,2), 
         ncol=2,byrow=TRUE)) 
dimnames(df)[[2]] =c("x","y") 

dodgebars <- 
    ggplot(data = df,aes(factor(y),fill=factor(x))) + 
    geom_bar(aes(group=factor(x)), 
      position="dodge") 

facetedbars <- 
    ggplot(data = df, aes(factor(y))) + 
    geom_bar(aes(group=x)) + 
    facet_grid(~x) 

Как цвет каждой грани быть согласованы с ним досыта крышку

+3

Добро пожаловать в SO. Как правило, вы должны предоставить [воспроизводимый пример] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example), чтобы максимально использовать его. К вашей проблеме: что, если вы сопоставляете переменную facetting, чтобы заполнить цвет? Затем каждый аспект должен иметь различный цвет заливки (если это то, что вы хотите). – lukeA

+0

Я предусмотрел создание очень простых сюжетов. Не могли бы вы также предоставить код для «отображения переменной фасетки для заполнения цвета?» Я просматриваю документацию ggplot, но не знаю, где искать. – kshrek

+0

'facetedbars + aes (fill = as.factor (x))'? – lukeA

ответ

3

Отобразите переменную фасетки, чтобы заполнить цвет. Затем каждый фасет получает другой цвет бара:

facetedbars + aes(fill = as.factor(x)) 
Смежные вопросы