usmaps R: Используйте ggplot2 для установки ячеек и ручного окрашивания

#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:
Государство 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))  

Этот код работает, но он не связывает мои данные.

Я также попытался сгруппировать свои данные, прежде чем сопоставлять их:

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. Большое вам спасибо!