Skip to content

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 ​

chartTypemekko
Option bagmekko (not barMekko)
seriesData layoutseriesRows – row 0 = category header; later rows = series
Min grid2 rows × 2 columns (header included)
OrientationVertical composition layout (see axes notes)
SampleMarimekko

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 ​

FieldDefault (new charts)Role
showTotalstrueTotals 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 ​

RoleBehaviour
DomainLinear 0–100 width domain (category thickness)
Primary rangeLinear 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 barMekko options / 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

Developer documentation for Chartbuddy Embed · Not the end-user Help Center · Help Center