在Stata,我怎么能结合不同宽度的箱线图?(In Stata, how can I combine

2019-10-17 14:13发布

我想几个箱线图在不同大小的类别相结合。 这里为说明问题的例子:

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)

这给了我下面的结果。

根据手册所以但我有两个问题,输出的所有作品。 首先 - 美学。 我个人认为,与整个行的宽度相同的情节会更好看。

其次,更重要的是 - 在更复杂的曲线图的字体大小的类别,轴等也成比例地调整大小。 所以,即使我指定,让我们说 - 轴标签的中等规模上所有图形 - 他们中的一些会稍微更大或更小。

我在想,如果有一个选项以编程方式强制箱线图的第二排的宽度为尺寸为第一个相同。

Answer 1:

这是你想要什么? 它是基于一个把戏,但诀窍是相当普遍的。

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))

的逻辑是

  1. 这两个分类变量的纵向结合。 这确保了每个箱形图将是相同的尺寸。

  2. 通过指定孔,我们劝graph box把图上的两行。

我想,一旦1解决您的标签尺寸的问题就会消失。

为了获得更大的灵活性,你可能需要放弃graph box ,并使用twoway代替。 详细的讨论是由我在Stata的杂志在2009年给出的:你可以直接进入http://www.stata-journal.com/sjpdf.html?articlenum=gr0039



文章来源: In Stata, how can I combine box plots of different widths?