<?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 With SAS ODS Graphics: Super Bowl LX Boxplot Matchup (Maye vs Darnold) in Graphics Programming</title>
    <link>https://communities.sas.com/t5/Graphics-Programming/Fun-With-SAS-ODS-Graphics-Super-Bowl-LX-Boxplot-Matchup-Maye-vs/m-p/983194#M25804</link>
    <description>&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SuperBowlLX.png" style="width: 999px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/113074i842ADA9BD2E58909/image-size/large?v=v2&amp;amp;px=999" role="button" title="SuperBowlLX.png" alt="SuperBowlLX.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;&lt;/P&gt;
&lt;P&gt;The New England Patriots' Drake Maye squares up against the Seattle Seahawks' Sam Darnold Sunday in Super Bowl LX, so here's a boxplot scouting report comparing the pair's passing yardages for the 2025-26 season. Go [&lt;EM&gt;your team here&lt;/EM&gt;]!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;* Fun With SAS ODS Graphics: Super Bowl LX QB Boxplot Tale of the Tape (Maye vs. Darnold)
  Football markers courtesy of Bruno Landowski thenounproject.com/icon/football-243375/
  NFL QB stats/images courtesy of ESPN.com, Super Bowl LX logo courtesy of Wikipedia;

proc import file='~/superbowl_lx_qbs.xlsx' dbms=xlsx out=qb replace; * Grab 2025-26 regular and postseason QB stats (copied-and-pasted from ESPN.com); 
 
%SGANNO;     * Use SAS-provided macros to annotate chart with ESPN.com photos of Maye+Darnold and Super Bowl LX logo from Wikipedia;         
data qbpics;
%SGIMAGE (image="/home/ted.conway/drakemaye.png",drawspace="DATAVALUE",xc1="Drake Maye",y1=-38,height=112,heightunit="DATA",anchor="BOTTOM");
%SGIMAGE (image="/home/ted.conway/samdarnold.png",drawspace="DATAVALUE",xc1="Sam Darnold",y1=-38,height=118,heightunit="DATA",anchor="BOTTOM");
%SGIMAGE (image="/home/ted.conway/Super_Bowl_LX_Logo.svg.png",imagescale="fitheight",layer="back",drawspace="datapercent",x1=52,y1=50,height=418,anchor="center",transparency=.75);
  
proc sql;    * Add yard labels for only highest and lowest passing yardage games;
create table qb3 as select qb.*, case when yds=minyds or yds=maxyds then Yds end as Ydsminmax
from qb join (select qb, min(yds) as minYds, max(yds) as maxYds from qb group by 1) as qb2 on qb.qb=qb2.qb order by qb;

ods graphics / reset noborder imagefmt=svg; * Generate annotated box + scatter plots of passing yardage in each game of 2025-26 season (regular + playoffs); 
proc sgplot data=qb3 noautolegend sganno=qbpics noborder nowall;  
inset "SUPER BOWL LX" / textattrs=(size=15pt weight=bold) position=top;
symbolimage name=football image='/home/ted.conway/football.png'; * Use football image for scatterplot markers;
scatter y=YDS x=QB / datalabel=Ydsminmax datalabelpos=left datalabelattrs=(size=9pt color=black weight=bold) markerattrs=(symbol=football size=24pt) transparency=0; * Markers with passing yards in each game;
vbox YDS / category=QB boxwidth=.25 nofill meanattrs=(color=red symbol=diamondfilled) ; * Boxplot to show distributions (quartiles + mean);
xaxis display=(noline noticks nolabel) discreteorder=data valueattrs=(size=12pt color=black weight=bold); 
yaxis display=all label="PASSING YDS 2025-26 REGULAR SEASON + PLAYOFF GAMES" valueattrs=(weight=bold color=black) min=-40 offsetmin=0;
inset "QB" "PASSING" "MATCHUP" / valuealign=center textattrs=(size=14pt weight=bold) position=bottom;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;SCREENSHOT - INPUT DATA FROM ESPN.COM&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="DarnoldMayeStats.png" style="width: 999px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/113075i513A61C34D50E944/image-size/large?v=v2&amp;amp;px=999" role="button" title="DarnoldMayeStats.png" alt="DarnoldMayeStats.png" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
    <pubDate>Sun, 08 Feb 2026 00:27:12 GMT</pubDate>
    <dc:creator>tc</dc:creator>
    <dc:date>2026-02-08T00:27:12Z</dc:date>
    <item>
      <title>Fun With SAS ODS Graphics: Super Bowl LX Boxplot Matchup (Maye vs Darnold)</title>
      <link>https://communities.sas.com/t5/Graphics-Programming/Fun-With-SAS-ODS-Graphics-Super-Bowl-LX-Boxplot-Matchup-Maye-vs/m-p/983194#M25804</link>
      <description>&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SuperBowlLX.png" style="width: 999px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/113074i842ADA9BD2E58909/image-size/large?v=v2&amp;amp;px=999" role="button" title="SuperBowlLX.png" alt="SuperBowlLX.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;&lt;/P&gt;
&lt;P&gt;The New England Patriots' Drake Maye squares up against the Seattle Seahawks' Sam Darnold Sunday in Super Bowl LX, so here's a boxplot scouting report comparing the pair's passing yardages for the 2025-26 season. Go [&lt;EM&gt;your team here&lt;/EM&gt;]!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;* Fun With SAS ODS Graphics: Super Bowl LX QB Boxplot Tale of the Tape (Maye vs. Darnold)
  Football markers courtesy of Bruno Landowski thenounproject.com/icon/football-243375/
  NFL QB stats/images courtesy of ESPN.com, Super Bowl LX logo courtesy of Wikipedia;

proc import file='~/superbowl_lx_qbs.xlsx' dbms=xlsx out=qb replace; * Grab 2025-26 regular and postseason QB stats (copied-and-pasted from ESPN.com); 
 
%SGANNO;     * Use SAS-provided macros to annotate chart with ESPN.com photos of Maye+Darnold and Super Bowl LX logo from Wikipedia;         
data qbpics;
%SGIMAGE (image="/home/ted.conway/drakemaye.png",drawspace="DATAVALUE",xc1="Drake Maye",y1=-38,height=112,heightunit="DATA",anchor="BOTTOM");
%SGIMAGE (image="/home/ted.conway/samdarnold.png",drawspace="DATAVALUE",xc1="Sam Darnold",y1=-38,height=118,heightunit="DATA",anchor="BOTTOM");
%SGIMAGE (image="/home/ted.conway/Super_Bowl_LX_Logo.svg.png",imagescale="fitheight",layer="back",drawspace="datapercent",x1=52,y1=50,height=418,anchor="center",transparency=.75);
  
proc sql;    * Add yard labels for only highest and lowest passing yardage games;
create table qb3 as select qb.*, case when yds=minyds or yds=maxyds then Yds end as Ydsminmax
from qb join (select qb, min(yds) as minYds, max(yds) as maxYds from qb group by 1) as qb2 on qb.qb=qb2.qb order by qb;

ods graphics / reset noborder imagefmt=svg; * Generate annotated box + scatter plots of passing yardage in each game of 2025-26 season (regular + playoffs); 
proc sgplot data=qb3 noautolegend sganno=qbpics noborder nowall;  
inset "SUPER BOWL LX" / textattrs=(size=15pt weight=bold) position=top;
symbolimage name=football image='/home/ted.conway/football.png'; * Use football image for scatterplot markers;
scatter y=YDS x=QB / datalabel=Ydsminmax datalabelpos=left datalabelattrs=(size=9pt color=black weight=bold) markerattrs=(symbol=football size=24pt) transparency=0; * Markers with passing yards in each game;
vbox YDS / category=QB boxwidth=.25 nofill meanattrs=(color=red symbol=diamondfilled) ; * Boxplot to show distributions (quartiles + mean);
xaxis display=(noline noticks nolabel) discreteorder=data valueattrs=(size=12pt color=black weight=bold); 
yaxis display=all label="PASSING YDS 2025-26 REGULAR SEASON + PLAYOFF GAMES" valueattrs=(weight=bold color=black) min=-40 offsetmin=0;
inset "QB" "PASSING" "MATCHUP" / valuealign=center textattrs=(size=14pt weight=bold) position=bottom;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;SCREENSHOT - INPUT DATA FROM ESPN.COM&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="DarnoldMayeStats.png" style="width: 999px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/113075i513A61C34D50E944/image-size/large?v=v2&amp;amp;px=999" role="button" title="DarnoldMayeStats.png" alt="DarnoldMayeStats.png" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 08 Feb 2026 00:27:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Graphics-Programming/Fun-With-SAS-ODS-Graphics-Super-Bowl-LX-Boxplot-Matchup-Maye-vs/m-p/983194#M25804</guid>
      <dc:creator>tc</dc:creator>
      <dc:date>2026-02-08T00:27:12Z</dc:date>
    </item>
  </channel>
</rss>

