Изменить цвет подгруппы в ggplot boxplot

#r #ggplot2

#r #ggplot2

Вопрос:

Я составил сгруппированный boxplot (= Атрибут) в R, используя ggplot с подгруппами для каждого атрибута (= Продукт). Поскольку цвета для каждой подгруппы слишком похожи, я хотел бы изменить цвета, но пока я не смог этого сделать.

Это мой скрипт:

 library(ggplot2)
jpeg(file="Sensorik.jpeg",height=300,width=600)
ggplot(df_1, aes(x=Attribut, y=Rating, fill=factor(Produkt))) 
  geom_boxplot(colour="black") 
  theme_classic() 
  theme(plot.title = element_text(hjust = 0.5,face="bold",size=16),
        plot.margin=margin(20,30,20,30),
        axis.title.y = element_text(size = 14),
        axis.title.x = element_text(size = 14),
        axis.text.x = element_text(size=12),
        axis.text.y = element_text(size=12)) 
  scale_y_continuous(breaks=seq(1,9,by=1),limits=c(1,9)) 
  scale_fill_discrete(name="Produkt",labels=c("A","B","C","D","E","F")) 
  theme(legend.title = element_text(size=14),legend.text = element_text(size=12)) 
  labs(x="Attribut",y="Rating")
dev.off()
 

До сих пор я пытался использовать Rcolorbrewer, вставляя следующую строку:

 scale_color_brewer(palette="Set1",name="Produkt") 
 

Но это ничего не изменило. Итак, я попытался изменить цвета вручную:

 scale_fill_manual(values=c("red", "darkblue", "green","yellow","lightblue","orange")) 
 

Но я получил следующее сообщение об ошибке:

Масштаб для «заливки» уже присутствует. Добавление другого масштаба для «заливки», который заменит существующий масштаб.

Комментарии:

1.Если вы уже используете фактор для заполнения, вам не нужно scale_fill_discrete() . Удалите это и используйте либо scale_fill_brewer() не scale_color_brewer() — либо scale_fill_manual() .

2. Большое вам спасибо! Я дополнительно переместил метки условных обозначений в scale_fill_brewer(), и тогда это сработало отлично!