More player analysis with gganimate()

This post continues the analysis of IPL and T20 (men) batsmen and bowlers through animated charts. In my last post Analyzing player performance with animated charts! I had used animated horizontal bars to display the totalRuns or totalWickets over a 3 year ‘sliding window’. While that was cool, the only drawback of that animation was the batsman and bowler performance was measured in a single dimension of either total(mean) runs or total(mean) wickets.

I think to fairly describe batsmen and bowlers we need at least the following 2 attributes

  • Runs and Strike rate for batsmen and
  • Wickets and Economy rate for bowlers

So, I have created new animation charts which use these attributes for batsmen and bowlers.

The animated charts are

  • Based on a sliding window of 3 years (Jan 2008- Dec 2010, Jan 2009-Dec 2010,…, Jan 2019-Dec 2021)
  • I have taken the top 10 percentile and sometimes the top 5 percentile of batsmen and bowlers to keep the charts more manageable
  • The charts are based on gganimate().

Note 1: I tried several options for the animation before settling on this one. The animation may seem a bit jerky but, we can follow the progress of players more easily through the years

Note 2: Some charts may display points, without the corresponding names. I think this may be because the animation tries to create intermediate points between the charts.

Note 3: For fine-grained, but static analysis across different intervals or seasons, checkout my my posts GooglyPlusPlus2021 now with power play, middle and death over analysis and GooglyPlusPlus2021: Towards more picturesque analytics!

The code for the animation can be cloned from Github at animation2. Feel free to modify the parameters for a different animation behavior.

Here are performances of IPL and T20 (men) players. Note all charts are based on a 3 year staggered window. The Top 10 percentile is considered

  1. Runs vs SR – IPL

We can that Shikhar Dhawan is a top performer for 4 years from 2018-2021. He definitely deserved a slot in the India WC 15 member squad.

2. Wickets vs ER – IPL

Similarly, YS Chahal also deserved a slot in the 15 member sqad

3. Runs vs SR in Power play – IPL

S Dhawan, De Kock & KL Rahul are the best players in Power play

4. Runs vs Strike rate in Middle overs – IPL

Rishabh Pant, Shreyas Iyer,Sanju Samson and KL Rahul are best performers in Middle overs

5.Runs vs SR in Death overs – IPL

It is MS Dhoni all the way, till Hardik Pandya catches up. But H Pandya had poor IPL seasons in 2020, 2021. See my post GooglyPlusPlus2021: Towards more picturesque analytics! for finer analysis

6. Wickets vs ER in Power play – IPL

In the early years B. Kumar led. More recently D Chahar and T Boult

7. Wickets vs ER in Middle overs – IPL

YS Chahal, Rashid Khan, Imran Tahir and Rahul Chahar lead in Middle overs

8. Wickets vs ER in Death overs – IPL

Bumrah & Rabada top performers

9. Runs vs SR – T20 (men)

Babar Azam, PR Stirling, Rohit Sharma, S Dhawan, KL Rahul are best performers in recent times

10. Wickets vs ER – T20 (men)

Wanindu Hasaranga, T Shamsi, Shadab Khan, Rashid Khan, T Boult are best performers in recent times

11. Runs vs SR in Power Play – T20 (men)

PR Stirling, RG Sharma, C Munro, Shikhar Dhawan lead

12. Runs vs SR in Middle overs – T20 (men)

Babar Azam, followed by Kohli, S Dhawan, Rizwan, RG Sharma in recent years

13. Runs vs SR in Death overs – T20 (men)

Shoaib Malik, V Kohli, Mohamed Nabi. Mohammed Rizwan and other top the death overs

14. Wickets vs ER in Power play (T20 men)

TG Southee, Mujeeb Ur Rahman and B Stanlake lead in recent years

15. Wickets vs ER in Middle overs – T20 (men)

Top bowlers are Shadab Khan, T Shamsi, Kuldeep Yadav, YS Chahal and AC Agar

16. Wickets vs ER in Death overs – T20 (men)

Haris Rauf, AJ Tye, Rashid Khan and Chris Jordan excel in death overs

You may also like

  1. Re-introducing cricketr! : An R package to analyze performances of cricketers
  2. Cricketr adds team analytics to its repertoire!!!
  3. Pitching yorkpy … short of good length to IPL – Part 1
  4. yorkr rocks women’s One Day International (ODI) and International T20!!
  5. Big Data-5: kNiFi-ing through cricket data with yorkpy
  6. Using Linear Programming (LP) for optimizing bowling change or batting lineup in T20 cricket
  7. Introducing cricpy:A python package to analyze performances of cricketers
  8. Benford’s law meets IPL, Intl. T20 and ODI cricket
  9. GooglyPlusPlus2021 is now fully interactive!!!
  10. Sixer – R package cricketr’s new Shiny avatar

To see all posts click Index of posts

Analyzing player performance with animated charts!

Analytics is by definition, the science (& art) of identifying, discovering and interpreting patterns in data. There are different ways of capturing these patterns through charts (bar, pie, cumulative data, moving average etc.). One such way is the motion or animated chart which captures the changes in data across different time periods. This was made famous by Hans Rosling in his Gapminder charts.

In this post, I use animated charts, based on gganimate(), to display the rise and fall of batsmen and bowlers in IPL and Intl. T20 (men). I only did this for these 2 formats as they have sufficient data over at least 10+ years.

To construct these animated charts, I use a ‘sliding window’ of 3 years, so that we get a clearer view of batsman and bowler consistency. The animated charts show the performance of players for this moving window for e.g. Jan 2008- Dec 2010, Jan 2009-Dec 2011, Jan 2010- Dec 2012 and so on till Jan 2019- Dec 2021. This is done for both batting( total runs) and bowling (total wickets). If you would like to analyse the performance of particular batsmen, bowler during specific periods or for a team vs another team or in the overall T20 format, check out my post GooglyPlusPlus2021: Towards more picturesque analytics!

You clone/fork the code from Github here animation.

Note: This code is based on a snippet from this blog How to create animations in R with gganimate by Ander Fernandez Jauregui

Included below are the animated charts.

Important note: The year which is displayed on the side actually represents the last 3 years, for e.g. 2015 (2013, 2014, 2015) or 2019 (2017, 2018, 2019)

  1. IPL Batting performance

We can see that Kohli stays in the top 3 from 2015-2019

2. IPL Bowling performance

Malinga ruled from 2010- 2015. Bumrah is in top 3 from 2019-2021

3. IPL Batting in Power play

Adam Gilchrist, Tendulkar, Warner, KL Rahul, Shikhar Dhawan have a stay at the top

4. IPL Batting in Middle overs

Rohit Sharma, Kohli, Pant have their stay at the top

5. IPL Batting Death overs

MS Dhoni is lord and master of the death overs in IPL for a rolling period of 10 years from 2011-2020. No wonder, he is the best finisher of T20 cricket

6. IPL Bowling Power Play

Bhuvanesh Kumar is in top 3 from 2014-2018 and then Deepak Chahar

7. IPL Bowling Middle overs

Toppers Harbhajan Singh, YS Chahal, Rashid Khan

8. IPL Bowling Death overs

SL Malinga, B. Kumar, JJ Bumrah and Rabada top the list across the years

9. T20 (men) Batting performance

Kohli, Babar Azam, P R Stirling are best performers

10. T20 (men) bowling performance

Saaed Ajmal tops from 2010-2014 and Rashid Khan 2018-2020

11. T20 (men) batting Power play

Shahzad, D Warner, Rohit Sharma, PR Stirling best performers

12. T20 (men) batting middle overs

Babar Azam is the best middle overs player from 2018-2021

13. T20(men) batting death overs

MS Dhoni, Shoaib Malik, V Kohli, David Miller are the best death over players

14. T20 (men) bowling Power play

Mohammad Nabi, Mujeeb ur Rahman, TG Southee are the best bowlers in power play

15. T20 (men) bowling middle overs

Imran Tahir from 2015-2017, Shadab Khan from 2018-2020, T Shamsi in 2021 top the tables

16. T20 (men) bowling death overs

Saaed Ajmal, A J Tye, Bumrah, Haris Rauf occupy the top slot in different periods

Also see

  1. Experiments with deblurring using OpenCV
  2. Using Reinforcement Learning to solve Gridworld
  3. Deep Learning from first principles in Python, R and Octave – Part 8
  4. Big Data-4: Webserver log analysis with RDDs, Pyspark, SparkR and SparklyR
  5. The Anomaly
  6. Practical Machine Learning with R and Python – Part 3
  7. Using Linear Programming (LP) for optimizing bowling change or batting lineup in T20 cricket
  8. Introducing cricpy:A python package to analyze performances of cricketers

To see all posts click Index of posts