2016-08-10 4 views
0

Я знаю, что этот вопрос был asked before, но я не могу получить принятый ответ на работу. Вот мой набор данных:Согласованное цветовое сопоставление в ggplot

library(ggplot2) 
library(scales)  
full_data<-NULL 
full_data$race<-c(1,2,3,4,1,2,3,4,3,4,3,4,4) 
full_data$race<-as.factor(full_data$race) 
full_data$Year<-sample(2000:2005,13,replace=TRUE) 
full_data$number<-sample(5:10,13,replace=TRUE) 
full_data$program<-c(rep(1,6),rep(2,7)) 
full_data<-as.data.frame(full_data) 
program1<-subset(full_data, full_data$program==1) 
program2<-subset(full_data, full_data$program==2) 
identical(levels(program1$race),levels(program2$race)) 

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

MyPalette <- c("1" = "#5DD0B9", "2" = "#E1E7E9", "3" = "#1f78b4", 
      "4" = "#a6cee3") 

p1_chart<-ggplot(data=program1, aes(x=program1$Year, y=program1$number, fill=program1$race)) + 
    geom_bar(stat="identity", position=position_dodge())+ 
    scale_colour_manual(values = MyPalette) 
p1_chart 

p2_chart<-ggplot(data=program2, aes(x=program2$Year, y=program2$number, fill=program2$race)) + 
geom_bar(stat="identity", position=position_dodge())+ 
    scale_colour_manual(values = MyPalette) 
p2_chart 

Я бы очень признателен за любые идеи!

+0

вы хотите вместо этого «scale_fill_manual» – Nate

ответ

0

, чтобы показать вам, где colour_scale на самом деле расцветка, используя свой MyPalette для fill_scale:

library(RColorBrewer) 

p1_chart<- ggplot(data=program1, aes(x=Year, y=number, fill=race, colour = race)) + 
    geom_bar(stat="identity", position=position_dodge())+ 
    scale_fill_manual(values = MyPalette) + 
    scale_color_brewer(palette = "Dark2") + 
    theme_bw() 
p1_chart 

p2_chart<-ggplot(data=program2, aes(x=Year, y=number, fill=race, colour = race)) + 
    geom_bar(stat="identity", position=position_dodge())+ 
    scale_fill_manual(values = MyPalette) + 
    scale_color_brewer(palette = "Dark2") + 
    theme_bw() 
p2_chart 

enter image description here

enter image description here

Side Примечание: Вы действительно не хотите быть используя ссылки df $ в ваших вызовах ggplot, потому что вы уже установили свои данные = df.

Смежные вопросы