SASTech Blog 

SAS で綺麗なグラフを描く方法

はじめに

SAS には多種多様なグラフの描き方が存在します。ここでは Proc gplot を使用したグラフの描き方を紹介します。コード例とその下にコード説明をしております。最後にコード全体を記載していますので、ご確認ください。 以下のデータをプロットする方法をご紹介します。

datehajimariowarine
01/13/2017113.758114.027
01/14/2017114.026113.771
01/15/2017113.77113.983
01/16/2017113.983115.241
01/17/2017115.285115.021
01/18/2017115.022115.166
01/19/2017115.166117.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は、クライアントの事業成長と経営課題解決を最適な形でサポートする、データ・ビジネスパートナーです。
データ分析の分野でお客様に最適なソリューションをご提供します。まずはご相談ください。