|
|
地板

楼主 |
发表于 2009-11-16 11:20:32
|
只看该作者
Re: 求助:画柱状图的问题
根据楼上高人的思路,写了下面一程序,但作出的图没有排序,再请教高人。
data a1;
input d_m $ ea cp;
cards;
0a 1.2 35.3
0b 0.2 12.95
0c 3.7 23.5
0d 0.9 15.31
1a 0.5 19
1b 1.3 37.2
1c 0.7 8.92
2a 0.2 3
2c 0.8 13
3a 1.7 31.12
3b 0.47 22.3
3c 0.9 15.3
4a 6.12 19.23
4b 0.53 12.79
;
run;
proc sort data=a1 out=a2;
by descending ea;
run;
data a3(keep=d_m i ea_cp);
set a2;
array as1{2} ea cp;
do i=1 to 2;
ea_cp=as1{i};
output;
end;
run;
data a4(drop=d_m i ea_cp);
length text $ 8.;
retain function 'label' when 'a' xsys ysys '2' hsys '3' size 1.5;
set a3;
midpoint=d_m; subgroup=i;
text=cats(ea_cp);
run;
goptions reset=all DEVICE=emf GSFMODE=REPLACE cback=gray ;
axis1 label=(justify=left 'd_m') value =( h=1.5 font="宋体") style=0;
axis2 label=none value=(tick=3 '') minor=none major=none width=1 ;
pattern1 value=solid color=cyan;
pattern2 value=solid color=magenta;
proc gchart data=a3;
note;
hbar d_m / sumvar=ea_cp discrete nostat subgroup=i space=0.5
maxis=axis1 raxis=axis2 nolegend annotate=a4;
run;
quit;
问题: 我原想画出的图是按照数据集a2中ea的倒序排列(即:图是按照ea由大向下排列)。
可现在画出的图是按照d_m的顺序排列。
请教:应该怎样改?? 谢谢!!!! |
|