Data visualization with SAS programming

How to use SG annotation to add some text or circle in the graph

Reply
New Contributor
Posts: 2

How to use SG annotation to add some text or circle in the graph

Dear there,

I am trying to add some text and a circle (oval) in a scatter plot coming out of SGPLOT, but just could not make it work .  Can someone help?  Thanks,

Kathy

Attachment
SAS Super FREQ
Posts: 1,141

Re: How to use SG annotation to add some text or circle in the graph

Here is an article on SGANNOTATE by Dan Heath showing how to add Text and other figures such as OVALS, etc.  Note, the drawing context can be GRAPH, LAYOUT, WALL or DATA and the drawing coordinates can be in PIXEL, PERCENT or VALUE.  DRAWSPACE is a combination of the context and the coordinates, such as GRAPHPERCENT, DATAVALUE, etc.

SAS Super FREQ
Posts: 1,141

Re: How to use SG annotation to add some text or circle in the graph

In your program, oval needs to use X1, Y1, HEIGHT and WIDTH columns.  Also, when you append the OVAL data set to ANNO, the "Height" and "Width" columns from "OVAL data set are being dropped.  Using a simple set statement with both data set works better:

data anno;


retain drawspace "layoutpercent" linecolor "blue";
input function $ x1 y1 x2 y2 shape $ direction $;
datalines;
arrow 32 25 42 25 barbed in
arrow 65 25 75 15 barbed out
;
run;

data oval;
     retain drawspace "layoutpercent" linecolor "blue";
  input function $ height width x1 y1;
  datalines;
  oval 20 30 70 15
;
run;

data anno2;
  set anno oval;
  run;

proc sgplot data=enso noautolegend tmplout="test1" sganno=anno2;

      title 'Atmospheric Pressure Differences Between '

            'Easter Island and Darwin, Australia';

      pbspline y=pressure x=year;

   run;

SGPlot9.png

New Contributor
Posts: 2

Re: How to use SG annotation to add some text or circle in the graph

Thank you so much Sanjey.  It worked.  You are the true master.  Smiley Happy

Regards,

Kathy

Ask a Question
Discussion stats
  • 3 replies
  • 269 views
  • 0 likes
  • 2 in conversation