使用 Stata 绘制中美国旗

昨天用 Stata 画了口红、眼影盘、美妆刷这些小玩意,今天看到网上还有用 Stata 绘制五星红旗的,我就也尝试了下。用我的方法绘制五星红旗非常简单。

首先我们需要绘制五星红旗的 dta 数据,一个 db 数据和一个 coord 数据:

  • 中国国旗_db.dta
  • 中国国旗_coord.dta

然后使用下面的代码就可以绘制一幅五星红旗了!

use 中国国旗_db.dta, clear

spmap ID using 中国国旗_coord.dta, id(ID) ///
    clmethod(custom) clbreaks(0(1)2) /// 
    fcolor("193 74 39" "230 204 45") ///
    graphr(margin(*15 *15 *15 *15)) ///
    leg(off) osize(vvthin ...) ocolor(white ...)
中国国旗

绘制美国国旗也是没问题的!这个看起来难度更高些!

  • 美国国旗_db.dta
  • 美国国旗_coord.dta
use 美国国旗_db.dta, clear

spmap ID using 美国国旗_coord.dta, id(ID) ///
    clmethod(custom) clbreaks(0(1)12) /// 
    fcolor("255 255 255" "239 239 239" "183 35 67" "0 70 123" "255 255 255" "255 255 255" "255 255 255" "255 255 255" "255 255 255" "255 255 255" "255 255 255" "255 255 255") ///
    graphr(margin(*15 *15 *15 *15)) ///
    leg(off) osize(vvthin ...) ocolor(white ...)
美国国旗

这些数据是如何设计的?

使用 svg2geojson 工具可以把一些简单的 svg 图转成 geojson 数据:https://www.npmjs.com/package/svg2geojson

然后就可以使用 R 语言对转换得到的 geojson 进行再处理输出成 shp 数据,然后就可以使用 Stata 的 shp2dta 命令生成这些数据了!

你可能感兴趣的:(使用 Stata 绘制中美国旗)