全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4462 3
2012-03-15
大家好!
           小弟碰到了一个用SAS画图的问题:
           有3个变量a   b  c, 其中,a=b+c; 还有一个时间变量t, 数据集结构如下:
                t          a     b     c
             1999      3     2    1
             2000      5     1    4
             2001      8     4    4
             .....

          请问如何画一幅时序框图,横轴是时间,纵轴是比例,a的占比在下面,b的占比在上面,总比例为1。用两块面积来表达出相对重要性。
          谢谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2012-3-15 19:42:00
/* Create sample data */   
data a;
   input t      b     c;
   cards;
1999      2    1
2000      1    4
2001      4    4
;
run;
proc transpose data=a out=b(rename=(_name_=class col1=count));
   by t;
run;
                                                                       
                                                                                                                           
/* Define a title for the graph */                                                                                                      
title1 'Proportion Chart';                                                                                       
                                                                                                                                       
/* Suppress the group axis label and values */                                                                                          
axis1 label=none value=none;                                                                                                            
                                                                                                                                       
/* Angle the label for the response axis */                                                                                             
axis2 label=(angle=90 'Proportion');                                                                                                      
                                                                                                                                       
/* Define legend characteristics */                                                                                                     
legend1 label=('CLASS') frame;                                                                                                      
                                                                                                                                       
proc gchart data=b;                                                                                                                  
   vbar t      / discrete
                 subgroup=class                                                                                             
                 freq=count                                                                                                
                 width=20                                                                                                
                 gaxis=axis1 raxis=axis2                                                                                                
                 legend=legend1;                                                                                                        
run;                                                                                                                                    
quit;   
二维码

扫码加我 拉你入群

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

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

2012-3-16 20:55:18
yugao1986 发表于 2012-3-15 19:42
/* Create sample data */   
data a;
   input t      b     c;
谢谢老师,这个是按年度的直方图,能不能画成时间序列的那种图形呢?
二维码

扫码加我 拉你入群

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

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

2012-3-16 22:30:42
liu022 发表于 2012-3-16 20:55
谢谢老师,这个是按年度的直方图,能不能画成时间序列的那种图形呢?
我只是照葫芦画瓢,你可以找找类似的图形,再根据自己需求修改。我是这么才画出这个的。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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