SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 1404|回复: 7
打印 上一主题 下一主题

求助:画柱状图的问题 另一问题:柱状图排序

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2009-11-12 21:54:19 | 只看该作者

求助:画柱状图的问题 另一问题:柱状图排序

求助:画柱状图的问题

    下列一作图程序:

data plot;
input n i f;
cards;
1 1 1
1 2 5
1 3 10
1 4 3
1 5 9
1 6 3
2 1 5
2 2 8
2 3 16
2 4 4
2 5 12
2 6 6
;
run;
proc gchart data=plot;
vbar i /discrete
sumvar=f
subgroup=n
space=0
gspace=5 ;
run;
quit;

求助:
当变量 i  相等时,f 对应的两个值,在图上叠加了。
(即当 i  是 1  时, f 的两个对应值 1、5   在图上叠加后柱高是6。)

有没有办法,让图叠加但 f 值不相加, f 值反映的是真实值(也就是总柱高是5,里面有另一柱高1)
再在图上分别标出各自的值。

谢谢!!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2009-11-13 00:30:09 | 只看该作者

Re: 求助:画柱状图的问题

死猪头
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2009-11-13 15:37:56 | 只看该作者

Re: 求助:画柱状图的问题

谢谢!!!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 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的顺序排列。

请教:应该怎样改??        谢谢!!!!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2009-11-16 14:12:40 | 只看该作者

Re: 求助:画柱状图的问题 另一问题:柱状图排序

把您喜爱的顺序加到适当的AXIS即可。
[code:3ufpu6an]
proc sql noprint;
        select cats("'",d_m,"'") into :zhutou separated by " " from a2;
quit;
axis1 label=(justify=left 'd_m') value =( h=1.5 font="ËÎÌå") style=0 order=(&zhutou);
[/code:3ufpu6an]
另外,“柱状图”这样的字眼让我反胃!咋说呢,就跟看到“大公鸡”商标一样!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
6#
 楼主| 发表于 2009-11-16 23:54:32 | 只看该作者

Re: 求助:画柱状图的问题 另一问题:柱状图排序

谢谢,指教!!

另再请教一个问题?

  如何将图中标定柱高的数字旋转90度。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
7#
 楼主| 发表于 2009-11-17 09:39:43 | 只看该作者

Re: 求助:画柱状图的问题 另一问题:柱状图排序

在a4里加angle变量。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
8#
 楼主| 发表于 2009-11-17 18:30:28 | 只看该作者

Re: 求助:画柱状图的问题 另一问题:柱状图排序

OK, 谢谢!!!!1
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-6 04:39 , Processed in 0.070155 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表