Featuring Design System
Building Blocks

ReferenceLine / ReferenceArea

기준선과 기준 영역 — 목표값, 정상 범위, 임계치를 강조.

개요

ReferenceLinex/y 값으로 수직/수평 기준선을, ReferenceAreax1/x2/y1/y2 좌표로 사각 영역을 강조합니다. 두 컴포넌트 모두 label 오브젝트에 fontSize-200 / font.sans / $text-2 기본 typography가 자동 병합되며, fill/strokelabel.fill $토큰을 해석합니다.

ReferenceLine — 수평 기준선

y 값으로 수평선을 긋습니다.

() => {
const data = [
  { name: '1월', value: 1200 },
  { name: '2월', value: 3400 },
  { name: '3월', value: 2800 },
  { name: '4월', value: 4100 },
  { name: '5월', value: 3600 },
  { name: '6월', value: 4800 },
];
return (
  <ResponsiveContainer width="100%" height={260}>
    <LineChart data={data}>
      <CartesianGrid />
      <XAxis dataKey="name" />
      <YAxis />
      <Line type="monotone" dataKey="value" stroke="$primary-50" strokeWidth={2} />
      <ReferenceLine y={3000} stroke="$support-error-3" label={{ value: '목표', position: 'insideTopRight' }} />
      <ChartTooltip />
    </LineChart>
  </ResponsiveContainer>
);
}

ReferenceLine — 수직 기준선

x 값으로 수직선을 긋습니다.

() => {
const data = [
  { name: '1월', value: 1200 },
  { name: '2월', value: 3400 },
  { name: '3월', value: 2800 },
  { name: '4월', value: 4100 },
  { name: '5월', value: 3600 },
  { name: '6월', value: 4800 },
];
return (
  <ResponsiveContainer width="100%" height={260}>
    <LineChart data={data}>
      <CartesianGrid />
      <XAxis dataKey="name" />
      <YAxis />
      <Line type="monotone" dataKey="value" stroke="$primary-50" strokeWidth={2} />
      <ReferenceLine x="3월" stroke="$support-warning-3" label={{ value: '출시일', position: 'insideTopLeft' }} />
      <ChartTooltip />
    </LineChart>
  </ResponsiveContainer>
);
}

복수 기준선 + ReferenceArea

ReferenceArea로 정상 범위를 강조하고 ReferenceLine 두 개로 최소/목표를 표시합니다.

() => {
const data = [
  { name: '1월', value: 1200 },
  { name: '2월', value: 3400 },
  { name: '3월', value: 2800 },
  { name: '4월', value: 4100 },
  { name: '5월', value: 3600 },
  { name: '6월', value: 4800 },
];
return (
  <ResponsiveContainer width="100%" height={280}>
    <LineChart data={data}>
      <CartesianGrid />
      <XAxis dataKey="name" />
      <YAxis />
      <Line type="monotone" dataKey="value" stroke="$primary-50" strokeWidth={2} />
      <ReferenceLine y={2000} stroke="$support-warning-3" label={{ value: '최소', position: 'insideRight' }} />
      <ReferenceLine y={4000} stroke="$support-error-3" label={{ value: '목표', position: 'insideRight' }} />
      <ReferenceArea y1={2000} y2={4000} fill="$gray-20" fillOpacity={0.3} label={{ value: '정상 범위', fill: '$text-3', position: 'insideTopLeft' }} />
      <ChartTooltip />
    </LineChart>
  </ResponsiveContainer>
);
}

ReferenceLine fill 토큰

선 주변 영역을 fill로 강조할 수 있습니다.

() => {
const data = [
  { name: '1월', value: 1200 },
  { name: '2월', value: 3400 },
  { name: '3월', value: 2800 },
  { name: '4월', value: 4100 },
  { name: '5월', value: 3600 },
];
return (
  <ResponsiveContainer width="100%" height={260}>
    <LineChart data={data}>
      <CartesianGrid />
      <XAxis dataKey="name" />
      <YAxis />
      <Line type="monotone" dataKey="value" stroke="$primary-50" strokeWidth={2} />
      <ReferenceLine y={3000} stroke="$support-error-3" fill="$support-error-1" />
      <ChartTooltip />
    </LineChart>
  </ResponsiveContainer>
);
}

label $토큰

label 오브젝트에 fill을 지정하면 $토큰이 해석되어 텍스트 색상에 적용됩니다. 기본 typography(fontSize-200, font.sans)는 자동.

() => {
const data = [
  { name: '1월', value: 1200 },
  { name: '2월', value: 3400 },
  { name: '3월', value: 2800 },
  { name: '4월', value: 4100 },
  { name: '5월', value: 3600 },
];
return (
  <ResponsiveContainer width="100%" height={260}>
    <LineChart data={data}>
      <CartesianGrid />
      <XAxis dataKey="name" />
      <YAxis />
      <Line type="monotone" dataKey="value" stroke="$primary-50" strokeWidth={2} />
      <ReferenceLine
        y={3000}
        stroke="$support-error-3"
        label={{ value: '목표', fill: '$support-error-3', position: 'insideTopRight' }}
      />
      <ChartTooltip />
    </LineChart>
  </ResponsiveContainer>
);
}

Props

ReferenceLine

extends recharts ReferenceLine

Prop

Type

ReferenceArea

extends recharts ReferenceArea

Prop

Type