Data visualization with SAS programming

Adding symbol at the end of bars in a waterfall plot

Accepted Solution Solved
Reply
Occasional Contributor VCM
Occasional Contributor
Posts: 6
Accepted Solution

Adding symbol at the end of bars in a waterfall plot

I am creating a waterfall plot where I need to add a hash symbol to then end of any bar where VAR1 has a certain value.  I've created variable ZZ with value = "#" when VAR1 meets the condition (if VAR1 = 1, then ZZ = "#").

 

Now, how do I add this in the proc template?  I tried markersymbol, but it puts the symbol on the zero (beginning of the bar), not at the end:

 

proc template;
define statgraph &repbase.;
begingraph;
entrytitle "(Number of Subjects = &num)"/TEXTATTRS=(weight=bold size=10pt);
layout overlay/xaxisopts=(label="Subjects" labelattrs=(weight=bold size=8pt)
griddisplay=on tickvalueattrs=(weight=bold size=7pt) type=discrete
display=(&x_axis_display))
yaxisopts=(label="&YAXIS_LABEL" labelattrs=(weight=bold size=8pt)
griddisplay=on
tickvalueattrs=(weight=bold size=8pt)
linearopts=(&y_axis_scale )
griddisplay=on);
barchart x=usubjid y=min/ group=TRT01AN name="trt" barwidth=0.4;
scatterplot x=usubjid y=label2/MARKERCHARACTER=zz MARKERCHARACTERATTRS=(weight=bold size=6pt);
referenceline y=-30 /lineattrs=(thickness=1px pattern=34 color=cx000000 ) CURVELABELATTRS=(weight=bold size=8pt);
referenceline y=20/lineattrs=(thickness=1px pattern=34 color=cx000000 ) CURVELABELATTRS=(weight=bold size=8pt);

discretelegend "trt"/title="Treatment Group:"  titleattrs=(weight=bold size=10pt) valueattrs=(weight=bold size=10pt);
endlayout;
endgraph;
end;
run;

 

proc sgrender data=tmm_plot template=&repbase.;
run;

 

 

Note that I am using SAS 9.2.  Is there an option I can use?

 

 

Many thanks!


Accepted Solutions
Solution
‎09-11-2017 07:18 AM
SAS Super FREQ
Posts: 1,139

Re: Adding symbol at the end of bars in a waterfall plot

With SAS 9.2, you can overlay a SCATTERPLOT statement on the BARCHART statement using GTL as you have done.  Maybe the value of the "label2" variable is not correctly computed.  I did the something similar in this article to place the asterix on some bars using SGPLOT.  http://blogs.sas.com/content/graphicallyspeaking/2017/07/30/clinical-graphs-waterfall-plot/

 

View solution in original post


All Replies
Super User
Posts: 19,080

Re: Adding symbol at the end of bars in a waterfall plot

Occasional Contributor VCM
Occasional Contributor
Posts: 6

Re: Adding symbol at the end of bars in a waterfall plot

Hi Reeza--

 

Unfortunately, I'm running in a client's system, and I'm pretty much stuck with 9.2. Smiley Sad  But thanks for replying! Smiley Happy

Solution
‎09-11-2017 07:18 AM
SAS Super FREQ
Posts: 1,139

Re: Adding symbol at the end of bars in a waterfall plot

With SAS 9.2, you can overlay a SCATTERPLOT statement on the BARCHART statement using GTL as you have done.  Maybe the value of the "label2" variable is not correctly computed.  I did the something similar in this article to place the asterix on some bars using SGPLOT.  http://blogs.sas.com/content/graphicallyspeaking/2017/07/30/clinical-graphs-waterfall-plot/

 

Occasional Contributor VCM
Occasional Contributor
Posts: 6

Re: Adding symbol at the end of bars in a waterfall plot

Thank you, Sanjay, that was exactly it!  I updated the label2 value (defined in the body of the program) as min + 4 (for positive values) or min - 4 (for negative values), to allow a little bit of space between the edge of the bar and the symbol.

 

 

☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 4 replies
  • 163 views
  • 1 like
  • 3 in conversation