以下プログラムで、結果ビューアに一覧表示されます。
| proc template; list styles; run; ![]() |
| proc template; source スタイル名; run; |
| proc template; source styles.printer; run; Log ![]() |
proc template ;
define statgraph MYGRAPH;
begingraph;
layout overlay / xaxisopts=(linearopts=(viewmin=0 viewmax=30
tickvaluesequence=(start=0 end=30 increment=2)));
scatterplot x=AGE y=WEIGHT;
endlayout;
endgraph;
end;
run;
proc sgrender data=SASHELP.CLASS template=MYGRAPH;
run;
|
proc sgplot data=SASHELP.FISH tmplout="出力先をフルパス指定" ;
hbox WEIGHT / category=SPECIES; run; |
proc template; define statgraph sgplot; dynamic _ticklist_; begingraph / collation=binary; layout overlay / yaxisopts=(labelFitPolicy=Split) y2axisopts=(labelFitPolicy=Split) yaxisopts=(discreteOpts=(sortOrder=ascendingFormatted)) yaxisopts=(type=Discrete reverse=true discreteOpts=(tickValueList=_ticklist_ tickValueListPolicy=Union)) y2axisopts=(discreteOpts=(sortOrder=ascendingFormatted)) y2axisopts=(type=Discrete reverse=true discreteOpts=(tickValueList=_ticklist_ tickValueListPolicy=Union)); BoxPlot X='Species'n Y='Weight'n / primary=true orient=horizontal LegendLabel="Weight" NAME="HBOX"; endlayout; endgraph; end; run; |
proc sgplot data=SASHELP.CLASS tmplout="出力先をフルパス指定" ; vbar SEX; run; |
proc template; define statgraph sgplot; dynamic _NEGATIVE_; dynamic _ticklist_; begingraph / collation=binary; layout overlay / yaxisopts=(labelFitPolicy=Split) y2axisopts=(labelFitPolicy=Split) xaxisopts=(type=Discrete discreteOpts=(tickValueList=_ticklist_ tickvaluefitpolicy=SplitRotate tickValueListPolicy=Union)) x2axisopts=(type=Discrete discreteOpts=(tickValueList=_ticklist_ tickvaluefitpolicy=SplitRotate tickValueListPolicy=Union)) yaxisopts=(linearopts=(Integer=true)); BarChartParm X='Sex'n Y=_FREQUENCY_ / primary=true LegendLabel="度数" NAME="VBAR"; endlayout; endgraph; end; run; |
BOXPLOT X=カテゴリ Y=分析変数 / オプション; |
| 設定内容 | 指定 | 詳細設定 |
| 箱ひげ図を横に寝かす | ORIENT = HORIZONTAL | |
| 箱の幅 | BOXWIDTH = 0~1 | |
| 箱の書式 | FILLATTRS = (詳細設定) | COLOR = 色 |
| ひげの書式 | WHISKERATTRS = (詳細設定) | COLOR = 色 |
| 中央値の書式 | MEDIANATTRS = (詳細設定) | COLOR = 色 |
| 平均値の書式 | MEANATTRS = (詳細設定) | COLOR = 色 SYMBOL = 表示マーク |
| 外れ値の書式 | OUTLIERATTRS = (詳細設定) | SYMBOL = 表示マーク |
proc template ;
define statgraph MYGRAPH; begingraph ; entrytitle "お魚の体重分布"; layout overlay ; boxplot x=SPECIES y=WEIGHT / orient = horizontal meanattrs = (color=black symbol=plus) medianattrs = (color=black) whiskerattrs = (color=black) fillattrs = (color=white) outlierattrs = (symbol=circlefilled) boxwidth = 0.5 ; endlayout; endgraph; end; run; proc sgrender data=SASHELP.FISH template=MYGRAPH; run; |
| PROC TEMPLATE ; DEFINE STATGRAPH テンプレート名 ; BEGINGRAPH ; ENTRYTITLE "グラフタイトル" ; LAYOUT レイアウト種類 ; プロット文 ; ENDLAYOUT ; ENTRYFOOTNOTE "フットノート" ; ENDGRAPH ; END ; RUN ; |
DEFINE STATGRAPH テンプレート名 ;
~ END ; |
作成するテンプレート名を指定。
適当な名前でok。 |
BEGINGRAPH ;
~ ENDGRAPH ; |
お決まりの文。開始と終了を明示。
|
ENTRYTITLE "タイトル" ;
|
グラフのタイトル
|
ENTRYFOOTNOTE "フットノート" ;
|
グラフのフットノート
|
LAYOUT レイアウト種類 ;
~ ENDLAYOUT ; |
複数のプロットを左右に並べたり、重ねたり、、
等のレイアウトの種類を選択します。 (ここは別の機会で紹介予定) |
| PROC SGRENDER DATA=プロットするデータセット TEMPLATE=テンプレート名 ; RUN; |
| * Sample Dataset ; data DT1; input DAY WEIGHT; cards; 0 85.5 10 79.5 20 75.2 30 70.5 40 65.8 50 72.1 ; * テンプレートを作成 ; proc template ; define statgraph MYTEMP ; begingraph; entrytitle "ダイエット記録"; layout overlay; seriesplot x=DAY y=WEIGHT / display=all ; endlayout; endgraph; end; run; * テンプレートを使って、グラフを作成 ; proc sgrender data=DT1 template=MYTEMP ; run; |