<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Annotating a stacked bar chart in Graphics Programming</title>
    <link>https://communities.sas.com/t5/Graphics-Programming/Annotating-a-stacked-bar-chart/m-p/182288#M6698</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am wanting to display the values of each segment within a stacked bar chart that is also grouped.&amp;nbsp; I am having trouble understanding what is needed for the annotate dataset.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Below is my code to create a sample table, a annoate table and then create my graph.&amp;nbsp; The graph creates as I want it to without the sganno option.&amp;nbsp; I just need to be able to put the values i.e. numerator, in each of the segments on the stacked bar chart. Any help would be greatly appreciated or if I can do a stacked bar chart that is grouped with the labels any other way??&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks&lt;/P&gt;&lt;P&gt;Tammy&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data work.tam;&lt;BR /&gt;infile datalines dlm=',';&lt;BR /&gt;input Risk $ Numerator Service RptDate $;&lt;BR /&gt;datalines;&lt;BR /&gt;A,5,1,Begin&lt;BR /&gt;A,8,1,End&lt;BR /&gt;B,3,1,Begin&lt;BR /&gt;B,9,1,End&lt;BR /&gt;C,1,1,Begin&lt;BR /&gt;C,4,1,End&lt;BR /&gt;A,2,2,Begin&lt;BR /&gt;A,6,2,End&lt;BR /&gt;B,4,2,Begin&lt;BR /&gt;B,1,2,End&lt;BR /&gt;C,6,2,Begin&lt;BR /&gt;C,3,2,End&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;data work.anno;&lt;BR /&gt; set work.tam;&lt;BR /&gt; retain function "text" xspace "datavalue";&lt;BR /&gt; label=put(numerator,comma10.);&lt;BR /&gt; yc1=strip(put(numerator,comma10.));&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;proc sgpanel data=work.tam sganno=work.anno;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; panelby service / layout=columnlattice onepanel noborder colheaderpos=bottom novarname;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; vbar RptDate / response=Numerator group=Risk dataskin=pressed;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; keylegend /position=right;&lt;BR /&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 03 Jun 2014 06:04:55 GMT</pubDate>
    <dc:creator>tammy_dezilva</dc:creator>
    <dc:date>2014-06-03T06:04:55Z</dc:date>
    <item>
      <title>Annotating a stacked bar chart</title>
      <link>https://communities.sas.com/t5/Graphics-Programming/Annotating-a-stacked-bar-chart/m-p/182288#M6698</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am wanting to display the values of each segment within a stacked bar chart that is also grouped.&amp;nbsp; I am having trouble understanding what is needed for the annotate dataset.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Below is my code to create a sample table, a annoate table and then create my graph.&amp;nbsp; The graph creates as I want it to without the sganno option.&amp;nbsp; I just need to be able to put the values i.e. numerator, in each of the segments on the stacked bar chart. Any help would be greatly appreciated or if I can do a stacked bar chart that is grouped with the labels any other way??&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks&lt;/P&gt;&lt;P&gt;Tammy&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data work.tam;&lt;BR /&gt;infile datalines dlm=',';&lt;BR /&gt;input Risk $ Numerator Service RptDate $;&lt;BR /&gt;datalines;&lt;BR /&gt;A,5,1,Begin&lt;BR /&gt;A,8,1,End&lt;BR /&gt;B,3,1,Begin&lt;BR /&gt;B,9,1,End&lt;BR /&gt;C,1,1,Begin&lt;BR /&gt;C,4,1,End&lt;BR /&gt;A,2,2,Begin&lt;BR /&gt;A,6,2,End&lt;BR /&gt;B,4,2,Begin&lt;BR /&gt;B,1,2,End&lt;BR /&gt;C,6,2,Begin&lt;BR /&gt;C,3,2,End&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;data work.anno;&lt;BR /&gt; set work.tam;&lt;BR /&gt; retain function "text" xspace "datavalue";&lt;BR /&gt; label=put(numerator,comma10.);&lt;BR /&gt; yc1=strip(put(numerator,comma10.));&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;proc sgpanel data=work.tam sganno=work.anno;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; panelby service / layout=columnlattice onepanel noborder colheaderpos=bottom novarname;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; vbar RptDate / response=Numerator group=Risk dataskin=pressed;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; keylegend /position=right;&lt;BR /&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 03 Jun 2014 06:04:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Graphics-Programming/Annotating-a-stacked-bar-chart/m-p/182288#M6698</guid>
      <dc:creator>tammy_dezilva</dc:creator>
      <dc:date>2014-06-03T06:04:55Z</dc:date>
    </item>
    <item>
      <title>Re: Annotating a stacked bar chart</title>
      <link>https://communities.sas.com/t5/Graphics-Programming/Annotating-a-stacked-bar-chart/m-p/182289#M6699</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi tammy&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Since the annotate together with SGPANEL does not support a drawspace that supports "data",&lt;/P&gt;&lt;P&gt;this is from the doc:&lt;/P&gt;&lt;TABLE class="xis-summary"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class="xis-restriction"&gt;Restriction&lt;/TD&gt;&lt;TD class="xis-summaryText"&gt;For the SGPANEL and SGSCATTER procedures, only GRAPHPERCENT, GRAPHPIXEL, LAYOUTPERCENT, and LAYOUTPIXEL values are valid.&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;You have to go another way, in a recent &lt;A href="http://blogs.sas.com/content/graphicallyspeaking/2014/04/06/g100-with-sgplot/"&gt;blog entry&lt;/A&gt; by &lt;A __default_attr="239177" __jive_macro_name="user" class="jive_macro jive_macro_user" href="https://communities.sas.com/"&gt;&lt;/A&gt; outlined a technique with HIGHLOW and SCATTER plot to do something similar to what you want.Building on that, here is a code sample for the graph you want to do, it does some data preparation so that the HIGHLOW and SCATTER plots can be used. I guess there are other solutions as well&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;DIV style="font-family: Consolas; font-size: 11pt;"&gt;&lt;SPAN style="color: #000080; background-color: #ffffff;"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; work.tam;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;infile&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;datalines&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;dlm&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #800080; background-color: #ffffff;"&gt;','&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;input&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; Risk $ Numerator Service RptDate $;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp; key = catx(&lt;/SPAN&gt;&lt;SPAN style="color: #800080; background-color: #ffffff;"&gt;"_"&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;, service, RptDate, risk );&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;datalines&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffc0;"&gt;A,5,1,Begin&lt;BR /&gt;A,8,1,End&lt;BR /&gt;B,3,1,Begin&lt;BR /&gt;B,9,1,End&lt;BR /&gt;C,1,1,Begin&lt;BR /&gt;C,4,1,End&lt;BR /&gt;A,2,2,Begin&lt;BR /&gt;A,6,2,End&lt;BR /&gt;B,4,2,Begin&lt;BR /&gt;B,1,2,End&lt;BR /&gt;C,6,2,Begin&lt;BR /&gt;C,3,2,End&lt;BR /&gt;&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000080; background-color: #ffffff;"&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #000080; background-color: #ffffff;"&gt;&lt;STRONG&gt;sort&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;data&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;=work.tam;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;by&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; key;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000080; background-color: #ffffff;"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000080; background-color: #ffffff;"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; tam2;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;set&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; tam;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;by&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; service&amp;nbsp; rptdate&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;NOTSORTED&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;length&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; numLow numHigh &lt;/SPAN&gt;&lt;SPAN style="color: #008080; background-color: #ffffff;"&gt;&lt;STRONG&gt;8&lt;/STRONG&gt;&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;retain&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp; numHigh;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;if&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; first.service = &lt;/SPAN&gt;&lt;SPAN style="color: #008080; background-color: #ffffff;"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;or&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; first.rptdate = &lt;/SPAN&gt;&lt;SPAN style="color: #008080; background-color: #ffffff;"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;then&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;do&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; numlow = &lt;/SPAN&gt;&lt;SPAN style="color: #008080; background-color: #ffffff;"&gt;&lt;STRONG&gt;0&lt;/STRONG&gt;&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; numHigh = numerator;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;end&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;; &lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;else&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;do&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; numlow = numHigh;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; numHigh = numLow + numerator;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;end&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp; labelpos = numLow + (range(numLow, numHigh) / &lt;/SPAN&gt;&lt;SPAN style="color: #008080; background-color: #ffffff;"&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;);&lt;BR /&gt;&amp;nbsp; labelValue = range(numLow, numHigh);&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000080; background-color: #ffffff;"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000080; background-color: #ffffff;"&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #000080; background-color: #ffffff;"&gt;&lt;STRONG&gt;sgpanel&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;data&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;=work.tam2;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;panelby&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; service /&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;layout&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;=columnlattice &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;onepanel&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;noborder&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;colheaderpos&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;=bottom &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;novarname&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp; ;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;highlow&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;x&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;=RptDate &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;low&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;=numlow &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;high&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;=numhigh /&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;group&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;=Risk &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;type&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;=bar &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;name&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #800080; background-color: #ffffff;"&gt;"hl"&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp; ;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;scatter&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;x&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;=rptDate &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;y&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;=labelpos /&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;datalabel&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;=labelValue&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;datalabelpos&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;=center&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;markerattrs&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;=(&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;size&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #008080; background-color: #ffffff;"&gt;&lt;STRONG&gt;0&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; labelStrip&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;name&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #800080; background-color: #ffffff;"&gt;"sc"&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp; ;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;keylegend&lt;/SPAN&gt; &lt;SPAN style="color: #800080; background-color: #ffffff;"&gt;"hl"&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; / &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;position&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;=right;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000080; background-color: #ffffff;"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Jun 2014 09:40:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Graphics-Programming/Annotating-a-stacked-bar-chart/m-p/182289#M6699</guid>
      <dc:creator>BrunoMueller</dc:creator>
      <dc:date>2014-06-05T09:40:58Z</dc:date>
    </item>
    <item>
      <title>Re: Annotating a stacked bar chart</title>
      <link>https://communities.sas.com/t5/Graphics-Programming/Annotating-a-stacked-bar-chart/m-p/182290#M6700</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;If you can't do this conveniently in ODS Graphics, here's an alternative using SAS/Graph Gchart:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data work.tam;&lt;BR /&gt;infile datalines dlm=',';&lt;BR /&gt;input Risk $ Numerator Service RptDate $;&lt;BR /&gt;datalines;&lt;BR /&gt;A,5,1,Begin&lt;BR /&gt;A,8,1,End&lt;BR /&gt;B,3,1,Begin&lt;BR /&gt;B,9,1,End&lt;BR /&gt;C,1,1,Begin&lt;BR /&gt;C,4,1,End&lt;BR /&gt;A,2,2,Begin&lt;BR /&gt;A,6,2,End&lt;BR /&gt;B,4,2,Begin&lt;BR /&gt;B,1,2,End&lt;BR /&gt;C,6,2,Begin&lt;BR /&gt;C,3,2,End&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sort data=work.tam out=work.anno;&lt;BR /&gt;by service RptDate Risk;&lt;BR /&gt;run;&lt;BR /&gt;data work.anno; set work.anno;&lt;BR /&gt;by service RptDate;&lt;BR /&gt;if first.service or first.RptDate then y=0;&lt;BR /&gt;y+Numerator;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data work.anno; set work.anno;&lt;BR /&gt;function='label'; position='e'; size=2.5; color='blue'; style='albany amt/bold';&lt;BR /&gt;xsys='2'; ysys='2'; hsys='3'; when='a';&lt;BR /&gt;group=service; midpoint=RptDate;&lt;BR /&gt;text=trim(left(put(numerator,comma10.)));&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;legend1 label=none across=1 position=(right middle)&lt;BR /&gt; order=descending shape=bar(.15in,.15in) offset=(-15pct,0pct);&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;axis1 label=none;&lt;BR /&gt;axis2 label=none;&lt;BR /&gt;axis3 label=none order=(0 to 25 by 5) minor=none;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;ods html style=sasweb;&lt;BR /&gt;proc gchart data=work.tam anno=work.anno;&lt;BR /&gt;vbar RptDate / type=sum sumvar=Numerator&lt;BR /&gt; subgroup=Risk group=service width=12&lt;BR /&gt; maxis=axis1 gaxis=axis2 raxis=axis3&lt;BR /&gt; noframe autoref clipref cref=graydd&lt;BR /&gt; legend=legend1;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG alt="bar_anno.png" class="jive-image-thumbnail jive-image" height="499" src="https://communities.sas.com/legacyfs/online/6528_bar_anno.png" width="739" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Jun 2014 12:45:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Graphics-Programming/Annotating-a-stacked-bar-chart/m-p/182290#M6700</guid>
      <dc:creator>GraphGuy</dc:creator>
      <dc:date>2014-06-05T12:45:04Z</dc:date>
    </item>
    <item>
      <title>Re: Annotating a stacked bar chart</title>
      <link>https://communities.sas.com/t5/Graphics-Programming/Annotating-a-stacked-bar-chart/m-p/182291#M6701</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Brilliant - thanks so much Bruno and Robert!&amp;nbsp; They both worked a treat.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Jun 2014 22:31:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Graphics-Programming/Annotating-a-stacked-bar-chart/m-p/182291#M6701</guid>
      <dc:creator>tammy_dezilva</dc:creator>
      <dc:date>2014-06-05T22:31:57Z</dc:date>
    </item>
    <item>
      <title>Re: Annotating a stacked bar chart</title>
      <link>https://communities.sas.com/t5/Graphics-Programming/Annotating-a-stacked-bar-chart/m-p/182292#M6702</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Assuming you are using at least SAS 9.3.&amp;nbsp; With SG, you can do this without annotation by overlaying a SCATTER with MARKERCHAR.&amp;nbsp; Since SGPANEL VBARPARM does not support stacked groups at SAS 9.3, you can use HIGHLOW statement with TYPE=BAR.&amp;nbsp; In addition to computing the label Y position, also compute the start and end of each segment as shown in the code.&lt;/P&gt;&lt;P&gt;&lt;IMG alt="StackedBarPanelLabel.png" class="jive-image-thumbnail jive-image" src="https://communities.sas.com/legacyfs/online/6535_StackedBarPanelLabel.png" width="450" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data work.tam;&lt;BR /&gt;infile datalines dlm=',';&lt;BR /&gt;input Risk $ Numerator Service RptDate $;&lt;BR /&gt;datalines;&lt;BR /&gt;A,5,1,Begin&lt;BR /&gt;A,8,1,End&lt;BR /&gt;B,3,1,Begin&lt;BR /&gt;B,9,1,End&lt;BR /&gt;C,1,1,Begin&lt;BR /&gt;C,4,1,End&lt;BR /&gt;A,2,2,Begin&lt;BR /&gt;A,6,2,End&lt;BR /&gt;B,4,2,Begin&lt;BR /&gt;B,1,2,End&lt;BR /&gt;C,6,2,Begin&lt;BR /&gt;C,3,2,End&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;proc sort data=tam out=tam1;&lt;BR /&gt;by&amp;nbsp; service rptdate risk;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;data tam2;&lt;BR /&gt;&amp;nbsp; set tam1;&lt;BR /&gt;&amp;nbsp; by service rptdate risk;&lt;BR /&gt;&amp;nbsp; retain y2;&lt;BR /&gt;&amp;nbsp; if first.rptdate then do;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; y1=0; y2=y1+numerator; ys=(y1+y2)/2;&lt;BR /&gt;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp; else do;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; y1=y2; y2=y1+numerator; ys=(y1+y2)/2;&lt;BR /&gt;&amp;nbsp; end;&lt;BR /&gt;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;ods html close;&lt;BR /&gt;ods listing;&lt;BR /&gt;proc sgpanel data=tam2 ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; format numerator 1.;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; panelby service / layout=columnlattice onepanel noborder colheaderpos=bottom novarname;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; highlow x=RptDate low=y1 high=y2 / group=Risk type=bar name='a' lineattrs=(color=black);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; scatter x=rptdate y=ys / markerchar=numerator markercharattrs=(size=9);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; keylegend 'a' /position=right;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; rowaxis offsetmin=0;&lt;BR /&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Jun 2014 04:06:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Graphics-Programming/Annotating-a-stacked-bar-chart/m-p/182292#M6702</guid>
      <dc:creator>Jay54</dc:creator>
      <dc:date>2014-06-06T04:06:16Z</dc:date>
    </item>
    <item>
      <title>Re: Annotating a stacked bar chart</title>
      <link>https://communities.sas.com/t5/Graphics-Programming/Annotating-a-stacked-bar-chart/m-p/182293#M6703</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks so much Sanjay, and yes I'm using v9.4.&amp;nbsp; I've been reading some of your white papers and blogs as well which have been very useful in understanding the SG procedures.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Jun 2014 22:35:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Graphics-Programming/Annotating-a-stacked-bar-chart/m-p/182293#M6703</guid>
      <dc:creator>tammy_dezilva</dc:creator>
      <dc:date>2014-06-09T22:35:26Z</dc:date>
    </item>
  </channel>
</rss>

