как изменить порядок легенды

#r #ggplot2 #mapping

#r #ggplot2 #отображение

Вопрос:

 house_prices_borough %>% 
ggplot(aes(x = long,
         y = lat,
         group = group,
         fill = Value,
         label = Area,))  
geom_polygon(color="white") 
theme_void() 
theme(title = element_text(face = "bold"),
    legend.position = "right") 
scale_fill_viridis_d(name = paste("Average House Prices in London"),
                   direction = -1)  
labs(title = "House prices in London",
   subtitle = "December 2017",
   caption = "Source:land registry",
   color = "Value")
 

У меня возникли проблемы с легендой / ключом. Как вы можете видеть, я получаю два набора цветовых последовательностей, поэтому моя карта не является числовой последовательностью. Могу ли я каким-либо образом сделать его последовательным (т. Е. Более светлые цвета указывают на более дешевые цены, а более темные цвета указывают на более дорогие дома)?

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

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

1. Из вашего изображения я бы предположил, что ваш Value столбец является символом, а не числовым. Поэтому я бы предложил преобразовать его в числовой.

2. @stefan Я не понимаю, потому что я новичок, поэтому не могли бы вы объяснить более конкретно?

3. Посмотрите class(house_prices_borough$Value) — класс должен быть числовым. Но, основываясь на вашей легенде, это, вероятно character , или factor . Если это символ, используйте house_prices_borough$Value <- as.numeric(house_prices_borough$Value) . Если это фактор, используйте house_prices_borough$Value <- as.numeric(as.character(house_prices_borough$Value)) . Это изменит ваш столбец на numeric класс и должно сделать вашу легенду намного более управляемой, если вы повторно запустите график с numeric данными.