Stata 绘图:用 Stata 绘制一打精美图片-schemes

发布时间:2021-11-20 阅读 5625

Stata连享会   主页 || 视频 || 推文 || 知乎 || Bilibili 站

温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。

New! lianxh 命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc, ihelp, rdbalance, gitee, installpkg

课程详情 https://gitee.com/lianxh/Course

课程主页 https://gitee.com/lianxh/Course

⛳ Stata 系列推文:

PDF下载 - 推文合集

作者:左祥太 (武汉纺织大学)
邮箱Shutter_Z@outlook.com

Source:本文主要摘译自「Asjad Naqvi:Stata-schemes」


目录


1. 绘图背景资源库简介

这个资源库中有各种新的 Stata 绘图方案,并且大多数背景色方案都是以白色、黑色和灰色三种方式编程的。这些方案是按照一定的程序生成的,颜色和其他信息则是通过脚本引入方案的。

核心的白色方案是基于「Cleanplots」主题 (Mize 2018),该主题本身是由「Plainplots」主题 (Bischof 2017) 衍生而来。颜色是使用 Ben Jann 的「Colorpalette」包 (Jann 2018) 传递到方案中的。

更多有关背景方案的绘制方式,大家也可以通过网站「Stata graph schemes by The Stata Guide」自行学习与改进。

2. 如何调用这份背景库

2.1 安装所有的背景文件

我们可以通过以下命令一次性安装所有背景文件:

cnssc install lxhget, replace
lxhget tsg_schemes.pkg, install replace 

同时,本文的示例数据可以通过以下方式调用:

cnssc install lxhuse, replace
lxhuse scheme_test.dta, clear

2.2 对样式文件进行声明

完成上述背景文件的安装之后,在我们正式开始愉快的绘图之前,千万别忘记首先需要调用背景库。该背景库为我们提供了共计 29 种不同的风格。具体如下所示:

. lxhget tsg_schemes.pkg, des

INSTALLATION FILES                      
      scheme-black_tableau.scheme
      scheme-white_tableau.scheme
      scheme-gg_tableau.scheme
      scheme-black_cividis.scheme
      scheme-white_cividis.scheme
      scheme-gg_cividis.scheme
      scheme-black_viridis.scheme
      scheme-white_viridis.scheme
      scheme-gg_viridis.scheme
      scheme-black_hue.scheme
      scheme-white_hue.scheme
      scheme-gg_hue.scheme
      scheme-black_brbg.scheme
      scheme-white_brbg.scheme
      scheme-gg_brbg.scheme
      scheme-black_piyg.scheme
      scheme-white_piyg.scheme
      scheme-gg_piyg.scheme
      scheme-black_ptol.scheme
      scheme-white_ptol.scheme
      scheme-gg_ptol.scheme
      scheme-black_jet.scheme
      scheme-white_jet.scheme
      scheme-gg_jet.scheme
      scheme-black_w3d.scheme
      scheme-white_w3d.scheme
      scheme-gg_w3d.scheme
      scheme-rainbow.scheme
      scheme-neon.scheme

在需要使用相应背景风格时,我们仅需调用以下命令:

set scheme white_tableau
set scheme black_tableau 
set scheme gg_tableau

3. 不同样式的比较

接下来本文将展示以 black_cividisneon 为主要风格的图片。

3.1 散点图

lxhuse scheme_test.dta, clear
set scheme black_cividis, perm
twoway (scatter var2 date if group==1)  (scatter var2 date if group==2)   ///
       (scatter var2 date if group==3)  (scatter var2 date if group==4)   ///
       (scatter var2 date if group==5)  (scatter var2 date if group==6)   ///
       (scatter var2 date if group==7)  (scatter var2 date if group==8)   ///
       (scatter var2 date if group==9)  (scatter var2 date if group==10)  ///
       (scatter var2 date if group==11) (scatter var2 date if group==12), ///
       legend(order(1 "group1" 2 "group2" 3 "group3"  4 "group4"          ///
       5 "group5" 6 "group6" 7 "group7" 8 "group8" 9 "group9"             ///
       10 "group10" 11 "group11" 12 "group12")) title("Scatter plot")	
graph save scatter1, replace

set scheme neon, perm
twoway (scatter var2 date if group==1)  (scatter var2 date if group==2)   ///
       (scatter var2 date if group==3)  (scatter var2 date if group==4)   ///
       (scatter var2 date if group==5)  (scatter var2 date if group==6)   ///
       (scatter var2 date if group==7)  (scatter var2 date if group==8)   ///
       (scatter var2 date if group==9)  (scatter var2 date if group==10)  ///
       (scatter var2 date if group==11) (scatter var2 date if group==12), ///
       legend(order(1 "group1" 2 "group2" 3 "group3"  4 "group4"          ///
       5 "group5" 6 "group6" 7 "group7" 8 "group8" 9 "group9"             ///
       10 "group10" 11 "group11" 12 "group12")) title("Scatter plot")	
graph save scatter2, replace

graph combine scatter1.gph scatter2.gph

3.2 折线图

set scheme black_cividis, perm
twoway (line var2 date if group==1)  (line var2 date if group==2)   ///
       (line var2 date if group==3)  (line var2 date if group==4)   ///
       (line var2 date if group==5)  (line var2 date if group==6)   ///
       (line var2 date if group==7)  (line var2 date if group==8)   ///
       (line var2 date if group==9)  (line var2 date if group==10)  ///
       (line var2 date if group==11) (line var2 date if group==12), ///
       legend(order(1 "group1" 2 "group2" 3 "group3"  4 "group4"    ///
       5 "group5" 6 "group6" 7 "group7" 8 "group8" 9 "group9"       ///
       10 "group10" 11 "group11" 12 "group12")) title("Line plot") 
graph save line1, replace

set scheme neon, perm
twoway (line var2 date if group==1)  (line var2 date if group==2)   ///
       (line var2 date if group==3)  (line var2 date if group==4)   ///
       (line var2 date if group==5)  (line var2 date if group==6)   ///
       (line var2 date if group==7)  (line var2 date if group==8)   ///
       (line var2 date if group==9)  (line var2 date if group==10)  ///
       (line var2 date if group==11) (line var2 date if group==12), ///
       legend(order(1 "group1" 2 "group2" 3 "group3"  4 "group4"    ///
       5 "group5" 6 "group6" 7 "group7" 8 "group8" 9 "group9"       ///
       10 "group10" 11 "group11" 12 "group12")) title("Line plot") 	
graph save line2, replace

graph combine line1.gph line2.gph

3.3 饼图

set scheme black_cividis, perm
graph pie var2 if group <= 10, over(group) plabel(_all percent, format(%9.2f)) ///
      line(lcolor(black) lwidth(vvthin)) title("Pie plot") 
graph save pie1, replace

set scheme neon, perm
graph pie var2 if group <= 10, over(group) plabel(_all percent, format(%9.2f)) ///
      line(lcolor(black) lwidth(vvthin)) title("Pie plot") 
graph save pie2, replace

graph combine pie1.gph pie2.gph

3.4 箱型图

set scheme black_cividis, perm
graph box var*, title("Box plot")
graph save box1, replace

set scheme neon, perm
graph box var*, title("Box plot") 
graph save box2, replace

graph combine box1.gph box2.gph

4. 结语

限于篇幅,本文并未能完全展示 29 种风格下的全部图片,大家可以自行探索。当然,也可以构建 foreach 的循环语句,实现一次性画足 29 种风格,然后选出最好看的图片。

5. 相关推文

Note:产生如下推文列表的 Stata 命令为:
lianxh 绘图, m
安装最新版 lianxh 命令:
ssc install lianxh, replace

相关课程

免费公开课

最新课程-直播课

专题 嘉宾 直播/回看视频
最新专题 文本分析、机器学习、效率专题、生存分析等
研究设计 连玉君 我的特斯拉-实证研究设计-幻灯片-
面板模型 连玉君 动态面板模型-幻灯片-
面板模型 连玉君 直击面板数据模型 [免费公开课,2小时]
  • Note: 部分课程的资料,PPT 等可以前往 连享会-直播课 主页查看,下载。

课程主页

课程主页

关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • 连享会-主页知乎专栏,700+ 推文,实证分析不再抓狂。直播间 有很多视频课程,可以随时观看。
  • 公众号关键词搜索/回复 功能已经上线。大家可以在公众号左下角点击键盘图标,输入简要关键词,以便快速呈现历史推文,获取工具软件和数据下载。常见关键词:课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法

连享会小程序:扫一扫,看推文,看视频……

扫码加入连享会微信群,提问交流更方便

✏ 连享会-常见问题解答:
https://gitee.com/lianxh/Course/wikis

New! lianxhsongbl 命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh