我正在尝试组合不同大小类别的多个箱线图。
这是说明问题的示例:
sysuse auto
graph box mpg, by(rep78, rows(1)) name(g1, replace )
graph box mpg, by(foreign, rows(1)) name(g2, replace )
graph combine g1 g2 , ycom r(2)
这给了我以下结果。
一切都按照手册进行,但我对此输出有两个问题。
首先——美学。就我个人而言,我认为行间宽度相同的图看起来会更好。
其次,更重要的是,在更复杂的图表上,类别、轴等的字体大小也按比例调整。因此,即使我指定,比方说 - 所有图表上轴标签的中等尺寸 - 其中一些会稍大或稍小。
我想知道是否有一个选项可以以编程方式强制第二行箱线图的宽度与第一行的大小相同。
这是你想要的吗?它基于一个技巧,但这个技巧非常通用。
sysuse auto, clear
expand 2
gen what = cond(_n <= 74, rep78, 6 + foreign)
label def what 6 Domestic 7 Foreign
label val what what
graph box mpg, by(what, note("Repair record and Foreign") row(2) holes(8 9 10))
逻辑是这样的
这两个分类变量纵向组合。这确保了每个箱线图的大小相同。
通过指定漏洞,我们说服graph box
将图表放在两行上。
我想一旦 1 解决了,你的标签尺寸问题就会消失。
为了获得更大的灵活性,您可能需要放弃graph box
并使用twoway
反而。我在中进行了详细的讨论Stata期刊2009年:您可以直接前往http://www.stata-journal.com/sjpdf.html?articlenum=gr0039 http://www.stata-journal.com/sjpdf.html?articlenum=gr0039
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)