본문으로 건너뛰기

산점도

두 지표의 관계를 점으로 보여 주는 표현 전용 차트입니다. 모든 점에 size를 주면 점 크기가 세 번째 값을 말하는 버블 차트가 됩니다(면적이 값에 비례). quadrant로 x · y 기준선(평균 · 목표)을 그어 네 구역을 나누고 구석에 구역 이름을 적을 수 있습니다. 축은 0을 꼭 포함하지 않고 데이터 범위에 맞춥니다. 점에 마우스를 올리거나 탭하면 툴팁이 나오고, 처음 그려질 때 x가 작은 점부터 차례로 나타납니다.

상태

점 + 라벨
버블 (size)

활용 방법

메뉴 엔지니어링 (사분면)

판매량 · 마진율의 평균으로 네 구역을 나눈다. 오른쪽 위는 많이 팔리고 남는 메뉴, 왼쪽 아래는 정리할 후보다. 점 크기는 매출이다.

Preview
tsx
<ScatterChart
showLabels
xLabel="판매량(잔)"
yLabel="마진율(%)"
quadrant={{ x: avgSales, y: avgMargin, labels: ["퍼즐", "스타", "정리 후보", "주력 상품"] }}
points={menus.map((m) => ({ label: m.name, x: m.sold, y: m.margin, size: m.revenue }))}
formatY={(v) => `${v}%`}
/>

속성

이름타입기본값설명
pointsScatterPoint[]-{ label, x, y, size?, tone? }. 모든 점에 size 가 있으면 버블
xLabelstring-x축 이름(아래 오른쪽)
yLabelstring-y축 이름(위 왼쪽)
quadrant{ x, y, labels? }-사분면 기준값과 구석 이름(왼쪽 위 · 오른쪽 위 · 왼쪽 아래 · 오른쪽 아래)
showLabelsbooleanfalse점 옆에 label 글자
heightnumber240플롯 영역 높이(px)
formatX(v: number) => stringko-KR 콤마x 값 포맷
formatY(v: number) => stringko-KR 콤마y 값 포맷