将状态行添加到ZipChoropleth,同时在R中保留AK和HI作为插入

时间:2017-03-14 05:56:03

标签: r ggplot2 ggmap choropleth

我的目标:

是基于带有所示状态线的zipcode数据创建一个等值区域图。我正在使用ChoroplethrZip包。

我使用以下代码成功创建了地图,输出为地图A

q1 <- c(0,1,10,25,100,500, Inf)
df_c <-cut(df,breaks=q1 ,right = FALSE ,labels = c("0","[1,10)","[10,25)","[25,100)","[100,500)",">500"))
df$value <- df_c
cols.blues <- brewer.pal(6,"Blues")
cols <- c("#ffffff",cols.blues[2:6])

choro             = ZipChoropleth$new(df)
choro$ggplot_scale = scale_fill_manual("Cases"
                                   ,values = cols
                                   ,drop=FALSE)
choro$ggplot_polygon = geom_polygon(aes(fill=value), color = NA)
map <- choro$render_nationwide()

基于这篇文章(http://www.arilamstein.com/blog/2015/09/10/user-question-how-to-add-a-state-border-to-a-zip-code-map/),我试图添加状态行,但问题是状态图以正确的比例和位置绘制了阿拉斯加和夏威夷。所以我最终得到了 Map B

我可以调整ZipChoropleth地图以使用render函数而不是render_nationwide,就像这个map <- choro$render()一样。这使AK和HI与状态线对齐,如 Map C 。但这不是我想要的。

我试着用另一种方式。我使用StateChoropleth函数来制作带有AK的状态图,并使用此代码将Hi重新调整大小并重新定位到左下角。

outline = StateChoropleth$new(df_pop_state)
outline$ggplot_polygon = geom_polygon(aes(fill=NA, size=0.25), alpha=0.0)
outline$show_labels = FALSE
outline$add_state_outline = TRUE
out = outline$render()

我得到的地图显示在地图D 中。

但我无法将地图A添加到地图D.我收到此错误错误:不知道如何将o添加到地块

我已经研究了两天,任何帮助都会很棒。

enter image description here

0 个答案:

没有答案