Stata绘图:凹凸线与凹凸面积图-bumparea-bumpline

发布时间:2023-09-18 阅读 281

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

作者:刘潍嘉 (兰州大学)
邮箱weijialiu99@163.com

编者按:本文整理自 asjadnaqvi/stata-bumplineasjadnaqvi/stata-bumparea,特此致谢!


目录


1. 介绍

凹凸线图 (Bumpline Chart) 是一种折线图的变形,用于展示一组数据随时间产生的排名而非绝对值的变化。凹凸图的优点在于它不受数据集中数值大小差异的影响,可以产生均匀的排名折线。而标准折线图可能会因为某些数据项较高的数据值导致大量数据线集中在图表的底部,影响读者对数据值的观察。

  • 优点:可以不受数据集中数值大小差异产生均匀的排名折线,方便我们对数据进行二维观察。
  • 缺点:由于它强调排名的相对变化,而不是绝对值,因此可能不适合需要显示具体数值的情况。另外,在数据量很大的情况下,可能会导致图表变得混乱和难以解读。

凹凸面积图 (Bumparea Chart) 则是面积图的变形,用于展示一组数据随时间产生的排名和绝对值的变化。Bumparea Chart 也用于显示类似的趋势,但相对于 Bumpline Chart,它不仅考虑了排名的变化,还可同时显示相对大小的变化。它适用于比较多个组或类别的大小排名和数值变化。

  • 优点:不仅突出了排名的变化,还能够显示组之间的相对大小变化。它能够提供更全面的信息,同时保留了排名变化的可视化效果。
  • 缺点:可能在大数据集上变得混乱,尤其是在组数较多时。

2. 命令介绍

2.1 命令安装

  • ounter(line
  • ounter(line
  • ounter(line
  • ounter(line
. ssc install bumparea, replace . ssc install bumpline, replace. ssc install palettes, replace   // 命令依赖. ssc install colrspace, replace  // 命令依赖

2.2 命令语法

2.2.1 bumpline

  • ounter(line
  • ounter(line
  • ounter(line
  • ounter(line
  • ounter(line
  • ounter(line
bumpline y x [if] [in], by(varname)     [top(num) select(any|last) smooth(num) palette(str) labcond(str) offset(num)     lwidth(str) labsize(str) xlabsize(str) ylabsize(str) xlabangle(str)      msymbol(str) msize(str) mcolor(str) mlcolor(str) mlwidth(str) mlabsize(str)     xlabel(str) xtitle(str) ytitle(str) title(str) subtitle(str) note(str)      ysize(num) xsize(num) scheme(str) name(str)]

其中,

  • bumpline y x, by(group):该命令需要一个数值型的 y 变量和一个数值型的 x 变量。通常情况下,x 变量是一个时间变量。by() 变量用于定义分组。
  • top(num):在图表中显示的行数。默认选项为 top(50)。其他所有值都会被忽略。
  • select(any|last):选项 sel(any) 会为所有 x 轴类别选择 top()。这是默认选项,同时显示由 by() 类别进入和退出 top()。选项 sel(last) 会跟踪最后一个 x 轴类别的 top() 路径。
  • smooth(num):平滑参数,取值范围为 1 到 8。默认值为 smooth(4)。值为 1 时显示直线,值为 8 时显示几乎垂直的跃迁。
  • palette(str):颜色方案的名称,可以是 colorpalette 包中定义的任何命名方案。默认为 tableau
  • offset(num):扩展 x 轴范围以适应标签。默认值为 offset(15),表示 xmax-xmin 的 15%。
  • lwidth(str):区域轮廓线的线宽。默认为 lw(0.8)
  • labsize(str)by() 类别标签的大小。默认值为 labs(2.2)
  • mlabsize(str):位于中间的 by() 类别标签的大小。默认值为 mlabs(1.6)
  • xlabsize(str):x 轴标签的大小。默认值为 xlabs(2.5)
  • ylabsize(str):y 轴标签的大小。默认值为 ylabs(2.5)
  • xlabangle(str):x 轴标签的角度。默认为 xlaba(0),表示水平。
  • msymbol(str):标记的符号。默认为 msym(2.5)
  • msize(str):标记的大小。默认为 ms(2)
  • mcolor(str):标记的颜色。默认为线条颜色。
  • mlwidth(str):标记轮廓线的宽度。默认为 mlwid(medium)
  • mlcolor(str):标记轮廓线的颜色。默认为线条颜色。
  • xtitle, ytitle, xsize, ysize:这些是标准的 twoway 图表选项。
  • title, subtitle, note, name:这些是标准的 twoway 图表选项。
  • scheme(string):加载自定义方案。可以使用上述选项对各个元素进行微调。

有关更多详细信息,请参阅帮助文件 help bumpline

2.2.2 bumparea

  • ounter(line
  • ounter(line
  • ounter(line
  • ounter(line
  • ounter(line
  • ounter(line
bumparea y x [if] [in], by(varname)     [top(num) dropother smooth(num) palette(str) labcond(str) offset(num)     alpha(num) lcolor(str) lwidth(str) percent format(fmt)     recenter(mid|top|bot) colorby(name) colorvar(var) colother(str)    xlabel(str) xtitle(str) ytitle(str) title(str) subtitle(str) note(str)     ysize(num) xsize(num) scheme(str) name(str) saving(str)]

其中,

  • bumparea y x, by(group):该命令需要一个数值型的 y 变量和一个数值型的 x 变量。通常情况下,x 变量是一个时间变量。by() 变量用于定义分组。
  • top(num):在图表中显示的行数。默认选项为 top(50)。非 top() 值将分组显示在一个“其他”类别中。
  • dropother:从图表中删除“其他”类别,仅显示 top() 类别。
  • smooth(num):平滑参数,取值范围为 1 到 8。默认值为 smooth(4)。值为 1 时显示直线,值为 8 时显示几乎垂直的跃迁。
  • palette(str):颜色方案的名称,可以是 colorpalette 包中定义的任何命名方案。默认为 tableau
  • alpha(num):区域填充的透明度。默认为 alpha(80),表示 80% 的透明度。
  • offset(num):扩展 x 轴范围以适应标签。默认值为 15,表示 xmax-xmin 的 15%。
  • recenter(options):此选项更改图表重新居中的位置。默认选项为 recenter(middle)。其他选项包括 recenter(top)recenter(bottom)。为了简洁,还可以指定如下选项:middle = mid = m, top = t, bottom = bot = b
  • percent:显示 by() 类别的百分比份额。默认为实际值。
  • format(fmt):格式化 by() 类别的值。实际值的默认格式为 format(%12.0fc),百分比选项的默认格式为 format(%5.2f)
  • lwidth(str):区域轮廓线的线宽。默认为 lw(0.2)
  • lcolor(str):区域轮廓线的颜色。默认为 lc(white)
  • labsize(str)by() 类别标签的大小。默认值为 labs(2.8)
  • xlabsize(str):x 轴标签的大小。默认值为 xlabs(2.5)
  • xlabangle(str):x 轴标签的角度。默认为 xlaba(0),表示零度或水平方向。
  • xtitle, ytitle, xsize, ysize:这些是标准的 twoway 图表选项。
  • title, subtitle, note, name:这些是标准的 twoway 图表选项。
  • scheme(string):加载自定义方案。可以使用上述选项对各个元素进行微调。

有关更多详细信息,请参阅帮助文件 help bumparea

3. Stata 案例

绘图前,本文设置了绘图模板以美化图形,安装和设置命令如下,如无需求可以忽略。

  • ounter(line
  • ounter(line
. ssc install schemepack, replace  //white_tableau 模板. set scheme white_tableau         //设定绘图风格为white_tableau 

3.1 Bumpline Chart

  • ounter(line
  • ounter(line
  • ounter(line
  • ounter(line
  • ounter(line
. lxhuse owid_emissions_reduced.dta, clear . drop if iso_code=="". keep if year >= 2000. bumpline total_ghg year, by(country) xsize(2) ysize(1). graph export "bumpline_ex01.png", width(2000) replace 

3.2 Bumparea Chart

  • ounter(line
  • ounter(line
  • ounter(line
  • ounter(line
  • ounter(line
  • ounter(line
. lxhuse owid_emissions_reduced.dta, clear . drop if iso_code=="". keep if year >= 2000. bumparea total_ghg year, by(country) dropother percent  ///>     labs(2.5) xlabsize(2.5) xsize(2) ysize(1.1) xlabangle(40). graph export "bumparea_ex01.png", width(2000) replace 

4. 相关推文

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