A quick SAS ODS Graphics take on a cute Easter Cards for Kids project. Happy Easter, all!
* Fun w/SAS ODS Graphics: Here Comes Polygons-and-Ellipses Peter Cottontail!
Inspired by cute card at iheartcraftythings.com/easter-cards-for-kids.html;
data bunny; * Generate polygons for bunny's body and teeth;
polygon=1; x=1; y=3; output; x=4; output; y=0; output; x=1; output; x=.; y=.; * Body;
polygon+1; xt=2; yt=1; output; xt=2.5; output; yt=.35; output; xt=2; output; * Left tooth;
polygon+1; xt=2.5; yt=1; output; xt=3; output; yt=.35; output; xt=2.5; output; * Right tooth;
ods graphics / reset height=5in width=5in antialias imagefmt=png;
proc template; * Draw bunny (polygon and ellipse plots);
define statgraph bunny;
begingraph / opaque=true border=false backgroundcolor=cxFDA3AC; * Rose backbround color;
layout overlayequated / opaque=true border=false backgroundcolor=cxFDA3AC wallcolor=cxFDA3AC WALLDISPLAY=(FILL)
xaxisopts=(display=none offsetmin=0.05 offsetmax=0.05)
yaxisopts=(display=none offsetmin=0.05 offsetmax=0.05);
entry "HAPPY EASTER!" / textattrs=(size=16pt color=white) valign=top; * Easter greetings;
ellipseparm xorigin=2 yorigin=3 semimajor=.45 semiminor=1.75 slope=.15 /
fillattrs=(color=cxE5E1D8) display=(fill); * Left outer ear (use slope to tilt);
ellipseparm xorigin=2 yorigin=3 semimajor=.25 semiminor=1.25 slope=.15 /
fillattrs=(color=cxFEE6E4) display=(fill); * Left inner ear;
ellipseparm xorigin=3 yorigin=3 semimajor=.45 semiminor=1.75 slope=-.15 /
fillattrs=(color=cxE5E1D8) display=(fill); * Right outer ear;
ellipseparm xorigin=3 yorigin=3 semimajor=.25 semiminor=1.25 slope=-.15 /
fillattrs=(color=cxFEE6E4) display=(fill); * Right inner ear);
polygonplot x=x y=y id=polygon / fillattrs=(color=cxE5E2D9) display=(fill);
ellipseparm xorigin=2 yorigin=2 semimajor=.4 semiminor=.4 slope=0 /
fillattrs=(color=white) display=(fill); * Left outer eye;
ellipseparm xorigin=2 yorigin=1.85 semimajor=.2 semiminor=.2 slope=0 /
fillattrs=(color=black) display=(fill); * Left inner eye;
ellipseparm xorigin=3 yorigin=2 semimajor=.4 semiminor=.4 slope=0 /
fillattrs=(color=white) display=(fill); * Right outer eye;
ellipseparm xorigin=3 yorigin=1.85 semimajor=.2 semiminor=.2 slope=0 /
fillattrs=(color=black) display=(fill); * Right inner eye;
polygonplot x=xt y=yt id=polygon / outlineattrs=(color=black thickness=1pt) fillattrs=(color=white) display=(fill outline); * Teeth;
ellipseparm xorigin=2.5 yorigin=1.1 semimajor=.8 semiminor=.4 slope=0 /
fillattrs=(color=cxFEE6E6) display=(fill); * Nose;
endlayout;
endGraph;
end;
proc sgrender data=bunny template=bunny; * Draw the chart!;
run;
1st Draft!
Thanks. These are always fun to see.
FYI - the last comment needs a semicolon in place of the colon.
Good catch!
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.