前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据地图系列5——Stata版(上)

数据地图系列5——Stata版(上)

作者头像
数据小磨坊
发布2018-04-10 17:00:48
2.5K0
发布2018-04-10 17:00:48
举报

今天要跟大家分享的是使用Stata语法制作数据地图

Stata语法制作数据地图,需要具备一点儿Stata语法基础,但是基于我们的目的是介绍地图的实现方式而非介绍软件操作,这里不再详细介绍Stata软件基础,感兴趣的同学可以自己查阅Stata工具书。

具体步骤会出现诸多代码,但是别担心,代码都不难理解,都是经过小魔方简化过的,复杂的引用及调用过程会通过手动操作提示。

步骤:(基于StataSE12.0)

在正式步骤之前需要从网上下载地图经纬度数据:

http://fmwww.bc.edu/RePEc/bocode/c/china_map.zip

将下载后的名为china_map.zip压缩文件解压后存放在你的Stata安装目录中。(其实放在哪里无所谓,只要记住位置就行,一会代码需要引用位置,我的是放在D:/stata12/下)。

1、锁定引用目录位置:

cd "D:\chinamap" /*这样,你之后的引用都不用添加应用路径,可以省好多功夫*/

2、打开地图数据文件

use china_map,clear /*打开锁定文件目录下的数据文件*/

如果你想查看一下该文件的数据信息,可以使用list命令查看前n个记录信息。

list in 1/5 /*查看前五个记录*/

3、可以直接用数据作图了:(scatter语法)

scatter _Y _X /*先做一个最简单的中国地图轮廓,可能比较粗糙,因为没有控制参数格式*/

从图形上来看,确实挺粗糙的,那是因为我们没有使用参数控制散点的类型、大小、颜色。

下面我们要给这个命令施加关于颜色、类型、大小的参数。

scatter _Y _X , msize( vtiny ) msymbol(dot) color(red) #施加散点面积、类型、颜色后的地图。

下面我们开始介绍分省地图的绘制。

在我们下载的地图数据文件中,_ID中对应的序号编码是与中国34个升级行政单位一一对应的。

具体对应表在China_map文件夹的另一个文件China_label文件中,你可以打开查看编号与省份名称的对照表(下载打开就可以看到)。

scatter _Y _X if _ID==1, msize(tiny) msymbol(dot) color(green) #黑龙江地区轮廓

大家可以看出来编号1代表的是黑龙江。

scatter _Y _X if _ID==1, msize(tiny) msymbol(dot) recast(area) #黑龙江填充地图

以上命令与上一条的区别在于仅仅填充区域,因为没有添加参数,所以使用了系统默认的灰蓝色。

scatter _Y _X if _ID==1, msize(vtiny) msymbol(dot) recast(area) color(green) #指定填充颜色的填充区域。

当然有时候,我们需要同时对比好几个省份,那么使用Stata代码如何实现呢?其实很简单,使用||链接以上单条代码就可以了。参数可以自己设定。

假若我想画出来东三省的图形(东三省的代码:黑1,吉4,辽5)

scatter _Y _X if _ID==1, msize(vsmall) msymbol(dot) color(green) recast(area) || scatter _Y _X if _ID==4, msize(vsmall) msymbol(dot) color(gold) recast(area) || scatter _Y _X if _ID==5, msize(vsmall) msymbol(dot) color(blue) recast(area)

以上代码可以实现东三省的分省填充地图。

但是问题来了,如果我想做出来全国各省的分省填充地图,那么真的要复制34遍语法,并调整参数吗……

其实如果你不嫌烦,可是尝试一下,结果应该可以跑出来,但是……

对于小魔方这种懒人来说,肯定不会这么干,其实是有捷径的,不过我们数据处理和语法上会稍微复杂一点儿,今天算是让大家熟悉一下所用到的数据文件,下一篇正式介绍正宗的热力数据地图做法~

关于上述命令语句中的参数设置:

msize(vsmall) msymbol(dot) color(green)

以上参数分别代表散点面积(大小)、类型(形状)、颜色。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-06-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据小魔方 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图数据库 KonisGraph
图数据库 KonisGraph(TencentDB for KonisGraph)是一种云端图数据库服务,基于腾讯在海量图数据上的实践经验,提供一站式海量图数据存储、管理、实时查询、计算、可视化分析能力;KonisGraph 支持属性图模型和 TinkerPop Gremlin 查询语言,能够帮助用户快速完成对图数据的建模、查询和可视化分析。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档