【发布时间】:2014-10-08 14:11:21
【问题描述】:
我正在尝试在 SAS Enterprise 指南中创建图表。我正在绘制的数据如下:
col1 col2 col3
1 12:00 20
2 13:00 30
3 14:00 15
. . .
. . .
25 24:00 90
26 01:00 25
27 02:00 45
. . .
. . .
36 11:00 35
我需要水平轴上的 col2 和垂直轴上的 col3。 col1 是 col2(时间值)的参考。 问题是排序col2。如果有一种方法可以强制对 col2 进行排序,我认为它会起作用。 这就是我所拥有的
SYMBOL1
INTERPOL=JOIN
HEIGHT=10pt
VALUE=NONE
LINE=1
WIDTH=2
CV = _STYLE_
;
SYMBOL2
INTERPOL=JOIN
HEIGHT=10pt
VALUE=NONE
LINE=1
WIDTH=2
CV = _STYLE_
;
Legend1
FRAME;
Axis1
STYLE=1
WIDTH=1
MINOR=NONE
ORDER=0 TO 200 BY 10;
Axis2
STYLE=1
WIDTH=1
ORDER=0 TO 36 BY 1
MINOR=
(NUMBER=1
);
TITLE;
TITLE1 "test_graph";
FOOTNOTE;
PROC GPLOT DATA = input_data;
PLOT col2 * col3 /
VAXIS=AXIS1
HAXIS=AXIS2
FRAME LHREF=34
CHREF=BLACK
HREF=0 TO 36 BY 1
LEGEND=LEGEND1;
RUN; QUIT;
除此之外,我尝试添加以下语句来强制排序,但它不起作用。
order=(12:00,13:00,14:00,......23:00,0:00,1:00,2:00,....11:00)
请指教。
谢谢
【问题讨论】:
-
标题不应全部大写。
-
会处理这个问题。谢谢
-
通过添加一天使您的变量成为日期时间,但将其格式化为仅显示时间。这应该得到你想要的顺序。
-
谢谢里斯!我已经尝试过了,它有效。但我一直在 PROC GPLOT 中寻找更好的解决方案来做到这一点。
-
您是否尝试过价值观声明?此外,SGPLOT 现在通常更擅长绘制图表。
标签: sas