Dumbbell Chart
Chart overview
A dumbbell chart (also called a connected dot plot or DNA chart) displays two measurements per subject or group connected by a line, forming a dumbbell shape.
Key points
- It is particularly effective for showing paired comparisons - baseline vs.
- follow-up, pre-treatment vs.
- post-treatment, or condition A vs.
Python Tutorial
How to create a dumbbell chart in Python
Use the full tutorial for implementation details, troubleshooting, and chart variations in matplotlib, seaborn, and plotly.
How to Create a Bar Chart in PythonExample Visualization

Create This Chart Now
Generate publication-ready dumbbell charts with AI in seconds. No coding required – just describe your data and let AI do the work.
View example prompt
"Create a dumbbell chart showing pre- and post-treatment biomarker levels for each patient in my dataset. Connect each patient's two measurements with a line colored red for increase and blue for decrease. Use filled circles at each endpoint sized by measurement value. Sort patients by the magnitude of change. Add a legend distinguishing the two timepoints. Label the x-axis with the biomarker name and units. Format for clinical publication at 300 DPI."
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 Dumbbell Chart code automatically.
Customize & Export
Tweak the design with natural language, then export as high-res PNG, SVG or PDF.
Newsletter
Get one weekly tip for better dumbbell charts
Join researchers receiving concise Python plotting techniques to improve chart clarity and reduce revision cycles.
Python Code Example
Console Output
Figure saved: plotivy-dumbbell-chart.png
Common Use Cases
- 1Pre- vs. post-intervention gene expression or protein abundance for paired patient samples
- 2Comparing ecological species abundance between two sampling seasons or locations
- 3Before-and-after dietary intervention study: plasma lipid and metabolite levels
- 4Displaying athlete performance metrics at two competition timepoints across a season
Pro Tips
Sort rows by the magnitude or direction of change to make patterns immediately visible
Use distinct, colorblind-safe colors for the two endpoints and a neutral or directional color for the connecting line
Label each row clearly on the left margin; avoid axis crowding by using horizontal orientation
Consider adding annotation for statistically significant changes with asterisks or adjusted p-value brackets
Long-tail keyword opportunities
High-intent chart variations
Library comparison for this chart
matplotlib
Best when you need full control over axis formatting, annotation placement, and journal-specific styling for dumbbell-chart.
pandas
Good for quick exploratory drafts directly from DataFrame operations before polishing in matplotlib or plotly.
numpy
Useful in specialized workflows that complement core Python plotting libraries for dumbbell-chart analysis tasks.
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.