I think it is a bug related to the inside legend. If you put the legend outside, it seems to compute the offsets correctly. With inside legend, you could work around by setting the cluster width to 0.7. Or set yaxis offsetmax=0.1 which seems to trigger a relayout of the graph fixing the problem. Offsets are computed by the graph to accommodate the tick values. If you set offsetmin and offsetmax, they override the values computed, so make sure your offset settings are large enough (offsetmin=0.2). Outside legend: Inside Legend: data longcatvalues; label grp='Quartile'; do cat='A_Long_Label', 'B_Long_Label'; do grp='QTR1', 'QTR2', 'QTR3', 'QTR4'; response=20*(1+0.2*ranuni(2)); output; end; end; run; proc sgplot data=longcatvalues; vbar cat / response=response group=grp groupdisplay=cluster; keylegend / location=inside across=4 position=topleft; yaxis offsetmax=0.1; run;
... View more