#r #ggplot2 #gis #binning #usmap
Вопрос:
Я использую пакет usmaps() в R для создания карты США. У меня есть данные, настроенные так:
Ces_State_Only:
Государство | 1990 |
---|---|
Алабама | 0.2 |
Аляска | 0.31 |
Аризона | 0.40 |
Я хочу создать карту хлороплета. Я хотел бы объединить свои данные в следующие: 0-0.2, 0.2-0.25, 0.25-0.3, 0.3-0.33, 0.33-36, gt;36.
Мой код таков:
plot_usmap(data = Ces_State_only, values = "1990") scale_colour_gradientn(colours = "Blues", breaks = c(0,.2, .25, 0.3, 0.33, 0.36, 1),limits = c(0, 100))
Этот код работает, но он не связывает мои данные.
Я также попытался сгруппировать свои данные, прежде чем сопоставлять их:
Ces_State_only$Ninety_bin lt;- cut(Ces_State_only #r #ggplot2 #gis #binning #usmap
Вопрос:
Я использую пакет usmaps() в R для создания карты США. У меня есть данные, настроенные так: Ces_State_Only:
Я хочу создать карту хлороплета. Я хотел бы объединить свои данные в следующие: 0-0.2, 0.2-0.25, 0.25-0.3, 0.3-0.33, 0.33-36, gt;36. Мой код таков:
Государство 1990 Алабама 0.2 Аляска 0.31 Аризона 0.40 plot_usmap(data = Ces_State_only, values = "1990") scale_colour_gradientn(colours = "Blues", breaks = c(0,.2, .25, 0.3, 0.33, 0.36, 1),limits = c(0, 100))
Этот код работает, но он не связывает мои данные.
Я также попытался сгруппировать свои данные, прежде чем сопоставлять их:
1990`,breaks = c(0,0.2, 0.25, 0.3, 0.33, 0.36,1)) plot_usmap(data = Ces_State_only, values = "Ninety_bin") scale_fill_brewer(palette="Blues", aesthetics = "fill", na.value = "grey50") theme(legend.position = "right")
Однако это создает только три разных цвета на карте США (для следующих ячеек: 0-0, 2, 0,2-0,25 и 0,25-0,3).
Есть какие-нибудь предложения или идеи?
Заранее благодарю вас!
Ответ №1:
Проблема в том, что по умолчанию уровни используемых факторов снижаются. Вы могли бы предотвратить это, установив drop=FALSE
scale_fill_brewer
:
library(usmap) library(ggplot2) plot_usmap(data = Ces_State_only, values = "Ninety_bin") scale_fill_brewer( palette = "Blues", aesthetics = "fill", na.value = "grey50", drop = FALSE ) theme(legend.position = "right")
Комментарии:
1. Большое вам спасибо!