BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
matt23
Quartz | Level 8

Hi, I'd like to have all 4 of my scatter plots in one window like this:

Screen Shot 2018-06-22 at 11.08.05 AM.png

I have 4 scatter plots for 4 different seasons. Here's an example of a scatter plot for winter:

proc sgplot data=dataname (where=(Month in(12,1,2)));
scatter x=Temperature y=Load;
xaxis label="Temperature (degrees F)";
yaxis label="Load (MW)";
title 'Load vs Temperature';
run;
1 ACCEPTED SOLUTION

Accepted Solutions
ballardw
Super User

The image you show is from SGSCATTER online documentation example 2.

 

Since you want to create a separate graph based on the value of a different variable than is involved in the actual plot then SGPANEL with a custom format for your MONTH variable to get groups probably a good solution. Something like:

proc format library=work;
value season
12,1,2 = 'Winter'
3,4,5 = 'Spring'
6,7,8 = 'Summer'
9,10,11 = 'Fall';
run;
proc sgpanel data=dataname ;
   panelby month /layout=panel rows=2 columns=2 onepanel ;
   format month season.;
   scatter x=Temperature y=Load;
   colaxis label="Temperature (degrees F)";
   rowaxis label="Load (MW)";
   title 'Load vs Temperature';
run;

may get you started.

 

View solution in original post

3 REPLIES 3
ChrisHemedinger
Community Manager

Check PROC SGPANEL, which allows a PANELBY variable so you can segment your plots.  This works if all X/Y axis variables are the same for each plot, and you're just grouping with another variable.

 

Otherwise, you could use PROC TEMPLATE to design a custom layout.  ODS Graphics Designer is a point-and-click interface that can help you design this with a minimum of manual coding.

Register for SAS Innovate 2025!! The premier event for SAS users, May 6-9 in Orlando FL. Sign up now for the best deals!
ballardw
Super User

The image you show is from SGSCATTER online documentation example 2.

 

Since you want to create a separate graph based on the value of a different variable than is involved in the actual plot then SGPANEL with a custom format for your MONTH variable to get groups probably a good solution. Something like:

proc format library=work;
value season
12,1,2 = 'Winter'
3,4,5 = 'Spring'
6,7,8 = 'Summer'
9,10,11 = 'Fall';
run;
proc sgpanel data=dataname ;
   panelby month /layout=panel rows=2 columns=2 onepanel ;
   format month season.;
   scatter x=Temperature y=Load;
   colaxis label="Temperature (degrees F)";
   rowaxis label="Load (MW)";
   title 'Load vs Temperature';
run;

may get you started.

 

matt23
Quartz | Level 8

that is amazing, thank you

SAS Innovate 2025: Register Now

Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 3 replies
  • 2093 views
  • 4 likes
  • 3 in conversation