如何在 R 中创建英国的等值线图或气泡图
How to Create a Choropleth or Bubble Map of UK in R
我一直在尝试为我自己闪亮的仪表板项目构建英国的 Choropleth/Bubble 地图。
我的仪表板是一个学生信息管理系统,地图应该显示学生来自哪个地区(邮政编码或城市也可以)。不幸的是,大多数软件包,例如 plotly 和 ggmap,只包含有关美国各州的信息。
那么,有人可以告诉我如何为英国创建地图吗?这是我要完成的示例:Choropleth Map for UK
- 从 GADM
获取英国 shapefile
- 安装
cartography
包
- 阅读vignette section on choropleth maps
需要一些示例数据来推荐更精确的步骤。
这是我的评论所指的逐步实施。我没有使用我提到的 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
如果您还没有,请安装软件包 sp
、rgeos
和 maptools
。
现在一些相当简单的 R 代码
library(maptools)
UK_adm2 = readShapeSpatial("PathToData\GBR_adm2.shp")
plot(UK_adm2)
zip 中实际上有三个 shapefile:adm0、adm1 和 adm2。尝试所有这三个,看看哪个具有您想要的详细程度。另外请注意,有一堆文件的名称基本相同,但扩展名不同。您要加载 .shp 文件。
您可以试验提供的三个形状文件 adm0、adm1 和 adm2(它们具有不同的详细程度)。您也可以尝试裁掉一些遥远的离岛,以便更好地欣赏主岛。
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)
你需要替换一个有意义的配色方案。
我一直在尝试为我自己闪亮的仪表板项目构建英国的 Choropleth/Bubble 地图。
我的仪表板是一个学生信息管理系统,地图应该显示学生来自哪个地区(邮政编码或城市也可以)。不幸的是,大多数软件包,例如 plotly 和 ggmap,只包含有关美国各州的信息。
那么,有人可以告诉我如何为英国创建地图吗?这是我要完成的示例:Choropleth Map for UK
- 从 GADM 获取英国 shapefile
- 安装
cartography
包 - 阅读vignette section on choropleth maps
需要一些示例数据来推荐更精确的步骤。
这是我的评论所指的逐步实施。我没有使用我提到的 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
如果您还没有,请安装软件包 sp
、rgeos
和 maptools
。
现在一些相当简单的 R 代码
library(maptools)
UK_adm2 = readShapeSpatial("PathToData\GBR_adm2.shp")
plot(UK_adm2)
zip 中实际上有三个 shapefile:adm0、adm1 和 adm2。尝试所有这三个,看看哪个具有您想要的详细程度。另外请注意,有一堆文件的名称基本相同,但扩展名不同。您要加载 .shp 文件。
您可以试验提供的三个形状文件 adm0、adm1 和 adm2(它们具有不同的详细程度)。您也可以尝试裁掉一些遥远的离岛,以便更好地欣赏主岛。
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)
你需要替换一个有意义的配色方案。