Proportion Plot
Chart overview
A proportion plot normalises each bar to 100% and stacks category segments, so the reader compares relative compositions across groups rather than absolute counts.
Key points
- Ecologists use it to display community composition across sites, clinical researchers to show categorical outcome distributions across treatment arms, and geologists to display stratigraphic mineral proportions.
- It is the standard tool for compositional data where part-to-whole structure is the primary message.
Create a Proportion Plot with your data using AI — no coding required.
Further reading
Python Scatter Plot Tutorial
Build scatter plots with regression overlays, color encodings, and uncertainty bars.
Read the guideExample Visualization

Create This Chart Now
Generate publication-ready proportion plots with AI in seconds. No coding required – just describe your data and let AI do the work.
View example prompt
"Create a 100% stacked proportion plot from my compositional data. Normalise each bar to 100%, stack categories with distinct colours, add percentage labels inside segments wider than 5%, sort categories by dominant proportion, and apply a publication-quality journal style."
How to create this chart with your data
Upload Data
Upload your Excel or CSV file. Data used to generate charts is sent to Plotivy's server for processing.
AI Generation
Our AI analyzes your data and generates the Proportion Plot 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 proportion plots
Join researchers receiving concise Python plotting techniques to improve chart clarity and reduce revision cycles.
Python Code Example
Console Output
Figure saved: plotivy-proportion-plot.png
Common Use Cases
- 1Displaying microbial community composition across environmental sample sites
- 2Comparing categorical treatment outcome distributions across clinical trial arms
- 3Showing stratigraphic facies proportions across geological drill core sections
- 4Visualising land-use category proportions across spatial regions or time periods
Pro Tips
Confirm that every group totals 100% after normalisation before comparing compositions
Keep category order consistent across bars so readers can track each segment
Label percentage values directly inside segments larger than approximately 5%
Use a colourblind-safe palette with enough contrast between adjacent segments
Choose a side-by-side bar chart when precise comparison of one category is the primary goal
Frequently asked questions
When should you use a proportion plot?
A proportion plot normalises each bar to 100% and stacks category segments, so the reader compares relative compositions across groups rather than absolute counts. Ecologists use it to display community composition across sites, clinical researchers to show categorical outcome distributions across treatment arms, and geologists to display stratigraphic mineral proportions. Common applications include displaying microbial community composition across environmental sample sites, comparing categorical treatment outcome distributions across clinical trial arms, and showing stratigraphic facies proportions across geological drill core sections.
Which Python libraries can create a proportion plot?
A proportion plot can be built in Python with matplotlib and numpy — matplotlib for precise control over axes, annotations, and journal styling and numpy. In Plotivy you describe the figure and it writes the matplotlib code for you.
Can I make a proportion plot without writing Python code?
Yes. Describe the proportion plot you need in plain language and upload your dataset — Plotivy's AI writes the Python code and renders a publication-ready figure. You still get the full, editable matplotlib source, so nothing is locked in a black box.
What are best practices for a clear proportion plot?
Confirm that every group totals 100% after normalisation before comparing compositions. Keep category order consistent across bars so readers can track each segment.
Library comparison for this chart
matplotlib
Best when you need full control over axis formatting, annotation placement, and journal-specific styling for proportion-plot.
numpy
Useful in specialized workflows that complement core Python plotting libraries for proportion-plot 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.