04-22-2016 11:02 AM
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);
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.
04-22-2016 11:43 AM - edited 04-22-2016 11:45 AM
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.
04-22-2016 02:50 PM
When you say "shade the region of the plot", are you talking about the bar chart, or the plot background?