Ridgeline Plot
Chart overview
A ridgeline plot (popularized as a joy plot) arranges kernel density estimates (KDE) for multiple groups in a vertically stacked layout with controlled overlap.
Key points
- Each row represents one group, and distributions are offset upward so adjacent rows partially overlap, creating a mountain-range silhouette that conveys both individual distribution shape and overall trends across groups.
- This visualization excels when comparing distributions across a large number of categories - for example, gene expression distributions across cell types from single-cell RNA-seq data, seasonal temperature distributions across decades for climate change illustration, or peak ChIP-seq read depth distributions across samples.
- The overlap parameter controls how aggressively rows overlap; a moderate overlap (0.
Example Visualization

Create This Chart Now
Generate publication-ready ridgeline plots with AI in seconds. No coding required – just describe your data and let AI do the work.
View example prompt
"Create a ridgeline plot from my gene expression data with cell types as groups. Plot a kernel density estimate for each cell type, stacked vertically with 60% overlap. Apply a color gradient from light to dark encoding expression level. Sort cell types by median expression. Add a vertical reference line at zero. Label each ridge on the left y-axis. Use a publication white background and 300 DPI resolution."
How to create this chart in 30 seconds
Upload Data
Drag & drop your Excel or CSV file. Plotivy securely processes it in your browser.
AI Generation
Our AI analyzes your data and generates the Ridgeline Plot code automatically.
Customize & Export
Tweak the design with natural language, then export as high-res PNG, SVG or PDF.
Python Code Example
Console Output
Figure saved: plotivy-ridgeline-plot.png
Common Use Cases
- 1Single-cell RNA-seq: comparing gene expression distributions across dozens of cell type clusters
- 2Climate science: displaying temperature or precipitation distributions across months or decades
- 3ChIP-seq or ATAC-seq: comparing chromatin accessibility signal distributions across cell states
- 4Ecology: visualizing trait distributions (body size, leaf area) across many species simultaneously
Pro Tips
Tune the KDE bandwidth carefully - too narrow produces spiky curves, too wide loses multimodal detail
Sort groups by median or mean value to reveal monotonic trends across the ridgeline stack
Use a controlled overlap (0.5-0.8) for aesthetics without obscuring lower distributions entirely
Limit to 20-30 groups maximum before the plot becomes too compressed to read individual distributions
Scientific Chart Selection Cheat Sheet
Not sure whether to use a Violin Plot, Box Plot, or Ridge Plot? Download our single-page reference mapping the most-used scientific chart types, exactly when to use them, and the core Matplotlib/Seaborn functions.