Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Ridgeline Chart

Signature

sp.build_ridgeline_chart(
    title: str,
    categories: list[str],
    values: list[float],
    *,
    bandwidth: float = 1.0,
    overlap: float = 0.5,
    color_hex: int = 0x6366F1,
    palette: list[int] | None = None,
    width: int = 900,
    height: int = 480,
    x_label: str = "",
    background: str | None = None,
    gridlines: bool = False,
) -> Chart

Aliases: sp.ridgeline


Description

Ridgeline (joy) chart — stacked KDE curves per category. Excellent for comparing distributional shapes across many groups.

values is a flat list. The number of values must be divisible by len(categories) (equal samples per group).


Parameters

ParameterTypeDefaultDescription
titlestrrequiredChart title
categorieslist[str]requiredCategory labels (one ridge each)
valueslist[float]requiredFlat concatenated sample data
bandwidthfloat1.0KDE bandwidth factor
overlapfloat0.5Ridge overlap (0 = no overlap, 1 = full overlap)
color_hexint0x6366F1Single fill color
palettelist[int] | NoneNonePer-ridge colors
widthint900Canvas width
heightint480Canvas height
x_labelstr""X-axis label
gridlinesboolFalseVertical gridlines

Returns

Chart


Examples

Daily temperature ridgeline

import seraplot as sp
import random
months = ["Jan", "Apr", "Jul", "Oct"]
means  = [5, 15, 28, 16]
values = [v for m in means for v in [random.gauss(m, 4) for _ in range(100)]]
chart = sp.build_ridgeline_chart(
    "Monthly Temperature Distribution",
    categories=months,
    values=values,
    overlap=0.6,
    x_label="°C",
)
const sp = require('seraplot');
import random
const months = ["Jan", "Apr", "Jul", "Oct"]
const means  = [5, 15, 28, 16]
const values = [v for m in means for v in [random.gauss(m, 4) for _ in range(100)]]
const chart = sp.build_ridgeline_chart("Monthly Temperature Distribution",
months,
{
    values: values,
    overlap: 0.6,
    x_label: "°C"
})
import * as sp from 'seraplot';
import random
const months: string[] = ["Jan", "Apr", "Jul", "Oct"]
const means: number[] = [5, 15, 28, 16]
const values: number[] = [v for m in means for v in [random.gauss(m, 4) for _ in range(100)]]
const chart = sp.build_ridgeline_chart("Monthly Temperature Distribution",
months,
{
    values: values,
    overlap: 0.6,
    x_label: "°C"
})
▶ Live Preview

See also

Signature

sp.build_ridgeline_chart(
    title: str,
    categories: list[str],
    values: list[float],
    *,
    bandwidth: float = 1.0,
    overlap: float = 0.5,
    color_hex: int = 0x6366F1,
    palette: list[int] | None = None,
    width: int = 900,
    height: int = 480,
    x_label: str = "",
    background: str | None = None,
    gridlines: bool = False,
) -> Chart

Aliases: sp.ridgeline


Description

Graphique ridgeline (joy plot) — courbes KDE empilées par catégorie. Excellent pour comparer les formes de distribution entre de nombreux groupes.

values est une liste plate. Le nombre de valeurs doit être divisible par len(categories) (échantillons égaux par groupe).


Paramètres

ParamètreTypeDéfautDescription
titlestrrequisTitre du graphique
categorieslist[str]requisÉtiquettes des catégories (une crête par catégorie)
valueslist[float]requisÉchantillons concaténés en liste plate
bandwidthfloat1.0Facteur de bande passante KDE
overlapfloat0.5Chevauchement des crêtes (0 = aucun, 1 = complet)
color_hexint0x6366F1Couleur de remplissage unique
palettelist[int] | NoneNoneCouleurs par crête
widthint900Largeur du canvas
heightint480Hauteur du canvas
x_labelstr""Étiquette de l'axe X
gridlinesboolFalseLignes de grille verticales

Retourne

Chart


Exemples

import seraplot as sp
import random

mois = ["Jan", "Avr", "Jul", "Oct"]
moyennes = [5, 15, 28, 16]

valeurs = [v for m in moyennes for v in [random.gauss(m, 4) for _ in range(100)]]

chart = sp.build_ridgeline_chart(
    "Distribution de température mensuelle",
    categories=mois,
    values=valeurs,
    overlap=0.6,
    x_label="°C",
)

Voir aussi