Part-to-wholeIntermediate

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

Example — Market share by region & segment2025
N. AmericaEuropeAPACLatAm
Enterprise
Mid-market
SMB

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

ABCD
A — Y-axis (0–100%): Height represents the internal composition of each column — always sums to 100%
B — Column width: Proportional to the total size of that category — wider columns = larger categories
C — Column boundary: The dividing line between adjacent categories, clearly separating variable-width columns
D — Cell area: The rectangle formed by width × height — encodes the absolute value of that segment

// 04 — Usage

When to use it — and when not to

✓Use a Marimekko when…
  • 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
×Avoid a Marimekko when…
  • 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

1

Read the x-axis (column widths)

Each column's width represents the total size of that group. Wider = larger total market, revenue, or population.

2

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.

3

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.

4

Trace a colour across columns

Follow one colour (segment) across all columns to see how that category's share varies by group.

5

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

1

Sum each group's segments to get the group total. These totals determine column widths.

2

Map group totals to pixel widths proportionally across the available chart width.

3

Within each column, stack segments from bottom to top (or top to bottom), each segment's height = (segment value / group total) × chart height.

4

Colour each row (segment type) consistently across all columns so they can be compared.

5

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

Also known as

Mosaic plot, mekko chart, proportional stacked bar

Best for

Two-dimensional composition, market sizing

Ideal groups

3–6 columns

Ideal segments

3–5 per column

Common tools

Excel (manual), Mekko Graphics, D3.js, Plotly

Encoding

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.