坚持每天写1、2页,慢慢积累。虽然,某一天当我熟练掌握SAS,或许就是我不再需要使用SAS的时候。。。
————————————————————————————————————————————————————————————
从图形可以看到,设置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;