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,
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.
When you say "shade the region of the plot", are you talking about the bar chart, or the plot background?
Plot background...
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.