%let name=bar8; filename odsout '.'; data a; input ITEM $ 1-6 amount; format amount percent6.0; amount=amount/100; illusion='right'; output; illusion='left'; amount=amount-1.00; output; cards; ITEM A 100 ITEM B 68 ITEM C 83 ITEM D 53 ITEM E 92 ITEM F 70 ; run; data a; set a; length htmlvar $500; htmlvar='title='||quote( 'Item: '|| trim(left(item)) ||'0D'x|| 'Side: '|| trim(left(illusion)) ||'0D'x|| 'Amount: '|| trim(left(put(amount,percent6.0))) ) ||' '|| 'href="col1.htm"'; run; GOPTIONS DEVICE=gif; ODS LISTING CLOSE; ODS HTML path=odsout body="&name..htm" (title="Sliding-Bar Chart") style=minimal; goptions noborder; goptions gunit=pct htitle=6 ftitle="albany amt/bold" htext=4.25 ftext="albany amt/bold"; axis1 label=none; axis2 label=none order=(-.50 to 1.00 by .25) minor=(number=1) offset=(0,0) value=(h=3pct); legend1 label=none position=(bottom right inside) cframe=white mode=protect shape=bar(3,3) cborder=black across=1; /* There's a bar segment to the left, and one to the right of the 0%-line. Make them both the same color, so they look like 1 continuous "sliding" bar. */ pattern1 v=solid color=cx43a2ca; pattern2 v=solid color=cx43a2ca; title "Sliding-Bar Chart"; proc gchart data=a; hbar item / discrete type=sum sumvar=amount subgroup=illusion /* this controls the coloring */ nostats maxis=axis1 /* midpoint axis */ raxis=axis2 /* response/numeric axis */ autoref /* reflines at every major axis tickmark */ clipref /* put reflines 'behind' the bars */ cref=graycc nolegend coutline=blue html=htmlvar des="" name="&name" ; run; quit; ODS HTML CLOSE; ODS LISTING;