【问题标题】:Create a congressional district map of a state in R在 R 中创建一个州的国会选区地图
【发布时间】:2019-04-05 00:27:10
【问题描述】:

我想在 R 中创建国会选区的可视化地图。 我想给它提供每个地区投票人数的数据,并通过 R 制作一个按地区划分的热图作为视觉效果。

以下是按国会选区划分的州地图的一些通用示例(没有投票数据或热图),但我想创建一个相当简约的地图来绘制,因此这些地图与我想要创建的感觉相似:

  1. Texas
  2. Minnesota

以下是 R 中基本地图的一些示例代码,概述了国会选区:

library(USAboundariesData) # Needed for us_congressional()
library(sf) # Needed for st_geometry()

mn_congressional <- us_congressional(states = "Minnesota", resolution = "high")
plot(st_geometry(mn_congressional))

但是,我现在想将此与每个地区的投票总数列合并,并将此地图中的地区部分着色为热图?

【问题讨论】:

  • 不要重新发明轮子:见USAboundaries::us_congressional(resolution = "high", states = c("Texas", "Minnesota"))
  • @Mako212 我更新了我的问题,包括您关于获取该州的空白布局的建议。
  • 请提供您想要合并的数据样本

标签: r google-maps heatmap


【解决方案1】:

这个方法很容易添加数据。

library(ggplot2)
library(USAboundaries)

cd_mn <- USAboundaries::us_congressional(resolution = "high", states = c("Minnesota"))
cd_mn$Voters <- runif(length(cd_mn$geometry), 500, 5000) #create some random data for the number of districts

ggplot(cd_mn) + geom_sf(aes(fill = Voters)) +
  scale_fill_gradientn(colors = rev(heat.colors(5)))

【讨论】:

  • 为了让 OP 将他/她的数据与地图匹配,他们需要通过cd115fp 列中的区号进行匹配。
  • geom_sf 有不同的包吗?我收到一个错误:could not find function "geom_sf"
  • 应该在ggplot2,但是看看this answer能不能解决。我正在使用ggplot2 3.0.0 版。
  • 这是我的版本问题,已更新,代码现在可以运行了。
猜你喜欢
  • 1970-01-01
  • 2021-06-09
  • 2016-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-06
  • 2017-03-26
  • 1970-01-01
相关资源
最近更新 更多