BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
marta25
Obsidian | Level 7

Hello,

 

It seems a very easy question but somehow I am struggling with this.

 

I just want to change the FONT (not font size, this I can do easily) of all text in a plot (in SGPLOT): axis labels and values, legend items...

 

I guess I have to define a new style, something like:

proc template;
define style my_style;
parent=styles.htmlblue;
class GraphValueText / font = ("<sans-serif>, <MTsans-serif>",20pt);
end;

How can I set the font to Times New Roman, or Arial, etc, instead of sans-serif?

Where can I find a list of available fonts?

And how do I apply the new style to the plot?

Could someone give an example (as easy as possible)?

1 ACCEPTED SOLUTION

Accepted Solutions
djrisks
Barite | Level 11

Hello,

 

Below is an example of how to use different fonts. GraphLabelFont controls the axis labels and the legend label. GraphValueFont controls the axis tick values, and the values within the legend. Also, make sure that you actually look at the graph file that is being outputted, i.e. the .PNG file on your C drive.

 


proc template;
  define style styles.new_font;
  parent = styles.default;
  class GraphFonts
      "Fonts used in graph styles" /
      'GraphValueFont' = ("Arial",9pt)
      'GraphLabelFont' = ("Times New Roman Uni",10pt,
      bold);
  end;
run;


ods listing style = styles.new_font gpath = "C:\graph";
proc sgplot data=sashelp.class;
  scatter x=height y=weight / group=sex;
run;

 

 

View solution in original post

5 REPLIES 5
djrisks
Barite | Level 11

Hello,

 

Below is an example of how to use different fonts. GraphLabelFont controls the axis labels and the legend label. GraphValueFont controls the axis tick values, and the values within the legend. Also, make sure that you actually look at the graph file that is being outputted, i.e. the .PNG file on your C drive.

 


proc template;
  define style styles.new_font;
  parent = styles.default;
  class GraphFonts
      "Fonts used in graph styles" /
      'GraphValueFont' = ("Arial",9pt)
      'GraphLabelFont' = ("Times New Roman Uni",10pt,
      bold);
  end;
run;


ods listing style = styles.new_font gpath = "C:\graph";
proc sgplot data=sashelp.class;
  scatter x=height y=weight / group=sex;
run;

 

 

djrisks
Barite | Level 11

Also, this link can show you how to find which fonts are available:

 

https://documentation.sas.com/doc/en/pgmsascdc/9.4_3.5/graphref/n0840ghr9b9y3bn0zphem54hvgbt.htm

marta25
Obsidian | Level 7
Thanks, this is nice, however now the background fill of the plot is grey. How do I change this to white/transparent?
djrisks
Barite | Level 11

You're welcome. You can add the GraphBackground class to change the fill color from grey to white, as seen below.

 


proc template;
  define style styles.new_font;
  parent = styles.default;

  class GraphBackground /
      color = white;

  class GraphFonts
      "Fonts used in graph styles" /
      'GraphValueFont' = ("Arial",9pt)
      'GraphLabelFont' = ("Times New Roman Uni",10pt,
      bold);
  end;
run;


ods listing style = styles.new_font gpath = "C:\graph";
proc sgplot data=sashelp.class;
  scatter x=height y=weight / group=sex;
run;
GraphGuy
Meteorite | Level 14

Another option would be to use the older SAS/Graph proc gplot, where you can control the text font with "goptions ftext=".

SAS INNOVATE 2024

Innovate_SAS_Blue.png

Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.

If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website. 

Register now!

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.

Get the $99 certification deal.jpg

 

 

Back in the Classroom!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 5 replies
  • 5014 views
  • 5 likes
  • 3 in conversation