在SAS中,例如如何绘制多条线(重叠打印)

在SAS中,例如如何绘制多条线(重叠打印),sas,Sas,对于下面给出的数据,我想根据以下条件在SAS EG中绘制不同的图 POS='L'时X&Y的线图(即1月1日POS'L'的线图以及1月31日POS'L'顶部的另一条线) 类似地,X&Y的另一个线图,其中POS='R' 这是数据 MeasNo X Y Date Ano POS 1 10 2 01JAN16 1 L 2 11 4 01JAN16 1 L 3 12 3 01JAN16 1 L 4 13 5 01JAN16 1 L

对于下面给出的数据,我想根据以下条件在SAS EG中绘制不同的图

  • POS='L'时X&Y的线图(即1月1日POS'L'的线图以及1月31日POS'L'顶部的另一条线)

  • 类似地,X&Y的另一个线图,其中POS='R'

  • 这是数据

     MeasNo X   Y   Date    Ano POS
    
     1  10  2   01JAN16 1   L
     2  11  4   01JAN16 1   L
     3  12  3   01JAN16 1   L
     4  13  5   01JAN16 1   L
     5  14  6   01JAN16 1   L
     6  15  3   01JAN16 1   L
     7  16  4   01JAN16 1   L
     8  17  7   01JAN16 1   L
     9  18  8   01JAN16 1   L
     10 19  4   01JAN16 1   L
     11 20  6   01JAN16 1   L
     12 21  3   01JAN16 1   L
     13 22  2   01JAN16 1   L
     14 23  7   01JAN16 1   L
     15 24  9   01JAN16 1   L
     16 25  6   01JAN16 1   L
     17 26  5   01JAN16 1   L     
     18 27  4   01JAN16 1   L
     19 28  3   01JAN16 1   L
     20 29  5   01JAN16 1   L
     21 30  4   01JAN16 1   L
     22 31  7   01JAN16 1   L
     23 32  8   01JAN16 1   L
     24 33  7   01JAN16 1   L
     25 34  9   01JAN16 1   L
     26 35  8   01JAN16 1   L
     27 36  6   01JAN16 1   L
     28 37  7   01JAN16 1   L
     29 38  5   01JAN16 1   L
     30 39  4   01JAN16 1   L
     1  10  4   01JAN16 1   R
     2  11  6   01JAN16 1   R
     3  12  5   01JAN16 1   R
     4  13  7   01JAN16 1   R
     5  14  8   01JAN16 1   R
     6  15  5   01JAN16 1   R
     7  16  6   01JAN16 1   R
     8  17  9   01JAN16 1   R
     9  18  10  01JAN16 1   R
     10 19  6   01JAN16 1   R
     11 20  8   01JAN16 1   R
     12 21  5   01JAN16 1   R
     13 22  4   01JAN16 1   R
     14 23  9   01JAN16 1   R
     15 24  11  01JAN16 1   R
     16 25  8   01JAN16 1   R
     17 26  7   01JAN16 1   R
     18 27  6   01JAN16 1   R
     19 28  5   01JAN16 1   R
     20 29  7   01JAN16 1   R
     21 30  6   01JAN16 1   R
     22 31  9   01JAN16 1   R
     23 32  10  01JAN16 1   R
     24 33  9   01JAN16 1   R
     25 34  11  01JAN16 1   R
     26 35  10  01JAN16 1   R
     27 36  8   01JAN16 1   R
     28 37  9   01JAN16 1   R
     29 38  7   01JAN16 1   R
     30 39  6   01JAN16 1   R
     1  10  1   31JAN16 1   L
     2  11  3   31JAN16 1   L
     3  12  2   31JAN16 1   L
     4  13  4   31JAN16 1   L
     5  14  5   31JAN16 1   L
     6  15  2   31JAN16 1   L
     7  16  3   31JAN16 1   L
     8  17  6   31JAN16 1   L
     9  18  7   31JAN16 1   L
     10 19  3   31JAN16 1   L
     11 20  5   31JAN16 1   L
     12 21  2   31JAN16 1   L
     13 22  1   31JAN16 1   L
     14 23  6   31JAN16 1   L
     15 24  8   31JAN16 1   L
     16 25  5   31JAN16 1   L
     17 26  4   31JAN16 1   L
     18 27  3   31JAN16 1   L
     19 28  2   31JAN16 1   L
     20 29  4   31JAN16 1   L
     21 30  3   31JAN16 1   L
     22 31  6   31JAN16 1   L
     23 32  7   31JAN16 1   L
     24 33  6   31JAN16 1   L
     25 34  8   31JAN16 1   L
     26 35  7   31JAN16 1   L
     27 36  5   31JAN16 1   L
     28 37  6   31JAN16 1   L
     29 38  4   31JAN16 1   L
     30 39  3   31JAN16 1   L
     1  10  4   31JAN16 1   R
     2  11  6   31JAN16 1   R
     3  12  5   31JAN16 1   R
     4  13  7   31JAN16 1   R
     5  14  8   31JAN16 1   R
     6  15  5   31JAN16 1   R
     7  16  6   31JAN16 1   R
     8  17  9   31JAN16 1   R
     9  18  10  31JAN16 1   R
     10 19  6   31JAN16 1   R
     11 20  8   31JAN16 1   R
     12 21  5   31JAN16 1   R
     13 22  4   31JAN16 1   R
     14 23  9   31JAN16 1   R
     15 24  11  31JAN16 1   R
     16 25  8   31JAN16 1   R
     17 26  7   31JAN16 1   R
     18 27  6   31JAN16 1   R
     19 28  5   31JAN16 1   R
     20 29  7   31JAN16 1   R
     21 30  6   31JAN16 1   R
     22 31  9   31JAN16 1   R
     23 32  10  31JAN16 1   R
     24 33  9   31JAN16 1   R
     25 34  11  31JAN16 1   R
     26 35  10  31JAN16 1   R
     27 36  8   31JAN16 1   R
     28 37  9   31JAN16 1   R
     29 38  7   31JAN16 1   R
     30 39  6   31JAN16 1   R
    
    我试过类似的方法,但我没有得到不同的情节

    随附样本结果(从excel获得)


    有什么建议吗?

    您的分组或多或少都有倒退。小组让它排两行。使用BY代替使用x1/x2所做的操作,也可以获得两个绘图

    proc sort data=have;
    by pos date;
    run;
    
    proc sgplot data=have nocycleattrs;
    by pos;
    series x=x y=y/group=date;
    format date date9.;
    run;
    

    这是你想要的吗?(我相信POS=R是正确的,但您在这两个日期的数据看起来是相同的,所以它完全是多余的;POS=L看起来像您所要求的。)

    由于我阅读了您的要求,并尝试了上面Joe的答案,我觉得需要修改一下该答案来回答您的问题:

    proc sort data=have;
    by pos date;
    run;
    
    proc sgplot data=have nocycleattrs;
    by pos;
    series X=X1 Y=Y1 / group=date;
    series X=X2 Y=Y2 / group=date;
    format date date9.;
    run;
    
    或者

    proc sgpanel data=have; 
    panelby pos; 
    series x=x y=y/group=date break; 
    run;
    

    检查两个答案,看看它们是否对您有帮助。

    让我检查一下。是的,这些数据只是我正在处理的近6亿行的模拟数据。也许我遗漏了一些东西,但你不应该得到4行吗?每个信用证和每个日期都有一个?没有理由进行X1/X2分割,因为处理过程完全正确。如果你有理由认为它不存在,请解决这个问题。@Joe我想。。。这会有用的<代码>proc sgpanel data=have;panelby pos;系列x=x y=y/组=日期中断;运行
    proc sgpanel data=have; 
    panelby pos; 
    series x=x y=y/group=date break; 
    run;