Menu

CLINICAL RESEARCH

Clinical Research Visualizations

From Kaplan-Meier curves and forest plots to CONSORT diagrams, swimmer plots, and NNT charts - create publication-ready clinical trial figures with AI-generated Python code.

or browse all example datasets

Essential Clinical Visualizations

Clinical trial data demands specialized visualizations - time-to-event analyses, treatment effect summaries, patient flow diagrams, and individual response tracking. Each requires rigorous statistical methodology and regulatory-compliant formatting.

Kaplan-Meier Curves

Survival probability estimates with confidence intervals and at-risk tables

Forest Plots

Meta-analysis effect sizes with confidence intervals and heterogeneity statistics

CONSORT Diagrams

Patient enrollment, randomization, and follow-up flow diagrams

Swimmer Plots

Individual patient treatment duration and response timelines

Waterfall Plots

Tumor response (% change from baseline) sorted by magnitude

Subgroup Analysis

Treatment effects across patient subgroups with interaction tests

Why Clinical Researchers Use Plotivy

Statistical Rigor

Kaplan-Meier log-rank tests, hazard ratios, and proper censoring marks generated automatically.

Regulatory Standards

CONSORT-compliant diagrams and ICH E9 guideline-ready statistical figures.

Interactive Exploration

Hover over individual patients in swimmer plots, drill into subgroup data.

Journal Formatting

Export to SVG/PDF sized for NEJM, Lancet, or JAMA column widths.

Kaplan-Meier Survival Analysis

Two-arm survival analysis with treatment vs control groups. The Kaplan-Meier estimator computes survival probabilities with 95% confidence intervals, censoring marks, and a number-at-risk table.

Live Code Editor
Code EditorPython
Loading editor...
Live Preview

Preparing preview

Running once automatically on first load

Learn by Experimenting

This is a safe playground for learning! Try changing:

  • • Colors: Modify color values to see different palettes
  • • Numbers: Adjust sizes, positions, or data ranges
  • • Labels: Update titles, axis names, or legends

Edit the code, run it, then open the full data visualization tool to continue with your own dataset.

Forest Plot for Meta-Analysis

Eight clinical studies summarized with odds ratios and 95% confidence intervals. Study-level estimates are weighted by inverse variance, and the fixed-effect summary is shown as a diamond at the bottom.

Live Code Editor
Code EditorPython
Loading editor...
Live Preview

Preparing preview

Running once automatically on first load

Learn by Experimenting

This is a safe playground for learning! Try changing:

  • • Colors: Modify color values to see different palettes
  • • Numbers: Adjust sizes, positions, or data ranges
  • • Labels: Update titles, axis names, or legends

Edit the code, run it, then open the full data visualization tool to continue with your own dataset.

Chart gallery

Explore Clinical Chart Types

Interactive examples with ready-to-run code

Browse all chart types →
Correlation heatmap with diverging color scale and coefficient annotations
Statistical•seaborn, matplotlib
From the chart gallery•Correlation analysis between variables

Heatmap

Represents data values as colors in a two-dimensional matrix format.

Sample code / prompt

import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import numpy as np

# Create correlation matrix for financial metrics
metrics = ['Revenue', 'Profit', 'Expenses', 'ROI', 'Customers', 'AOV', 'Marketing', 'Employees']
correlation_data = np.array([
    [1.00, 0.85, -0.45, 0.72, 0.88, 0.65, 0.72, 0.55],
    [0.85, 1.00, -0.78, 0.92, 0.75, 0.58, 0.63, 0.48],
Bar chart comparing average scores across 5 groups with error bars
Comparison•matplotlib, seaborn
From the chart gallery•Comparing performance across categories

Bar Chart

Compares categorical data using rectangular bars with heights proportional to values.

Sample code / prompt

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from scipy import stats

# Generate performance scores for 5 treatment groups
np.random.seed(42)
groups = ['Control', 'Treatment A', 'Treatment B', 'Treatment C', 'Treatment D']
n_samples = 30

Ready to Visualize Your Clinical Data?

Upload your CSV, describe the plot you need, and get publication-ready clinical figures with full Python code in seconds.

Start Free - No Sign-Up