SAS中文论坛

标题: 【新手求助】求做折线图的方法 [打印本页]

作者: shiyiming    时间: 2011-2-21 09:09
标题: 【新手求助】求做折线图的方法
新手不会用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折线图没能处理那个缺失的数据】

还请不吝赐教!谢谢!
作者: shiyiming    时间: 2011-2-21 09:20
标题: Re: 【新手求助】求做折线图的方法
初来乍到,不知道怎么上传excel表格,上边的数据有点乱,4个处理,每一行都是5个数据
作者: shiyiming    时间: 2011-2-21 14:00
标题: 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]
作者: shiyiming    时间: 2011-2-21 17:24
标题: 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;
作者: shiyiming    时间: 2011-2-21 18:54
标题: 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]
作者: shiyiming    时间: 2011-2-22 10:04
标题: Re: 【新手求助】求做折线图的方法
非常感谢!!!
没想到9.0版和9.2版还有这么多的不同。请问,这个论坛里大多数都用什么版本?我也弄一个去,好方便向你们请教!




欢迎光临 SAS中文论坛 (http://mysas.net/forum/) Powered by Discuz! X3.2