Category Archives: small multiple

Cubs Historically Efficient

scat_mlb_rp10h_runs_xseason_20160704

These scatter plots show the average runs per 10 hits vs average runs for MLB teams. Each of the small multiples represents a season starting with 2005 in the upper left through 2016 (through July 4) in the lower right.

The highest average runs per game was achieved by the Yankees in 2007.

The most outstanding team over this time period was the 2015 Blue Jays.

The scatter plot for 2016 at the lower right shows that the Cubs are on pace to set the highest runs per hit efficiency in more than 10 years and that Atlanta and the Royals are near the historic futility of the 2013 Marlins and the 2010 Mariners.

This matplotlib graphic was made at SportsDatabase.com
with the SDQL

A(runs),A(10*runs)/A(hits),Replace(team),R(season)@team and season|$1 as Runs,$2 as Runs Per 10 Hits,$3@$4 and ($4>2004) as ‘Runs per 10 Hits vs Runs\nMLB Teams since 2005’?marker_size=38&width=1600

Guard v Forward FanDuel Fantasy Points for Each NBA Team

Guard v Forward Fantasy Points
Guard v Forward Fantasy Points

This set of small multiple scatter plots shows the guard’s v forward’s fantasy points for each NBA team through Nov 22, 2015. Each scatter plot show the performance of a team. The horizontal position of each dot gives the total fantasy points for that team’s starting forwards and the vertical position that for the starting guards.

The Hornets in the upper left show the most negative correlation: when the guards get a lot of fantasy points the forwards get few. At the other extreme in the lower right the Nuggets show the most positive correlation: when their guards do well so do their forwards.

Also notable is the relatively tight correlation (seen by the narrow shaded region of normalcy) for the Jazz, Thunder and Grizzlies and that the Wizard’s Forwards are most consistent in their Fantasy output.

How might this inform your Fantasy choices?

This matplotlib graphic was made at SportsDatabase.com with the SDQL

S(FP@position=F and date and team) as Forwards,S(FP@position=G and date and team) as Guards,R(team) @ season=2015 and team and date|$1,$2@$3 as ‘Guard v Forward Fantasy Points\n all NBA teams in 2015’?polyfit=1&transparency=0.3&polyfit_show=0&marker_size=10&symmetric=1

Guard v Forward Fantasy Points for NBA teams in 2014

scatter_nbap_forwardsFP_guardsFP_2014
These scatter plots show the combined fantasy points of the starting guards v combined fantasy points of the starting forward for each NBA player-game in 2014: that is, each dot represents player performance in a single game.
This matplotlib graphic was made at SportsDatabase.com
with the SDQL

S(FP@position=F and date and team) as Forwards,S(FP@position=G and date and team) as Guards,R(team) @ season =2014 and team and date|$1,$2@1 as ‘Guard v Forward Fantasy Points\n all NBA teams in 2014’?polyfit=3&transparency=0.3&polyfit_show=0

A small change of the SDQL breaks this relationship down by team.
scatter_nbap_forwardsFP_guardsFP_xteam_2014

This matplotlib graphic was made at SportsDatabase.com
with the SDQL

S(FP@position=F and date and team) as Forwards,S(FP@position=G and date and team) as Guards,R(team) @ season =2014 and team and date|$0001,$2@$3 as ‘Guard v Forward Fantasy Points\n all NBA teams in 2014’?polyfit=2&transparency=0.3

Final Margin vs Points Scored for NBA teams through January 2015

Final Margin vs Points Scored for NBA teams through January 2015
Final Margin vs Points Scored for NBA teams through January 2015

This set of small multiples shows the Final Margin vs Points Scored for NBA teams through January 2015.

Also shown is the linear fit with (tightly spaced) error bars.

Teams in the bottom row do better in higher scoring games.

Teams at the top not so much.

The half-circle icons at the small multiple edges make extrema easy to spot.

The Pelican have the highest score of the season at 140; the Pelican the lowest with 65.

The largest margin was 53 when the Mavs beat the 76ers.

This matplotlib graphic was made at SportsDatabase.com
with the SDQL

points,margin@self.nice_team(team) and (season=2014) as ‘Final Margin vs Points ScorednNBA teams through January 2015’?polyfit=1&polyfit_show=1&transparency

How Long Royals Starters Lasted in 2014

How Long Royals Starters Lasted in 2014
How Long Royals Starters Lasted in 2014

This set of small multiple histograms shows the distribution of how long each of the Royals starters lasted in 2014.

The finger-like structure is due to starters often being pulled after a complete number of innings.

Shields lasted mostly for 7 or 6 full innings and was only knocked out before the 5th one time.

Shields, Vargas and Guthrie each had one complete game.

This matplotlib graphic was made at SportsDatabase.com
with the SDQL

int(3*innings pitched) as Outs @ name and (team=Royals and season=2014 and order=1 and name[0] not in ‘AL’) as ‘How Long Royals Starters Lasted in 2014’?height=500

Points v Assists for NBA Teams Through Jan 20, 2015

Points v Assists for NBA Teams Through Jan 20, 2015
Points v Assists for NBA Teams Through Jan 20, 2015

This set of scatter plots show points v assists for each NBA team.

Also given is the linear fit with estimated errors shown as shaded regions.

The Raptors points scales the least with assists: that is, the score about the same over a range of assists.

At the opposite end of the spectrum, the Thunder stick way out with 2.2 points per assist.

This matplotlib graphic was made at SportsDatabase.com
with the SDQL

assists, points @ self.nice_team(team) and (season=2014) as ‘Points v AssistsnNBA teams through Jan 20, 2015’?polyfit=1&polyfit_show=1

Points Differential v Scored for NFL Teams in 2014

Points Differential v Scored for NFL Teams in 2014
Points Differential v Scored for NFL Teams in 2014

The set of small multiples shows points differential v points scored.

This is kind of fun since the horizontal arrangement of the small multiples works as a time series (by week).

It is also a nice prototype for a box-plot where the ‘inner x-axis’ means something.

Although Points Scored is barely differentiated with the x-axes so skinny, one discerns the correct ordering of the top 4: Patriots, Packers, Colts, Seahawks.

This matplotlib graphic was made at SportsDatabase.com
with the SDQL

S(points),S(points-o:points),Replace(team),Replace(week)@team and week<2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22 and season=2014|$1 as Points Scored,$2 as Points Scored – Points Allowed,$3@$4 and 1 as 'Points Differential v. Points Scored NFL 2014'?marker_size=20&polyfit=1&polyfit_linewidth=0.3&polyfit_show=0&columns=20&polyfit_sort=0&xticks=-1&ysymmetric&marker_size=34&polyfit_error_scale=0&width=700&height=500

Points Scored v Points Allowed Remaining NFL Teams 2014

Points Scored v Points Allowed Remaining NFL Teams 2014
Points Scored v Points Allowed Remaining NFL Teams 2014

This set of scatter plots shows the points scored v allowed for the four remaining NFL teams.

The icons are the opponents in each game of the the 2014 season.

Also shown is the linear fit.

Markers above the lower-left to upper-right diagonal represent wins.

The Packers have the widest range of points scored; the Colts the widest range of points allowed; the Seahawks are the most consistent in both categories.

This matplotlib graphic was made at SportsDatabase.com
with the SDQL

o:points as Points Allowed,points as Points Scored,o:team@team and (season=2014 and team in [Seahawks,Patriots,Packers,Colts]) as ‘Points Scored v Points Allowednremaining NFL teams 2014’?symmetric&marker_size=30&polyfit=1&polyfit_error_scale=0

Points Allowed v Points Scored for NFL Teams Broken Down by Playoffs

Points Allowed v Points Scored for NFL Teams Broken Down by Playoffs
Points Allowed v Points Scored for NFL Teams Broken Down by Playoffs

This scatter plot shows the points allowed v points scored for NFL teams broken down by playoffs.

The Seahawks won with steady defense and an extra (defensive) TD.

The Patriots put up big points to win.

The Colts tighten up their defense and the Packers just squeeze by.

This matplotlib graphic was made at SportsDatabase.com
with the SDQL

A(points),A(o:points),Replace(team),Replace(playoffs)@team and playoffs and season=2014 and team in [Ravens, Cowboys,Seahawks, Panthers,Broncos, Packers,Colts,Patriots]|int($1) as Points Scored,int($2) as Points Allowed,$3@($4*’Playoffs’ or ‘Regular Season’) as ‘Points Allowed v PointsnNFL teams 2014 season’?polyfit=3&polyfit_error_scale=0.00000&marker_size=80&columns=1&symmetric

Points Allowed v Points Scored for NFL 2nd Rounds Playoff Teams in 2014

Points Allowed v Points Scored for NFL 2nd Rounds Playoff Teams in 2014
Points Allowed v Points Scored for NFL 2nd Rounds Playoff Teams in 2014

This small small-multiple of scatter plots show the points allowed v points scored for NFL 2nd rounds playoff teams in the 2014 season.

Whimsical 3rd order polynomial fits are also given.

The Cowboys score more on the road.

The Packers have the larges home/away difference: they love Lambeau field.

The Colts and Panthers defense suffer on the road.

The Seahawks show the least dependence on site.

This matplotlib graphic was made at SportsDatabase.com
with the SDQL

A(points),A(o:points),Replace(team),Replace(site)@team and site and season=2014 and playoffs=0 and team in [Ravens, Cowboys,Seahawks, Panthers,Broncos, Packers,Colts,Patriots]|int($1) as Points Scored,int($2) as Points Allowed,$3@$4 as ‘Points Allowed v PointsnNFL teams 2014 regular season’?polyfit=3&polyfit_error_scale=0.000002&marker_size=80&columns=1