BookmarkSubscribeRSS Feed
tc
Lapis Lazuli | Level 10 tc
Lapis Lazuli | Level 10

PeterCottontail.png

 

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!

PeterCottontailBeforeColoring.png

2 REPLIES 2
Thripsman
Calcite | Level 5

Thanks. These are always fun to see. 

FYI - the last comment needs a semicolon in place of the colon.

sas-innovate-white.png

Missed SAS Innovate in Orlando?

Catch the best of SAS Innovate 2025 — anytime, anywhere. Stream powerful keynotes, real-world demos, and game-changing insights from the world’s leading data and AI minds.

 

Register now

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 474 views
  • 8 likes
  • 2 in conversation