这篇分享源自我与一个神(fan)秘(ren)的项目相爱相杀的一年,在此呈现用sgplot画error bar的过程。虽然据说SAS的画图功能一直被诟病,但我对自己画出的图有种迷之自信,觉得特!别!美!O(∩_∩)O~~
DATA aa;
INPUT A B BSTD;
t ++1;
b_l =b-bstd;
B_u =b+bstd;
DATALINES;
33.99 33.95 1.5
29.54 29.73 2.5
25.80 25.91 3.6
29.45 29.50 1
21.92 22.11 1.2
25.10 25.38 0.99
23.53 23.61 1
26.92 27.35 2
25.53 25.81 0.4
28.04 28.09 0.7
;
proc sgplot noautolegend;
xaxis values=(1 to 10 by 1) label='';
yaxis values=(20 to 35 by 5) label='';
scatter x=t y=b/yerrorLower=b_l yerrorUpper=b_u markerattrs=(size=3) ERRORBARATTRS=(color=black);
series x=t y=b/markers markerattrs=(symbol=squarefilled color=black) name="sb" lineattrs=(color=black);
series x=t y=a/markers markerattrs=(symbol=trianglefilled color=red) name="sa" lineattrs=(color=red);
keyLegend "sa" "sb"/location =inside position=topright;
run;
Series用于画折线图,可以改变横纵坐标的标签,看到图上的红色小三角和黑色小方块没,markerattrs就是做那个用的,如果做一些其他的样子,可以去索引里面找找。 scatter控制的就是画标准误的语句啦,yerrorlower和yerrorupper分别控制的是Y轴的上下限, 线、点、上下限都可以自己调颜色。Keylegend是用来控制图例的位置的,很方便。