全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
68010 109
2016-01-17
最近关注R绘制地图的方法,跟大家分享一下。总体来说,有很多种绘制地图的方法,常用的方法主要是基于以下三种方法来绘制地图:(1)ggplot2;(2)maps;(3)googleVis;还有一个程序包值得推荐:REmap

当然还有很多其他的方法可以绘制地图,详见:https://rstudio-pubs-static.s3.a ... 8efc0a07d67208.html

简单总结几种常用程序包绘制地图的优缺点:
(1)ggplot2:优点,可灵活调整图形的任意组成成分,同时可在图形上添加2个或多个维度的数据(如在地图上同时显示总人口数和每千人卫生人口数,详见下面的示例2),其他程序包通常只能绘制一个维度的数据(总人口数或每千人卫生人口数,详见下面的示例1);缺点,参数较多,较难短时掌握。同时绘制地区前需先下载shp文件,如果想获得省市级地区的最新二级地图的shp文件,通常很难。
强烈推荐ggplot2官方学习网址:http://docs.ggplot2.org/current/
另外推荐余光创的两篇博文:http://guangchuangyu.github.io/2014/05/use-ggplot2/http://guangchuangyu.github.io/2 ... ing-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),下载网址:
https://yunpan.cn/crZmPQr38N6mt  访问密码 773c
同时需要配套数据province_2004.dbf和province_2004.shx
province_2004.dbf 文件下载网址
https://yunpan.cn/cYgzwyvghBGte  访问密码 b135
province_2004.shx 文件下载网址
https://yunpan.cn/cYgzqSG9Fk8Qu  访问密码 d771

其他比较代表性的下载来源是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年中国各省份对应的平均每千人医护人员数

编码如下:
复制代码


REmap输出图形:
REmap.png
ggplot2示例1输出图形:
ggplot2-1.png
ggplot2示例2-1输出图形:
ggplot2-2.png

ggplot2示例2-2输出图形:
ggplot2-1.png
因为无法显示google地图,所以googleVis的输出无法查看

其他利用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

欢迎交流,^_^






二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-1-18 11:14:54
赞一个!赶紧也试试
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-1-18 15:21:26
非常感谢,学习了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-1-18 15:27:09
prince315 发表于 2016-1-18 11:14
赞一个!赶紧也试试
注意REmap程序包的安装方法,注意#里面的备注信息
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-1-19 14:24:55
RGoogleMaps 也可以画地图的
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-1-19 16:16:30
hduzqq 发表于 2016-1-19 14:24
RGoogleMaps 也可以画地图的
基于google地图的程序包很多,ggmap等,但是在如果google不能在国内正常使用,这些程序包的输出都看不了。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群