twowayグラフと軸スケールの設定

twowayグラフを作成する際の、軸スケールの基本設定についてまとめてみました.

X軸スケールの設定にはxscale、Y軸の設定にはyscaleのオプションをつけます.

目盛りの振り方はxlabel, ylabelのオプションで設定しますが、

scaleの設定が決まっていないとうまく表示されないので注意が必要です.

1.twowayグラフの基本

twowayグラフはいくつかのグラフを重ねて表示するのになくてはならないツールです.

散布図に回帰直線を追加したり↓

ヒストグラムにヒストグラムを重ねたり↓

いろいろなことができます.

基本的なsyntaxは、

.twoway function yvar xvar

ここで”function”は何らかの関数を表します.

ここに入るのは、

  • 散布図:scatter
  • 直線:line
  • 回帰直線:lfit
  • 信頼区間付き回帰直線:lfitci
  • 領域:area
  • 棒グラフ:bar
  • ヒストグラム:histogram
  • 等高線:contour

などがあります.

グラフを重ねたいときは、

.twoway (式1)(式2)(式3)

でもいいですし、

.twoway 式1 || 式2 || 式3 

でもいいです.

一つ一つの関数式にオプションを追加したりすることがあるので、

改行コマンドをうまく組み合わせて見やすくしたりもします.

#delimit;
   twoway 
    function1 yvar xvar, option (この関数式のグラフの線や色に関するオプション)
      ||
    function2 yvar xvar, option (この関数式のグラフの線や色に関するオプション)
    ,
    option (スケールや凡例に関するオプションで、グラフ全体に関するもの)
    ;
#delimit cr 

さて、そんなtwowayグラフですが、その機能を活かすためには軸スケールの設定は欠かせません.

2.xscale / yscaleの基本的な表し方

ここから今日の話題の中心である軸スケールの設定について解説します.

X軸の設定を中心に見ていきます.(Y軸についてはx→y とするだけです)

  • 反対側に表示させたい: alt
  • 大小反転させたい:reverse
  • (常用)対数軸で表示させたい:log
  • 値の範囲を規定したい:range(a b) … aからbの範囲で表示するということ
  • 軸の太さを変えたい:lwidth( ) … 太さを()の中に入れる(thickなど)
  • 軸の線を消したい:noline
  • 軸そのものの表示をやめたい:off

3.第二軸の設定方法

重ねたグラフのスケールが桁違いのとき、非常にちぐはぐなグラフになってしまいます.↓

#delimit;
	twoway scatter weight price, mcolor(maroon)
	|| 
	scatter length price, mcolor(navy)
	;
#delimit cr 

これを避けるためには軸をもう一つ追加するとよいでしょう.

twoway (function1 yvar1 xvar ) (function2 yvar2 xvar, yaxis(2)), ///
yscale(range(a b) axis(1)) yscale(range(c d) axis(2))

重ね合わせるグラフの関数式のうち、第二軸にしたい側にオプションでyaxis(2)を追加します.

さらにyscaleオプションを全体に追加して、それぞれの軸スケールの設定をします.

さて、先ほどの図ですが、

#delimit;
	twoway scatter weight price, mcolor(maroon)
	|| 
	scatter length price, mcolor(navy) yaxis(2)
	,
	yscale(range(2000 5000) axis(1))
	yscale(range(140 240) axis(2))
	;
#delimit cr 

もちろん片方を対数表示にすることもできます.

4.まとめ

いかがだったでしょうか?さらにラベルの設定をしたい場合にはxlabel, ylabelのオプションを使いますが、基本はscale optionとよく似ています.

ラベルの表示角度を変えたい場合には、

.ylabel(, angle(0))

を追記してみてください.

ちなみに、外部サイトでわかりやすかったものとして、

こちらのサイト

が参考になりました.

コメント

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