Publication-Ready Data Visualizations on IPL Matches & Deliveries (2008–2022)
Personal Data Science Portfolio Project
This project transforms 15 seasons of raw IPL data (2008–2022) into compelling, publication-ready visualizations. Each chart is carefully designed to tell a clear data story — revealing hidden patterns in team performance, player stats, toss decisions, and season trends.
- Transform raw IPL data into compelling visual stories
- Design clear and impactful charts for decision-making
- Reveal hidden patterns through advanced visualizations
- Build a strong portfolio with well-designed, publication-ready plots
| # | Visualization | Chart Type |
|---|---|---|
| 1 | Top 10 Teams — All-Time Wins | Horizontal Bar Chart |
| 2 | Season-wise Matches & Teams Trend | Dual-axis Line + Area Chart |
| 3 | Toss Analysis — Decision & Win Rate | Pie + Grouped Bar Chart |
| 4 | Top 10 Batsmen — Runs & Strike Rate | Dual-axis Bar Chart |
| 5 | Top 10 Bowlers — Wickets & Economy | Dual-axis Bar Chart |
| 6 | Venue Performance Analysis | Bar Chart |
| 7 | Season-wise Run Rate Trends | Line Chart |
| 8 | Dismissal Types Distribution | Pie + Bar Chart |
- 🎨 Custom color palettes using Seaborn & Matplotlib
- 📐 Dual-axis charts for comparing two metrics simultaneously
- 📊 Annotated bars with exact values for clarity
- 🖼️ High-resolution exports (150 DPI) for portfolio use
- 🎭 Publication-ready styling with whitegrid theme
| Technology | Purpose |
|---|---|
| Python 3.8+ | Core programming language |
| Pandas | Data manipulation & aggregation |
| NumPy | Numerical operations |
| Matplotlib | Base visualization & figure control |
| Seaborn | Statistical & styled visualizations |
| matplotlib.ticker | Axis formatting |
| matplotlib.patches | Custom legends & annotations |
| File | Description | Size |
|---|---|---|
matches.csv |
Match-level data (2008–2022) | 950+ rows |
deliveries.csv |
Ball-by-ball delivery data | 200,000+ rows |
Dataset Source: Kaggle — IPL Complete Dataset
git clone https://github.com/rakesh4407/ipl-data-visualization
cd ipl-data-visualization
pip install pandas numpy matplotlib seaborn
# Update file paths in notebook
jupyter notebook IPL_DataVisualization.ipynb1. Open IPL_DataVisualization.ipynb in Google Colab
2. Upload matches.csv and deliveries.csv
3. Run all cells — charts save automatically as PNG
- 🏆 Mumbai Indians dominates with highest all-time win count
- 📅 IPL expanded from 58 matches in 2008 to 74 matches in recent seasons
- 🎲 Teams choosing to field first win slightly more often than batting first
- 🏏 Top batsmen show high runs + high strike rates — consistent elite performers
- 🎳 Top bowlers maintain low economy rates despite taking most wickets
All charts are saved as high-resolution PNG files:
viz1_team_wins.png
viz2_season_trend.png
viz3_toss_analysis.png
viz4_top_batsmen.png
viz5_top_bowlers.png
Rakesh G
BCA (H) — Artificial Intelligence & Data Science
K.R. Mangalam University, New Delhi | CGPA: 9.22/10
Dean's Award Recipient | IBM Certified Data Scientist
python data-visualization matplotlib seaborn ipl cricket pandas sports-analytics data-science charts portfolio
⭐ If you found this useful, please star this repository!