グラフをもっと自由に描くために①

グラフ

Stataはきれいなグラフを描くことができることが魅力の1つなのですが、その際に役立つ便利なツールを紹介します.

1.symbolpalette: グラフ中のマーカーの形を変更

グラフ中のマーカーの形を選ぶことができます.
どんなシンボルにするかを一覧で示すコマンドがあり、それを表示すると、コマンドへの入れ方が示されます.

palette symbolpalette

すると上のようなFigureがでてきます.
マーカーのタイプは文字、サイズは大文字・小文字で表現します.
オプションとして、”msymbol()”に指定します.
例えば、黒抜きの四角にしたければ”S”と入れ,
白抜きのダイヤであれば”Dh”といれます.

sysuse auto, clear
twoway scatter price weight    /// 車の重さと値段の関係の散布図
*** 外車と国産車の違いを見せたいとき 
#delimit;
twoway 
	scatter price weight if foreign==0, msymbol(D)
	||
	scatter price weight if foreign==1, msymbol(T)
	,
	legend(order(1 "Domestic" 2 "Foreign") col(1) pos(5) ring(0))
	;
#delimit cr
twoway scatterで何のオプションもつけないとこんな感じです
国産と外国産の間で重量と値段の関係が異なることを示せる

2.linepalette: グラフ中の線の種類を変更

グラフ中のマーカーの線の種類を選ぶことができます.
どんな線にするかを一覧で示すコマンドがあり、それを表示すると、コマンドへの入れ方が示されます.

palette linepalette

試しに適当なグラフを描いてみます.
ここでは線のパターンを選ぶのに、オプションで、”lpattern()”の括弧の中に線の種類を指定します.
デフォルトはsolidなのですが、ダッシュにするならdash、ドットにするならdotという感じで、直観的にいけるかもしれません.

input study outcome low high
	1	16	7	30
	2	22	13	34
	3	18	11	25
	4	15	10	22
	5	13	8	19
end

#delimit;
	twoway rcap high low study, lcolor(navy) 
	|| 
	connected outcome study, sort msymbol(Dh) mcolor(navy) lcolor(navy) lpattern(dash)
	, legend(off) ytitle("Outcome (%)")
	;
#delimit cr

3.グラフ中の文字をイタリックにあるいはboldにする

グラフ中の文字をイタリックにあるいはboldにするときは、引用する文字列を{}で括った上で、”it:”、”bf:”とつけて表示する文字列を続けます.
{it: P value}と表記すれば、イタリックの P value になるわけです.

input study outcome low high
     1   16  7   30
     2   22  13  34
     3   18  11  25
     4   15  10  22
     5   13  8   19
end

delimit;
twoway rcap high low study, lcolor(navy) 
|| 
connected outcome study, sort msymbol(Dh) mcolor(navy) lcolor(navy) lpattern(dash)
, legend(off) ytitle("Outcome (%)") text(30 4 "{it:P trend} < 0.05")
;
delimit cr

それだけでなく、例えば平方メートル、二乗三乗の数字を表現するのには
{sup:}を使って表現します.

“eGFR, ml/min/1.73m{sup:2}”

これはグラフのタイトル、軸タイトルの他、ラベル付けの時にも使えます.

label variable egfr "eGFR, ml/min/1.73m{sup:2}"

下付にしたければ{sub: }としてやればよいだけです.

4.まとめ

マーカーと線のパレット、および表記の仕方についてまとめました. 誰かのお役に立てればと思います.

さらに詳しいことを知りたい場合はこちらのWeb siteを参照ください.

コメント

タイトルとURLをコピーしました