Stata绘制省级中国地图 | 版本 1.0

Stata绘制省级中国地图 | 版本 1.0

虽然已经有了 2.0 版本,不过这个 1.0 版本的还是不要丢弃,因为那个 2.0 版本的地图数据过于精细(也就意味着数据很大,绘制速度很慢)。

视频讲解

终于终于。。。Stata 绘制中国地图的终极解决方案来啦!

首先大家可以从知识星球下载本教程的附件,解压后可以看到里面有下列 dta 文件:

注意:该数据仅供大家自己使用,请勿传播或向他人分享这份数据。

  • china_full_map_db.dta: 中国地图数据库文件;
  • china_full_map_coord.dta:中国地图坐标系文件;
  • china_full_map_label.dta:中国地图省份标签文件;
  • china_full_map_line.dta:中国地图框架线文件。

使用这四个文件就可以绘制一幅漂亮的带九段线小地图的中国省份地图了!

这一次我们使用的示例数据集是 2020 年 3 月 8 日中国各省新冠肺炎疫情数据集:

  • 省级数据.csv

首先我们导入这个 csv 数据,然后把它和 china_full_map_db.dta 数据集合并:

1
2
3
4
5
clear all
cd "~/Desktop/Stata绘制带九段线小地图的中国地图"
import delimited using 省级数据.csv, clear encoding(utf8)
ren 省份 NAME
merge 1:1 NAME using china_full_map_db

然后就可以绘制中国地图了:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
local times = "截止 2020 年 3 月 8 号"
spmap 确诊 using china_full_map_coord, id(ID) ///
fcolor("68 1 84" "65 68 135" "42 120 142" "34 168 132" ///
"122 209 81" "253 231 37") ///
ocolor("white" ...) ///
clmethod(custom) clbreaks(0 0.9 9.9 99 999 9999 99999) ///
ti(新型冠状病毒肺炎疫情分布, size(*1.2) color(white)) ///
graphr(margin(medium)) ///
subti(`times', color(white)) ///
osize(vvthin ...) ///
legend(size(*1.3) ///
order(2 "无" 3 "1~9 人" 4 "10~99 人" 5 "100~999 人" 6 "1000~9999人" 7 ">= 10000 人") ///
ti(确诊, size(*0.5) pos(11) color(white)) color(white)) ///
plotr(fcolor(24 24 24) lcolor(24 24 24)) ///
graphr(fcolor(24 24 24) lcolor(24 24 24)) ///
label(data(china_full_map_label) x(X) y(Y) l(NAME) color(white)) ///
line(data(china_full_map_line.dta) size(*0.2 ...) color(white))

是不是非常方便使用!

也可以绘制白底的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
local times = "截止 2020 年 3 月 8 号"
spmap 确诊 using china_full_map_coord, id(ID) ///
fcolor("68 1 84" "65 68 135" "42 120 142" "34 168 132" ///
"122 209 81" "253 231 37") ///
ocolor("white" ...) ///
clmethod(custom) clbreaks(0 0.9 9.9 99 999 9999 99999) ///
ti(新型冠状病毒肺炎疫情分布, size(*1.2) color(black)) ///
graphr(margin(medium)) ///
subti(`times', color(black)) ///
osize(vvthin ...) ///
legend(size(*1.3) ///
order(2 "无" 3 "1~9 人" 4 "10~99 人" 5 "100~999 人" 6 "1000~9999人" 7 ">= 10000 人") ///
ti(确诊, size(*0.5) pos(11) color(black)) color(black)) ///
label(data(china_full_map_label) x(X) y(Y) l(NAME) color(black) size(*0.8)) ///
line(data(china_full_map_line.dta) size(*0.1 ...) color(black))

知识星球附件链接:https://t.zsxq.com/Iq3Byfu
单独购买链接:https://mianbaoduo.com/o/bread/Yp6XkpY=

#

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×