Skip to content

SatvikPraveen/SeabornMasterPro

🎨 SeabornMasterPro

License: GPL v3 Python Jupyter Notebooks Seaborn Mastery Docker Ready Streamlit App PRs Welcome Last Commit


πŸ“Œ Overview

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

πŸ“½οΈ Project Preview

Here’s a glimpse into the Seaborn visualizations and dashboards created in this project:

🧭 Streamlit EDA Dashboard

Powered by streamlit_app.py, this dashboard provides real-time interaction with synthetic datasets.

Streamlit Dashboard Preview


πŸ“Š Real-World Visual Storytelling

Plots generated using notebooks/05_realworld_EDA.ipynb and reusable functions from plot_utils.py.

E-Commerce EDA Preview


🧠 Learning Outcomes

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

🧱 Project Structure

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

🌟 Features

  • πŸ“˜ 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: barplot with custom estimators, statistical comparisons
  • 🎨 Styling mastery: Color theory, palettes (sequential/diverging/qualitative), themes
  • πŸ“ Statistical parameters: Deep dive into estimator and errorbar options
  • ♻️ 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 .

βœ… Mastery Checklist

  • 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 enhanced plot_utils.py for reusability
  • Run comprehensive tests with pytest
  • Explore all visualizations via Streamlit dashboard
  • Run everything inside Docker for reproducibility

πŸ”§ Setup Instructions

▢️ Install Requirements

pip install -r requirements.txt

Or using Conda:

conda create -n seabornpro python=3.10
conda activate seabornpro
pip install -r requirements.txt

🐳 Run in Docker (JupyterLab)

docker build -t seaborn-masterpro .
docker run -p 8890:8888 -p 8501:8501 -v $(pwd):/app -d seaborn-masterpro

You can now open JupyterLab in your browser at: πŸ”— http://localhost:8890

The container disables Jupyter token/password prompts for local ease.


πŸ“Š Launch Streamlit Dashboard

streamlit run streamlit_app.py

Then visit: πŸ”— http://localhost:8501


🐍 Run Production Scripts

# 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


πŸ” Extend This Repo

Want to take this further?

  • Add Plotly/Altair interactive options
  • Create animated visualizations
  • Create seaborn_themes.py presets for custom themes
  • Add more interactive controls to Streamlit dashboard
  • Add benchmarking and performance comparisons
  • Create video tutorials for each notebook

🧠 Learn by Doing

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

πŸ“Œ Topics Covered

Core Notebooks

  • 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)

Advanced Notebooks

  • 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)

Documentation

  • Best practices for data visualization
  • Plot comparison and decision guide
  • Troubleshooting common issues
  • Complete feature matrix and coverage map

🎯 Who Is This For?

Level Use Case
βœ… Beginner Learn Seaborn from scratch
βœ… Intermediate Build reusable pipelines
βœ… Advanced Automate dashboards with Docker

πŸ”— Related Projects


πŸ“„ License

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


πŸ™Œ Acknowledgements


✨ Author

Made with πŸ’™ by Satvik Praveen


About

🎨 SeabornMasterPro is a comprehensive, modular project to master Seaborn for data visualization. Includes themed utilities, advanced plotting notebooks, dashboards, time series, Streamlit app, and Docker support β€” perfect for learners, analysts, and open-source enthusiasts.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages