1

任何人都可以告诉我如何填写我的 choropleth 中的空白字段?我附上了我创建的合唱团的图片。非常感谢!

我注意到两个表中的 statename 不匹配,但我无法更改原始数据中的 statename。

library(ggplot2)
library(maps)
**#Data looks like this:**

aggrev2015<-data.frame(
statename=c("alabama","alaska","arizona","arkansas","california","colorado","connecticut","delaware","florida","georgia","hawaii","idaho","illinois","indiana","iowa","kansas","kentucky","louisiana","maine","maryland","massachusetts","michigan", "minnesota","mississippi","missouri","montana","nebraska","nevada","new hampshire","new jersey","new mexico","new york","north carolina","north dakota","ohio","oklahoma", "oregon","pennsylvania","rhode island","south carolina","south dakota","tennessee","texas","utah","vermont","virginia","washington","west virginia","wisconsin","wyoming"),
  revenue=runif(50,min=100,max=9000))

state_df <- map_data("state")
colnames(state_df)<-c("long","lat","group","order","statename","subregion")

choropleth <- merge(aggrev2015,state_df, by = "statename")

ggplot(choropleth, aes(long, lat, group = statename)) +
  geom_polygon(aes(fill = revenue))

等值线

4

1 回答 1

2

乍一看,您的问题似乎与拥有岛屿的州有关。我不会调试它,而是跟进@hrbrmstr 关于使用 choroplethr 的建议:

library(choroplethr)
library(choroplethrMaps)

data(df_pop_state)
state_choropleth(df_pop_state)

在此处输入图像描述

您可以在此处查看有关使用 choroplethr 包创建状态 choropleth 的更多文档,并且该包还有一个电子邮件课程

对于状态 choropleths,我认为包比自己做的主要优势在上面的小插图中得到了证明:它使探索性数据分析变得更加容易。例如,更改比例或缩放变得像在函数上设置参数一样简单。该软件包还包括 AK 和 HI 以及使用合理的投影。在 ggplot2 中自己解决这些问题往往是一件令人头疼的事情。请注意,我是 choroplethr 的作者,所以我是根据经验说话的 :)

需要指出的另一件事是,您可能希望将等值线覆盖在参考地图上,例如来自谷歌地图的地图。我最近将该功能添加到最新版本的 choroplethr。但是我还没有机会更新包小插曲来解释如何使用它。要获取只需设置的默认参考地图reference_map = TRUE

data(continental_us_states)
state_choropleth(df_pop_state, 
                 zoom = continental_us_states,
                 reference_map = TRUE)

在此处输入图像描述

如果您想使用不同的参考地图(例如卫星地图),您可以这样做。我刚刚写了一篇关于它的博客文章。这是我几周前实施参考地图功能后遇到的最常见问题。

于 2015-10-12T15:19:18.857 回答