I assigned labels however, I left your code 99% intact but wrapped inside an absolute layout (could use gridded also) and specified the dimension that you can change. You did not specify the output format so I picked pdf
data prim_sub_use; set xl.sheet1;
label
Alcohol ='^_^_Alcohol^_'
Opiates ='^_^_Opiates^_'
Cocaine ='^_^_Cocaine^_'
Marijuana='^_^_Marijuana/hashish^_'
Methamphetamine_amphetamines='^_Methamphetamine/amphetamines^_'
;
run;
ods escapechar='^';
ods _all_ close;
options nonumber nodate orientation=landscape papersize=letter nocenter
leftmargin=.5in rightmargin=.5in topmargin=.5in bottommargin=.5in;
ods pdf file="~/img/abuse.pdf" dpi=300 notoc;
ods layout absolute;
ods region x=0in y=0in width=10in;
ods graphics on /noborder height=7.5in width=10in scale=on;
proc sgplot data=prim_sub_use noborder nowall
description='Primary substance use at admission, 2007-2017';
series x=Year y=Alcohol/markers markerattrs=(symbol=CircleFilled
color='#0060A9' size=12) lineattrs=(color='#0060A9' thickness=3);
series x=Year y=Opiates/markers markerattrs=(symbol=TriangleDownFilled size=12
color='#ed1c24') lineattrs=(color='#ed1c24' thickness=3 pattern=solid);
series x=Year y=Cocaine/markers markerattrs=(symbol=SquareFilled
color='#ffc222' size=12) lineattrs=(color='#ffc222' thickness=3
pattern=solid);
series x=Year y=Marijuana/markers markerattrs=(symbol=DiamondFilled
color='#64c069' size=12) lineattrs=(color='#64c069' thickness=3
pattern=solid) ; * legendlabel="Marijuana/hashish";
series x=Year y=Methamphetamine_amphetamines/markers
markerattrs=(symbol=TriangleFilled size=12 color='#00a2e5')
lineattrs=(color='#00a2e5' thickness=3 pattern=solid);
yaxis label='Percent of all admissions aged 12 years and older' VALUES=(0 TO 50 BY 10) offsetmax=0 offsetmin=0;
xaxis label='Admission Year' VALUES=(2007 TO 2017 BY 1) display=(nolabel noticks);
keylegend/noborder linelength=30;
run;
ods graphics off;
ods layout end;
ods pdf close;
ods _ALL_ CLOSE;
See attached.
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.
Ready to level-up your skills? Choose your own adventure.