如何使用sas进行子绘图

如何使用sas进行子绘图,sas,Sas,我想做一个简单的时间序列线图,不突出线上的任何点。我可以使用以下代码绘制var1和var2 title "Title"; proc gplot data=test; plot var1 *var2 /overlay grid hminor=0 ; run; quit; 但是,我想在绘图中添加另一个变量。我尝试了以下代码。因为var1和var3的比例非常大,所以var3在图中的比例不正确。有谁能教我如何使用不同的比例为var1和var3请 title

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

   title "Title";
   proc gplot data=test;

      plot var1 *var2 /overlay grid  hminor=0 ;
   run;
   quit;
但是,我想在绘图中添加另一个变量。我尝试了以下代码。因为
var1
var3
的比例非常大,所以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;

谢谢,假设我理解你的意思,如果你有权访问SGPLOT,你可以指定X3应该位于不同的轴上。这里有一个SASHELP.STOCKS数据的例子,它在一个Y轴上绘制开盘价,然后在第二个Y轴上绘制交易量

proc sgplot data=sashelp.stocks;
where stock='IBM';
series x=date y=open;
series x=date y=volume/y2axis;
run;quit;

假设我理解你的意思,如果你有权访问SGPLOT,你可以指定X3应该在不同的轴上。这里有一个SASHELP.STOCKS数据的例子,它在一个Y轴上绘制开盘价,然后在第二个Y轴上绘制交易量

proc sgplot data=sashelp.stocks;
where stock='IBM';
series x=date y=open;
series x=date y=volume/y2axis;
run;quit;

假设我理解你的意思,如果你有权访问SGPLOT,你可以指定X3应该在不同的轴上。这里有一个SASHELP.STOCKS数据的例子,它在一个Y轴上绘制开盘价,然后在第二个Y轴上绘制交易量

proc sgplot data=sashelp.stocks;
where stock='IBM';
series x=date y=open;
series x=date y=volume/y2axis;
run;quit;

假设我理解你的意思,如果你有权访问SGPLOT,你可以指定X3应该在不同的轴上。这里有一个SASHELP.STOCKS数据的例子,它在一个Y轴上绘制开盘价,然后在第二个Y轴上绘制交易量

proc sgplot data=sashelp.stocks;
where stock='IBM';
series x=date y=open;
series x=date y=volume/y2axis;
run;quit;

下面是一些基于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;

下面是一些基于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;

下面是一些基于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;

下面是一些基于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;

谢谢,这很有效。请问SAS是否可以生成包含两个子图的图形。我不想在同一个图形上绘制两个变量,而是想在顶部绘制一个图,在底部绘制另一个图。您需要发布一个示例,但您可以查看SGSCATTER或SGPANEL。谢谢!我想要实现的是用VPERCENT=50生成的
图。我试图在代码的最后一部分实现这一点,但它不起作用。你能看看如何修改我的代码并实现它吗。请问SAS是否可以生成包含两个子图的图形。我不想在同一个图形上绘制两个变量,而是想在顶部绘制一个图,在底部绘制另一个图。您需要发布一个示例,但您可以查看SGSCATTER或SGPANEL。谢谢!我想要实现的是用VPERCENT=50生成的
图。我试图在代码的最后一部分实现这一点,但它不起作用。你能看看如何修改我的代码并实现它吗。请问SAS是否可以生成包含两个子图的图形。我不想在同一个图形上绘制两个变量,而是想在顶部绘制一个图,在底部绘制另一个图。您需要发布一个示例,但您可以查看SGSCATTER或SGPANEL。谢谢!我想要实现的是用VPERCENT=50生成的
图。我试图在代码的最后一部分实现这一点,但它不起作用。你能看看如何修改我的代码并实现它吗。请问SAS是否可以生成包含两个子图的图形。我不想在同一个图形上绘制两个变量,而是想在顶部绘制一个图,在底部绘制另一个图。您需要发布一个示例,但您可以查看SGSCATTER或SGPANEL。谢谢!我想要实现的是用VPERCENT=50生成的
图。我试图在代码的最后一部分实现这一点,但它不起作用。你能看一看,看看如何改变我的代码,并实现这一点,请