Data visualization with SAS programming

SGPANEL PANELBY modify header attributes SAS 9.3

Accepted Solution Solved
Reply
Respected Advisor
Posts: 3,786
Accepted Solution

SGPANEL PANELBY modify header attributes SAS 9.3

In 9.4 I can use HEADERATTRS option but I want to change the font size using SAS 9.3 that does not support that option.  Can I do the same another way?

proc sgpanel data=sashelp.class;

   panelby age / layout=rowlattice rowheaderpos=right headerattrs=(size=18pt);

   series x=weight y=height;

   run;


Accepted Solutions
Solution
‎11-23-2014 07:56 PM
SAS Super FREQ
Posts: 1,134

Re: SGPANEL PANELBY modify header attributes SAS 9.3

Here is one work around.  Cell headers use the GraphValueFont attribute for rendering.  This is also used by things like axis tick values, and maybe other things like legend values, etc..  You can derive a font, and change this attribute in GraphFonts.  Then, you can set the axis values back to the smaller font by using the ValueAttrs on the axis. 

proc template;                                                               

   define style Styles.Fonts;                                              

      parent = styles.listing;

      class GraphFonts                                                       

         "Fonts used in graph styles" /                                                   

         'GraphValueFont' = ("<sans-serif>, <MTsans-serif>",12pt)                   

      ;

  end;                                                                      

run;

ods html style=Styles.Fonts;

proc sgpanel data=sashelp.class;

  panelby sex;

  vbar age;

  colaxis valueattrs=(size=8);

  rowaxis valueattrs=(size=8);

run;

View solution in original post


All Replies
Solution
‎11-23-2014 07:56 PM
SAS Super FREQ
Posts: 1,134

Re: SGPANEL PANELBY modify header attributes SAS 9.3

Here is one work around.  Cell headers use the GraphValueFont attribute for rendering.  This is also used by things like axis tick values, and maybe other things like legend values, etc..  You can derive a font, and change this attribute in GraphFonts.  Then, you can set the axis values back to the smaller font by using the ValueAttrs on the axis. 

proc template;                                                               

   define style Styles.Fonts;                                              

      parent = styles.listing;

      class GraphFonts                                                       

         "Fonts used in graph styles" /                                                   

         'GraphValueFont' = ("<sans-serif>, <MTsans-serif>",12pt)                   

      ;

  end;                                                                      

run;

ods html style=Styles.Fonts;

proc sgpanel data=sashelp.class;

  panelby sex;

  vbar age;

  colaxis valueattrs=(size=8);

  rowaxis valueattrs=(size=8);

run;

Respected Advisor
Posts: 3,786

Re: SGPANEL PANELBY modify header attributes SAS 9.3

Thank you.  My Spaghetti Plots are beautiful.

Is the "connection" between GraphValueFont and the Cell Header documented somewhere?

SAS Super FREQ
Posts: 1,134

Re: SGPANEL PANELBY modify header attributes SAS 9.3

Some of such doc is available in the "GRL Users' Guide" book in the SAS doc in the Appendix.  Look under "Graph Style Elements used by ODS Graphics".

Can you share a picture of your Spaghetti plot?  Just curious.

🔒 This topic is solved and locked.

Need further help from the community? Please ask a new question.

Discussion stats
  • 3 replies
  • 1212 views
  • 0 likes
  • 2 in conversation