
Comorbidity Incidence Across Conditions
These paired dumbbell visualizations look at how comorbidity incidence shifts across three cardiometabolic-related patient populations: aortic stenosis (AS), severe aortic stenosis (SAS), and aortic valve replacement (AVR). One chart shows raw incidence, while the other reframes the data as percent change relative to a baseline. Together, they’re designed to answer a simple but important question: How much more complex do patients become as disease severity increases and intervention enters the picture?
The goal wasn’t just accuracy, it was speed to insight. I wanted viewers to immediately feel the difference between these populations without needing to mentally parse three separate charts or squint at dense tables.
Project considerations & specs
Core question: How do comorbidity profiles differ across AS, SAS, and AVR populations, and what does that say about disease severity and quality of life?
Data reality: 20+ comorbidities across three conditions - a lot to show without overwhelming the viewer.
Baseline choice: AS serves as the reference point for all relative comparisons.
Design goals: Clear comparison, low cognitive load, and a layout that feels lighter than the data actually is.
Design & process
With this many categories and populations, a traditional grouped bar chart would have quickly become overwhelming. Instead, dumbbell plots offer a perfect middle ground: they keep the comparative strength of bars while stripping away visual bulk, making it easier to spot differences at a glance. The horizontal layout was intentional since fitting 20+ categorical labels is far kinder to the y-axis than the x-axis.
In the primary incidence chart, comorbidities are ordered by AS incidence, with the most common conditions appearing first. This creates a stable anchor and makes it easier to see how SAS and AVR diverge from the baseline. Instead of raw incidence, the second chart plots percent change in incidence relative to AS, with AS represented as a vertical line at 0%. SAS and AVR extend outward as lollipop markers, making both direction and magnitude of change immediately obvious. Consistent color coding across both charts reinforces continuity, while the dark background and bright data points add contrast and visual impact.
Outcome & insight
Viewed together, the charts tell a clear story: patients with SAS and especially AVR carry a meaningfully higher comorbidity burden than those with AS. The percent-change view accelerates this realization by collapsing dozens of comparisons into a single, intuitive frame.
From a process standpoint, this project also highlights why I love programmatic visualization. Starting from raw data meant the charts could be quickly re-ordered, refined, and adjusted - all without rebuilding anything from scratch. The end result landed well with internal stakeholders and helped reinforce to external audiences that the AVR population being targeted truly represents patients with significant, complex needs.
Limitations & opportunities
Because the incidence chart is ordered by AS, the highest-incidence comorbidities for SAS or AVR don’t always jump out on their own.
The charts are static, which limits focused exploration; In a future state, I’d consider adding interactivity for functions like toggling conditions on and off, enabling head-to-head views.
Quick Stats
Chart type
Dumbbell plot
Data points
<100
Primary tools
pandas, plotly, seaborn
Project Gallery


