1 Вопрос: Цвета в ggplot не соответствуют цветам в легенде

вопрос создан в Wed, May 8, 2019 12:00 AM

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

ggplot(Top102018, aes(x= reorder(Country, -Life.Ladder), y=Life.Ladder))+
geom_col(aes(fill=Country)) + 
scale_fill_discrete(name = "Country", 
                    labels = c("Finland", "Denmark", "Switzerland","Netherlands","Norway","Austria", "Sweden","New Zealand", "Luxembourg","United Kingdom"))  + 
theme_light()
    
0
  1. Пожалуйста, задайте свой вопрос воспроизводимая .
    2019-05-08 16: 28: 55Z
1 ответ                              1                         

Цвета не соответствуют легенде из-за строки: scale_fill_discrete(). Если вы хотите тот же заказ, используйте reorder() в параметрах fill, а не только в x =

data.frame(
    Country     = c("Finland", "Denmark", "Switzerland"),
    Life.Ladder = c(10, 20, 15) 
) %>% 
    ggplot(aes(x = reorder(Country, -Life.Ladder), y = Life.Ladder)) + geom_col(aes(fill = reorder(Country, -Life.Ladder))) +
    labs(fill = 'Country')  + 
    theme_light()

 введите описание изображения здесь

    
2
2019-05-08 17: 33: 30Z
  1. Спасибо. Я включил это, потому что иначе мои страны упорядочены по алфавиту, а не по размеру.
    2019-05-08 17: 21: 15Z
  2. страны упорядочены по размеру на графике из-за функции reorder(), но вы правы, в легенде они упорядочены по алфавиту. Вам нужен тот же заказ?
    2019-05-08 17: 23: 03Z
  3. если вы хотите такой же порядок, используйте reorder() в geom_col(fill = ). Я отредактировал ответ.
    2019-05-08 17: 31: 56Z
источник размещен Вот