looks like a result from Layout DATAPANEL with secondary axes
Tweaked the standard example (
http://support.sas.com/documenta ... in1v612o4bwco3u.htm) a bit to give you some idea
- proc template;
- define statgraph layoutdatapanel;
- begingraph;
- entrytitle "Annual Furniture Sales Comparisons";
- layout datapanel classvars=(country year) /
- columns=4 rows=3 rowdatarange=union row2datarange=union skipemptycells=true
- headerlabeldisplay=value
- headerbackgroundcolor=GraphAltBlock:color
- rowaxisopts=(display=(tickvalues) griddisplay=on
- linearopts=(tickvalueformat=dollar12.))
- row2axisopts=(display=(tickvalues)
- linearopts=(tickvalueformat=comma12.))
- columnaxisopts=(display=none altdisplay=(tickvalues) /*show tick values for odd numbered columns*/
- timeopts=(tickvalueformat=monname3.));
- column2axisopts=(altdisplay=none display=(tickvalues) /*show tick values for even numbered columns*/
- timeopts=(tickvalueformat=monname3.));
- layout prototype / cycleattrs=true;
- seriesplot x=month y=TotalActual / name="Actual" yaxis=y2 xaxis=x2 /*declare seconary axes*/;
- seriesplot x=month y=TotalPredict / name="Predict";
- endlayout;
- sidebar / align=top;
- discretelegend "Actual" "Predict" / border=false;
- endsidebar;
- endlayout;
- endgraph;
- end;
- run;
- ods graphics/reset;
- proc summary data=sashelp.prdsal2 nway;
- class country year month;
- var actual predict;
- output out=prdsal2 sum=TotalActual TotalPredict;
- run;
- proc sgrender data=prdsal2 template=layoutdatapanel;
- run;
复制代码