Я знаю, что этот вопрос был 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
Я бы очень признателен за любые идеи!
вы хотите вместо этого «scale_fill_manual» – Nate