graphの出力を工夫する

802 Views

March 31, 24

スライド概要

[第3回大阪sas勉強会]淺井 友紀

profile-image

SAS言語を中心として,解析業務担当者・プログラマなのコミュニティを活性化したいです

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

折れ線グラフの出力を工夫する

2.

折れ線Graph出すときに困ること • • • • • メモリラベル改行したい 上付き/下付き文字を使いたい 補助線を引っ張りたい 群ごとに折れ線をずらして出力したい 標準偏差をエラーバーとしたい 体裁上の要求が多い

3.

目標のグラフ

4.

データ data hoge ; call streaminit(111) ; do G = 1 , 2 ; do _ID = 1 to 3 ; do X = 1 to 6 ; Y = rand("uniform") * 10 ; if X = 5 then Y = . ; output ; end ; end ; end ; run ;

5.
[beta]
凡例用文字列
%sganno ;
data anno1 ;
%sgtext(label = "--■--" , drawspace = "GRAPHPERCENT" ,
textcolor = "black" , x1 = 20 , y1 = 90) ;
%sgtext(label = "α(*ESC*){sup '2'}A群" , drawspace = "GRAPHPERCENT" ,
textcolor = "black" , x1 = 27 , y1 = 90) ;
%sgtext(label = "―●―" , drawspace = "GRAPHPERCENT" ,
textcolor = "black" , x1 = 20 , y1 = 85) ;
%sgtext(label = "α(*ESC*){sup '2'}B群" , drawspace = "GRAPHPERCENT" ,
textcolor = "black" , x1 = 27 , y1 = 85) ;
run ;

6.

グラフ_初期設定 proc sgplot data = HOGE sganno = ANNO1 noautolegend ; refline 4 / axis = y lineattrs=(pattern=34 color=gray ) ; styleattrs datasymbols=(circlefilled squarefilled ) datacontrastcolors=(black) datalinepatterns=(solid dash) ;

7.

グラフ_折れ線の描画 vline X / response = Y break group = G groupdisplay = cluster clusterwidth = 0.5 markers stat = mean limitstat = stddev limits = both ;

8.
[beta]
グラフ_軸の設定
xaxis
type = discrete
fitpolicy = splitalways
splitchar = "*"
values = (1 to 4 by 1 , 6 )
valuesdisplay = ("ベース*ライン" "2" "3" "4" "最終解析*時点")
label = "α(*ESC*){unicode '00B2'x}の推移(*ESC*){unicode '0A'x}最終解析含む"
;
yaxis
label = "Y"
values = (-2 to 12 by 2 )
;
run ;

9.

Sgtextの補足 %sgtext(label = "出力したい文字列" , drawspace = "出力する場所の指定" , textcolor = "文字列の色" , x1 = 出力位置のX座標 , y1 = 出力位置のY座標 , rotate = 文字列の角度(0-360) , textfont = 文字列のfont , );

10.

Drawspace引数 • どこのareaを基準とす るかを指定する引数 • LAYOUTarea > GRAPTH area > DATA areaの順に areaが大きくなる – (LAYOUT areaは他の areaを全て含み, GRAPTHareaはDATAarea を含む)

11.

Drawspace引数 • DATAPERCENT /DATAPIXEL /DATAVALUE /GRAPHPERCENT /GRAPHPIXEL /LAYOUTPERCENT /LAYOUTPIXEL のいずれかを指定する. – DATAVALUEを指定すると,グラフ軸の値を参照して座 標を指定する(軸の外の値は指定できなくなる) – GRAPHPERCENTを指定すると,GRAPTHareaの下端と 左端が0,上端と右端が100として座標を指定する(0100以外の値は指定できなくなる) – DATAPERCENTを指定すると,グラフ原点が0,上端と 右端が100として座標を指定する

12.

参考文献 • SASのdocument <http://documentation.sas.com/?cdcId=pgmsascdc&cdcVer sion=9.4_3.3&docsetId=pgmmvaov&docsetTarget=pgmsaso v.htm&locale=ja> • 高浪洋平,舟尾暢男. もしも,SASのSGPLOTとRの GGPLOT2を比較したら…. 第1回ナニワデータサイエンス 研究会(2016) • ユニコード一覧 <http://www.asahi-net.or.jp/~ax2skmtn/ref/unicode/u0080.html#u00b2>