R克罗普洛斯(R.

时间:2018-11-15 20:14:12

标签: r ggplot2 choropleth

我对R和ggplot很陌生。我正在尝试绘制1999年至2017年期间一系列facet_wrap的一系列美国Choropleth地图。

我试图遵循这篇文章(How to map all the states of US using R with the number of crimes occurred in each state?)的代码,但是在确定边界并填写给定年份没有数据的州时遇到了麻烦。

我有一个名为by_year的数据框,像这样的数据。问题是任何一年,大多数州不在df中(该年没有报告价值)。

     state          Year       Value
new jersey          1999        13.8
  oklahoma          1999        16.5

到目前为止,我的代码是:

us.states <- map_data("state")
ggplot(data = by_year, aes(map_id = state)) + 
   geom_map(aes(fill = Value),  color= "black", map = us.states) + 
   expand_limits(x = us.states$long, y = us.states$lat) +
   coord_map() +
   scale_x_continuous(breaks = NULL) + scale_y_continuous(breaks = NULL) +
   labs(x = "", y = "") + theme(legend.position = "bottom", 
                             panel.background = element_blank())+
   facet_wrap(~Year, ncol = 5)

这将产生以下输出:

US Map

如您所见,对于任何给定的年份,许多州都没有数据。如何获取每年缺少状态的轮廓,并用浅灰色填充?我还希望将色标更改为红色阴影(较深的阴影表示较高的值)。

非常感谢您的帮助。

0 个答案:

没有答案