alterlab-seaborn

$npx mdskill add AlterLab-IEU/AlterLab-Academic-Skills/alterlab-seaborn

Builds statistical plots with seaborn and pandas for data exploration.

  • Quickly visualize distributions, relationships, and categorical comparisons from DataFrames.
  • Requires seaborn and pandas Python libraries installed via pip.
  • Selects plot type based on data structure and user intent (distribution, relationship, categorical).
  • Returns matplotlib-based static plots for immediate inspection or further customization.

SKILL.md

.github/skills/alterlab-seabornView on GitHub ↗
---
name: alterlab-seaborn
description: Builds statistical plots with the seaborn Python library and pandas DataFrame integration, on attractive matplotlib-based defaults. Use for quick exploration of distributions, relationships, and categorical comparisons — box plots, violin plots, swarm/strip plots, KDE/histograms, pair plots, joint plots, regression plots, correlation heatmaps, and faceted small multiples (relplot/displot/catplot/lmplot). For interactive/hover/zoom charts defer to alterlab-plotly; for exact journal/manuscript styling (column widths, point fonts, CMYK, vector export) defer to alterlab-scientific-viz; for low-level custom matplotlib figures defer to alterlab-matplotlib (seaborn integrates with it for fine-tuning). Part of the AlterLab Academic Skills suite.
license: MIT
allowed-tools: Read Write Edit Bash(python:*)
compatibility: Requires the seaborn and pandas Python libraries (pip install seaborn pandas); no API key or external service needed
metadata:
    skill-author: AlterLab
    version: "1.0.0"
---

# Seaborn Statistical Visualization

## Overview

Seaborn is a Python visualization library for creating publication-quality statistical graphics. Use this skill for dataset-oriented plotting, multivariate analysis, automatic statistical estimation, and complex multi-panel figures with minimal code.

## When to Use This Skill

Use seaborn for quick, attractive statistical graphics straight from a pandas DataFrame: distributions, relationships, categorical comparisons, correlation heatmaps, and faceted small multiples. Route elsewhere when the need differs:

- **Interactive charts** (hover, zoom, HTML dashboards) → `alterlab-plotly`
- **Exact journal/manuscript styling** (column widths, point fonts, CMYK, vector export) → `alterlab-scientific-viz`
- **Low-level custom plotting** → `alterlab-matplotlib` (seaborn integrates with it for fine-tuning)

## Design Philosophy

1. **Dataset-oriented** — work directly with DataFrames and named variables, not abstract coordinates.
2. **Semantic mapping** — automatically translate data values into visual properties (color, size, style).
3. **Statistical awareness** — built-in aggregation, error estimation, and confidence intervals.
4. **Aesthetic defaults** — publication-ready themes and palettes out of the box.
5. **Matplotlib integration** — full compatibility with matplotlib customization when needed.

## Quick Start

Examples target **seaborn ≥ 0.13** (verified on 0.13.2). Two API points that bite on this version: pass `palette=` only together with `hue=` (palette-without-hue is deprecated, removed in 0.14), and style error bars via `err_kws={...}` rather than the removed-in-0.15 `errcolor`/`errwidth`/`scale`/`join` keywords.

```python
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd

df = sns.load_dataset('tips')
sns.scatterplot(data=df, x='total_bill', y='tip', hue='day')
plt.show()
```

## Core Workflow

1. **Shape the data** as long-form ("tidy") — one column per variable, one row per observation. This works with every seaborn function. Reshape wide data with `df.melt(...)`. See `references/data_palettes_theming.md`.
2. **Pick the plot category** for your variable types (see routing below).
3. **Encode extra dimensions** with `hue`, `size`, `style` semantic mappings.
4. **Choose axes-level vs figure-level**: axes-level (`scatterplot`, `boxplot`, `heatmap`, …) plug into custom matplotlib layouts via `ax=`; figure-level (`relplot`, `displot`, `catplot`, `lmplot`, …) own the whole figure and facet via `col`/`row`.
5. **Theme and save** with `set_theme`/`set_context` and `savefig(dpi=300, bbox_inches='tight')` (PDF for vector).

## Plot Category Routing

Choose the category, then see `references/plotting_functions.md` for parameters and code for each.

| Goal | Category | Key functions |
|------|----------|---------------|
| How variables relate | Relational | `scatterplot`, `lineplot`, `relplot` |
| Spread / shape / density | Distribution | `histplot`, `kdeplot`, `ecdfplot`, `displot`, `jointplot`, `pairplot` |
| Compare across categories | Categorical | `stripplot`, `swarmplot`, `boxplot`, `violinplot`, `barplot`, `pointplot`, `countplot`, `catplot` |
| Linear relationships / residuals | Regression | `regplot`, `lmplot`, `residplot` |
| Matrices / correlations | Matrix | `heatmap`, `clustermap` |
| Custom multi-panel grids | Grids | `FacetGrid`, `PairGrid`, `JointGrid` |

The modern declarative `seaborn.objects` interface (ggplot2-like, composable) is best for complex layered or programmatic plots — see `references/objects_interface.md`.

## Color and Theming (essentials)

- **Qualitative** palettes for categories (`"colorblind"`, `"deep"`, `"muted"`); **sequential** for ordered data (`"rocket"`, `"viridis"`); **diverging** for centered data (`"vlag"`, `"coolwarm"`, with `center=0`).
- `set_theme(style=..., context=..., palette=...)`; styles `whitegrid`/`ticks`/…; contexts `paper`→`talk`→`poster` scale element sizes.

Full palette and theming reference: `references/data_palettes_theming.md`.

## Best Practices (essentials)

- Plot from named DataFrame columns (preserves axis labels); use figure-level functions for faceting; encode extra dimensions with `hue`/`size`/`style`.
- Know what each function estimates: `lineplot`/`barplot` auto-compute mean + CI — override with `errorbar=` and `estimator=`.
- Combine with matplotlib (`ax.set(...)`, `axhline`, `tight_layout`) for fine-tuning; save at `dpi=300`, and PDF for publications.

Full best-practices, common patterns, and troubleshooting (legend placement, overlapping labels, figure sizing, palette distinctness, KDE bandwidth): `references/best_practices_and_troubleshooting.md`.

## Reference Index

- **`references/plotting_functions.md`** — every plot category with parameters and code (relational, distribution, categorical, regression, matrix, multi-plot grids, figure-vs-axes-level).
- **`references/data_palettes_theming.md`** — long/wide data structure, color palettes (qualitative/sequential/diverging/custom), and theming (`set_theme`, styles, contexts).
- **`references/best_practices_and_troubleshooting.md`** — best practices, common patterns (EDA, publication figures, multi-panel, time series), and troubleshooting.
- **`references/function_reference.md`** — comprehensive function signatures, parameters, and examples.
- **`references/objects_interface.md`** — detailed guide to the modern `seaborn.objects` API.
- **`references/examples.md`** — scenario-based worked examples and code patterns.

More from AlterLab-IEU/AlterLab-Academic-Skills

SkillDescription
alterlab-abm-mesaBuilds agent-based models of social systems with Mesa 3 — the current AgentSet API (model.agents.shuffle_do('step'), auto-assigned unique_id, mandatory super().__init__(seed=...)), cell spaces (mesa.discrete_space OrthogonalMooreGrid / classic mesa.space grids), the DataCollector, batch_run parameter sweeps, and SolaraViz — for emergence, segregation, diffusion, opinion dynamics, and cooperation models. It uses the Mesa 3.x API (the old mesa.time schedulers like RandomActivation are removed) and treats the model as a generative theory to be validated, not just run. Use when the request mentions an agent-based model, Mesa, simulating interacting agents, or emergent macro behavior from micro rules. For discrete-event (queueing/process) simulation prefer alterlab-simpy; for reinforcement learning prefer alterlab-stable-baselines3. Part of the AlterLab Academic Skills suite.
alterlab-academic-careerPrepares academic career documents and professional-development materials for faculty and researchers. Use when drafting academic CVs, research statements, teaching philosophies, diversity statements, faculty-position cover letters, tenure dossiers, promotion narratives, academic portfolios, or mentorship statements, and when planning conference-networking strategy, building academic web presence, setting up ORCID profiles, or understanding impact metrics. Part of the AlterLab Academic Skills suite.
alterlab-accreditation-aolScaffolds program-level Assurance-of-Learning (AoL) documentation for AACSB (2020 Standard 5) and ABET (Criterion 3 Student Outcomes, Criterion 4 Continuous Improvement) accreditation — program learning outcomes / competency goals, curriculum-to-outcome mapping matrices, direct- and indirect-assessment plans, rubric design, and closing-the-loop continuous-improvement narratives — and validates the structure of an outcome-mapping matrix with scripts/aol_matrix.py. Use when the user needs AACSB or ABET assurance-of-learning material, a program-learning-outcomes set, a curriculum/outcome map or coverage matrix, a direct/indirect assessment plan, a closing-the-loop report, or accreditation self-study text. For single-course design or course rubrics prefer alterlab-teaching-design; for post-award grant reports prefer alterlab-grant-reporting. Part of the AlterLab Academic Skills suite.
alterlab-adaptyvSubmits and tracks protein-testing experiments on the Adaptyv Bio Foundry cloud lab (wet-lab validation), and optimizes protein sequences before submission with computational tools (NetSolP, SoluProt, SolubleMPNN, ESM). Use when designing proteins that need wet-lab validation - binding/affinity screening, expression testing, thermostability, or fluorescence assays - or when submitting experiments to the Foundry API, browsing the target catalog, tracking experiment status, retrieving results, or pre-screening sequences for solubility/expression. Triggers on "Adaptyv", "Foundry API", "cloud lab", "biolayer interferometry / BLI", "wet-lab validation". Part of the AlterLab Academic Skills suite.
alterlab-aeonRuns time series machine learning with the aeon library — classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search via scikit-learn compatible APIs. Use when working with temporal data, sequential patterns, or time-indexed observations (univariate or multivariate) that need specialized algorithms beyond standard ML approaches. Part of the AlterLab Academic Skills suite.
alterlab-akademik-tesvikComputes the annual Turkish academic-incentive (akademik teşvik) score for Devlet (state) university öğretim elemanı (academic staff) from a classified activity list, applying the verified Akademik Teşvik Ödeneği Yönetmeliği (2018/11834) Faaliyet Hesaplama Tablosu headline puanları (Proje 20, Araştırma 15, Yayın 30, Patent 30, Atıf 30, Tebliğ 20, Ödül 20) with the k (author-count), p (Q1 1/Q2 0.8/Q3 0.5/Q4 0.25), and r (project-role) coefficients via türü puanı = Σ(faaliyet oranları) × headline (MADDE 8/2), then enforcing the per-type headline ceilings, the 100 cap (MADDE 8/3), and the net-30 payment gate (MADDE 10/3) in a deterministic scripts/tesvik_score.py. Use when the user wants to calculate akademik teşvik puanı, check the en az 30 (net-30) threshold, apply TABLO 4 ceilings, or estimate teşvik eligibility; keeps its coefficients separate from doçentlik scoring. For doçentlik point eligibility prefer alterlab-docentlik-eligibility. Part of the AlterLab Academic Skills suite.
alterlab-alpha-vantageAccesses real-time and historical stock market data, forex rates, cryptocurrency prices, commodities, economic indicators, and 50+ technical indicators via the Alpha Vantage API (requires a free API key from alphavantage.co). Use when fetching stock prices (OHLCV), company fundamentals (income statement, balance sheet, cash flow), earnings, options data, market news/sentiment, insider transactions, GDP, CPI, treasury yields, gold/silver/oil prices, Bitcoin/crypto prices, forex exchange rates, or calculating technical indicators (SMA, EMA, MACD, RSI, Bollinger Bands). Part of the AlterLab Academic Skills suite.
alterlab-alphafoldPredict protein 3D structures with AlphaFold2 via ColabFold — MMseqs2-accelerated MSAs, monomer and AlphaFold2-Multimer complex folding, and confidence-based validation (pLDDT, pTM/ipTM, PAE). Use when folding a protein sequence or complex from FASTA, generating a predicted structure with confidence metrics, ranking models, or checking self-consistency of a design. For co-folding a protein WITH a small-molecule ligand or predicting binding affinity prefer alterlab-boltz; for antibody–antigen or one-FASTA multi-entity complexes prefer alterlab-chai; to LOOK UP an already-computed structure prefer alterlab-alphafold-db; for ESM embeddings or inverse folding prefer alterlab-esm. Part of the AlterLab Academic Skills suite.
alterlab-alphafold-dbAccess the AlphaFold DB of 200M+ AI-PREDICTED protein structures — retrieve models by UniProt accession, download PDB/mmCIF files, and analyze prediction confidence metrics (pLDDT, PAE). Use when a UniProt ID needs a computationally predicted 3D structure or when no experimental structure exists, for homology modeling, protein engineering, or structure-based drug discovery; for EXPERIMENTALLY determined structures (X-ray, cryo-EM, NMR) prefer alterlab-pdb, and for protein sequences, annotations, or accession ID mapping prefer alterlab-uniprot instead. Part of the AlterLab Academic Skills suite.
alterlab-anndataBuild, slice, concatenate, read, and write AnnData annotated data matrices (obs, var, X, layers, obsm, uns) — the scverse data STRUCTURE, not an analysis pipeline. Use when creating or wrangling .h5ad/zarr files, managing cell and gene annotations, concatenating batches, or handling layers/obsm/backed-mode; for the QC, normalization, clustering, UMAP, and differential-expression analysis pipeline prefer alterlab-scanpy instead, and for RNA velocity from spliced/unspliced layers prefer alterlab-scvelo instead. Part of the AlterLab Academic Skills suite.