刚有朋友问我怎么调整 boxplot 中 x 轴标签,用上图重现了他的问题。换句话说,问题是如何解决 graph 中 x 轴重叠的问题。
graph hbox y, over(year)
graph box y, over(year, label(angle(45)))
forval y = 1990/2010 {
if mod(`y', 5) {
label def ylbl `y' `"{char 0xa0}"', add // 0xa0:NO-BREAK SPACE
}
}
label val year ylbl
label li ylbl
graph box y, over(year)
简单解释代码中的 {char 0xa0}
,这是 SMCL(Stata Markup and Control Language) 语言,是 Stata 中的一种标记语言, help 文档大都是用它编写的。char
表示字符,0xa0
是 ASCII 编码的空格。所以这里实际是“偷梁换柱”,将 x 轴刻度每隔 5 个单位换为空格,这样绘制出来的图就实现了肉眼不可见的空白。
我刚开始也顺着这个思路考虑是否能通过 SMCL 语句更改 x 轴刻度的倾斜角度,但 SMCL 似乎没有并不能实现文本倾斜。对绘图中可用的 SMCL 语句,可自行 help text
查看。
clear
set obs 126
egen year = seq(), block(6) from(1990) to(2010)
set seed 2803
gen y = exp(rnormal())
https://www.statalist.org/forums/forum/general-stata-discussion/general/1297758-axis-options-for-box-plot-how-can-i-reduce-number-of-labels-on-the-x-axis
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有