BookmarkSubscribeRSS Feed
martyvd
Fluorite | Level 6

I am specifying 8 pt font for my bar graph, but when I open the resulting PDF file I can see that the data value labels are only 7.59 pt and the legend value labels are 7.2pt. I thought it might be a result of using the scale=on option, but when I change it to scale=off, the font sizes are all 9.09 pt. 

 

The x-axis is also too thick, even though I have specified the thickness as 0.75 pt in the proc template. See screenshot and code below. 

 

bargraph.JPG

 

proc template;
define style Custombar;
parent = Styles.Default; 
class graphaxislines/contrastcolor=black linethickness=0.75pt;
class graphbackground/color=white;
class graphwalls/frameborder=off;
class graphborderlines/contrastcolor=white linethickness=0;
class graphlabeltext/fontfamily=Arial fontsize=8.5pt;
class graphvaluetext/fontfamily=Arial fontsize=8.5pt;
class body/backgroundcolor=white;
end;
run;

PROC IMPORT OUT= WORK.age DATAFILE= "E:\SAS figures\Age data.xlsx" 
            DBMS=xlsx REPLACE;
     		GETNAMES=YES;
RUN;

ods _all_ close;
options nonumber nodate orientation=landscape papersize=letter nocenter
leftmargin=.5in rightmargin=.5in topmargin=.5in bottommargin=.5in;
ods pdf file="E:/SAS figures/fig2_pdf.pdf" dpi=300 notoc accessible=on;
ods pdf style=Custombar;
ods graphics/border=off;
ods graphics on/reset=all width=6.5in scale=on ANTIALIASMAX=100000;

proc sgplot data=age noborder nowall;
styleattrs datacolors=('#0060A9' '#00a2e5' '#6dc069' '#ffc222');
vbar Year / response=Percent group=Group grouporder=data groupdisplay=stack clusterwidth=1.0 barwidth=0.6 nooutline;
xaxis discreteorder=data display=(nolabel noticks) valueattrs=(family=Arial size=8.5pt);
yaxis label="Percent of all admissions aged 12 and older" values=(0 to 100 by 20) display=(noticks) labelattrs=(family=Arial size=8pt weight=normal) valueattrs=(family=Arial size=8pt);
keylegend/title="" valueattrs=(family=Arial size=8.5pt) noborder scale=1.25 autooutline linelength=30 fillaspect=golden;
run;

ods graphics off;
ods pdf close;

 

 

1 REPLY 1
Ksharp
Super User
"The x-axis is also too thick,"
There is also a baseline on x-axis except xaxis line . Try this to remove it :
xaxis nobaseline
or
xaxis baseline=no

Sorry I forgot the right syntax in XAXIS statement .

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

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

View all other training opportunities.

Discussion stats
  • 1 reply
  • 424 views
  • 0 likes
  • 2 in conversation