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

ChicagoBearsWeightsByPosition.png

 

With the NFL preseason wrapping up, here's a SAS ODS Graphics bubble chart comparison of the weights of the Chicago Bears by position. Data is from the Bears' Depth Chart and Roster. Bear Down!

 

* Fun With SAS ODS Graphics: Weights of Chicago Bears Starters
   Data Source: Chicago Bears Depth Chart (as of 8/8/2023) and Roster
   chicagobears.com/team/depth-chart
   chicagobears.com/team/players-roster/;
   
data BearsStarters;                                     /* Read in players' position, name, weight, x/y position location */
infile cards dsd delimiter=',' missover;
input position : $2. player : $25. weight x y;
if substr(position,1,1)^='*';                           /* Skip "comments" in data */
if y>0 then do; positiontop=position; position=''; end; /* Defense? Display position on top, not bottom */
cards;
*==> DEFENSE, POSITION, WEIGHT, X, Y
DE,DeMarcus Walker,280,-2,0.5
DT,Justin Jones,309,-1,0.5
DT,Andrew Billings,311,1,0.5
DE,Yannick Ngakoue,246,2,0.5
LB,T.J. Edwards,242,3,1.5
LB,Tremaine Edmunds,250,0,1.5
LB,Jack Sanborn,234,-3,1.5
CB,Jaylon Johnson,196,-5,2.5
CB,Kyler Gordon,200,5,2.5
S,Eddie Jackson,206,-1,3.5
S,Jaquan Brisker,200,1,3.5
*==> OFFENSE, POSITION, WEIGHT, X, Y
WR,DJ Moore,210,-5,-0.5
LT,Braxton Jones,310,-2,-0.5
LG,Teven Jenkins,321,-1,-0.5
C,Cody Whitehair,316,0,-0.5
RG,Nate Davis,316,1,-0.5
RT,Darnell Wright,335,2,-0.5
TE,Cole Kmet,260,3,-0.5
WR,Darnell Mooney,173,5,-1.5
QB,Justin Fields,228,0,-1.5
RB,Khalil Herbert,212,1,-2.5
FB,Khari Blasingame,233,0,-2.5
WR,Chase Claypool,238,-4,-1.5
*==> SPECIAL TEAMS, POSITION, WEIGHT, X, Y
P,Trenton Gill,219,-5,-4.5
K,Cairo Santos,175,-4,-4.5
LS,Patrick Scales,226,-3,-4.5
H,Trenton Gill,219,-2,-4.5
KR,Velus Jones Jr.,200,-1,-4.5
PR,Velus Jones Jr.,200,0,-4.5
;
%SGANNO;                                                   /* Use SAS ODS Graphics annotate macros to add Bears logo to chart */                                          
data bearslogo;                                            /* Specify size of image and location in terms of x/y values */
%SGIMAGE (image="/home/ted.conway/bears.png",drawspace="DATAVALUE",x1=4.5,y1=-4.5,height=1.5,heightunit="DATA",anchor="CENTER");

ods graphics on / height=10in width=10in noborder;         /* Create chart of offensive/defensive formations and special teams players */
proc sgplot data=bearsstarters aspect=1 noborder nowall noautolegend sganno=bearslogo;
styleattrs backcolor=cx196f0c;                             /* Set background to "grass green" color */
inset "Chicago Bears Starting Players' Weights by Position" "(Source: 8/8 Depth Chart and Roster)" / textattrs=(color=white size=18pt) position=top valuealign=center; /* Display headings */
bubble x=x y=y size=weight / bradiusmax=.325in bradiusmin=.01 proportional nofill datalabel=positiontop datalabelpos=top datalabelattrs=(weight=bold size=8pt color=white) lineattrs=(color=white); /* Display defensive positions above bubbles */
bubble x=x y=y size=weight / bradiusmax=.325in bradiusmin=.01 proportional nofill datalabel=position datalabelpos=bottom datalabelattrs=(weight=bold size=8pt color=white) lineattrs=(color=white); /* Display offensive, special teams positions above bubbles */
bubble x=x y=y size=weight / bradiusmax=.325in bradiusmin=.01 proportional colormodel=(lightblue navy) colorresponse=weight datalabel=weight datalabelpos=center datalabelattrs=(weight=bold size=11pt color=white) lineattrs=(color=white); /* Display weights in bubbles that are sized/shaded by weight */
refline 0 / axis=y label="" labelloc=inside lineattrs=(color=white thickness=1.5pt); /* Draw a white 'line of scrimmage' */
refline 0 / axis=y label="DEFENSE" labelloc=inside labelpos=max lineattrs=(thickness=0) labelattrs=(weight=bold size=8pt color=white); /* Add Defense/Offense/Special Teams labels */ 
refline -.25 / axis=y label="OFFENSE" labelloc=inside labelpos=max lineattrs=(thickness=0) labelattrs=(weight=bold size=8pt color=white); 
refline -4 / axis=y label="SPECIAL TEAMS" labelloc=inside labelpos=min lineattrs=(thickness=0) labelattrs=(weight=bold size=8pt color=white); 
xaxis display=none values=(-5 5) offsetmin=.05 offsetmax=.05; /* Suppress axes, add a little padding space */
yaxis display=none values=(-5 5) offsetmin=.05 offsetmax=.05;
run;

SAS INNOVATE 2024

Innovate_SAS_Blue.png

Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.

If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website. 

Register 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.

Get the $99 certification deal.jpg

 

 

Back in the Classroom!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 0 replies
  • 322 views
  • 2 likes
  • 1 in conversation