SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 878|回复: 5
打印 上一主题 下一主题

【新手求助】求做折线图的方法

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2011-2-21 09:09:58 | 只看该作者

【新手求助】求做折线图的方法

新手不会用sas,看了一点书,但很少有用直接输入数据的,都是直接导入某个数据文件,看的不太明白,特来请教怎么作图。

不同温度、不同光照下真菌的生长速度(表内数据是生长量,单位cm):
----------------------------
处理                1天   2天   3天   4天  5天
----------------------------
温度A、光照A        2        4          12       7        3
温度A、光照B              4        ×         4         3        0
温度B、光照A              6        4         ×     4     2
温度B、光照B              1        1          4          3       3
----------------------------
【表中×表示数据缺失】也就是4种处理方式下的真菌生长量的图,应该是做成4条折线,都是黑色,每一条用不同的符号(三角形、方块、星号等)表示,横轴是天数,纵轴是生长量。

【用excel折线图没能处理那个缺失的数据】

还请不吝赐教!谢谢!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2011-2-21 09:20:45 | 只看该作者

Re: 【新手求助】求做折线图的方法

初来乍到,不知道怎么上传excel表格,上边的数据有点乱,4个处理,每一行都是5个数据
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2011-2-21 14:00:07 | 只看该作者

Re: 【新手求助】求做折线图的方法

用SAS 9.2可以这样做:
[code:3bkwwhqk]
data line;
        input id $ day1 day2 day3 day4 day5;
datalines;
1 2 4 12 7 3
2 4 . 4 3 0
3 6 4 . 4 2
4 1 1 4 4 3
;
run;
proc transpose data=line out=line2 prefix=type name=day;
run;
proc sgplot data=line2;
        series x=day y=type1/markers;
        series x=day y=type2/markers;
        series x=day y=type3/markers;
        series x=day y=type4/markers;
        xaxis label='天数';
        yaxis label='生长量';
        label type1='温度A、光照A';
        label type2='温度A、光照B';
        label type3='温度B、光照A';
        label type4='温度B、光照B';
run;
quit;
[/code:3bkwwhqk]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2011-2-21 17:24:11 | 只看该作者

Re: 【新手求助】求做折线图的方法

第12步出错了。是sas软件版本的问题吗?我的版本是9.00
复制部分log如下:
-------------------------------
NOTE: There were 4 observations read from the data set WORK.LINE.
NOTE: The data set WORK.LINE2 has 5 observations and 5 variables.
NOTE: PROCEDURE TRANSPOSE used (Total process time):
      real time           0.07 seconds
      cpu time            0.01 seconds


12   proc sgplot data=line2;
ERROR: Procedure SGPLOT not found.
13      series x=day y=type1/markers;
14      series x=day y=type2/markers;
15      series x=day y=type3/markers;
16      series x=day y=type4/markers;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2011-2-21 18:54:04 | 只看该作者

Re: 【新手求助】求做折线图的方法

是版本的问题,SGPLOT在SAS 9.2下才能用。那用下面的方法把,不过小弟写的很土很麻烦,等高手再来给简洁的吧
[code:21u2k574]
data line;
   input id $ day1 day2 day3 day4 day5;
datalines;
1 2 4 12 7 3
2 4 . 4 3 0
3 6 4 . 4 2
4 1 1 4 4 3
;
run;
proc transpose data=line out=line2 prefix=type name=day;
label day='天数';
run;
goptions reset=all;
symbol1 i=join v=dot color=_style_;
symbol2 i=join v=square color=_style_;
symbol3 i=join v=triangle color=_style_;
symbol4 i=join v=star color=_style_;
axis1 order=(1 to 15 by 1) label=('生长量' justify=center);
axis2 order=day;
proc gplot data=line2;
        plot type1*day type2*day type3*day type4*day / overlay legend haxis=axis2 vaxis=axis1;
        label type1='温度A、光照A' type2='温度A、光照B' type3='温度B、光照A' type4='温度B、光照B';
run;
quit;
[/code:21u2k574]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
6#
 楼主| 发表于 2011-2-22 10:04:37 | 只看该作者

Re: 【新手求助】求做折线图的方法

非常感谢!!!
没想到9.0版和9.2版还有这么多的不同。请问,这个论坛里大多数都用什么版本?我也弄一个去,好方便向你们请教!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-6-12 19:00 , Processed in 0.265542 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表