Thanks to visit codestin.com
Credit goes to github.com

Skip to content

πŸ“· MatplotlibMasterPro is a complete, portfolio-ready project to master data visualization using matplotlib. Includes 16 notebooks, real datasets, exportable plots, custom themes, Streamlit dashboard, and Docker support. Ideal for learners and data professionals.

License

Notifications You must be signed in to change notification settings

SatvikPraveen/MatplotlibMasterPro

πŸ“Š MatplotlibMasterPro

License: GPL v3 Python Jupyter Notebooks Matplotlib Focused Project Status Open Source Dashboard Ready Animations Streamlit Compatible Portfolio Project Contributions


🧠 Project Overview

MatplotlibMasterPro is a complete, portfolio-grade project designed to master data visualization using matplotlib.pyplot.
It’s structured to serve both as a:

  • πŸ“˜ Self-paced learning notebook series
  • πŸ’Ό Professional showcase project

Whether you’re revisiting fundamentals or creating complex dashboards β€” this project brings it all together in one place.


πŸ“ Project Structure

MatplotlibMasterPro/
β”œβ”€β”€ notebooks/               # Step-by-step concept notebooks
β”œβ”€β”€ utils/                   # Plotting utility scripts
β”œβ”€β”€ cheatsheets/             # Markdown/PDF visual guides
β”œβ”€β”€ datasets/                # Toy + Realistic datasets
β”œβ”€β”€ exports/                 # Exported plots and dashboards
β”œβ”€β”€ streamlit_app.py         # Streamlit dashboard viewer
β”œβ”€β”€ requirements.txt         # Minimal dependencies to run the project
β”œβ”€β”€ requirements_dev.txt     # Full dev environment
β”œβ”€β”€ Dockerfile               # Dockerized Jupyter environment
β”œβ”€β”€ .dockerignore            # Docker ignore rules
β”œβ”€β”€ .gitignore               # Git ignore rules
β”œβ”€β”€ README.md
└── LICENSE

πŸ“š Notebooks Roadmap

Notebook Description
01_line_plot.ipynb Basics of plot(), labels, legend
02_bar_scatter.ipynb Bar charts and scatter plots
03_histogram_pie.ipynb Distributions and pie charts
04_subplots_axes.ipynb Subplotting and axes control
05_customization.ipynb Colors, linestyles, themes
06_advanced_plots.ipynb Log plots, heatmaps, fill areas
07_annotations.ipynb Labels, arrows, text, highlights
08_images_and_grids.ipynb imshow, matshow, grids
09_interactive.ipynb Widgets, sliders, %matplotlib notebook
10_export_style.ipynb Save figures, DPI, formats, themes
11_composite_plots.ipynb Layered plots, twin axes, broken axes
12_inset_zoom.ipynb Inset plots, zoomed views, anchored boxes
13_comparative_plots.ipynb Grouped bars, stacked areas, side-by-side views
14_colormaps_themes.ipynb Colormaps, gradients, diverging schemes
15_timeseries.ipynb Time-series: trends, seasonal cycles
16_dashboards.ipynb Multi-panel dashboards using subplots, gridspec

πŸ“Έ Sample Visualizations

Here are two dashboards from the project:

🧩 Gridspec Dashboard
Advanced layout using GridSpec for flexible placement

πŸͺŸ Subplots Layout
Subplots with shared axes and tight layout for cleaner visuals

🎞️ Animated Visualizations

Here are animated visualizations exported from the project:

πŸ§ͺ Datasets Created and Used

Filename Description
sales_data.csv Monthly product-wise sales and revenue
covid_cases.csv Cumulative COVID-19 cases across U.S. states
stock_prices.csv OHLC & volume for multiple stock tickers
weather_data.csv Daily city-level temperature and humidity

All datasets are generated using pandas and numpy, and stored under datasets/.


πŸ› οΈ Utilities

  • utils/plot_utils.py β€” Custom plot wrappers (comparative, themed, exportable)
  • utils/theme_utils.py β€” Reusable themes like dark, minimal, and corporate

🧾 Cheatsheets

Quick-reference syntax guides available at:


🌐 Streamlit App

Explore exported dashboards interactively:

streamlit run streamlit_app.py

Or via Docker:

docker build -t matplotlibmasterpro .
docker run -p 8501:8501 matplotlibmasterpro

🐳 Dockerized Setup

Run a fully isolated Jupyter + Streamlit environment with ease.

# Build the container
docker build -t matplotlibmasterpro .

# Launch Jupyter
docker run -p 8888:8888 matplotlibmasterpro

Tokenless access enabled by default. Use --rm -d to run in background.


πŸš€ Future Enhancements

  • Streamlit integration for dashboard browsing
  • JupyterLab with Docker
  • PDF report export
  • Pip-installable library version

πŸ’Ό License

This project is licensed under the GNU General Public License v3.0. See the LICENSE file for more details.


πŸ™Œ Contributing

Want to contribute?

  • βœ… Fork the repo
  • πŸ”§ Create a feature branch
  • πŸ” Submit a PR with your improvements
  • πŸ› Open issues for bugs or suggestions

About

πŸ“· MatplotlibMasterPro is a complete, portfolio-ready project to master data visualization using matplotlib. Includes 16 notebooks, real datasets, exportable plots, custom themes, Streamlit dashboard, and Docker support. Ideal for learners and data professionals.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages