Swimmer Plot
Chart overview
Swimmer plots display each patient as a horizontal bar representing their time on study, with overlaid symbols marking the timing of key clinical events such as response, progression, and death.
Key points
- Oncology and clinical pharmacology researchers use these plots to communicate individual patient experiences in early-phase trials where aggregate statistics obscure important response patterns.
- They are particularly valuable for visualizing durable responses in immunotherapy trials.
Example Visualization

Create This Chart Now
Generate publication-ready swimmer plots with AI in seconds. No coding required – just describe your data and let AI do the work.
View example prompt
"Create a swimmer plot from my data. Draw each patient as a horizontal bar (barh) sorted by duration from longest to shortest. Overlay symbols at corresponding time points for clinical events such as partial response, complete response, progression, and death. Color bars by treatment arm or response category. Add a vertical dashed line for minimum follow-up if applicable. Use journal formatting with Arial font and no top or right spines."
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 Swimmer 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-swimmer-plot.png
Common Use Cases
- 1Displaying individual patient response duration in phase I/II oncology trials
- 2Communicating durable responses and ongoing treatment in immunotherapy studies
- 3Visualizing time to event endpoints alongside treatment exposure for small cohorts
- 4Presenting patient-level data in case series for rare disease treatment reports
Pro Tips
Sort patients by total bar length to create a visually ordered display of response duration
Use a consistent color scheme tied to response category (CR, PR, SD, PD) across all manuscript figures
Reserve triangles pointing right for patients still on treatment at data cutoff to indicate censoring
Keep y-axis patient ID labels as anonymized numbers to comply with data privacy requirements
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.