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;