我一直在努力为自己的闪亮仪表板项目建立一个英国的Choropleth / Bubble地图。
我的仪表板是一个学生信息管理系统,地图应该显示学生来自哪些地区(邮政编码或城市也很好)。不幸的是,大多数软件包,例如plotly和ggmap,仅涵盖有关美国各州的信息。
那么,有人可以告诉我如何为英国制作地图吗?以下是我要完成的示例:Choropleth Map for UK
答案 0 :(得分: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
如果您还没有,请安装软件包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提供的三个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)
的地方,您需要替换有意义的配色方案。
答案 1 :(得分:0)
cartography
包需要一些示例数据来推荐更精确的步骤。