Marimekko Chart
A two-dimensional stacked bar chart where both the width and height of each segment encode data — showing composition across variable-size categories in a single, space-filling view.
// 01 — The chart
What it looks like
Column width represents total market size per region; segment height shows composition by customer tier. Area of each cell represents absolute market value.
// 02 — Definition
What is a Marimekko chart?
A Marimekko chart (also called a mosaic plot or mekko chart) is a two-dimensional extension of the stacked bar chart. Each column has a variable width (proportional to that category’s total size) and is divided into coloured segments whose heights represent composition.
The result is a grid of rectangles where the area of each cell encodes the absolute value of that segment. This dual encoding — width for group size, height for group composition — makes the Marimekko uniquely powerful for showing “share of share” relationships.
The chart is named after the Finnish design company Marimekko, whose bold, blocky textile patterns it resembles. It’s a staple of strategy consulting (McKinsey, BCG) for market sizing and competitive analysis.
Key insight: The Marimekko is one of the few charts that can answer “how big is segment X within group Y, and how does that compare to the same segment in group Z, considering that Y and Z are different sizes?”
// 03 — Anatomy
Parts of a Marimekko chart
// 04 — Usage
When to use it — and when not to
- Market sizing — showing segment share within regions of different sizes
- Both category size AND internal composition matter simultaneously
- Strategy consulting presentations (the chart's natural habitat)
- Comparing how segments distribute across groups of unequal totals
- You want a single chart to convey a complex two-dimensional story
- Precise value reading matters — the dual encoding is hard to decode precisely
- You have too many groups (>6) or segments (>5) — the chart becomes a busy mosaic
- Your audience isn't analytically trained — the chart requires practice to read
- Categories are roughly the same size — a regular stacked bar is simpler
- You need to show change over time
// 05 — Reading guide
How to read a Marimekko chart
Read the x-axis (column widths)
Each column's width represents the total size of that group. Wider = larger total market, revenue, or population.
Read the y-axis (segment heights)
Within each column, segments stack to 100%. Each segment's height shows its share of that column's total.
Compare areas, not just heights
A tall segment in a narrow column may represent less absolute value than a short segment in a wide column. Area = absolute value.
Trace a colour across columns
Follow one colour (segment) across all columns to see how that category's share varies by group.
Look for the largest cells
The biggest rectangles (by area) represent the most important combinations of group × segment.
// 06 — Data format
What data do you need?
A matrix of values: groups (columns) × segments (rows). Each cell contains the absolute value for that combination.
// Groups (columns) with segments
[
{ group: "N. America", enterprise: 120, midMarket: 80, smb: 40 },
{ group: "Europe", enterprise: 100, midMarket: 60, smb: 30 },
{ group: "APAC", enterprise: 60, midMarket: 50, smb: 25 },
{ group: "LatAm", enterprise: 30, midMarket: 20, smb: 15 }
]// 07 — Construction
How to build one
Sum each group's segments to get the group total. These totals determine column widths.
Map group totals to pixel widths proportionally across the available chart width.
Within each column, stack segments from bottom to top (or top to bottom), each segment's height = (segment value / group total) × chart height.
Colour each row (segment type) consistently across all columns so they can be compared.
Label columns on the x-axis with group names. Add a colour legend for segments.
// 08 — Common mistakes
Mistakes to watch out for
Comparing heights across columns
The same visual height in a narrow column represents less than in a wide column. Always think in terms of area, not just height.
Too many segments
With 6+ segments, the chart becomes a patchwork quilt. Keep segments to 3–5 and merge small ones into "Other."
Missing width context
Without clearly labelling column widths or totals, readers miss half the chart's message. Always show group totals.
Equal-width columns
If all columns are the same width, you've just made a confusing stacked bar chart. Use the Marimekko only when widths vary meaningfully.
No area labels
The chart's power is in areas. Without values printed in cells, readers can't extract precise numbers.
// 09 — Real-world examples
Where you’ll see it in the wild
Strategy consulting
Market sizing decks showing revenue by region × customer segment, where each region is a different-sized market.
Competitive analysis
Market share showing company × product line, where column width = total addressable market per product.
Portfolio management
Investment allocation by asset class × risk level, where wider columns = larger asset classes.
Public policy
Government spending by department × programme type, showing how different-sized departments allocate resources.
// 10 — Quick reference
Key facts at a glance
Mosaic plot, mekko chart, proportional stacked bar
Two-dimensional composition, market sizing
3–6 columns
3–5 per column
Excel (manual), Mekko Graphics, D3.js, Plotly
Width = group total, Height = segment %, Area = absolute value
// 11 — Accessibility
Making it accessible
Provide a data table showing group × segment values as an alternative
Label each cell with its absolute value if space allows
Use distinct colours with sufficient contrast between adjacent segments
Add column width annotations showing group totals
Include a clear legend mapping colours to segment names
// 12 — Variations
Common variations
100% Marimekko
Both axes are normalized to 100% — columns have equal widths. This is just a standard 100% stacked bar chart.
Labelled Marimekko
Each cell displays its absolute value, percentage, or both — essential for precise reading.
Diverging Marimekko
One segment type is highlighted across all columns, with positive/negative deviations from a benchmark.
Horizontal Marimekko
Rotated 90° — rows have variable heights and columns show composition. Less common but useful for long category names.
// 13 — FAQs
Frequently asked questions
What is a marimekko chart?+
A Marimekko chart (also called a mosaic plot or mekko chart) is a two-dimensional extension of the stacked bar chart. Each column has a variable width (proportional to that category's total size) and is divided into coloured segments whose heights represent composition.
When should you use a marimekko chart?+
Use a Marimekko chart when market sizing — showing segment share within regions of different sizes. It also works well when both category size AND internal composition matter simultaneously, and when strategy consulting presentations (the chart's natural habitat).
When should you avoid a marimekko chart?+
Avoid a Marimekko chart when precise value reading matters — the dual encoding is hard to decode precisely. It is also a poor fit when you have too many groups (>6) or segments (>5) — the chart becomes a busy mosaic, or when your audience isn't analytically trained — the chart requires practice to read.
What data do you need to make a marimekko chart?+
A matrix of values: groups (columns) × segments (rows). Each cell contains the absolute value for that combination.
How is a marimekko chart different from a stacked bar chart?+
Both a Marimekko chart and a stacked bar chart can look similar at first glance, but they answer different questions. Reach for a Marimekko chart when the comparisons and patterns it was designed to reveal match what you need to communicate, and choose a stacked bar chart when its particular strengths better fit your data and audience.
What is another name for a marimekko chart?+
Marimekko Chart is also known as Mosaic plot, mekko chart, proportional stacked bar. The name varies between fields, but the visualisation technique is the same.
What size of dataset works best for a marimekko chart?+
Marimekko Chart works best for Two-dimensional composition, market sizing. Outside that range the chart either looks empty or becomes too cluttered to read clearly.
Are marimekko charts accessible to screen readers?+
Yes — a Marimekko chart can be made accessible to screen readers by pairing it with a clear text summary of the key insight, ensuring color choices meet WCAG contrast guidelines, adding descriptive alt text or aria-label to the SVG, and offering the underlying data as an HTML table fallback for assistive technologies.