2017年2月3日金曜日

グラフの中の軸の範囲外の値を、はみ出ていることが分かるように出力する話

通常sasのgplotで出力したグラフは、軸に設定した値に収まらないデータがいる場合、
ログに範囲外のデータがいますよってnoteを出してくれます。
出してくれますが、出力したグラフを見てもどこが範囲外のデータなのかはわかりません。
今回ははみ出たデータをグラフにそれとわかるように出力するお話です。

data hoge;
    a = 1; Y = 2; output;
    a = 2; Y = 3; output;
    a = 3; Y = 4; output;
    a = 4; Y = 5; output;
    a = 5; Y = 3; output;
    a = 6; Y = 7; output;
    a = 7; Y = 4; output;
    a = 8; Y = 8; output;
    a = 9; Y = 4; output;
run;


*---------- 何の設定もしない場合;
proc gplot data = hoge;
    plot Y * A / vaxis = axis1 haxis = axis2 ;
    symbol1 c = black V = dot I = join;
    *---------- y軸目盛;
    axis1
      order = (1 to 5 by 1)
      origin=(10, 30)
      ;
    *---------- x軸目盛;
    axis2
      order=( 1 to 10 by 1 )
      origin=(10, 30)
    ;
run;

範囲外のデータがいますよのログ




グラフ


追加する設定は、symbolステートメントに追加された mode = include のことです。
*---------- 軸の幅を値が超えていたらはみ出るように設定;
proc gplot data = hoge;
    plot Y * A / vaxis = axis1 haxis = axis2 ;
    symbol1 mode = include c = black V = dot I = join;
    *---------- y軸目盛;
    axis1
      order = (1 to 5 by 1)
      origin=(10, 30)
      ;
    *---------- x軸目盛;
    axis2
      minor = none major = (w = 1.5)
      order=( 1 to 10 by 1 )
      origin=(10, 30)
    ;
run;



これではみ出たことがわかります。
はみ出るだけでなく、範囲外のデータを計算に含めることもできます。

0 件のコメント:

コメントを投稿