Установка разрывов и меток в ggplot

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

Мне бы хотелось, чтобы значения читались следующим образом: "5 000 000", "4 000 000" и т. Д. И т. Д.

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

Код сводится к

g <-choroplethr(DF, lod="state", num_buckets = 1)
g <- g + scale_fill_gradient(high = "springgreen4", low= "grey90", name="Sum")

Я попытался это:

g <- q + scale_fill_gradient(high = "springgreen4", low= "grey90", name="Sum", labels = c("5,000,000", "4,000,000", "3,000,000", "2,000,000", "1,000,000"))  

Но я получил ошибку, разрывы и метки разной длины

Я не уверен, как я могу указать разрывы на оси х, когда я имею дело с картой? Как я могу создать разрывы, которые работают с метками, которые я хочу включить? Благодарю.

1 ответ

Решение

Если вы добавляете аргумент labels= в scale_fill_gradient() тогда вы должны также добавить аргумент breaks= это те же длины, что и ваши ярлыки.

+ scale_fill_gradient(high = "springgreen4", low= "grey90", name="Sum", 
          labels = c("5,000,000", "4,000,000", "3,000,000", "2,000,000", "1,000,000"),
           breaks = c(5000000, 4000000, 3000000, 2000000, 1000000))

В этом случае лучшим решением будет просто использовать dollar формат из scales библиотека. Это автоматически добавит знаки доллара и запятые.

library(scales)
+ scale_fille_gradient(labels=dollar)
Другие вопросы по тегам