12-20-2017 04:51 PM
Wondering is it possible to get the names just below the respective panel. Thanks.
data dummy; set sashelp.class; do day=1 to 10; n=ranuni(50)+20 ; output; end; run; proc sgpanel data=dummy; panelby sex /layout=columnlattice uniscale=all novarname colheaderpos=bottom ; series x=day y=n/group=name markers name="name" lineattrs=(thickness=1) markerattrs=(size=6) attrid=subjid; colaxis integer label="Day"; rowaxis label="n"; keylegend "name"/ title ="Name"; run;
12-20-2017 05:02 PM
Do you mean a separate legend with different values for female and male? If the Legend is more important than two side-by-side graphs then easiest would be Proc SGPLOT and by sex:
proc sort data= dummy; by sex; run; proc sgplot data=dummy; by sex; series x=day y=n/group=name markers name="name" lineattrs=(thickness=1) markerattrs=(size=6) attrid=subjid; keylegend "name"/ title ="Name"; run;
12-20-2017 05:19 PM
No. With SGPANEL, the legend can only be outside the cell grid. If you want two legends, one in each cell, you would have to construct the 2-cell LATTICE yourself using GTL LAYOUT LATTICE.
Getting Started example: https://blogs.sas.com/content/graphicallyspeaking/2013/02/12/gtl-layouts/
12-20-2017 07:15 PM
Need to learn GTL more in detail. Tried ODS layout earlier, but did not work well. Could you please provide some sample code for ODS layout. What about proc gslide and proc greplay? Thanks in advance.
12-20-2017 09:08 PM
If your graph is going to be as busy as the one you posted I would recommend an alternative. Add labels at the end or beginning of each series. Possibly both and have some displayed on either side to help with readability. Otherwise practically trying to read that won't work.