请选择 进入手机版 | 继续访问电脑版
楼主: 小鳄鱼a
3311 4

画出不同形状折线图 [推广有奖]

  • 6关注
  • 10粉丝

学科带头人

3%

还不是VIP/贵宾

-

威望
0
论坛币
125 个
通用积分
0.0040
学术水平
40 点
热心指数
45 点
信用等级
43 点
经验
32801 点
帖子
1185
精华
0
在线时间
1539 小时
注册时间
2009-7-16
最后登录
2018-10-5

小鳄鱼a 发表于 2016-7-24 22:17:34 |显示全部楼层 |坛友微信交流群
100论坛币
data  demo;
   do time=1 to 10;
      ra=ranuni(1234);
          rb=ranuni(2345);
         rc=ranuni(3456);
          rd=ranuni(4578);
        output;
  end;
run;

proc sgplot data=demo;
   series x=time y=ra;
   series x=time y=rb;
   series x=time y=rc;
   series x=time y=rd;
run;

/* or*/
data want;
   set demo;
  array  arrayr[*] ra--rd;
do i=1 to dim(arrayr);
     r=arrayr[i];
        group=i;
        output;
end;
run;


proc sgplot data=want;
  series x=time y=r/group=group;
run;

这个代码是借鉴论坛一个高手的,但我采用的数据是类似want的     因为sas颜色区分度不高   所以想变成比如用三角形   方形之类的点连线   



关键词:折线图 Series ranuni output sgplot
高贵林 发表于 2016-7-24 22:17:35 |显示全部楼层 |坛友微信交流群
  1. data  demo;
  2.    do time=1 to 10;
  3.       ra=ranuni(1234);
  4.           rb=ranuni(2345);
  5.          rc=ranuni(3456);
  6.           rd=ranuni(4578);
  7.         output;
  8.   end;
  9. run;

  10. /* or*/
  11. data want;
  12.    set demo;
  13.   array  arrayr[*] ra--rd;
  14. do i=1 to dim(arrayr);
  15.      r=arrayr[i];
  16.         group=i;
  17.         output;
  18. end;
  19. run;


  20. proc sgplot data=want;
  21. styleattrs datasymbols=(diamond square circle triangle)
  22.            datacontrastcolors=(red blue green orange);
  23.   series x=time y=r /group=group markers lineattrs=(pattern=solid);
  24. run;
复制代码

使用道具

小鳄鱼a 发表于 2016-7-25 09:16:02 |显示全部楼层 |坛友微信交流群
或者给出区分度比较高的办法也行

使用道具

小鳄鱼a 发表于 2016-7-25 10:46:14 |显示全部楼层 |坛友微信交流群
高贵林 发表于 2016-7-24 22:17
谢谢   但是其实连接点的形状都是方形   

使用道具

高贵林 发表于 2016-7-25 12:00:28 |显示全部楼层 |坛友微信交流群
小鳄鱼a 发表于 2016-7-25 10:46
谢谢   但是其实连接点的形状都是方形
给最后一段程序加两行,让颜色和符号一起换,应该就可以了。
  1. ods graphics / attrpriority=none;    /*加一行*/  
  2. proc sgplot data=want ;
  3. styleattrs datasymbols=(diamond square circle triangle)
  4.            datacontrastcolors=(red blue green orange);
  5.   series x=time y=r/group=group markers lineattrs=(pattern=solid );
  6. run;
  7. ods graphics off;   /*再加一行*/  
复制代码

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-3-29 01:35