Part of a whole

100% stacked bar chart

Normalises each category total to 100% to compare component shares.

  • Chart
  • Composition
  • Comparison

What it answers

How do category shares differ?

Shape
Equal-length segmented bars
What it shows
Relative composition.

Example: Liberty Orbit Inc.

The question

Do Liberty Orbit’s largest customer groups also bring in the most revenue?

Liberty Orbit customers and revenue by segment, 2025

Liberty Orbit customers and revenue by segment, 2025Liberty Orbit 2025, by segment, share of 6,400 customers then share of USD 172 million revenue: farms and co-operatives 80% and 32%; insurers and brokers 6% and 41%; local government 10% and 15%; data customers 4% and 12%.FarmsInsurersLocal governmentData0%20%40%60%80%100%Customers79.7%6.4%10%Revenue32%41%15%12%
Liberty Orbit customers and revenue by segment, 2025Liberty Orbit 2025, by segment, share of 6,400 customers then share of USD 172 million revenue: farms and co-operatives 80% and 32%; insurers and brokers 6% and 41%; local government 10% and 15%; data customers 4% and 12%.FarmsInsurersLocal governmentData0%20%40%60%80%100%Customers79.7%Revenue32%41%15%12%
Liberty Orbit 2025, by segment, share of 6,400 customers then share of USD 172 million revenue: farms and co-operatives 80% and 32%; insurers and brokers 6% and 41%; local government 10% and 15%; data customers 4% and 12%.

Liberty Orbit Inc. is a fictional company created for Insyt.

The misleading version

Same question, drawn badly

Segment order changes between bars

Segment order changes between barsSame values as the good example, with the revenue bar reordered.FarmsInsurersLocal governmentData0%25%50%75%100%CustomersRevenue
Segment order changes between barsSame values as the good example, with the revenue bar reordered.FarmsInsurersLocal governmentData0%25%50%75%100%CustomersRevenue
Same values as the good example, with the revenue bar reordered.

What goes wrong. The segments are in a different order in each bar. Readers must hunt for each colour, and the comparison is lost. Keep one order.

When to use it

Use it when

Comparing composition when category totals differ.

Avoid it when

When absolute total size is the main question.

How to read it

Treat each bar as 100%; compare each segment's share rather than total length.

Note

Each category needs a positive total for ordinary percentage stacking.

The data you need

Layout
Long table
Fields
Category or ordered position: text/date; Series: text; Value: number
One row is
One series value within one category or position. What is the grain?
Rules
Use one value per category-series pair after aggregation. Define category and series order.
Optional
Wide alternative: Category,North,South with one row per category.
Preparation
Aggregate components per category; divide each by that category total and multiply by 100 if displaying numeric percentages. Preserve totals for context.
Units
Percent of each category's own positive total. Denominator varies by category; show original totals separately.
Example of the input layout: Long tableA long table: one row per observation, few columns. New data adds rows.Category orSeriesValueAABBC
A long table: one row per observation, few columns. New data adds rows.

Worked example

Data A=(30,45), B=(34,40). Divide by totals 75 and 74. First-series shares are 40% and about 45.9%.

CategorySeriesValue
ANorth30
ASouth45
BNorth34
BSouth40