数据获取
加载包
由于本文用到了一款中国行政区划的字体地图——EyesAsia,每一个行政区都是以一个字母代替的,所以需要获取该地图字体对应的索引表。该字体的开源项目主页为:EyesAsia
与此对应的,还有一款也很fashion的字体地图(StateFace),是美帝的行政区划字体地图。项目主页在这里:stateface
一共43个编号,以下是提取过程,因为是一个table,所以可以直接使用rvest非常便捷的表格抓取工具。
抓取数据
|
|
筛选出中国的34个省级行政区
|
|
作图主要过程分为三部分:
步骤一:外围字体圆环图:
|
|
作图函数:
|
|

制作中心中国地图
其实针对中国省级地图素材而言,大部分shp格式的地图都是可以放心使用的,但是为了练习自己对于json数据的操控能力(毕竟是非常流行的web端数据存储格式),
这里我硬生生的抽取了json格式的中国地图数据,所以以下代码看着有些不适,请大家谨慎观看!
载入包:
|
|
导入json格式中国地图:
|
|

最新发现的可以自动化解析并渲染json树结构的包,它不仅可以渲染json数据,也可以渲染xml、html格式的树结构:
抽取行政区里列表信息:
|
|
抽取行政区划边界经纬度多边形数据:(最艰难的部分)
|
|
还时上次讲到的困难,中国某些省份辖区内有独立于主区域的分离区域(比如河北的廊坊,以及山东、及南部沿海多岛屿的省份)。
今天这个json素材要比上次提取的那个安徽省的素材更加复杂,具体步骤也不详细讲解了,看不太懂就直接略过吧,反正代码写的也比较烂,基本写不出那种可以通用的代码!
|
|
|
|
|
|
至此经纬度的边界点信息也有了,接下来就可可以映射地图了:
|
|
合并经纬度边界点信息和行政区划信息。
|
|
预览地图素材是否可用:
|
|
预览效果图:

拼接两幅地图。
第一款字体时最初提到的地图字体(需要事先下载哦);第二款就是微软雅黑喽,渲染省份标签用的。
|
|
为了更加舒适的看圆环上的省份标签,这里给标签添加角度偏移量。
|
|
鉴于ggplot极坐标下的首尾不衔接的缺陷,这里再查补一个缺失值。
|
|
所有的步骤都弄完之后,接下来将两幅图表存为对象。
|
|
图表效果大致是这样的:

|
|
图表效果大致是这样的:

拼接:
|
|
以下是最终的结果:

OK了,做完收工~
联系方式:
wechat:ljty1991
Mail:578708965@qq.com
个人公众号:数据小魔方(datamofang)
qq交流群:[魔方学院]298236508
个人简介:
杜雨
财经专业研究僧;
伪数据可视化达人;
文科背景的编程小白;
喜欢研究商务图表与地理信息数据可视化,爱倒腾PowerBI、SAP DashBoard、Tableau、R ggplot2、Think-cell chart等诸如此类的数据可视化软件,创建并运营微信公众号“数据小魔方”。
Mail:578708965@qq.com
备注信息:
本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。