R绘制中国地图不同方法的比较
你不一定要点蓝字关注我的
最近关注R绘制地图的方法,跟大家分享一下。总体来说,有很多种绘制地图的方法,常用来绘制地图的方法主要基于以下三种:(1)ggplot2;(2)maps;(3)googleVis;还有一个程序包值得推荐:REmap
简单总结几种常用程序包绘制地图的优缺点:
(1)ggplot2:优点,可灵活调整图形的任意组成成分,同时可在图形上添加2个或多个维度的数据(如在地图上同时显示总人口数和每千人卫生人口数,详见下面的示例2),其他程序包通常只能绘制一个维度的数据(总人口数或每千人卫生人口数,详见下面的示例1)。
缺点,参数较多,较难短时掌握。同时绘制地区前需先下载shp文件,如果想获得省市级地区的最新二级地图的shp文件,通常很难。
强烈推荐ggplot2官方学习网址
http://docs.ggplot2.org/current/。
另外推荐余光创的一篇博文
http://guangchuangyu.github.io/2011/08/ggplot2-version-of-figures-in-25-recipes-for-getting-started-with-r/
(2)maps:优点,相对灵活,不加赘述;缺点,中国的基础地图中,没有将四川和重庆区分开,这是被无数maps的中国地图使用者最为诟病的地方。其他地区的基础地图是否有类似问题,不得而知。
(3)googleVis:优点,功能由起初的主要绘制地图的功能,逐步扩展,已经演变成非常强大的可视化工具,推荐学习网址:http://cran.r-project.org/web/pa ... leVis_examples.html 。缺点:绘制基础地图方法,仍然只能绘制一维的数据。同时绘制的地图依赖google地图,所以如果不能显示google地图,也就不能绘制地图。
(4)REmap:国人开发的基于百度地图Echart。优点,绘制地图方便快捷,省市级地区的二级地图非常精准,并可绘制炫酷的迁徙图和热图,推荐学习网址:http://lchiffon.github.io/REmap/ ;缺点,同googleVis一样,只能绘制一维的数据,同时地图上只能显示中文地名,所以想让它来发英文文章,估计就不行了。目前主要用它来获取精细的经纬度信息,在获取经纬度信息上,中文地名能很好识别,部分英文省市级名称也能识别,但有限。
回到正题,以下分别介绍ggplot2和REmap绘制中国地图的方法代码:
在绘制地图前准备以下数据:
1.中国省级行政区划地图矢量图shp格式(province_2004.shp),下载网址:
链接:http://pan.baidu.com/s/1mhLQEgw
密码:kx9z
其他比较代表性的下载来源是GDM网站,网址:http://gadm.org/download,但是从GDM网站下载的中国地图没有台湾。
2.流行病学样本数据(example.csv),下载网址:
https://yunpan.cn/crZm3wWUfVfaU
访问密码 8fe7
说明:NAME,shp地图对应的中国省份名称
NAME1,REmap绘制中国地图对应的省份名称
NAME2,googleVis绘制中国地图对应的省份名称编码
Population:2012年中国各省份对应人口数,单位:10000人
Dct_nur:2012年中国各省份对应的平均每千人医护人员数
示例代码下载:
链接:http://pan.baidu.com/s/1gfs4ODH 密码:ploi
REmap输出图形:
ggplot2示例1输出图形:
ggplot2示例2-1输出图形:
ggplot2示例2-2输出图形:
其他利用R绘制中国地图的重要参考学习网址:
http://yihui.name/cn/2008/10/china-map-and-city-locations-with-r/
http://www.kevjohnson.org/making-maps-in-r/
http://cos.name/2013/01/drawing-map-in-r-era/
http://cos.name/2014/08/r-maps-for-china/
http://cos.name/2009/07/drawing-china-map-using-r/
http://www.r-bloggers.com/lang/chinese/1010
欢迎交流,^_^
资源仅供交流使用,严禁商用!
如有侵权,请联系小编微信:hankphone
往期回顾
1.七大英文原版期刊杂志免费送啦!
2. R语言学习相关资料分享
3. 渤海海峡跨海通道客货流量预测分析
资料来源:经管之家
本期编辑:韩丰、孙嘉欣、王伟
下期预告
佳作欣赏