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 April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.