SAS で綺麗なグラフを描く方法
目次
はじめに
SAS には多種多様なグラフの描き方が存在します。ここでは Proc gplot を使用したグラフの描き方を紹介します。コード例とその下にコード説明をしております。最後にコード全体を記載していますので、ご確認ください。 以下のデータをプロットする方法をご紹介します。
date | hajimari | owarine |
---|---|---|
01/13/2017 | 113.758 | 114.027 |
01/14/2017 | 114.026 | 113.771 |
01/15/2017 | 113.77 | 113.983 |
01/16/2017 | 113.983 | 115.241 |
01/17/2017 | 115.285 | 115.021 |
01/18/2017 | 115.022 | 115.166 |
01/19/2017 | 115.166 | 117.144 |
データ名は work.test とします。
データ読み込み
proc gplot data = work.test;
“proc gplot data = [読み込みたいデータ名];”がフォーマットになります。注意点としては最後に”;”を忘れないことです。
タイトルの設定
title1 "maintitle";
title2 "subtitile";
title1、title2 と title に数字を付け加えることで、大小様々なグラフタイトルを付随させることができます。
軸の設定
axis1 order = (110 to 118 by .01);
axis2 order = ("01Feb2017"d to "15Mar2017"d by day);
「order = (min to max by 刻み)」で表示間隔を調整します。axis1はx軸、axis2はy軸です。 order = (110 to 118 by .01)
で 110~118 の範囲の値を 0.01 刻みで表示、order = (“01Feb2017”d to “15Mar2017”d by day)
で 2017/02/01~2017/03/15 の範囲を 1 日刻みで表示します。
グラフ線の形状を指定
symbol1 I = join V = dot C = blue
「symbol1 I = [点のつなぎ方]、V = [点の形状]、C = [点の色]」で形状を指定します。 I = join
は点と点を線で結びます。V = dot
で丸い形状を指定します。C = blue
で青い点の色を指定します。
グラフを描く
plot hajimari*date / vaxis=axis1 haxis=axis2
「plot [x 軸に指定したいデータ] * [y 軸に指定したいデータ] / vaxis=y 軸、haxis=x 軸」でプロットします。 ここまでのコードをまとめると以下のように鳴ります。
proc gplot data = work.test;
title1 “maintitle”;
title2 “subtitile”;
axis1 order = (110 to 118 by .01);
axis2 order = ("01Feb2017"d to "15Mar2017"d by day);
symbol1 I = join V = dot C = blue;
plot hajimari*date / vaxis=axis1 haxis=axis2;
run;
以下のグラフが表示されます。
グラフ背景色変更
ここからグラフの調整をさらに加えていきます。
plot hajimari*date / vaxis=axis1 haxis=axis2 regeqn cframe=grayee
「regeqn cframe=”色”」で背景色を指定できます。grayee は灰色ですので、以下のような図になります。
グラフ縦軸参照線
plot hajimari*date / vaxis=axis1 haxis=axis2 vref = 111 113 115 cvref=black green red lvref=10 3 1
vrefで参照線の位置、cvrefで参照線の色、lvrefで参照線の形状を指定します。
グラフ横軸参照線
plot hajimari*date/ vaxis=axis1 haxis=axis2 href = "1Mar2017"d chref=black lhref=10
hrefで参照線の位置、chrefで参照線の色、lhrefで参照線の形状を指定します。
グラフの重ね書き
symbol1 I = join V = dot C = blue
plot hajimari*date/overlay vaxis= axis1 haxis=axis2
symbol2 I = none V = dot C = red
plot2 owarine*date
「plot [x 軸に指定したいデータ] * [y 軸に指定したいデータ] / overlay vaxis=y 軸、haxis=x 軸 plot2 [x 軸に指定したいデータ] * [y 軸に指定したいデータ]」 形状に関しては symbol1 と plot、symbol2 と plot2 が対応することになります。これを実行する以下のようなグラフが表示されます。
凡例の表示
legend1 Frame
symbol1 I = join V = dot C = blue
plot hajimari*date/overlay vaxis= axis1 haxis=axis2 legend=legend1
symbol2 I = none V = dot C = red legend=legend2
plot2 owarine*date
legend1 Frameでフレーム付きの凡例を指定します。Plot の中で legend = legend1 と指定することで、凡例を表示することができます。以下のようにシンボルごとに凡例が表示されます。
その他
他にも proc gplot では多くのグラフを描くことができます。 以下のリンクにグラフの具体例とコードが載っていますので、参考にしてみてください。 https://support.sas.com/sassamples/graphgallery/PROC_GPLOT.html
DATUM STUDIOは、クライアントの事業成長と経営課題解決を最適な形でサポートする、データ・ビジネスパートナーです。
データ分析の分野でお客様に最適なソリューションをご提供します。まずはご相談ください。