I am trying to create a template that will fill slices of a pie using PROC Template and PIECHART. I know I can use DISCRETEATTRMAP, but the problem is I am using this template on automated pie creations with the OTHERSLICE= option enabled, so I don't necessarily know which attributes (or how many) will show up in any given run. I tried using FILLATTRS=(COLOR=()), but this seemed to only allow for one color. Is it possible to define my own color rotation to be used in this manner?
My code:
proc template;
define statgraph top5pie;
begingraph;
layout region;
piechart category = injsite /
datalabellocation = inside
datalabelcontent =(percent)
datalabelattrs = (family='Arial/bold' weight=bold size=12pt color=&Dgold.)
categorydirection = clockwise
dataskin = crisp
start = 180 name = 'pie'
otherslice=true
othersliceopts=(type=percent percent=10 label="Others (Sites < 10% of Total)");
discretelegend 'pie' /
title = 'Injury Sites'
titleattrs=(family='Arial' size=12pt)
border=false;
endlayout;
endgraph;
end;
run;
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.