2

当谈到 R 时,我是全新的品牌。您能给我的任何帮助将不胜感激。

我正在使用 choroplethr 包按邮政编码创建地图。我想添加一个显示城市(并且仅显示城市)的叠加层,但reference_map = TRUE仅使用返回带有州首府的地形图,除了使实际颜色更难区分之外。

有没有办法将城市叠加层附加到 choroplethr 上,或者使用我忽略的 choroplethr 的内置功能,或者将它与其他包结合使用?

我目前的功能是

zip_choropleth(myexcel,
           title="Mansfield Geographical Capture by ZCTA",
           num_colors=9,
           state_zoom = c("massachusetts","rhode island","connecticut"), 
           reference_map = TRUE) 
           + scale_fill_brewer(palette="YlOrRd")

它返回这样的图像:

糟糕的地形图... D:

我想要这样的东西(加上城市覆盖!):

好邮编地图! :D

4

1 回答 1

2

这个有可能。为了完成它,您需要了解一些事项:

  1. 所有 choroplethr 函数都返回 ggplot2 对象。这些地块的比例尺很长而且很宽。
  2. 您可以使用运算符向 ggplots 添加另一层+
  3. 您需要知道要添加的所有城市的经度和纬度。根据谷歌,波士顿在 long=42.361145,lat=-71.057083。
  4. Choroplethr 本身并不了解城市及其位置。

下面是使用geom_pointto 为波士顿添加黑点的演示:

library(choroplethrZip)
library(ggplot2)

data(df_pop_zip)

zip_choropleth(df_pop_zip,
               state_zoom = c("massachusetts","rhode island","connecticut")) +
  geom_point(aes(x=-71.057083, y=42.361145), size=5, color="black") 

波士顿带点的等值线

注意:这只是添加了一个点。您将不得不使用其他东西来添加文本。查看 ggplot2 帮助文件?geom_label?geom_text.

于 2019-05-01T00:15:14.590 回答