如何使用sas进行子图

时间:2015-10-08 12:46:34

标签: sas

我想制作一个简单的时间序列线图而不突出显示线上的任何点。我可以使用以下代码绘制var1和var2。

   title "Title";
   proc gplot data=test;

      plot var1 *var2 /overlay grid  hminor=0 ;
   run;
   quit;

但是我想在绘图中添加另一个变量。我尝试了以下代码。由于var1var3的比例非常大,因此var3在图表中未正确缩放。任何人都可以教我如何使用var1和var3的不同比例。

   title "Title";
   proc gplot data=Test;

      plot var1 *var2   Var3*var2 /overlay grid  hminor=0 ;
   run;
   quit;

另外,请问sas是否可以做matlab的子图。基本上,我有一个带有两个独立子图的大图。如果可能的话,请教我如何实现这一目标。我尝试了vpercent = 50,但似乎我的代码中出现了问题。

   proc gplot data=Test  vpercent=50;

      plot VAR1 *VAR2   VAR3*VAR2 /overlay grid  hminor=0 ;

   run;
   quit;

谢谢

1 个答案:

答案 0 :(得分:1)

以下是一些基于Reeza使用SGPANEL的优秀示例和建议的SAS代码。请参阅PANELBY语句及其中使用的选项。

*** SUBSET DATA AND SORT ***;
proc sort data=sashelp.stocks  out=ibm;
    where stock='IBM';
    by date;
run;

*** TRANSPOSE DATA FROM "SHORT-AND-WIDE" TO "LONG-AND-THIN" ***;
proc transpose data=ibm  out=ibm_t;
    by date;
    var open volume;
run;


proc sgpanel data=ibm_t;

    *** ROW LATTICE OPTION STACKS PLOTS ***;
    *** UNISCALE OPTION LETS EACH PANEL HAVE IT'S OWN SCALE ***;
    *** NOVARNAME SUPPRESSES LABEL FOR THE Y-AXIS ON THE RIGHT SIDE ***;
    panelby _name_ / layout=rowlattice uniscale=column novarname;

    series x=date y=col1;

    *** SUPPRESS LABEL FOR THE Y-AXIS ON THE LEFT SIDE ***;
    rowaxis display=(nolabel);
run;