2015-10-13 2 views
3

Я изо всех сил пытаюсь настроить и найти правильный код, чтобы структурировать карту choropleth, которую я пытаюсь сделать из прибыли бизнеса в графстве в определенном состоянии.Уездов в пределах одного штата Choropleth Map

То, что я сделал до сих пор, это возможность построить мой код, хотя и с цветовой палитрой, которую я не хочу, и ломается, что нежелательно.

library(choroplethr) 
library(ggplot2) 

county <- data.frame(region = c(19001,19013,19017,19019,19021,19023,19033,19035), 
       value=c(-37102,-41052,35016,-13180,-8062,6357,-46946,-5380)) 

county_choropleth(county, "Test", state_zoom = "iowa") + scale_fill_brewer("Test",palette="Blues") 

И я получаю этот сюжет:

enter image description here

В идеале я хотел бы иметь возможность настроить цветовую палитру, чтобы быть синим, когда положительными и красными, когда отрицательными. Кроме того, создание большего количества разрывов в цветовой гамме между этими двумя цветами было бы идеальным. Я хотел бы сделать перерывы более приятными цифрами, такими как «35 000», «0» и т. Д., А не $ 35,016, га. Наконец, я хотел бы сделать все округа NA, основанные на кодах FIPS, серыми или разными цветами, чем тот, который будет иметь место на шкале.

Я безуспешно пытался использовать различные варианты команды scale_colour_gradient и ее команды «sibling».

Пожалуйста, дайте мне знать, если вам нужны какие-либо разъяснения или больше кода. Спасибо за любую помощь!

+3

Вы пробовали 'county_choropleth (графство, "Тест", state_zoom = "Iowa", num_colors = 1) + scale_fill_gradient2 (высокий = "синий", низкий = "красный", na.value = "grey90", breaks = pretty (county $ value, n = 10)) '? – lukeA

+0

Теперь у меня есть и работает как шарм! Единственным моим последним вопросом является возможность настроить легенду, так что она говорит о 600 000 долларов вместо 6e + 05. Еще раз спасибо! Если вы ответите своим комментарием в качестве ответа, я с радостью буду отмечать его как правильный. – medavis6

ответ

4

Вы можете попробовать

county_choropleth(county, "Test", state_zoom = "iowa", num_colors = 1) + 
    scale_fill_gradient2(high = "blue", 
         low = "red", 
         na.value = "grey90", 
         breaks = pretty(county$value, n = 10), 
         label = scales::dollar_format()) 
Смежные вопросы