Skip to content
Automation
Skill

/seaborn

Statistical visualization. Scatter, box, violin, heatmaps, pair plots, regression, correlation matrices, KDE, faceted plots, for exploratory analysis and publication figures.

From plugin
vibe-skills
3.8k200 skills7 agents3 commands

Claude Code

$ npx -y skills add foryourhealth111-pixel/Vibe-Skills --skill seaborn --agent claude-code

SKILL.md

seaborn.SKILL.md
name: seaborn
description: "Statistical visualization. Scatter, box, violin, heatmaps, pair plots, regression, correlation matrices, KDE, faceted plots, for exploratory analysis and publication figures."

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.

Design Philosophy

Seaborn follows these core principles:

1. **Dataset-oriented**: Work directly with DataFrames and named variables rather than abstract coordinates 2. **Semantic mapping**: Automatically translate data values into visual properties (colors, sizes, styles) 3. **Statistical awareness**: Built-in aggregation, error estimation, and confidence intervals 4. **Aesthetic defaults**: Publication-ready themes and color palettes out of the box 5. **Matplotlib integration**: Full compatibility with matplotlib customization when needed

Quick Start

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

# Load example dataset
df = sns.load_dataset('tips')

# Create a simple visualization
sns.scatterplot(data=df, x='total_bill', y='tip', hue='day')
plt.show()

Core Plotting Interfaces

Function Interface (Traditional)

The function interface provides specialized plotting functions organized by visualization type. Each category has **axes-level** functions (plot to single axes) and **figure-level** functions (manage entire figure with faceting).

**When to use:**

  • Quick exploratory analysis
  • Single-purpose visualizations
  • When you need a specific plot type

Objects Interface (Modern)

The `seaborn.objects` interface provides a declarative, composable API similar to ggplot2. Build visualizations by chaining methods to specify data mappings, marks, transformations, and scales.

**When to use:**

  • Complex layered visualizations
  • When you need fine-grained control over transformations
  • Building custom plot types
  • Programmatic plot generation
from seaborn import objects as so

# Declarative syntax
(
    so.Plot(data=df, x='total_bill', y='tip')
    .add(so.Dot(), color='day')
    .add(so.Line(), so.PolyFit())
)

Plotting Functions by Category

Relational Plots (Relationships Between Variables)

**Use for:** Exploring how two or more variables relate to each other

  • `scatterplot()` - Display individual observations as points
  • `lineplot()` - Show trends and changes (automatically aggregates and computes CI)
  • `relplot()` - Figure-level interface with automatic faceting

**Key parameters:**

  • `x`, `y` - Primary variables
  • `hue` - Color encoding for additional categorical/continuous variable
  • `size` - Point/line size encoding
  • `style` - Marker/line style encoding
  • `col`, `row` - Facet into multiple subplots (figure-level only)
# Scatter with multiple semantic mappings
sns.scatterplot(data=df, x='total_bill', y='tip',
                hue='time', size='size', style='sex')

# Line plot with confidence intervals
sns.lineplot(data=timeseries, x='date', y='value', hue='category')

# Faceted relational plot
sns.relplot(data=df, x='total_bill', y='tip',
            col='time', row='sex', hue='smoker', kind='scatter')

Distribution Plots (Single and Bivariate Distributions)

**Use for:** Understanding data spread, shape, and probability density

  • `histplot()` - Bar-based frequency distributions with flexible binning
  • `kdeplot()` - Smooth density estimates using Gaussian kernels
  • `ecdfplot()` - Empirical cumulative distribution (no parameters to tune)
  • `rugplot()` - Individual observation tick marks
  • `displot()` - Figure-level interface for univariate and bivariate distributions
  • `jointplot()` - Bivariate plot with marginal distributions
  • `pairplot()` - Matrix of pairwise relationships across dataset

**Key parameters:**

  • `x`, `y` - Variables (y optional for univariate)
  • `hue` - Separate distributions by category
  • `stat` - Normalization: "count", "frequency", "probability", "density"
  • `bins` / `binwidth` - Histogram binning control
  • `bw_adjust` - KDE bandwidth multiplier (higher = smoother)
  • `fill` - Fill area under curve
  • `multiple` - How to handle hue: "layer", "stack", "dodge", "fill"
# Histogram with density normalization
sns.histplot(data=df, x='total_bill', hue='time',
             stat='density', multiple='stack')

# Bivariate KDE with contours
sns.kdeplot(data=df, x='total_bill', y='tip',
            fill=True, levels=5, thresh=0.1)

# Joint plot with marginals
sns.jointplot(data=df, x='total_bill', y='tip',
              kind='scatter', hue='time')

# Pairwise relationships
sns.pairplot(data=df, hue='species', corner=True)

Categorical Plots (Comparisons Across Categories)

**Use for:** Comparing distributions or statistics across discrete categories

**Categorical scatterplots:**

  • `stripplot()` - Points with jitter to show all observations
  • `swarmplot()` - Non-overlapping points (beeswarm algorithm)

**Distribution comparisons:**

  • `boxplot()` - Quartiles and outliers
  • `violinplot()` - KDE + quartile information
  • `boxenplot()` - Enhanced boxplot for larger datasets

**Statistical estimates:**

  • `barplot()` - Mean/aggregate with confidence intervals
  • `pointplot()` - Point estimates with connecting lines
  • `countplot()` - Count of observations per category

**Figure-level:**

  • `catplot()` - Faceted categorical plots (set `kind` parameter)

**Key parameters:**

  • `x`, `y` - Variables (one typically categorical)
  • `hue` - Additional categorical grouping
  • `order`, `hue_order` - Control category ordering
  • `dodge` - Separate hue levels side-by-side
  • `orient` - "v" (vertical) or "h" (horizontal)
  • `kind` - Plot type for catplot: "strip", "swarm", "box", "violin", "bar", "point"
# Swarm plot showing all points
sns.swarmplot(data=df, x='day', y=
Read more
@foryourhealth111-pixel
Ships withvibe-skills

Intelligent Skill routing and workflow orchestration for AI agents — +21.12 pp reward, −29.6% tokens on SkillsBench with DeepSeekV4Flash-VE.

3.8k200 skills7 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
3.8k
Star history of foryourhealth111-pixel/Vibe-Skills on GitHub, a chart by star-history.com

Other skills on vibe-skills.

More skills from other plugins.

agent-builder

agent-builder

Load immediately after an Agent intent, before the first agent_builder_* call. Governs how you create, configure, test, and…

n8n12d209k
@n8n-io@n8n-ioInstall Skill
browser-use

browser-use

Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…

@browser-use@browser-useInstall Skill
agent-browser

agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…

@vercel-labs-2@vercel-labs-2Install Skill
add-anydoc

add-anydoc

Add local office-document-to-Markdown conversion to NanoClaw agent containers with the pinned Firecrawl AnyDoc CLI. Use when…

@nanocoai@nanocoaiInstall Skill

Questions about seaborn.

Which coding agents can use seaborn?
seaborn installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.