ods html close;
ods listing;
%let gpath='C:\';
%let dpi=100;
data cars;
set sashelp.cars;
length Drive $18;
if drivetrain ne 'Front' then drive='Other';
else drive='Front Wheel Drive';
run;
proc print;run;
proc sort data=cars out=cars;
by drive;
run;
/*--Car PieChart Template--*/
proc template;
define statgraph Pie;
dynamic _skin _labels _stat _group _gap _start;
begingraph;
entrytitle 'Cars by Drivetrain';
layout region;
piechart category=drive / dataskin=_skin datalabelcontent=_labels stat=_stat
group=_group groupgap=_gap datatransparency=0.3 start=_start name='p';
endlayout;
endgraph;
end;
run;
/*--Car Grouped PieChart Template--*/
proc template;
define statgraph PieGroup;
dynamic _skin _labels _stat _group _gap _start;
begingraph;
entrytitle 'Cars by Drivetrain';
layout region;
piechart category=drive / dataskin=_skin datalabelcontent=_labels stat=_stat
group=_group groupgap=_gap datatransparency=0.3 start=_start name='p';
discretelegend 'p';
endlayout;
endgraph;
end;
run;
proc template;
define style listingLF;
parent = Styles.Listing;
style GraphFonts from GraphFonts
"Fonts used in graph styles" /
'GraphDataFont' = (", ",10pt, bold)
'GraphValueFont' = (", ",10pt, bold)
;
end;
run;
/*--Car PieChart--*/
ods listing style=listing image_dpi=&dpi gpath=&gpath;
ods graphics / reset width=2.5in height=3.0in imagename='Pie';
proc sgrender data=cars template=Pie;
dynamic _skin='none';
run;
/*--Car PieChart--*/
ods listing style=listingLF image_dpi=&dpi gpath=&gpath;
ods graphics / reset width=2.5in height=3.0in imagename='Pie_Sheen';
proc sgrender data=cars template=Pie;
dynamic _skin='sheen' _stat='freq' _labels='category percent';
run;
/*--Car PieChart--*/
ods listing style=listingLF image_dpi=&dpi gpath=&gpath;
ods graphics / reset width=2.5in height=3.0in imagename='Pie_Sheen_Start';
proc sgrender data=cars template=Pie;
dynamic _skin='sheen' _stat='freq' _labels='category percent' _start='355';
run;
/*--Car PieChart--*/
ods listing style=listing image_dpi=&dpi gpath=&gpath;
ods graphics / reset width=2.5in height=3.0in imagename='Pie_Gloss';
proc sgrender data=cars template=Pie;
dynamic _skin='gloss';
run;
/*--Grouped Car PieChart--*/
ods listing style=listing image_dpi=&dpi gpath=&gpath;
ods graphics / reset width=2.5in height=2.5in imagename='Pie_Group_Gloss';
proc sgrender data=cars template=PieGroup;
dynamic _skin='gloss' _group='origin';
run;
/*--Grouped Car PieChart--*/
ods listing style=listing image_dpi=&dpi gpath=&gpath;
ods graphics / reset width=2.5in height=2.5in imagename='Pie_Group_Gloss_gap';
proc sgrender data=cars template=PieGroup;
dynamic _skin='gloss' _group='origin' _gap='10';
run;
/*--Car BarChart Template--*/
proc template;
define statgraph Bar;
dynamic _skin _stat _group _groupdisp;
begingraph;
entrytitle 'Cars by Drivetrain';
layout overlay;
barchart x=drive / dataskin=_skin stat=_stat barlabel=true
group=_group groupdisplay=_groupdisp;
endlayout;
endgraph;
end;
run;
/*--Grouped Car BarChart--*/
ods listing style=listing image_dpi=&dpi gpath=&gpath;
ods graphics / reset width=5in height=3in imagename='Bar_Gloss';
proc sgrender data=cars template=Bar;
dynamic _skin='gloss';
run;
/*--Grouped Car BarChart--*/
ods listing style=listing image_dpi=&dpi gpath=&gpath;
ods graphics / reset width=5in height=3in imagename='Bar_Group_Gloss';
proc sgrender data=cars template=Bar;
dynamic _skin='gloss' _group='origin' _groupdisp='cluster';
run;
/*--Car BarPieChart Template--*/
proc template;
define statgraph BarPie;
dynamic _skin;
begingraph;
entrytitle 'Mileage by Type';
layout lattice / columns=2 columnweights=(0.7 0.3) columngutter=10;
layout overlay / walldisplay=none xaxisopts=(display=(ticks tickvalues))
yaxisopts=(display=(tickvalues) griddisplay=on);
barchart x=type / dataskin=_skin barlabel=false group=type name='a';
endlayout;
layout region;
piechart category=type / dataskin=_skin datalabelcontent=(category);
endlayout;
endlayout;
endgraph;
end;
run;
proc template;
define style listingSF;
parent = Styles.Listing;
style GraphFonts from GraphFonts
"Fonts used in graph styles" /
'GraphValueFont' = (", ",7pt)
'GraphLabelFont' = (", ",9pt, bold)
;
end;
run;
/*--Grouped Car BarPieChart--*/
ods listing style=listingSF image_dpi=&dpi gpath=&gpath;
ods graphics / reset width=5in height=2in imagename='Bar_Pie';
proc sgrender data=cars template=BarPie;
dynamic _skin='gloss';
run;