
Another year, another SAS ODS Graphics text plot take on a neat Christmas card, this one from dezeen's 2010 collection . Happy Holidays, all!
* Fun With SAS ODS Graphics: Yet Another Text Plot Xmas Tree
SAS ODS Graphics take on a neat 2010 card at dezeen.com/2010/12/24/designer-christmas-cards-3;
data greetings; * Generate text and x/y points for 'tree';
retain greeting '*|WE|WISH|YOU A|MERRY|CHRISTMAS|AND A HAPPY|NEW YEAR.' X .4 Y .85;
output;
%SGANNO; * Extend Y descender in "YEAR" to make a 'tree trunk';
DATA extend_Y; * Generate a rectangle 'tree trunk';
%SGRECTANGLE(X1=153, Y1=169, WIDTH=4, HEIGHT=75, X1SPACE="DATAPIXEL", Y1SPACE="DATAPIXEL",
ANCHOR="TOPLEFT", DRAWSPACE="GRAPHPIXEL", DISPLAY="FILL", FILLCOLOR="WHITE",
HEIGHTUNIT="PIXEL", WIDTHUNIT="PIXEL");
* Generate annotated text plot 'tree' on ellipse plot 'snow hill';
ods graphics / reset antialias width=4in height=6in noborder imagefmt=png antialias;
proc sgplot data=greetings noautolegend nowall pad=3 noborder sganno=extend_Y;
styleattrs backcolor=cx008975; * Greenish background;
text x=x y=y text=greeting / position=bottom textattrs=(color=white size=24pt weight=bold) splitchar='|' splitpolicy=splitalways contributeoffsets=none; * White lettering;
ellipseparm semimajor=2 semiminor=.35 / xorigin=.4 yorigin=-.2 nooutline fill fillattrs=(color=white); * White snow hill;
xaxis display=none values=(0 1) offsetmax=0 offsetmin=0; * Suppress axes;
yaxis display=none values=(0 1) offsetmax=0 offsetmin=0;
run;