全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
6084 1
2014-09-18
我用proc gchart画条形图,如下:
proc gchart data=FRQ;
       vbar INT/type=sum sumvar=FRQ discrete levels=all;                        
       run;

因为我用了discrete,要把每一int对应的FRQ都显示出来,但问题是,这样使横轴标记的密密麻麻(INT=1,2,3,。。。1000),根本看不清,如下图。请问如何控制刻度的标示,只需要每隔100标记一下(INT=100,200,300,。。。1000),原图其它不变。非常感谢!

distribution.png
二维码

扫码加我 拉你入群

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

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

全部回复
2014-9-22 13:29:27
自己研究了大半天,终于找到了解决的方法。就是用Annotate Date Set http://support.sas.com/documentation/cdl/en/graphref/63022/HTML/default/viewer.htm#annodata-aboutds.htm#annodata-vartable

例如:
%let ds=frq;%let xvar=INT; %let yvar=FRQ;%let round=50;

Data anno;set &ds;
      length function color $8;
      length text $4;
      length position $1;
      retain color 'black' xsys '2' ysys '2' hsys '3';

          if mod(&xvar,&round)=0 then do;
         text=compress(put(&xvar,10.));
                 group=1;
          end;

      function='label';
      x=&xvar; y=0;
      size=1; position='E';
          if &xvar>0;

          run;

Title1 H=1 "The Distribution";goption reset=all;
axis1 value=none;
proc gchart data=anno;
      vbar &xvar/type=sum sumvar=&yvar
           anno=anno discrete levels=all maxis=axis1 subgroup=group nolegend
           ;
       run;quit;        
    就生成如下图了: f1.png
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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