[javascript] Recharts에서 데이터 라벨을 추가하는 방법은 무엇인가요?

데이터 라벨을 추가하는 방법에는 두 가지가 있습니다. 첫 번째 방법은 label prop을 사용하는 것이고, 두 번째 방법은 <CartesianGrid> 컴포넌트 내부에서 <Tooltip> 컴포넌트를 사용하는 것입니다.

먼저, label prop을 사용하는 방법을 살펴보겠습니다. <Bar>, <Line>, <Area> 등의 차트 컴포넌트에 label prop을 추가하고, 해당 데이터 라벨을 표시할 텍스트를 설정할 수 있습니다. 예를 들면 다음과 같습니다:


import { BarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip } from 'recharts';

const data = [
  { name: 'A', value: 10 },
  { name: 'B', value: 20 },
  { name: 'C', value: 30 },
];

<BarChart width={500} height={300} data={data}>
  <CartesianGrid strokeDasharray="3 3" />
  <XAxis dataKey="name" />
  <YAxis />
  <Tooltip />
  <Bar dataKey="value" label={{ position: 'top' }} />
</BarChart>

위의 예제에서 <Bar> 컴포넌트에 label prop을 사용하여 데이터 값 위에 라벨을 표시하도록 설정하였습니다. position prop을 이용하여 라벨의 위치를 조정할 수 있습니다.

두 번째 방법은 <CartesianGrid> 컴포넌트 내부에서 <Tooltip> 컴포넌트를 사용하여 데이터 라벨을 추가하는 것입니다. 아래 예제를 참고하세요:

import { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip } from 'recharts';

const data = [
  { name: 'A', value: 10 },
  { name: 'B', value: 20 },
  { name: 'C', value: 30 },
];

<LineChart width={500} height={300} data={data}>
  <XAxis dataKey="name" />
  <YAxis />
  <CartesianGrid />
  <Tooltip labelFormatter={value => `Value: ${value}`} />
  <Line type="monotone" dataKey="value" stroke="#8884d8" />
</LineChart>

위의 예제에서 <Tooltip> 컴포넌트의 labelFormatter prop을 사용하여 데이터 라벨을 설정합니다. labelFormatter prop은 라벨의 포맷을 지정하는 함수를 받습니다. 위 예제에서는 “Value: 10”과 같이 데이터 값 앞에 “Value: “를 추가하여 라벨을 표시하도록 설정하였습니다.

위의 두 가지 방법을 사용하여 Recharts에서 데이터 라벨을 추가할 수 있습니다. 자세한 내용은 Recharts의 공식 문서를 참고하세요.