全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2230 11
2014-12-18
我想根据数值大小改变条形图条的颜色,下面是我想编的程序,不太对,还请大家帮忙看看,这个怎么实现?

%macro colors(i=,x=);

%if &x>0 %then color=(red blue );
%else color=(blue red );


goptions hsize=5.4in  vsize=1.5in colors=&color ;

axis1 label=none  order=(-100 to 100 by 25);
axis2 label=none value=("");

proc gchart data=rank(where=(group='&i'));
hbar  group /type=sum sumvar=&x
         raxis=axis1 maxis=axis2
         width=5.4
         nostats
                 coutline=red         
         ;
run;
%mend colors;
/*排名图的绘制,条的颜色设置??*/
data rank;
input math chinese  group$;
cards;
75 50   8
25 25   9
50 -25  13
-25 100 10
;
run;
%colors(i=8,x=math)

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-12-18 17:59:21
这样显示的是  NOTE: 没有从数据集 WORK.RANK 中选择观测。不知道为什么?

%macro colors(i=,x=);

%if &x>0 %then %let color=(red blue );
%else %let  color=(blue red );


goptions hsize=5.4in  vsize=1.5in colors=&color ;

axis1 label=none  order=(-100 to 100 by 25);
axis2 label=none value=("");

proc gchart data=rank(where=(group='&i'));
hbar  group /type=sum sumvar=&x
         raxis=axis1 maxis=axis2
         width=5.4
         nostats
                 coutline=red         
         ;
run;
%mend colors;
/*排名图的绘制,条的颜色设置??*/
data rank;
input math chinese  group$;
cards;
75 50   8
25 25   9
50 -25  13
-25 100 10
;
run;
%colors(i=8,x=math)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-12-18 18:52:05
给起来  
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-12-23 15:25:21
自己顶起来
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-1-16 22:22:59
绘图颜色不能用宏来改变么?有人知道么
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-1-16 23:40:05
sasjunior 发表于 2014-12-18 17:57
我想根据数值大小改变条形图条的颜色,下面是我想编的程序,不太对,还请大家帮忙看看,这个怎么实现?

...
看你的macro,你想要一开始比较math > 0 ?而且如果是数值变量的话,也要用%eval吧
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群