Data visualization with SAS programming

Labelling individual sticks in a stick plot.

Reply
N/A
Posts: 1

Labelling individual sticks in a stick plot.

Hi,

I am creating an individual stick plot for each subject, and instead of having a legend want to label each stick by subject id.

I have a different symbol for each subj and different color based on gender. Unable to figure out a way to label the sticks with subject id. can anyone help. Thanks in advance.

data _null_ ;
set concent end=eof;
retain patcount 0;
by subjid;

if first.subjid then patcount+1;

if sex='M' then do;
call symput('sym'||trim(left(patcount)),'symbol'||trim(left(patcount)) || ' '|| 'c'='black'|| ' '||'v=none'||' '|| 'i=join'|| ' ' || 'line=1' || 'width=1' ||';');
end;

if sex='F' then do;
call symput('sym'||trim(left(patcount)),'symbol'||trim(left(patcount)) || ' '|| 'c'='red'|| ' '||'v=none'||' '|| 'i=join'|| ' ' || 'line=1' || 'width=1' ||';');
end;

if eof then call symput('total',patcount);
run;

%put &total. &sym1. ;


/*create a macro that goptions mlogic mprint symbolgenenerates all the symbol statements*/

%macro symbol ;
%do j=1 %to &total;
&&sym&j
%end;
%mend symbol ;

%symbol ;



goptions nodisplay;

proc gplot data =concent gout=work.mycat;
plot result * visit=subjid /vaxis=axis1 haxis=axis2 nolegend;

axis1 label=(a=90 'Result')
order=(0 to 100 by 10);

axis2 label=('Visit') minor=none;

run;
quit;
SAS Employee
Posts: 963

Re: Labelling individual sticks in a stick plot.

I'm not really sure, without the data to try it, but ... I think you could use either pointlabel or annotate.
Post a Question
Discussion Stats
  • 1 reply
  • 126 views
  • 0 likes
  • 2 in conversation