2

サイズの異なるカテゴリ間でいくつかの箱ひげ図を組み合わせようとしています。問題を説明する例を次に示します。

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)

これにより、次の結果が得られます。

ここに画像の説明を入力してください

すべてマニュアルに従って動作しますが、この出力には2つの問題があります。まず、美学。個人的には、行全体で同じ幅のプロットの方が見栄えがよいと思います。

次に、さらに重要なことに、より複雑なグラフでは、カテゴリ、軸などのフォントサイズも比例してサイズ設定されます。したがって、私が指定したとしても、たとえば、すべてのグラフで中程度のサイズの軸ラベルを指定したとしても、それらの一部はわずかに大きくなったり小さくなったりします。

箱ひげ図の2行目の幅を最初の行と同じサイズにプログラムで強制するオプションがあるかどうか疑問に思いました。

4

1 に答える 1

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

論理はそれです

  1. 2つのカテゴリ変数は縦方向に結合されます。これにより、各箱ひげ図が同じサイズになることが保証されます。

  2. 穴を指定することで、graph box2行にグラフを配置するように説得します。

1が解決されると、ラベルサイズの問題はなくなると思います。

さらに柔軟性を高めるために、代わりに放棄graph boxして使用する必要がある場合がありますtwoway。詳細な議論は2009年にStataJournalで私によって与えられました:あなたはhttp://www.stata-journal.com/sjpdf.html?articlenum=gr0039に直接行くことができます

于 2013-01-15T16:59:40.857 に答える