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

MothersDay2026.png

 

A quick transformation of code for a SAS ODS Graphics 24-hour watch face to yield "heartfelt" Mother's Day greetings (inspiration). Happy Mother's Day, all!

 

* Fun With SAS ODS Graphics: Heartfelt Mother's Day Greetings (Text Plots)
  Inspired by neat image at stock.adobe.com/images/happy-mothers-day-gift-card-in-trendy-style-mothers-day-design-in-vector-cute-simple-graphics-in-blue-color/107652283;

data hearts;                                        * Generate 32 points for hearts around a circle of radius=1;                                 
do heart=0 to 32;                                   
  heartUNI=unicode('\u2764');                       * Unicode for heart;
  Yh=cos(heart/32*2*constant('pi'));               
  Xh=sin(heart/32*2*constant('pi'));
  angle=360-heart/32*360;                           * Compute angle to display heart at;                
  output; 
end;
xH=.;
txt1="happy"; Xt1=0; Yt1=.43; output;               * Put happy Mother's Day in center of circle (on separate lines);
txt2="Mother's"; Xt2=0; Yt2=.15; output;      
txt2="Day"; Xt2=0; Yt2=-.15; output;       
                                                    * Generate Happy Mother's Day greetings; 
ods graphics on / reset height=5in width=5in imagefmt=svg;
proc sgplot data=hearts aspect=1 noautolegend nowall noborder subpixel;
styleattrs backcolor=cx6AB2EC;                      * Hex RGB code for light blue background;
text x=Xh y=Yh text=heartUNI / rotate=angle contributeoffsets=none strip textattrs=(size=28pt color=white); * Add hour markers (circles); * Display white hearts in a circle (tilted at angles);                              
text x=Xt1 y=Yt1 text=txt1 / contributeoffsets=none strip textattrs=(size=22pt color=white weight=normal) splitchar='*' splitpolicy=splitalways; * Display 'happy' (samller, lowercase, white);
text x=Xt2 y=Yt2 text=txt2 / contributeoffsets=none strip textattrs=(size=44pt color=white weight=bold) splitchar='*' splitpolicy=splitalways; * Display Mother's Day (larger, uppercase, white, bold;
xaxis display=none offsetmin=.08 offsetmax=.08;     * Suppress axes, provide a little padding;
yaxis display=none offsetmin=.08 offsetmax=.08;
run;

 

Catch up on SAS Innovate 2026

Dive into keynotes, announcements and breakthroughs on demand.

Explore 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
  • 0 replies
  • 88 views
  • 0 likes
  • 1 in conversation