Stata绘图:为图形选择优美的配色方案-color_style

发布时间:2023-02-21 阅读 3207

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下载 - 推文合集

作者:张家星 (中南财经政法大学)
邮箱zhangjx@stu.zuel.edu.cn


目录


1. 问题背景

一图胜千言!数据可视化已成为经济学研究中必不可少的一步,而其中最容易出错的可能是色彩的选择。Stata 默认的配色方案并不是很完美,这也意味着我们需要为图形选择合适的配色方案。color_style 可以快速帮您更换图形配色,让您的研究绽放光彩!

2. 命令介绍

* 命令安装
ssc install color_style, replace
* 命令语法
color_style [palette], [graph list] [n(#) colorpalette options]

color_style 是基于 colorpalettegrstyle 两个命令而开发的。其中,必选项包括:

  • palette :指定绘图所使用的配色方案,可以直接调用内置配色,也可以按照 colorpalette 的语法格式,调用其配色或选项。

备选项包括:

  • graph:显示配色方案所使用的颜色。
  • list:显示内置配色方案。
  • list(a):显示以字母 "a" 开头的所有的配色方案。
  • n(#):确定配色方案所使用的颜色数量,颜色数量应在 1 和 15 之间。
  • ipolate(#):用法和 n(#) 相同,区别 n(#) 仅适用于 Stata 14.2 版本及以上。
  • showcase:显示调色板如何查找多达 15 种颜色。
  • colorpalette options:也可以直接调用 colorpalette 的选项。

其他子命令:

  • font_style:改变图片的字体。
  • graphquery:返回特定主题的配色方案。

3. Stata 实例

3.1 配色方案预览

color_style 具有丰富的配色方案。一方面,它包含多种内置配色方案;另一方面,它可以调用 colorpalette 中的配色方案。除此之外,我们还可以根据自己的偏好自定义配色方案。

3.1.1 内置配色

. color_style, list                    // 命令中包含的配色方案名称
. color_style google, graph n(5)       // 显示某个配色方案的具体配色
. graph save google_color.gph, replace // 导出图片
. color_style twitter, graph n(5) 
. graph save twitter_color.gph, replace

更多配色详见:friosavila/playingwithstata

3.1.2 colorpalette 中的配色

. * colorpalette 中内置的配色
. color_style Greens, graph n(5) // 其中 Greens 为命令 colorpalette 中的配色方案
. graph save Greens_color.gph, replace // 导出图片

3.1.3 自定义配色

. * 借助命令 colorpalette, 自定义"钢铁侠"配色
. program colorpalette_iron_man
  1.     c_local P #9E0A04, #CB9847, #A2422B ,#6A0A0A, #060607
  2. end
. * 注:使用 16 进制色彩代码或者 RGB 色彩代码均可
. color_style  iron_man , graph n(5)     // 自定义配色方案颜色展示
. graph save iron_man_color.gph, replace // 导出图片

3.1.4 配色方案展示

. graph combine google_color.gph twitter_color.gph /// 
>     Greens_color.gph iron_man_color.gph         
. graph export color.png, replace

3.2 配色方案应用

接下来,我们将使用上述 4 种配色绘制一些研究中常用的图形。

foreach i in  google twitter Greens iron_man {
  color_style `i', nograph

  * 导入示例数据	
  use "http://fmwww.bc.edu/RePEc/bocode/o/oaxaca.dta", clear
  xtile q4=exper, n(4)    // 根据分位数将变量 exper 分成4组
  separate lnwage, by(q4) // 按照变量 q4 拆分变量 lnwage
  label var lnwage1 lnwage1
  label var lnwage2 lnwage2
  label var lnwage3 lnwage3
  label var lnwage4 lnwage4

  * 散点图
  scatter lnwage? exper , msize(*0.3 ..)             ///
    title("图1 散点图", margin(0 0 3 0) size(*0.8))   ///
    ytitle("log hourly wages")                       ///
    xtitle("years of work experience")               ///
    saving(`i'_scatter, replace)		  
      
  * 饼图		 		  
  graph pie lnwage? , pie(1,explode)              ///
    title("图3 饼图", margin(0 0 3 0) size(*0.8))  ///	
    plabel(_all percent, format("%5.2f"))         ///
    saving(`i'_pie, replace)
      
  * 柱状图	  			 
  graph bar lnwage? , bargap(40)  /// 
    title("图4 柱状图", margin(0 0 3 0) size(*0.8))     ///	
    ytitle("log hourly wages")   ///
    legend(label(1 "wage1_mean") label(2 "wage2_mean") ///
    label(3 "wage3_mean") label(4 "wage4_mean"))       ///
      saving(`i'_bar, replace)

  * 折线图
  sysuse uslifeexp, clear
  lab var le_wfemale "white_F"
  lab var le_wmale   "white_M"
  lab var le_bfemale "black_F"
  lab var le_bmale   "black_M"

  line le_wfemale le_wmale le_bfemale le_bmale year, ///
    title("图2 折线图", margin(0 0 3 0)size(*0.8))    ///		
    lwidth(*1.5 ..)  ytitle("Life expectancy")       ///
    saving(`i'_lie, replace)
      
  * 组合图输出	  
  graph combine `i'_scatter.gph `i'_lie.gph `i'_pie.gph ///
  `i'_bar.gph,title(`i' 配色)
  graph export `i'.png, replace
}

3.3 其他选项设定

除此之外,该命令还包括两个子命令 font_stylegraphquery,具体应用如下:

  • 更改字体
font_style 黑体 // font_style + 相应字体
  • 提取系统配色
* 返回系统内置主题的配色方案
set scheme s2color  // 设定主题
graphquery color p1 // p1-15 为某个主题下标记符号的默认样式
color p1:navy       // 返回 s2color 主题下, p1 对应的颜色, 即海军蓝(navy)

4. 相关推文

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

相关课程

免费公开课

最新课程-直播课

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

课程主页

课程主页

关于我们

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

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

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

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

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