Menu

LIFE SCIENCES

Biology Visualizations

From dose-response curves and growth kinetics to gene expression volcanos and survival analyses - create publication-ready biology figures with AI-generated Python code.

or browse all example datasets

Essential Biology Visualizations

Biological data comes in many forms - time series from growth assays, dose-response data from drug screens, expression matrices from RNA-seq, and survival data from clinical trials. Each requires specialized plotting techniques with proper statistical overlays.

Growth Curves

OD600 time series with lag, exponential, and stationary phase identification

Dose-Response

4-parameter logistic fits with IC50/EC50 extraction and confidence bands

Volcano Plots

Differential expression with fold-change and significance thresholds

Heatmaps

Gene expression matrices with hierarchical clustering and dendrograms

Survival Curves

Kaplan-Meier estimators with log-rank tests and censoring marks

Enzyme Kinetics

Michaelis-Menten fits, Lineweaver-Burk plots, and inhibition analysis

Biology data visualization in Python - practical workflow

Biology data visualization in Python is rarely one chart and done. Most projects move through a repeatable sequence: quality-check raw measurements, compare treatment groups with uncertainty, model kinetics or dose response, then assemble publication-ready multi-panel figures.

If your dataset is categorical, start with a bar chart workflow that includes error bars and statistical overlays. If your dataset is continuous and multivariate, move to scatter plots, heatmaps, and dimensionality-reduction techniques.

For experimental biology, the highest-intent analysis steps are often technical rather than visual. Peak extraction, smoothing, ANOVA post-hoc annotation, and ROC validation are covered in the Techniques section, while full narrative tutorials live in the Blog with complete code you can adapt to your assays.

Why Biologists Use Plotivy

Curve Fitting Built-In

4PL dose-response, Michaelis-Menten, logistic growth - statistical models generated automatically.

Genomics Ready

Volcano plots, heatmaps, and MA plots for differential expression analysis from DESeq2 or edgeR output.

Publication Formats

Export to SVG/PDF sized for Nature, Cell, or PNAS column widths with correct DPI and fonts.

Statistical Overlays

Error bars, significance brackets, p-value annotations, and confidence bands generated from data.

Dose-Response with IC50 Fitting

Three compounds screened against a cell line. The 4-parameter logistic model extracts IC50 values with confidence bands. Hover over data points in the code to modify concentrations.

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.

Growth Curves with Phase Annotation

Bacterial growth curves for three strains modeled with logistic growth + death phase. Color-coded phase regions (lag, exponential, stationary, death) with error bars from replicate measurements.

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 Biology Chart Types

Interactive examples with ready-to-run code

Browse all chart types →
Scatter plot of height vs weight colored by gender with regression line
Statistical•matplotlib, seaborn
From the chart gallery•Correlation analysis between metrics

Scatterplot

Displays values for two variables as points on a Cartesian coordinate system.

Sample code / prompt

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

# Generate sample data
np.random.seed(42)
n_samples = 200
height = np.random.normal(170, 8, n_samples)
weight = height * 0.6 + np.random.normal(0, 8, n_samples) - 50
Multi-line graph showing temperature trends for 3 cities over a year
Time Series•matplotlib, seaborn
From the chart gallery•Stock price tracking over time

Line Graph

Displays data points connected by straight line segments to show trends over time.

Sample code / prompt

import matplotlib.pyplot as plt
import numpy as np

# Generate temperature data for 3 major US cities over 12 months
months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
nyc = [30, 32, 40, 52, 65, 75, 82, 81, 74, 63, 50, 38]
miami = [65, 66, 70, 76, 82, 87, 90, 90, 87, 80, 72, 66]
chicago = [25, 27, 35, 48, 62, 72, 80, 79, 71, 60, 45, 32]

# Create figure with enhanced styling
Box and whisker plot comparing gene expression across 4 genotypes with significance brackets
Distribution•seaborn, matplotlib
From the chart gallery•Comparing experimental groups in scientific research

Box and Whisker Plot

Displays data distribution using quartiles, median, and outliers in a standardized format.

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 gene expression data for 4 genotypes
np.random.seed(42)
genotypes = ['WT', 'KO1', 'KO2', 'Mutant']
n_per_group = 20
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],
Violin plot comparing score distributions across 3 groups with inner box plots
Distribution•seaborn, matplotlib
From the chart gallery•Comparing treatment effects across groups

Violin Plot

Combines box plots with kernel density to show distribution shape across groups.

Sample code / prompt

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

# Generate exam score data for 3 groups
np.random.seed(42)
control = np.random.normal(72, 12, 50)
treatment_a = np.random.normal(78, 10, 50)

Ready to Visualize Your Biology Data?

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

Start Free - No Sign-Up