在过去的教程中,我一直给大家分享的都是单变量填充地图的绘制方法,但是有时候我们想在一张地图上展示两个变量,这个时候该怎么绘制地图呢?我们可以选择双变量填充地图。如果我们在 Observable 上搜索“Bivariate Choropleth” 就可以看到一大堆使用 D3 绘制的双变量填充地图,非常炫酷,例如:https://observablehq.com/@d3/bivariate-choropleth
![]()
如何使用 R 绘制这种双变量填充地图,Timo Grossenbacher 做了一个非常炫酷的示范:
![]()
该图的绘制方法可以参考:https://timogrossenbacher.ch/2019/04/bivariate-maps-with-ggplot2-and-sf/ 学习。不过代码过于复杂,所以我这里对里面的代码进行了简化,并且介绍了如何绘制更多分阶的双变量填充地图(该作者只给出了三阶的画法)。
我暂时也没有时候绘制这种地图的数据,所以下面的演示中我是用随机生成的变量。
准备工作:
数据:
- county_simple.rds:中国县级地图(R 文件,sf 对象);
- china_full_map.json:中国省级地图数据(GEOJSON 格式);
加载 R 包:
library(sf) |
我这里使用的是思源宋体,我这种字体设置的方法仅限 Mac 系统,Windows 系统请使安装配置教程中介绍的方法设置。
更多内容欢迎加入课程学习~
点击这里跳转到 RStata 短书平台获取附件:如何使用 R 语言绘制双变量填充中国地图?
评论