https://github.com/satvikpraveen/seabornmasterpro
π¨ 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.
https://github.com/satvikpraveen/seabornmasterpro
categorical-plots correlation-heatmap custom-theme data-visualization docker interactive-dashboard jupyter-notebook matplotlib modular-code multi-panel-layouts open-source-project pandas plot-utils project-structure python reproducible-research seaborn streamlit time-series-visualization utility-functions
Last synced: 2 months ago
JSON representation
π¨ 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.
- Host: GitHub
- URL: https://github.com/satvikpraveen/seabornmasterpro
- Owner: SatvikPraveen
- License: mit
- Created: 2025-07-25T09:34:59.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-07-25T10:15:27.000Z (11 months ago)
- Last Synced: 2025-07-25T16:37:23.182Z (11 months ago)
- Topics: categorical-plots, correlation-heatmap, custom-theme, data-visualization, docker, interactive-dashboard, jupyter-notebook, matplotlib, modular-code, multi-panel-layouts, open-source-project, pandas, plot-utils, project-structure, python, reproducible-research, seaborn, streamlit, time-series-visualization, utility-functions
- Language: Jupyter Notebook
- Homepage:
- Size: 6.01 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# π¨ SeabornMasterPro
[](https://www.gnu.org/licenses/gpl-3.0)
[](https://www.python.org/)
[](https://jupyter.org/)
[](https://seaborn.pydata.org/)
[](https://www.docker.com/)
[](https://streamlit.io/)
[](https://github.com/SatvikPraveen/SeabornMasterPro/pulls)
[](https://github.com/SatvikPraveen/SeabornMasterPro/commits)
---
## π 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.

---
### π Real-World Visual Storytelling
> Plots generated using `notebooks/05_realworld_EDA.ipynb` and reusable functions from `plot_utils.py`.

---
## π§ 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
```bash
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
- [x] Setup environment and install dependencies
- [x] Master Seaborn basics, distributions, relationships
- [x] Learn categorical & matrix visualizations
- [x] Build dashboards and multi-panel plots
- [x] Analyze real-world synthetic datasets
- [x] Master figure-level functions (relplot, displot, catplot, lmplot, jointplot)
- [x] Understand axes-level vs figure-level paradigm
- [x] Learn advanced categorical plots (barplot with custom estimators)
- [x] Master styling and customization (themes, palettes, color theory)
- [x] Understand statistical parameters (estimator, errorbar options)
- [x] Use `.pipe()` and enhanced `plot_utils.py` for reusability
- [x] Run comprehensive tests with pytest
- [x] Explore all visualizations via Streamlit dashboard
- [x] Run everything inside Docker for reproducibility
---
## π§ Setup Instructions
### βΆοΈ Install Requirements
```bash
pip install -r requirements.txt
```
Or using Conda:
```bash
conda create -n seabornpro python=3.10
conda activate seabornpro
pip install -r requirements.txt
```
---
## π³ Run in Docker (JupyterLab)
```bash
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](http://localhost:8890)
> The container disables Jupyter token/password prompts for local ease.
---
## π Launch Streamlit Dashboard
```bash
streamlit run streamlit_app.py
```
Then visit:
π [http://localhost:8501](http://localhost:8501)
---
## π Run Production Scripts
```bash
# 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](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
- π§ [NumPyMasterPro](https://github.com/SatvikPraveen/NumPyMasterPro) β Deep dive into NumPy fundamentals
- πΌ [PandasPlayground](https://github.com/SatvikPraveen/PandasPlayground) β Data cleaning and EDA workflows
---
## π License
This project is licensed under the [GNU General Public License v3.0](https://www.gnu.org/licenses/gpl-3.0). See the [LICENSE](./LICENSE) file for more details.
---
## π Acknowledgements
- [Seaborn](https://seaborn.pydata.org/)
- [Matplotlib](https://matplotlib.org/)
- [Streamlit](https://streamlit.io/)
- [Python](https://www.python.org/)
---
## β¨ Author
Made with π by [Satvik Praveen](https://github.com/SatvikPraveen)
---