I need to create a plot with MY2R values in the symbol center. But even I used DATALABELPOS=CENTER, all the data labels shift to right and not in the center. Could someone please help me with it? Thanks.
Here is my code:
PROC SGPLOT DATA = temp1 dattrmap=attrmap noborder;
Scatter Y=NAME X = MY2R/markerAttrs=(COLOR=purple size=6MM symbol=CIRCLEFILLED) datalabel=MY2R DATALABELATTRS=(size=9pt weight=bold COLOR=White) DATALABELPOS=CENTER transparency=0.1;
XAXIS DISPLAY=(NOTICKS) label=' ' labelattrs=(size=8pt color=Black) values=(60 to 100 by 20) valueattrs=(size=8pt Family=Arial color=black);
run;
Make sure you do not have leading blanks in your labels. Also, you can use a TEXT plot to display labels with the STRIP option.
Make sure you do not have leading blanks in your labels. Also, you can use a TEXT plot to display labels with the STRIP option.
Following up on @Jay54, these steps illustrate a character variable (centered), a numeric variable (and hence leading blanks) (does not appear centered), and a numeric to character conversion and left justification before plotting (centered).
proc sgplot data=sashelp.class;
scatter y=weight x=height / datalabel=name datalabelpos=center;
quit;
proc sgplot data=sashelp.class;
scatter y=weight x=height / datalabel=age datalabelpos=center;
quit;
data class;
set sashelp.class;
age2 = cats(age);
run;
proc sgplot data=class;
scatter y=weight x=height / datalabel=age2 datalabelpos=center;
quit;
Thank you Warren, this is very helpful and I will save your post as future reference.
Thank you Sanjay! My labels do have leading blanks.
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.