HAHS.
Back to Catalog

Marimekko Chart

chart

Also known as: mosaic plot, mekko chart, variable-width bar chart

Show compositionCompare CategoricalNumerical Bar/Column

설명 / Description

마리메코 차트(모자이크 플롯이라고도 함)는 각 열의 너비를 각 세그먼트의 높이에 더해 변화시킴으로써 누적 막대 차트를 확장한 차트입니다. 열의 너비는 한 범주의 전체 크기(예: 특정 지역의 시장 규모)를 인코딩하고, 각 열 내의 누적 세그먼트는 구성(예: 서로 다른 제품의 시장 점유율)을 보여줍니다. 그 결과 전체 플롯 영역을 채우는 직사각형 영역이 만들어지며, 각 셀의 면적은 전체 합계에 대한 기여도에 비례합니다.

A Marimekko chart (also known as a mosaic plot) extends the stacked bar chart by varying the width of each column in addition to the height of each segment. The width of a column encodes the total size of one category (e.g., market size of a region), while the stacked segments within each column show the composition (e.g., market share of different products). The result is a rectangular area that fills the entire plotting region, with every cell's area proportional to its contribution to the grand total.

이 이중 인코딩 -- 한 차원은 너비로, 다른 차원은 높이로 -- 은 마리메코 차트를 범주의 크기와 구성이 동시에 어떻게 달라지는지 보여주는 데 독보적으로 적합하게 만듭니다. "A 지역이 B 지역보다 시장이 클 뿐 아니라, 제품 구성도 다르다"와 같은 질문에 답할 수 있습니다. 각 셀의 면적은 열 너비와 행 높이의 곱이므로, 세 번째 암묵적 인코딩을 제공합니다.

This double encoding -- width for one dimension, height for another -- makes the Marimekko chart uniquely suited for showing how both the size and composition of categories vary simultaneously. It answers questions like "not only does Region A have a larger market than Region B, but it also has a different product mix." The area of each cell is the product of its column width and row height, providing a third implicit encoding.

마리메코 차트는 정보 밀도가 높지만 신중한 설계가 필요합니다. 가변 너비 열은 막대가 공통 기준선이나 너비에 정렬되지 않기 때문에 열 간 세그먼트 높이를 비교하기 어렵게 만듭니다. 레이블과 툴팁은 가독성에 필수적입니다. 이 차트는 축당 적당한 수의 범주(3-7개)와 정교한 차트 유형에 익숙한 청중에게 가장 잘 작동합니다.

Marimekko charts are information-dense but demand careful design. Variable-width columns make it harder to compare segment heights across columns because the bars are not aligned to a common baseline or width. Labels and tooltips are essential for readability. The chart works best with a moderate number of categories (3-7 per axis) and audiences comfortable with sophisticated chart types.

Marimekko Chart — composition shown as normalized stacked bars

언제 사용하나 / When to Use

  • 세그먼트와 지역에 걸친 시장 점유율을 동시에 표시
  • Showing market share across segments AND regions simultaneously
  • 범주의 크기와 내부 구성이 함께 어떻게 달라지는지 시각화
  • Visualizing how both the size of categories and their internal composition vary
  • 절대 크기와 상대적 구성이 모두 중요한 전략 분석
  • Strategic analysis where both absolute size and relative mix matter
  • 전체 규모가 다른 개체들의 포트폴리오 구성 비교
  • Comparing portfolio compositions across entities of different total sizes

이럴 땐 피하세요 / When NOT to Use

  • 개별 세그먼트의 정밀한 비교가 필수적일 때 -- 가변 너비가 비교를 방해하므로 그룹 막대 차트를 사용하세요
  • When precise comparison of individual segments is essential -- variable widths impede comparison; use a grouped bar chart
  • 어느 한 축에라도 범주가 많을 때(7개 초과) -- 셀이 너무 작아져 읽기 어려워집니다
  • When there are many categories on either axis (>7) -- cells become too small to read
  • 이 차트 유형에 익숙하지 않은 청중의 경우 -- 이중 인코딩은 설명이 필요합니다
  • For audiences unfamiliar with the chart type -- the double encoding requires explanation
  • 구성만 중요할 때(범주의 상대적 크기는 중요하지 않을 때) -- 균일한 너비의 누적 막대 차트를 사용하세요
  • When only composition matters (not relative category sizes) -- use a stacked bar chart with uniform widths

구조 / Anatomy

  • : 주요 범주마다 하나씩 있는 가변폭 세로 막대. 너비가 해당 범주의 전체 값을 인코딩합니다.
  • Columns: Variable-width vertical bars, one per primary category. Width encodes that category's total value.
  • 세그먼트: 각 열 내에 쌓인 직사각형. 높이(비율)가 하위 범주의 점유율을 인코딩하고, 면적이 절대적 기여도를 인코딩합니다.
  • Segments: Stacked rectangles within each column. Height (proportion) encodes the sub-category's share. Area encodes absolute contribution.
  • 범주 축: 하단에 주요 범주를 식별하는 레이블. 눈금 위치가 균일하지 않습니다.
  • Category axis: Labels along the bottom identifying primary categories. Tick positions are not uniform.
  • 구성 축: 세로 쪽에 있는 백분율 축(0-100%).
  • Composition axis: A percentage axis (0-100%) on the vertical side.
  • 셀 레이블: 하위 범주명이나 백분율을 보여주는 각 직사각형 내부의 텍스트.
  • Cell labels: Text inside each rectangle showing the sub-category name or percentage.
  • 너비 레이블: 너비를 결정하는 전체 값을 보여주는, 각 열 아래의 선택적 주석.
  • Width labels: Optional annotations below each column showing the total value that determines width.

변형 / Variations

  • 모자이크 플롯: 분할표를 시각화하는 데 쓰이는 통계적 버전으로, 셀 사이에 간격을 두고 표준화 잔차를 음영으로 표시하는 경우가 많습니다.
  • Mosaic plot: The statistical version used for visualizing contingency tables, often with gaps between cells and standardized residual shading.
  • 스파인 플롯: 너비만 달라지고 세그먼트가 100%로 쌓이는 1차원 변형.
  • Spine plot: A one-dimensional variant where only width varies and segments stack to 100%.
  • 백분율 마리메코: 모든 열이 동일한 높이(100%)로 정규화되지만 너비는 다르며, 구성 차이에만 초점을 맞춥니다.
  • Percentage Marimekko: All columns are normalized to the same height (100%) but widths vary, focusing purely on composition differences.
  • 중첩 마리메코: 여러 단계의 하위 범주를 중첩된 직사각형으로 인코딩합니다.
  • Nested Marimekko: Multiple levels of sub-categories encoded through nested rectangles.

코드 레퍼런스 / Code Reference

// Observable Plot - normalized stacked bar (Marimekko approximation)
Plot.plot({
  marks: [
    Plot.barY(data, {
      x: "region",
      y: "revenue",
      fill: "product",
      offset: "expand",
      tip: true
    }),
    Plot.ruleY([0, 1])
  ],
  x: { label: "Region" },
  y: { label: "Market Share", tickFormat: ".0%" },
  color: { legend: true }
})