Matplotlib Training Course: A 40-day comprehensive bootcamp on data visualization using real CHIRPS satellite rainfall data for Ethiopia (1981-2022)
# Matplotlib Training Course
A comprehensive **40-day Matplotlib bootcamp** taking learners from beginner to advanced level through hands-on projects using real-world climate and environmental datasets.
## Features
- **40 structured lessons** covering everything from basics to publication-quality figures
- **Real-world datasets** — CHIRPS rainfall data (1981–2022) for Ethiopia
- **Jupyter Notebooks** + **Python scripts** for every lesson
- **MyST documentation** website hosted on GitHub Pages
- **Typst-generated eBook** for offline study
- **Exercises, quizzes, and mini-projects** with solutions
- **Capstone project** building a complete visualization portfolio
- **GitHub Actions** for automated testing and deployment
## Prerequisites
- Python 3.10+
- Basic programming knowledge
- No prior Matplotlib experience required
## Quick Start
```bash
# Clone the repository
git clone
github.com
cd matplotlib-training
# Create a virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Launch Jupyter
jupyter notebook
```
Start with `notebooks/01_introduction_to_visualization.ipynb`.
## Course Outline
| Week | Module | Topics |
|------|--------|--------|
| 1 | Introduction & Setup | Visualization principles, Python setup, Jupyter basics |
| 2 | Matplotlib Fundamentals | Figure, Axes, pyplot, basic charts |
| 3 | Styling & Customization | Colors, markers, themes, labels, legends |
| 4 | Axes & Subplots | Axis limits, ticks, scales, GridSpec, insets |
| 5 | Statistical & Scientific Viz | Box plots, heatmaps, contours, surfaces |
| 6 | Time Series & Geospatial | Date axes, rolling stats, maps, rainfall data |
| 7 | NumPy, Pandas & Advanced | DataFrame plotting, OOP interface, animations |
| 8 | Projects & Capstone | Real-world dashboards, portfolio building |
## Dataset
The course uses CHIRPS (Climate Hazards Group I …