BookmarkSubscribeRSS Feed
maheshminnakanti
Calcite | Level 5

Hi I am trying to generate a hbar plot using sgpanel where I need to shade the region of the plot based on the response var values (MPG_Highway in below example). But till now I couldn't find any way to that so can any one suggest a solution for this.

Here is the example:

PROC SGPANEL DATA=sashelp.cars;

where type in("SUV","Sedan","Wagon");

PANELBY type / COLUMNS=3 NOVARNAME ;

HBAR EngineSize / RESPONSE=MPG_Highway GROUP=Cylinders;

COLAXIS values=(1 to 30 by 1) ;

ROWAXIS values=(1 to 30 by 1);

TITLE1 "cars";

run;

quit;

 

I want to shade with color light gray if the MPG_highway is greater than 13 if not gt 13 than shade in light yellow.

 

Thank you,

3 REPLIES 3
Jay54
Meteorite | Level 14

There is no direct way to do this.  However, you can add another plot that will cover the entire data area and color that by the group value.  With SAS 9.4, you can use the POLYGON plot.  Or, you could use a SCATTER, with GROUP and make the marker size big so it covers the data area.  Make sure to set the OFFSETMIN and MAX on both axes to zero.

 

For a general idea, see:  http://blogs.sas.com/content/graphicallyspeaking/2014/02/22/datalattice-with-gradient-backgrounds/.  Here I have used GTL and a BUBBLEPLOT.  I think you could do this with SGPANEL too.

DanH_sas
SAS Super FREQ

When you say "shade the region of the plot", are you talking about the bar chart, or the plot background?

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

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
  • 1383 views
  • 0 likes
  • 3 in conversation