Lapis Lazuli | Level 10

## Fun With SAS ODS Graphics: Ellipses Easter Egg

Ellipses Easter Egg

Drawing an egg could involve a lot of math...or you can cut a few corners and join the top of an ellipse with the bottom of a circle. Happy Easter, all!

``````* Fun With SAS ODS Graphics: Ellipses Easter Egg
Bunny icon courtesy of Marie-Louise Merser, DK thenounproject.com/search/?q=easter+bunny&i=960660;

data egg;                                                            * Generate points and text for Easter Egg;
retain id 0 xt1 0 yt1 .195 text1 'HAPPY' xt2 0 yt2 0 text2 'Easter' xb 0 yb -.375; * Text to display and x/y points;
x=-1; y=0; output; x=1; output; y=-1; output; x=-1; output;          * Rectangle points (used to mask bottom half of top ellipse);

ods graphics / reset antialias width=5in height=5in;
proc sgplot data=egg aspect=1 noborder noautolegend nowall;          * Generate Easter Egg (half-ellipse + masking polygon + circle + text + scatter plots);
symbolimage name=bunny image='/folders/myfolders/easterbunny.png';   * Rabbit icon;
ellipseparm semimajor=.75 semiminor=1 / nooutline fill fillattrs=(color=purple);* Top ellipse of Easter Egg;
polygon x=x y=y id=id / nooutline fill fillattrs=(color=white);      * Mask off bottom half of top ellipse;
ellipseparm semimajor=.75 semiminor=.75  / nooutline fill fillattrs=(color=purple);* Bottom ellipse of Easter Egg (circle);
text x=xt1 y=yt1 text=text1 / textattrs=(color=white size=18pt);     * Happy;
text x=xt2 y=yt2 text=text2 / textattrs=(color=white size=63pt);     * Easter;
scatter x=xb y=yb / markerattrs=(symbol=bunny size=48pt);            * Easter Bunny image;
xaxis display=none min=-.925 max=.925 offsetmax=.001 offsetmin=.001; * Limit x/y axis bounds;
yaxis display=none min=-.80 max=1.05 offsetmax=.001 offsetmin=.001;``````

Ellipses Easter Egg "Wireframe"

Discussion stats
• 0 replies
• 757 views
• 5 likes
• 1 in conversation