SeabornMasterPro is an open-source, end-to-end visualization mastery project built to help you learn, recall, and reuse Seaborn effectively β from plotting basics to dashboard-level visual storytelling.
π― Ideal for:
- Learners who want structured notebooks and projects
- Practitioners who want reusable utilities and themes
- Professionals who need dashboards, cheatsheets, and reproducible setups
Hereβs a glimpse into the Seaborn visualizations and dashboards created in this project:
Powered by
streamlit_app.py, this dashboard provides real-time interaction with synthetic datasets.
Plots generated using
notebooks/05_realworld_EDA.ipynband reusable functions fromplot_utils.py.
By working through this project, you'll be able to:
- π Visualize structured data with Seabornβs full plotting suite
- π§± Build custom dashboards using Streamlit and save visual reports
- β»οΈ Reuse plot components using
plot_utils.py- π Deploy production-ready scripts with proper error handling- π¦ Package everything in a container-ready environment
SeabornMasterPro/
βββ notebooks/ # Comprehensive coverage (10 notebooks)
β βββ 01_setup_and_basics.ipynb
β βββ 02_distributions_relationships.ipynb
β βββ 03_categorical_matrixplots.ipynb
β βββ 04_multi_custom_dashboards.ipynb
β βββ 05_realworld_EDA.ipynb
β βββ 06_timeseries_lineplots.ipynb
β βββ 07_figure_level_functions.ipynb
β βββ 08_advanced_categorical.ipynb
β βββ 09_styling_customization.ipynb
β βββ 10_statistical_parameters.ipynb
βββ examples/ # Production-ready Python scripts (7 scripts)
β βββ basic_workflow.py
β βββ production_dashboard.py
β βββ custom_styling.py
β βββ statistical_viz.py
β βββ batch_processing.py
β βββ publication_figures.py
β βββ reusable_template.py
β βββ README.md
βββ utils/ # Enhanced utility functions
β βββ __init__.py
β βββ plot_utils.py # 12 functions: themes, export, palettes, grids, annotations
βββ scripts/ # Dataset generators and helpers
β βββ generate_datasets.py
βββ datasets/ # Synthetic datasets (auto-generated)
β βββ ecommerce_data.csv
β βββ employee_data.csv
β βββ marketing_campaign.csv
β βββ sales_data.csv
β βββ student_scores.csv
β βββ web_traffic.csv
βββ exports/ # Saved visuals for all 10 notebooks
β βββ 01_setup/ ... 06_timeseries/
β βββ 07_figure_level/
β βββ 08_categorical/
β βββ 09_styling/
β βββ 10_statistical/
βββ docs/ # Comprehensive documentation
β βββ best_practices.md
β βββ plot_comparison.md
β βββ troubleshooting.md
β βββ feature_matrix.md
βββ tests/ # Testing infrastructure
β βββ __init__.py
β βββ test_plot_utils.py
βββ .github/ # GitHub templates and workflows
β βββ workflows/
β β βββ test.yml
β βββ ISSUE_TEMPLATE/
β βββ PULL_REQUEST_TEMPLATE.md
βββ cheatsheets/ # Markdown cheatsheets
β βββ seaborn_cheatsheet.md
βββ streamlit_app.py # Interactive dashboard (all 10 notebooks)
βββ setup.py # Package installation
βββ pytest.ini # Test configuration
βββ requirements.txt # Minimal dependencies
βββ requirements_dev.txt # Full dev environment
βββ Dockerfile # Container setup
βββ .dockerignore
βββ .gitignore
βββ README.md
βββ LICENSE- π 10 comprehensive notebooks covering all Seaborn functionality
- οΏ½ 7 production-ready Python scripts with CLI, error handling, and logging
- οΏ½π 100% Seaborn coverage: All 30+ core functions including
relplot,displot,catplot,jointplot,lmplot,FacetGrid, and more - π― Figure-level vs Axes-level paradigm explained in depth
- π Advanced categorical plots:
barplotwith custom estimators, statistical comparisons - π¨ Styling mastery: Color theory, palettes (sequential/diverging/qualitative), themes
- π Statistical parameters: Deep dive into
estimatoranderrorbaroptions - β»οΈ Enhanced utilities: 12 reusable functions in
plot_utils.py - π Comprehensive docs: Best practices, plot comparison guide, troubleshooting, feature matrix
- π§ͺ Testing infrastructure: pytest with CI/CD via GitHub Actions
- π Exports saved with
save_fig()into logical folders - ποΈ Cheatsheet in Markdown for quick revision
- π Streamlit dashboard to explore all visualizations interactively
- π³ Docker support for full reproducibility
- π¦ Pip-installable:
pip install -e .
- Setup environment and install dependencies
- Master Seaborn basics, distributions, relationships
- Learn categorical & matrix visualizations
- Build dashboards and multi-panel plots
- Analyze real-world synthetic datasets
- Master figure-level functions (relplot, displot, catplot, lmplot, jointplot)
- Understand axes-level vs figure-level paradigm
- Learn advanced categorical plots (barplot with custom estimators)
- Master styling and customization (themes, palettes, color theory)
- Understand statistical parameters (estimator, errorbar options)
- Use
.pipe()and enhancedplot_utils.pyfor reusability - Run comprehensive tests with pytest
- Explore all visualizations via Streamlit dashboard
- Run everything inside Docker for reproducibility
pip install -r requirements.txtOr using Conda:
conda create -n seabornpro python=3.10
conda activate seabornpro
pip install -r requirements.txtdocker build -t seaborn-masterpro .
docker run -p 8890:8888 -p 8501:8501 -v $(pwd):/app -d seaborn-masterproYou can now open JupyterLab in your browser at: π http://localhost:8890
The container disables Jupyter token/password prompts for local ease.
streamlit run streamlit_app.pyThen visit: π http://localhost:8501
# Navigate to examples directory
cd examples
# Run basic workflow
python basic_workflow.py
# Create production dashboard
python production_dashboard.py --format pdf
# Generate publication figures
python publication_figures.py --size journal_double --dpi 300
# Batch process all datasets
python batch_processing.py --parallel
# See all options for any script
python reusable_template.py --helpπ See examples/README.md for complete documentation on all 7 production scripts
Want to take this further?
- Add Plotly/Altair interactive options
- Create animated visualizations
- Create
seaborn_themes.pypresets for custom themes - Add more interactive controls to Streamlit dashboard
- Add benchmarking and performance comparisons
- Create video tutorials for each notebook
Each notebook is carefully structured with:
- β Concepts grouped by theme
- β Code + plots + comments inline
- β
Modular reusability via
plot_utils.py - β Dataset links and exports
- β Time-based, categorical, and real-world examples
- 01: Setup and Seaborn basics
- 02: Distributions and pairwise relationships
- 03: Categorical plots and matrix visualizations
- 04: Multi-panel layouts and custom dashboards
- 05: Real-world EDA with Titanic & Marketing Campaign
- 06: Advanced time series (multi-series, confidence intervals, seasonality)
- 07: Figure-level functions (relplot, lmplot, jointplot, displot)
- 08: Advanced categorical plots (barplot with custom estimators)
- 09: Styling & customization (color theory, palettes, themes)
- 10: Statistical parameters (estimator, errorbar deep dive)
- Best practices for data visualization
- Plot comparison and decision guide
- Troubleshooting common issues
- Complete feature matrix and coverage map
| Level | Use Case |
|---|---|
| β Beginner | Learn Seaborn from scratch |
| β Intermediate | Build reusable pipelines |
| β Advanced | Automate dashboards with Docker |
- π§ NumPyMasterPro β Deep dive into NumPy fundamentals
- πΌ PandasPlayground β Data cleaning and EDA workflows
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for more details.
Made with π by Satvik Praveen

