Stata 如何绘制双轴图?还是那种分组柱形图 + 折线图的?

Stata 如何绘制双轴图?还是那种分组柱形图 + 折线图的?

昨天有个小伙伴在群里问了这样的一个问题:

双轴图在 Stata 里面很容易绘制。这个问题的难点在于这里面的柱形图是分组柱形图,而我们知道 Stata 中绘制分组柱形图的命令是 graph bar,这个命令没办法像 twoway bar 命令一样进行图层叠加。

我也没有想到好的办法,最后另外一个小伙伴(@Stock)提出了一种解决办法,这里我把代码整理下:

数据集:shengjun.dta

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use shengjun.dta, clear
spread 年份 生均教育经费
gen 学段2016 = 学段 - 0.3
gen 学段2018 = 学段 + 0.3
colorscheme 3, palette(Paired)
tw ///
bar 生均教育经费2016 学段2016, barw(0.3) base(0) ///
col("`r(color1)'") yaxis(1) || ///
bar 生均教育经费2017 学段, barw(0.3) base(0) ///
col("`r(color2)'") yaxis(1) || ///
bar 生均教育经费2018 学段2018, barw(0.3) base(0) ///
col("`r(color3)'") yaxis(1) ||, ///
ysc(range(0 20000) extend) yla(0(5000)20000) ///
xsc(range(0.3 7.7) extend) xla(1(1)7) || ///
line 年均增幅 学段, yax(2) sort lp(solid) lw(*1.2) ||, ///
leg(order(1 "生均教育经费" 4 "年均增幅") pos(6) row(1)) ///
xti(学段, size(*0.8)) yti("生均教育经费", axis(1) size(*0.8)) ///
yti("年均增幅", axis(1) size(*0.8))

这个方法就是把分组柱形图分成 3 层柱形图绘制。通过设置恰当的偏移和柱宽即可。

#

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×