I have a dataset I am trying to annotate to a PROC GCHART graphic. The annotation data ranges from 0-100% for a stacked bar graph containing two subgroups. Whenever there is a 0% present the annotated data does not display on the graph. Everything else displays fine.
It works just fine when all values are above 0%. My question is, how do I get annotated values to display even if no value possible on the graph? Here is my annotation code:
data maddr;
set WORK.MONTHLY_ADDRESS_RESULTS;
retain xsys "2" ysys "2" position "E" /*color "white" /*outline "black"*/;
size=1.2;
style="/bold";
*%system(3,2);
when="a";
midpoint=Month;
subgroup=Type;
*y=20;
if Total = 0 then Total=0; else text=left(put(Total,percent8.1));
output;
run;
In a Gchart bar chart, if you're annotating things on the stacked bar segments (ie, subgroups), and if a subgroup has a value of zero (and the subgroup is not drawn on the chart), then how will annotate know where to draw that annotation?
You could perhaps modify the data a little, and if the value is 0, then make it slightly more than zero (like .00001) - then a tiny slivery of a segment would be created for it in the bar, and annotate would have something to annotate on.
But perhaps it would be best to re-think this, and use something other than a stacked bar chart.
In a Gchart bar chart, if you're annotating things on the stacked bar segments (ie, subgroups), and if a subgroup has a value of zero (and the subgroup is not drawn on the chart), then how will annotate know where to draw that annotation?
You could perhaps modify the data a little, and if the value is 0, then make it slightly more than zero (like .00001) - then a tiny slivery of a segment would be created for it in the bar, and annotate would have something to annotate on.
But perhaps it would be best to re-think this, and use something other than a stacked bar chart.
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.
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.
Ready to level-up your skills? Choose your own adventure.