全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2151 2
2011-04-27
我有这样一个数据集,就两个变量,名字(name)和编号(num)。我先用proc freq统计了名字出现的次数,形成一个新的数据集,3个变量,名字(name),频数(count),百分比(percent)。
这时我想画一个条形图(bar chart)显示每个名字的百分比,我的程序是:

proc sgplot data =a;
vbar = name /response = percent;
run;

图是画出来了,可是自动按名字排序了,而我之前的数据集里,其实是按频数排序的,所以出现次数多的人在前面的。
我画图的时候,也想这样,让百分比最高(也就是次数最多)的人在x轴的左边,越往右就越小。y轴是百分比。
我不知道该用什么参数才能做到这一点。请教各位高手。
二维码

扫码加我 拉你入群

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

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

全部回复
2011-4-27 19:55:01
想必贝哥help都翻遍了吧, gsplot里面option还不够用,估计以后会慢慢增加。

先用gchart吧,简单也好用。

data ex;
input num name $;
cards;
1  bayes
2  bayes
3  sxlion
4  sxlion
5  hello
6  sas
7  sas
8  bayes
9  sas
10 bayes
;
run;
proc freq data=ex;
  table name /out=a ;
run;
/*gsplot 目前不支持排序功能,默认顺序是按字母排序的 ,只能用gchart */
/*   by sxlion              http//:saslist.com/sxlion      */

proc gchart data=a;
vbar name/  descending type=sum sumvar=percent;
run;
quit;
二维码

扫码加我 拉你入群

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

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

2011-4-28 00:17:21
呵呵,不敢当,纯属从爱好者的角度起这个名字,水平很菜,羞愧啊~

gsplot的help我看了,想着是新玩意,应该更全面一些,没想到还不完备。
非常感谢,我再自己读下gchart的help,学习下。
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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