这个周末刷微信的时候,偶然看到一篇关于R语言12月更新包的介绍,翻到底部看了一眼,刚好看到一个关于ggplot2的一个图层插件——geom_scatterpie。
这个包安装之后,可以提供给ggplot新的图层函数,并制作出气泡状饼图,饼图可以分类填色,饼图大小可以映射数值变量,特别是将这种图表形式引入地图之中,那么最终呈现的地图上的气泡饼图非常炫酷。
今天刚好整理了下完整思路,顺便分享。
加载包:
|
|
这里我使用2015年全球主要发达国家(15)的GDP、三大产业产比数据来演示此案例,GDP代表气泡图大小、三大产业占比用每一个气泡图的饼图份额占比来表示。
计算全球各国行政区划中心点:
|
|
匹配目标国家行政区划中心点:
|
|
利用ggplot2函数结合scatterpie图层对象进行空间数据映射。
修正局部经纬度坐标:
因为GDP数据量级太大,我将其折算成5~10之间的标准数,用于映射气泡半径。
|
|
因为有些国家的领土中含有远离本图的海洋小岛(可能是殖民时代的产物),导致所取的领土中心位置已经严重偏离本土,所以我更改了几个国家首府的经纬度。
|
|
除此之外,你可以可以使用maps包内置的世界地图,这样省去了自己自己加载并整理地图素材数据的麻烦:
|
|
使用maps包的地图好处是,地图数据是打包封装过的,处理效率比较高,自定义导入的shp格式地图数据需要手动进行各种操作,处理速度非常慢,建议大家尝试。
两幅图带图没有太大差别,导入的shp全球地图是不带南极洲的,但是maps中的世界地图是带有的。
该包的开发者是香港大学的Gangchuang Yu ,12月刚上线不久,下面网址是作者关于该包使用的一个小case,感兴趣可以参考。
Gangchuang Yu
联系方式:
wechat:ljty1991
Mail:578708965@qq.com
个人公众号:数据小魔方(datamofang)
qq交流群:[魔方学院]298236508
个人简介:
杜雨
财经专业研究僧;
伪数据可视化达人;
文科背景的编程小白;
喜欢研究商务图表与地理信息数据可视化,爱倒腾PowerBI、SAP DashBoard、Tableau、R ggplot2、Think-cell chart等诸如此类的数据可视化软件,创建并运营微信公众号“数据小魔方”。
Mail:578708965@qq.com
备注信息:
本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。