HAHS.
Back to Catalog

Ridgeline Plot

chart

Also known as: joy plot, joyplot, ridgeline chart, stacked density plot

Show distributionCompare NumericalCategorical Line/Area

설명 / Description

릿지라인 플롯(유명한 조이 디비전(Joy Division) 앨범 커버에서 이름을 딴 조이 플롯이라고도 함)은 밀도 곡선이나 매끄럽게 처리한 히스토그램의 연속을 범주 축을 따라 배열하며, 각 곡선을 수직으로 오프셋하여 부분적으로 겹치게 합니다. 이러한 쌓임은 산맥 실루엣을 만들어내어, 시선이 그룹 사이를 훑으면서 분포 형태, 중심, 퍼짐의 차이를 한눈에 포착하도록 유도합니다.

A ridgeline plot (also known as a joy plot, after the famous Joy Division album cover) arranges a series of density curves or smoothed histograms along a categorical axis, with each curve offset vertically so they partially overlap. This stacking creates a mountain-range silhouette that invites the eye to scan across groups and spot differences in distribution shape, center, and spread at a glance.

겹치는 디자인이 핵심적인 혁신입니다: 곡선들이 수직 공간을 공유하도록 함으로써, 릿지라인 플롯은 화면이 어지러워지기 전까지 바이올린 플롯이나 패싯 히스토그램보다 훨씬 더 많은 범주를 수용할 수 있습니다. 일반적인 릿지라인 플롯은 10~30개의 그룹을 여유 있게 보여줄 수 있는 반면, 같은 데이터를 나란히 배열한 바이올린이나 스몰 멀티플 히스토그램으로 보여주려면 훨씬 더 많은 공간이 필요합니다. 트레이드오프는 일부 곡선의 부분이 이웃에 가려질 수 있다는 점이며, 따라서 범주의 순서가 중요합니다.

The overlapping design is the key innovation: by allowing curves to share vertical space, ridgeline plots accommodate far more categories than violin plots or faceted histograms before the display becomes cluttered. A typical ridgeline plot can comfortably show 10-30 groups, whereas the same data shown as side-by-side violins or small-multiple histograms would require much more space. The trade-off is that portions of some curves may be occluded by neighbors, so the ordering of categories matters.

릿지라인 플롯은 특히 분포가 시간에 따라 어떻게 변화하는지 보여주는 데 인기가 많습니다(예: 월별 기온 분포, 또는 연대별 곡의 길이). 시청자가 특정 그룹 간 정밀한 수치 비교보다는 전체적인 형태 차이를 지각해야 할 때 가장 효과적입니다.

Ridgeline plots are especially popular for showing how a distribution evolves over time (e.g., temperature distribution by month, or song duration by decade). They work best when the viewer needs to perceive overall shape differences rather than make precise numerical comparisons between specific groups.

Ridgeline Plot — interactive example

언제 사용하나 / When to Use

  • 많은 그룹(10~30개 범주)에 걸쳐 분포의 형태를 비교할 때
  • Comparing the shape of distributions across many groups (10-30 categories)
  • 시간이나 지리와 같이 순서가 있는 차원에 따라 분포가 어떻게 변화하는지 보여줄 때
  • Showing how a distribution evolves over an ordered dimension like time or geography
  • 범주 간의 다봉성, 왜도, 중심 이동을 한눈에 드러낼 때
  • Revealing multimodality, skewness, or shifting centers across categories at a glance
  • 발표를 위해 분포 변화에 대한 시각적으로 인상적인 요약을 만들 때
  • Creating a visually striking summary of distributional change for presentations

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

  • 그룹 간 정밀한 밀도 비교가 중요할 때 -- 기준선이 정렬된 바이올린 플롯을 사용하세요
  • When precise density comparison between groups matters -- use violin plots with aligned baselines
  • 그룹이 매우 적을 때(5개 미만) -- 히스토그램이나 박스 플롯의 스몰 멀티플이 더 명확합니다
  • When you have very few groups (fewer than 5) -- small multiples of histograms or box plots are clearer
  • 분포의 꼬리 부분이 중요할 때 -- 겹침이 꼬리를 가릴 수 있으므로, 대신 패싯 히스토그램을 사용하세요
  • When the tails of distributions are critical -- overlapping can occlude tails; use faceted histograms instead
  • 청중이 정확한 백분위 값을 필요로 할 때 -- 박스 플롯을 사용하세요
  • When the audience needs exact percentile values -- use a box plot
  • 분포들이 매우 비슷할 때 -- 겹치는 레이아웃에서는 미묘한 차이를 발견하기 어렵습니다
  • When distributions are very similar -- the overlapping layout makes subtle differences hard to spot

구조 / Anatomy

  • 밀도 곡선: 그룹별로 하나씩, 매끄럽게 처리된 분포(커널 밀도 추정 또는 매끈한 히스토그램)
  • Density curves: Smoothed distributions (kernel density estimates or smoothed histograms), one per group
  • 수직 오프셋: 각 곡선이 범주 축을 따라 위로 이동하여 곡선들이 부분적으로 겹칩니다
  • Vertical offset: Each curve is shifted upward along the category axis so curves partially overlap
  • 기준선: 각 곡선은 자체 기준선을 가지며, 곡선 아래 영역은 보통 채워집니다
  • Baseline: Each curve has its own baseline; the area below the curve is typically filled
  • 범주 축: 그룹이 배열되는 축(보통 수직이며, 왼쪽에 그룹 레이블이 붙습니다)
  • Category axis: The axis along which groups are arranged (usually vertical, with groups labeled on the left)
  • 값 축: 모든 곡선이 공유하는 연속 측정 축(보통 수평)
  • Value axis: The continuous measurement axis shared by all curves (usually horizontal)
  • 채우기 색상: 그룹을 구분하거나 순서형 변수를 인코딩하기 위해 흔히 그라디언트나 범주형 색상을 사용합니다
  • Fill color: Often a gradient or categorical color to distinguish groups or encode an ordinal variable

변형 / Variations

  • 릿지라인 히스토그램: 매끄러운 밀도 곡선 대신 계단형 히스토그램 막대를 사용합니다
  • Ridgeline histogram: Uses stepped histogram bars instead of smooth density curves
  • 그라디언트 릿지라인: 채우기 색상이 값 축을 따라 변합니다(예: 기온의 경우 파랑에서 빨강으로)
  • Gradient ridgeline: Fill color varies along the value axis (e.g., blue-to-red for temperature)
  • 러그가 있는 릿지라인: 각 곡선 아래의 작은 눈금이 개별 데이터 포인트를 보여줍니다
  • Ridgeline with rug: Small tick marks below each curve show individual data points
  • 원형 릿지라인: 곡선이 원을 따라 감기며, 하루의 시간대와 같은 순환 데이터에 유용합니다
  • Circular ridgeline: Curves wrap around a circle, useful for cyclical data like hours of day
  • 인터랙티브 릿지라인: 호버 시 한 그룹이 하이라이트되고 나머지는 어두워져, 가림 문제를 해결합니다
  • Interactive ridgeline: Hovering highlights one group and dims others, solving the occlusion problem

코드 레퍼런스 / Code Reference

// Observable Plot - faceted density approximation
// (True ridgeline requires custom positioning;
// this uses faceting as the closest Plot equivalent)
Plot.plot({
  facet: {data, y: "group", marginLeft: 80},
  fy: {domain: groups, padding: -0.4},
  marks: [
    Plot.areaY(data, Plot.binX(
      {y: "count"},
      {x: "value", fill: "group", curve: "basis", fillOpacity: 0.7}
    )),
    Plot.ruleY([0])
  ]
})