graph combine
Stataで複数のグラフを\(1\)枚にまとめたいときには、graph combineを用いる。
簡単な使い方
例がないとわかりにくいので、いつものauto.dtaを用いる。
sysuse auto, clear
普通にグラフを作成した後、それになまえをつけて格納する。
twoway scatter(price mpg), name(graph1)
hist weight, name(graph2)
これをまとめるには、以下のコマンドを入力すれば良い。
graph combine graph1 graph2
様々なオプション
“colfirst”オプションでグラフを順に縦に並べられる。
“xcommon”あるいは”ycommon”で共通の\(x\)あるいは\(y\)軸を用いることができる。
“imargin()”で余白の指定。
“title”でタイトル指定。ただし、”xtitle”や”ytitle”は使えないので、これは個別のグラフで指定しておくと良い。個々のグラフでたくさん軸ラベルが出て煩わしいときは、
hist weight, xtitle("") ytitle("") name(graph2)
などとしておくと良い。
“holes”で用いないスペースの指定ができる。”hol”と省略もできる。例えば、グラフが\(3\)つあって、\(4\)個のコマ割りのどこを用いないかを指定できる。グラフの割り方は、\begin{array}{|c|*2{c|}}\hline 1 & 2 \\ \hline 3 & 4 \\ \hline \end{array}のようになっている。以下にコードと例を示す。
graph box length, name(graph3)
graph combine graph1 graph2 graph3 hol(3)
背景の色を変更したいとき
ここが結構ハマった。個々のグラフではもちろん背景色が設定できるが、combineを用いると背景色がStataのいつもの空色になってしまう。これを回避するには、
graph combine graph1 graph2 graph3, grapheregion(color(white))
とすると良く、以下のように背景色が白のグラフが生成される。
上の例では個々のグラフの背景色の指定がされておらず、デフォルトの空色のままなのでやや分かりにくいが。
メモリーを確認したいとき
graph dir
とするとメモリーにどのグラフを格納しているか確認できる。
メモリーを消去するとき
graph drop _all
とする。個々のグラフを消去したいときは、
graph drop graph1 graph2 ...
と指定すると良い。
出力するときは
graph export "/Users/path/graph.png", replace width(4000)
でよい。”width”を指定しないと意外に解像度の低い画像が出力される。
グラフレジェンドを一つにまとめたいとき
この場合、graph combineではうまく行かず、grc1legを用いる。
net install grc1leg,from( http://www.stata.com/users/vwiggins/)
使い方はgraph combineとほとんど同じで、
grc1leg name1 name2 name3 ycommon xcommon legendfrom(name2)
として、”legendfrom”で用いたグラフのレジェンドを指定すれば良い。
コメント