查看原文
其他

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

连享会 连享会 2022-12-31

👇 连享会 · 推文导航 | www.lianxh.cn

连享会:因果推断专题

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

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


目录

  • 1. 绘图背景资源库简介

  • 2. 如何调用这份背景库

    • 2.1 安装所有的背景文件

    • 2.2 对样式文件进行声明

  • 3. 不同样式的比较

    • 3.1 散点图

    • 3.2 折线图

    • 3.3 饼图

    • 3.4 箱型图

  • 4. 结语

  • 5. 相关推文



温馨提示: 文中链接在微信中无法生效。请点击底部「阅读原文」。或直接长按/扫描如下二维码,直达原文:

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

  • 专题:Stata教程
    • 普林斯顿Stata教程(二) - Stata绘图
  • 专题:Stata绘图
    • 常用科研统计绘图工具介绍
    • Stata绘图极简新模板:plotplain和plottig-T251
    • 给你的图形化个妆:Stata绘图常用选项汇总-上篇
    • 给你的图形化个妆:Stata绘图常用选项汇总-下篇
    • Stata绘图:柱状图专题-T212
    • Stata绘图:重新定义坐标轴刻度标签
    • Stata绘图:用-bytwoway-实现快速分组绘图
    • Stata绘图:一个干净整洁的-Stata-图形模板qlean
    • Stata绘图:在图片中添加虚线网格线
    • Stata绘图:怎么在Stata图形中附加水平线或竖直线?
    • Stata绘图:bgshade命令-在图形中加入经济周期阴影
    • Stata绘图:让图片透明——你不要掩盖我的光芒
    • Stata:图形美颜-自定义绘图模板-grstyle-palettes
    • Stata绘图:多维柱状图绘制
    • Stata绘图:用暂元统一改变图形中的字号
    • 一文看尽 Stata 绘图

New! Stata 搜索神器:lianxhsongbl  GIF 动图介绍
搜: 推文、数据分享、期刊论文、重现代码 ……
👉 安装:
. ssc install lianxh
. ssc install songbl
👉  使用:
. lianxh DID 倍分法
. songbl all

🍏 关于我们

  • 连享会 ( www.lianxh.cn,推文列表) 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • 直通车: 👉【百度一下:连享会】即可直达连享会主页。亦可进一步添加 「知乎」,「b 站」,「面板数据」,「公开课」 等关键词细化搜索。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存