【问题标题】:How to Create a Choropleth or Bubble Map of UK in R [closed]如何在 R 中创建英国的等值线或气泡图 [关闭]
【发布时间】:2017-05-20 15:05:18
【问题描述】:

我一直在尝试为我自己的闪亮仪表板项目构建英国的 Choropleth / Bubble 地图。

我的仪表板是一个学生信息管理系统,地图应该显示学生来自哪些地区(邮政编码或城市也可以)。不幸的是,大多数软件包,例如 plotly 和 ggmap,仅包含有关美国各州的信息。

那么,有人可以告诉我如何为英国创建地图吗?这是我想要完成的一个示例:Choropleth Map for UK

【问题讨论】:

  • 试试This Post
  • 你需要展示你的数据是什么样的,但我可能会建议leaflet,它对用户非常友好,并且在网站上看起来不错。提示:气泡只需要点的纬度/经度,因此比等值线要容易得多,后者需要带有多边形的 shapefile。
  • @G5W 您好,感谢您提供此示例。我导入了形状文件(link),但我无法使用强化功能将其成功转换为数据框。错误是“rgeos_PolyCreateComment:孤立孔,在索引 2 处找不到包含孔的多边形”我的代码是 uk_dist <- readShapeSpatial("~/StatPlanet_UK/map/map.shp") plot(uk_dist) library(ggplot2) uk_dist <- fortify(uk_dist, region = "NAME1")
  • @alistaire 谢谢你的建议!我的数据集显示了每个学生的地区名称。
  • 它不是你需要的数据框。我会写一个更长的版本作为答案。

标签: r maps shinydashboard bubble-chart choropleth


【解决方案1】:

这是我评论中的意思的分步实施。我没有使用我提到的External Post,但它看起来像是另一个参考,类似于我在制作地图时所做的事情。

喜欢@FR。在他的回答中说,GADM 是获取所需地图数据的好地方 - shapefile。

Go to [GADM](http://www.gadm.org/) and click on the "Download" tab.
Use the pulldown menu to select United Kingdom as the country. 
Change the file format to Shapefile.
Click OK
Click Download
You should get a zip file called GBR_adm_shp.zip
Unzip it someplace useful
There should be a bunch of files with extensions cpg, csv, dbf, prj, shp, and shx

如果您还没有它们,请安装包sprgeosmaptools

现在是一些相当简单的 R 代码

library(maptools)
UK_adm2 = readShapeSpatial("PathToData\GBR_adm2.shp")
plot(UK_adm2)

zip 中实际上有三个 shapefile:adm0、adm1 和 adm2。尝试所有三个,看看哪个具有您想要的详细程度。另外,请注意,有一堆文件名称基本相同,但扩展名不同。您要加载 .shp 文件。

您可以尝试使用 adm0、adm1 和 adm2 提供的三个 shapefile(它们具有不同的详细程度)。您还可以尝试裁剪一些遥远的离岛,以便更好地了解主岛。

plot(UK_adm2, xlim=c(-8,0), ylim=c(49,61))

现在你有了一个 R 对象中的数据,你可以得到里面的东西。 names(UK_adm2) 会显示一些内部数据。您可以通过键入UK_adm2$NAME_2 获取县列表。让我们重点介绍贝德福德郡。 plot(UK_adm2[3,], col="#FF444488", add=TRUE)

您刚刚看到可以为各个县着色。你所要做的就是弄清楚你想如何给它们上色。这意味着将您想要显示的任何数量映射到配色方案。看看colorRampPalette。然后你会想要这样的东西:

plot(UK_adm2, col=rainbow(12, alpha=0.6), xlim=c(-8,0), ylim=c(49,61))

除了我写col=rainbow(12, alpha=0.6) 的地方,你需要替换一个有意义的配色方案。

【讨论】:

  • 我认为逻辑完全正确,但我的 r-studio 只会崩溃。我想这要么是因为我的笔记本电脑达到了极限,要么是因为某些软件包是在 R 版本 3.3.2 下构建的。
  • 奇数。我使用 RGUI,而不是 RStudio,但我运行上面没有问题。我确实尝试保持我的 R 版本和包同步。当我开始收到很多“不同版本”消息时,我会更新 R,然后更新所有包。你在什么时候崩溃?
  • 绘制地图时卡住了,虽然还没有颜色。我的 r-studio 已更新到最新版本,但有些软件包最近没有更新。
  • 在我的机器上,这会在一秒钟内完成。我想知道数据是否有问题。您能否尝试class(UK_adm2)names(UK_adm2) 以确保一切正常?
  • 由于我只是在绘制空白地图,所以我认为情节下的数据集是可以的。也许是因为我使用的是OS系统?这是类和名称的结果:> class(UK_adm2) [1] "SpatialPolygonsDataFrame" attr(,"package") [1] "sp" > names(UK_adm2) [1] "ID_0" "ISO" "NAME_0" "ID_1" "NAME_1" "ID_2" "NAME_2" "HASC_2" "CCN_2" [10] "CCA_2" "TYPE_2" "ENGTYPE_2" "NL_NAME_2" "VARNAME_2"
【解决方案2】:

需要一些示例数据来推荐更精确的步骤。

【讨论】:

  • 感谢您的帮助!你能再回答我一个问题吗?我得到了 *.shp 格式的 shapefile,但我可以将这种格式用于制图包吗?我不认为教程中提到的数据“nuts2006”是*.shp。
  • @sue94 cartography 包可以处理您将在 GADM 中找到的几种格式,但请注意,GADM 为您简化了事情,并直接为 R 提供数据,作为 RDS 文件: )
  • 谢谢,@Fr。我实际上尝试了 RDS 文件,但我的 r-studio 无法以某种方式打开它。
猜你喜欢
  • 2021-09-20
  • 2015-11-09
  • 1970-01-01
  • 2020-04-04
  • 2022-10-15
  • 1970-01-01
  • 2018-06-28
  • 1970-01-01
  • 2023-03-12
相关资源
最近更新 更多