最终效果图belike:
-
需要安装的包
ssc install spmap, replace
ssc install shp2dta, replace
ssc install mif2dta, replace
- 准备地图
世界地图准备代码
use "http://fmwww.bc.edu/repec/bocode/w/world-c.dta",clear
save world-c.dta
scatter _Y _X, msize(vtiny) /*用于查看地图是否完全*/
use "http://fmwww.bc.edu/repec/bocode/w/world-d.dta",clear
save world-d.dta
中国地图
copy "http://fmwww.bc.edu/repec/bocode/c/china_map.zip" china_map.zip, replace
unzipfile china_map, replace // 解压压缩文件
- 进行数据处理
- 数据合并
use world-d.dta,replace
merge 1:1 countrycode using "绘图.dta"
drop if _merge==1
drop _merge
- 绘图
spmap ofdi using world-c.dta, id( _ID) fcolor(Blues)
graph save "Graph" "地图.gph",replace
关于spmap代码可选参数如下:↓
spmap [attribute] [if] [in] using basemap [,
basemap_options
polygon(polygon_suboptions)
line(line_suboptions)
point(point_suboptions)
diagram(diagram_suboptions)
arrow(arrow_suboptions)
label(label_suboptions)
scalebar(scalebar_suboptions)
graph_options]
tips:
合并数据使用的是world-d.dta数据,利用countrycode进行合并;
绘图的时候类似将world-d.dta跟world-c.dta合并(可以简单理解为c中储存的是坐标,d里面是坐标)
参考资料: