<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Fun w/SAS ODS Graphics, 4th of July Stars-and-Stripes BBQ Grill in Graphics Programming</title>
    <link>https://communities.sas.com/t5/Graphics-Programming/Fun-w-SAS-ODS-Graphics-4th-of-July-Stars-and-Stripes-BBQ-Grill/m-p/821402#M22942</link>
    <description>&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="fourthofjulygrill.png" style="width: 480px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/72901i6BE3C1C9DB448F0C/image-size/large?v=v2&amp;amp;px=999" role="button" title="fourthofjulygrill.png" alt="fourthofjulygrill.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Have a great 4th of July&amp;nbsp; weekend, all!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;* Fun w/SAS ODS Graphics, 4th of July Stars-and-Stripes BBQ Grill;

data stars(keep=x y);                            /* Generate x/y points for white stars on blue background */
do y=-1.25 to 1.25 by .1; do x=-1.25 to 1.25 by .1; output; end; end;                                                                              

data top(keep=tp tx ty);                         /* Generate x/y points for top half of grill (blue) */
tp=1;                                            /* Polygon semi-circle points */
tx=-.95; ty=sqrt(1-tx**2); output;               /* Starting point - only .95 wide instead of 1 to leave room for text */                 
do tx=-.95 to .95 by .01; ty=sqrt(1-tx**2); output; end; /* points of semicircle */
tx=.95; ty=sqrt(1-tx**2); output;                /* End point */  
tx=-.95; ty=sqrt(1-tx**2); output;               /* Starting point - only .95 wide instead of 1 to leave room for text */                 

proc sql;                                        /* x/y points for bottom of grill (red) same as top, just negate y */
create table bottom as select tp as bp, tx as bx, -ty as by from top order by 2;
update top set ty=ty+.2;                         /* Adjust y-position of top/bottom up for text &amp;amp; legs */  
update bottom set by=by+.5;

data stripes(keep=sp sx sy);                     /* Generate x/y points for white stripes on red background */
sp=1; do y=.5 to -1.5 by -.2; sx=-1.2; sy=y; output; sx=1.2; output; sy+(-.1); output; sx=-1.2; output; end;  

data text;                                       /* Text to display in middle of grill */
txtx=0; txty=.35; txt="HAPPY 4TH OF JULY!"; 

data legs(keep=lx1 ly1 lx2 ly2);                 /* Generate pairs of x/y points for grill legs (red) */
lx1=-.3; ly1=-.425; lx2=-.7; ly2=-1.35; output;   /* Left leg */
lx1=.3; ly1=-.425; lx2=.7; ly2=-1.35; output;     /* Right leg */ 

data grillpoints;                                /* Merge all the points together */
set stars top bottom stripes text legs;
                                                 /* Let's plot a grill! (Polygon+Scatter+Series+Text+Vector Plots) */
ods graphics / antialias border height=5in width=5in;
proc sgplot data=grillpoints noautolegend noborder pad=0 nowall subpixel; 
symbolchar name=uniStar char='2605'x;            /* Unicode value for 5-pointed star */
inset "(*ESC*){unicode '03c0'x}" / noborder position=top textattrs=(size=30pt weight=bold color=CX3C3B6E); /* Use unicode PI symbol for "handle" */
polygon x=tx y=ty  id=tp / fill lineattrs=(color=CX3C3B6E)  fillattrs=(color=CX3C3B6E); /* Top of grill filled (blue) */                    
scatter x=x y=y / markerattrs=(symbol=unistar color=CXFFFFFF size=22pt); /* Stars (white) */    
series x=tx y=ty / lineattrs=(color=CX3C3B6E thickness=2pt); /* Top of grill outline (blue) */                      
polygon x=bx y=by id=bp / fill lineattrs=(color=CXB22234)  fillattrs=(color=CXB22234); /* Bottom of grill filled (red) */                    
polygon x=sx y=sy id=sp / fill lineattrs=(color=white)  fillattrs=(color=white); /* Stripes (white) */
series x=bx y=by / lineattrs=(color=CXB22234 thickness=2pt); /* Bottom of grill outline (red) */
text x=txtx y=txty text=txt / textattrs=(size=19pt weight=bold color=black); /* Happy 4th of July! text (black) */
vector x=lx1 y=ly1 / xorigin=lx2 yorigin=ly2 noarrowheads lineattrs=(color=CXB22234 thickness=9pt); /* Grill legs (red) */
xaxis display=none offsetmin=.1 offsetmax=.1 values=(-1.2 1.2);  /* Suppress axes display */ 
yaxis display=none offsetmin=.1 offsetmax=.1 values=(-1.2 1.2);
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Sun, 03 Jul 2022 05:28:44 GMT</pubDate>
    <dc:creator>tc</dc:creator>
    <dc:date>2022-07-03T05:28:44Z</dc:date>
    <item>
      <title>Fun w/SAS ODS Graphics, 4th of July Stars-and-Stripes BBQ Grill</title>
      <link>https://communities.sas.com/t5/Graphics-Programming/Fun-w-SAS-ODS-Graphics-4th-of-July-Stars-and-Stripes-BBQ-Grill/m-p/821402#M22942</link>
      <description>&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="fourthofjulygrill.png" style="width: 480px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/72901i6BE3C1C9DB448F0C/image-size/large?v=v2&amp;amp;px=999" role="button" title="fourthofjulygrill.png" alt="fourthofjulygrill.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Have a great 4th of July&amp;nbsp; weekend, all!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;* Fun w/SAS ODS Graphics, 4th of July Stars-and-Stripes BBQ Grill;

data stars(keep=x y);                            /* Generate x/y points for white stars on blue background */
do y=-1.25 to 1.25 by .1; do x=-1.25 to 1.25 by .1; output; end; end;                                                                              

data top(keep=tp tx ty);                         /* Generate x/y points for top half of grill (blue) */
tp=1;                                            /* Polygon semi-circle points */
tx=-.95; ty=sqrt(1-tx**2); output;               /* Starting point - only .95 wide instead of 1 to leave room for text */                 
do tx=-.95 to .95 by .01; ty=sqrt(1-tx**2); output; end; /* points of semicircle */
tx=.95; ty=sqrt(1-tx**2); output;                /* End point */  
tx=-.95; ty=sqrt(1-tx**2); output;               /* Starting point - only .95 wide instead of 1 to leave room for text */                 

proc sql;                                        /* x/y points for bottom of grill (red) same as top, just negate y */
create table bottom as select tp as bp, tx as bx, -ty as by from top order by 2;
update top set ty=ty+.2;                         /* Adjust y-position of top/bottom up for text &amp;amp; legs */  
update bottom set by=by+.5;

data stripes(keep=sp sx sy);                     /* Generate x/y points for white stripes on red background */
sp=1; do y=.5 to -1.5 by -.2; sx=-1.2; sy=y; output; sx=1.2; output; sy+(-.1); output; sx=-1.2; output; end;  

data text;                                       /* Text to display in middle of grill */
txtx=0; txty=.35; txt="HAPPY 4TH OF JULY!"; 

data legs(keep=lx1 ly1 lx2 ly2);                 /* Generate pairs of x/y points for grill legs (red) */
lx1=-.3; ly1=-.425; lx2=-.7; ly2=-1.35; output;   /* Left leg */
lx1=.3; ly1=-.425; lx2=.7; ly2=-1.35; output;     /* Right leg */ 

data grillpoints;                                /* Merge all the points together */
set stars top bottom stripes text legs;
                                                 /* Let's plot a grill! (Polygon+Scatter+Series+Text+Vector Plots) */
ods graphics / antialias border height=5in width=5in;
proc sgplot data=grillpoints noautolegend noborder pad=0 nowall subpixel; 
symbolchar name=uniStar char='2605'x;            /* Unicode value for 5-pointed star */
inset "(*ESC*){unicode '03c0'x}" / noborder position=top textattrs=(size=30pt weight=bold color=CX3C3B6E); /* Use unicode PI symbol for "handle" */
polygon x=tx y=ty  id=tp / fill lineattrs=(color=CX3C3B6E)  fillattrs=(color=CX3C3B6E); /* Top of grill filled (blue) */                    
scatter x=x y=y / markerattrs=(symbol=unistar color=CXFFFFFF size=22pt); /* Stars (white) */    
series x=tx y=ty / lineattrs=(color=CX3C3B6E thickness=2pt); /* Top of grill outline (blue) */                      
polygon x=bx y=by id=bp / fill lineattrs=(color=CXB22234)  fillattrs=(color=CXB22234); /* Bottom of grill filled (red) */                    
polygon x=sx y=sy id=sp / fill lineattrs=(color=white)  fillattrs=(color=white); /* Stripes (white) */
series x=bx y=by / lineattrs=(color=CXB22234 thickness=2pt); /* Bottom of grill outline (red) */
text x=txtx y=txty text=txt / textattrs=(size=19pt weight=bold color=black); /* Happy 4th of July! text (black) */
vector x=lx1 y=ly1 / xorigin=lx2 yorigin=ly2 noarrowheads lineattrs=(color=CXB22234 thickness=9pt); /* Grill legs (red) */
xaxis display=none offsetmin=.1 offsetmax=.1 values=(-1.2 1.2);  /* Suppress axes display */ 
yaxis display=none offsetmin=.1 offsetmax=.1 values=(-1.2 1.2);
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 03 Jul 2022 05:28:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Graphics-Programming/Fun-w-SAS-ODS-Graphics-4th-of-July-Stars-and-Stripes-BBQ-Grill/m-p/821402#M22942</guid>
      <dc:creator>tc</dc:creator>
      <dc:date>2022-07-03T05:28:44Z</dc:date>
    </item>
  </channel>
</rss>

