BookmarkSubscribeRSS Feed
☑ This topic is solved. Need further help from the community? Please sign in and ask a new question.
Abdus-Salaam
Obsidian | Level 7

Dear SAS community,

 

i'm trying to put a superscript -1 in my yaxis label in the following code:

ods escapechar='^';
proc sgplot data=Unkraut_TM_Bhdlg_N0_MT1 ;       
   vbar Behandlung / response=Median                             
        stat=mean
        group=Behandlung
        groupdisplay=cluster;
		yaxis label="Unkraut-TM (kg ha^{super -1})";                          
run;

I've tried several versions of it:
yaxis label="Unkraut-TM (kg ha^{-1})";

yaxis label="Unkraut-TM (kg ha^{sup -1})";

yaxis label="Unkraut-TM (kg ha^{super -1})";
yaxis label="Unkraut-TM (kg ha(*ESC*){sup -1})";
yaxis label="Unkraut-TM (kg ha(*ESC*){super -1})";
yaxis label="Unkraut-TM (kg ha<sup>-1</sup>)";
yaxis label="Unkraut-TM (kg ha<sup>-1</sup>)";
yaxis label="Unkraut-TM (kg ha⁻¹)";

None of it did work.

Can someone help me with the simplest possible solution?

 

1 ACCEPTED SOLUTION

Accepted Solutions
DanH_sas
SAS Super FREQ

For an axis label, you have to use Unicode characters to do it. In your case, this would look like the following:

yaxis label="Unkraut-TM (kg ha^{unicode '207B'x}^{unicode '00B9'x})";

If for some reason the negative does not appear (you see a box instead), you might need to override the font via the LABELATTRS option to be a font like "Arial Unicode MS" that is a more "full-featured" Unicode font. Hope this helps! 

View solution in original post

4 REPLIES 4
DanH_sas
SAS Super FREQ

For an axis label, you have to use Unicode characters to do it. In your case, this would look like the following:

yaxis label="Unkraut-TM (kg ha^{unicode '207B'x}^{unicode '00B9'x})";

If for some reason the negative does not appear (you see a box instead), you might need to override the font via the LABELATTRS option to be a font like "Arial Unicode MS" that is a more "full-featured" Unicode font. Hope this helps! 

Abdus-Salaam
Obsidian | Level 7

Thank you really much for the help, it worked.

Ksharp
Super User

Here is just once for all ,if you can't find a corresponding UNICODE code for superscript.

 

%let label1=体重(*ESC*){sup 'mw -1'}  ;
%let label2=身高(*ESC*){sub 'mw -1'} ;


/*用于加X轴Y轴标签的上下标*/
data _anno;
length label $ 200;
 drawspace="layoutpercent"; function="text"; textweight="normal"; textsize=12;textcolor="black"; width=200;
 x1=50; y1=2.5;label="&label1."; output;
 x1=2.5;  y1=50;rotate=90;label="&label2."; output;
 run;
/*****画散点图*****/
proc sgplot data=sashelp.class sganno=_anno;   
scatter x=weight y=height;   
xaxis label=' ';
yaxis label=' ';
run;

Ksharp_0-1731375317914.png

 

Abdus-Salaam
Obsidian | Level 7

Thank you for the answer.

hackathon24-white-horiz.png

The 2025 SAS Hackathon Kicks Off on June 11!

Watch the live Hackathon Kickoff to get all the essential information about the SAS Hackathon—including how to join, how to participate, and expert tips for success.

YouTube LinkedIn

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 4 replies
  • 1237 views
  • 5 likes
  • 3 in conversation