Appearance
Are you an LLM? You can read better optimized documentation at /embed/docs/chart-types/mekko.md for this page in Markdown format
Marimekko
Variable-width 100% stacked columns. Every column is normalised to 100% height; column width is proportional to the category total. Both axes read as shares.
For absolute heights with variable widths, use Bar Mekko instead.
Identity
chartType | mekko |
| Option bag | mekko (not barMekko) |
seriesData layout | seriesRows – row 0 = category header; later rows = series |
| Min grid | 2 rows × 2 columns (header included) |
| Orientation | Vertical composition layout (see axes notes) |
| Sample | Marimekko |
Minimal chartData
js
{
chartType: 'mekko',
isDataTransposed: true,
seriesData: [
['', 'Seg A', 'Seg B', 'Seg C'],
['Series 1', 40, 30, 20],
['Series 2', 25, 35, 15],
],
title: { visible: true, text: 'Marimekko' },
subtitle: { visible: false, text: '' },
}seriesData
Same seriesRows shape as stacked bar (isDataTransposed: true). Values drive both segment shares (height) and category weight (width).
js
[
['', 'Seg A', 'Seg B', 'Seg C'],
['Series 1', 40, 30, 20],
['Series 2', 25, 35, 15],
]There is no separate width row (that is Bar Mekko). Shared layout rules: chartData schema · seriesData.
Option bag: mekko
| Field | Default (new charts) | Role |
|---|---|---|
showTotals | true | Totals visibility (prefer annotations.totals.visible) |
overrides | {} | Indexed style patches |
Most authoring is axes, annotations, and legend – not a large mekko field set. Prefer editor + getChartData() for segment chrome.
js
{
chartType: 'mekko',
seriesData: [/* … */],
mekko: { /* overrides if needed */ },
}Do not put Bar Mekko sort on mekko – that belongs on barMekko.
Axes & scales
| Role | Behaviour |
|---|---|
| Domain | Linear 0–100 width domain (category thickness) |
| Primary range | Linear 0–100 % stacks |
Prefer % postfix and tick intervals that divide 100 (20 / 25 / 50). Details: Axes · by chart type · Domain axis · mekko · Percent axis sample.
Type-specific behaviour
- Width comes from category totals of the same grid – not a dedicated width row.
- Totals labels often via
annotations.totals.
Pitfalls
- Using
barMekkooptions / width-row layout on a classic mekko - Expecting absolute €/units on the value axis – mekko heights are shares
- Hand-authoring dense domain chrome from scratch – export from the editor when possible
Related
- Bar Mekko · Stacked bar 100%
- chartData schema · Axes
- Sample: Marimekko