- proc template;
- define statgraph scatterplot;
- begingraph;
- entrytitle "Weight and Age by Sex";
- layout overlay;
- scatterplot x=age y=weight /
- group=sex name="abc";
- discretelegend "abc";
- endlayout;
- endgraph;
- end;
- run;
-
- ods html;
- proc sgrender data=sashelp.class template=scatterplot;
- run;
- proc template;
- define statgraph scatterplot;
- begingraph;
- entrytitle "Weight and Age by Sex";
- entrytitle halign=left "Weight and Age by Sex"
- / border=true
- opaque=true
- backgroundcolor=lightgreen
- textattrs=(color=blue
- family='Arial'
- size=14
- style=italic
- weight=bold);
- entryfootnote halign=center 'SMOON Confidential'
- halign=right "MIB";
-
- layout overlay;
- scatterplot x=age y=weight /
- group=sex name="abc";
- discretelegend "abc";
- endlayout;
- endgraph;
- end;
- run;
-
- ods html;
- proc sgrender data=sashelp.class template=scatterplot;
- run;
————————————————————————————————————————————————————————————
从图形可以看到,设置backgroundcolor=lightblue后,背景颜色变成淡蓝色了;设置border=true和borderattrs=(color=pink thickness=3)后,边框变成粉红色并且加粗了;设置designwidth=400px和designheight=400px后,图表大小改变并且变成正方形了;设置pad=(bottom=50 right=50)后,下边和右边空白区域变大了。
proc template;
define statgraph scatterplot;
begingraph / backgroundcolor=lightblue
border=true
borderattrs=(color=pink thickness=3)
designwidth=400px
designheight=400px
pad=(bottom=50 right=50);
entrytitle "Weight and Age by Sex";
layout overlay;
scatterplot x=age y=weight /
group=sex name="weight";
discretelegend "weight";
endlayout;
endgraph;
end;
run;
ods html;
proc sgrender data=sashelp.class template=scatterplot;
run;
————————————————————————————————————————————————————————————
对比上下2个图形,可以看到设置aspecratio=0.7后,绘图区域形状变了;设置cycleattrs=true后,图形颜色从2种颜色变成4种颜色。
proc template;
define statgraph seriesplot;
begingraph / designwidth=360px designheight=260px;
entrytitle "Tech Stock Trends";
layout overlay / yaxisopts=(label='price')
aspectratio=0.7
cycleattrs=true;
seriesplot x=date y=close / group=stock name="stocks"
lineattrs=(thickness=3);
seriesplot x=date y=high / group=stock
lineattrs=(thickness=3);
discretelegend "stocks";
endlayout;
endgraph;
end;
run;
proc sgrender data=sashelp.stocks template=seriesplot;
where date > "31dec1999"d and stock^='IBM';
run;
————————————————————————————————————————————————————————————
对比上下2个图形,可以看到设置opaque=true和backgroundcolor=lightyellow后,布局背景颜色变成淡黄色;设置border=true和borderattrs=(color=blue pattern=dash thickness=2)后,布局区域显示边框,并且边框属性为蓝色、破折线、加粗;设置pad=(top=50)后,布局上方和图表距离变大了;设置wallcolor=lightgray和walldisplay=(fill)后,绘图区域背景颜色变成淡灰色。
proc template;
define statgraph seriesplot;
begingraph / designwidth=360px designheight=260px;
entrytitle "Tech Stock Trends";
layout overlay / yaxisopts=(label='price')
aspectratio=auto
backgroundcolor=lightyellow
border=true
borderattrs=(color=blue pattern=dash thickness=2)
cycleattrs=true
opaque=true
pad=(top=50)
wallcolor=lightgray
walldisplay=(fill);
seriesplot x=date y=close / group=stock name="stocks"
lineattrs=(thickness=3);
seriesplot x=date y=high / group=stock
lineattrs=(thickness=3);
discretelegend "stocks";
endlayout;
endgraph;
end;
run;
proc sgrender data=sashelp.stocks template=seriesplot;
where date > "31dec1999"d and stock^='IBM';
run;
————————————————————————————————————————————————————————————
从图形对比左右Y轴,可以看到设置display=(label tickvalues) 后,轴线和标记不显示了;设置griddisplay=on 后,显示刻度线;设置label="population (%)"和labelattrs=(color=blue weight=bold) 后,标签属性变成蓝色加粗;设置xaxisopts=(display=none) 后,X轴不显示了。
proc template;
define statgraph y2axis;
begingraph / designwidth=360px designheight=360px;
layout overlay / walldisplay=none
yaxisopts=(display=(label tickvalues)
griddisplay=on
label="population (%)"
labelattrs=(color=blue weight=bold)
name="Y")
xaxisopts=(display=none);
histogram height / scale=count yaxis=y2 name="height";
histogram height / scale=proportion yaxis=y;
densityplot height / normal();
discretelegend "height";
endlayout;
endgraph;
end;
run;
proc sgrender data=sashelp.class template=y2axis;
run;