LineChart
LineChartは、複数のデータを比較するためのラインチャートを描画するコンポーネントです。
interface Data {
date: string
desktop: number
mobile: number
tablet: number
}
const series = useMemo<LineChart.LineProps<Data>[]>(
() =>
LineChart.mergeSeries([
{ dataKey: "desktop" },
{ dataKey: "tablet" },
{ dataKey: "mobile" },
]),
[],
)
const data = useMemo<Data[]>(
() => [
{
date: "2026-03-01",
desktop: faker.number.int({ max: 5000, min: 1000 }),
mobile: faker.number.int({ max: 5000, min: 1000 }),
tablet: faker.number.int({ max: 5000, min: 1000 }),
},
{
date: "2026-04-01",
desktop: faker.number.int({ max: 5000, min: 1000 }),
mobile: faker.number.int({ max: 5000, min: 1000 }),
tablet: faker.number.int({ max: 5000, min: 1000 }),
},
{
date: "2026-05-01",
desktop: faker.number.int({ max: 5000, min: 1000 }),
mobile: faker.number.int({ max: 5000, min: 1000 }),
tablet: faker.number.int({ max: 5000, min: 1000 }),
},
{
date: "2026-06-01",
desktop: faker.number.int({ max: 5000, min: 1000 }),
mobile: faker.number.int({ max: 5000, min: 1000 }),
tablet: faker.number.int({ max: 5000, min: 1000 }),
},
{
date: "2026-07-01",
desktop: faker.number.int({ max: 5000, min: 1000 }),
mobile: faker.number.int({ max: 5000, min: 1000 }),
tablet: faker.number.int({ max: 5000, min: 1000 }),
},
{
date: "2026-08-01",
desktop: faker.number.int({ max: 5000, min: 1000 }),
mobile: faker.number.int({ max: 5000, min: 1000 }),
tablet: faker.number.int({ max: 5000, min: 1000 }),
},
],
[],
)
return (
<LineChart.Root
data={data}
series={series}
tooltipProps={{
labelFormatter: (value) => dayjs(value).format("MMM"),
}}
xAxisProps={{
dataKey: "date",
tickFormatter: (value) => dayjs(value).format("MMM"),
}}
/>
)
使い方
import { LineChart } from "@yamada-ui/react"
import { LineChart } from "@/components/ui"
import { LineChart } from "@workspaces/ui"
<LineChart.Root>
<LineChart.Line>
<LineChart.LabelList />
</LineChart.Line>
<LineChart.Label />
<LineChart.ReferenceLine />
<LineChart.Grid />
<LineChart.XAxis />
<LineChart.YAxis />
<LineChart.Tooltip />
<LineChart.Legend />
</LineChart.Root>
コンポジション
const data = useMemo<Data[]>(() => createCartesianChartData(), [])
return (
<LineChart.Root data={data}>
<LineChart.Tooltip labelFormatter={(value) => dayjs(value).format("MMM")} />
<LineChart.XAxis
dataKey="date"
tickFormatter={(value) => dayjs(value).format("MMM")}
/>
<LineChart.Line dataKey="desktop" dot>
<LineChart.LabelList />
</LineChart.Line>
<LineChart.Line dataKey="tablet" />
<LineChart.Line dataKey="mobile" />
</LineChart.Root>
)
サイズを変更する
const series = useMemo<LineChart.LineProps<Data>[]>(
() =>
LineChart.mergeSeries([
{ dataKey: "desktop" },
{ dataKey: "tablet" },
{ dataKey: "mobile" },
]),
[],
)
const data = useMemo(() => createCartesianChartData(), [])
return (
<VStack>
<For each={["xs", "sm", "md", "lg", "xl"]}>
{(size, index) => (
<LineChart.Root
key={index}
size={size}
data={data}
series={series}
tooltipProps={{
labelFormatter: (value) => dayjs(value).format("MMM"),
}}
xAxisProps={{
dataKey: "date",
tickFormatter: (value) => dayjs(value).format("MMM"),
}}
/>
)}
</For>
</VStack>
)
カラースキームを変更する
const series = useMemo<LineChart.LineProps<Data>[]>(
() =>
LineChart.mergeSeries([
{ dataKey: "desktop" },
{ dataKey: "tablet" },
{ dataKey: "mobile" },
]),
[],
)
const data = useMemo(() => createCartesianChartData(), [])
return (
<LineChart.Root
colorScheme="blue"
data={data}
series={series}
tooltipProps={{
labelFormatter: (value) => dayjs(value).format("MMM"),
}}
xAxisProps={{
dataKey: "date",
tickFormatter: (value) => dayjs(value).format("MMM"),
}}
/>
)
色を変更する
const series = useMemo<LineChart.LineProps<Data>[]>(
() => [
{ dataKey: "desktop", color: "red" },
{ dataKey: "tablet", color: "blue" },
{ dataKey: "mobile", color: "green" },
],
[],
)
const data = useMemo(() => createCartesianChartData(), [])
return (
<LineChart.Root
data={data}
series={series}
tooltipProps={{
labelFormatter: (value) => dayjs(value).format("MMM"),
}}
xAxisProps={{
dataKey: "date",
tickFormatter: (value) => dayjs(value).format("MMM"),
}}
/>
)
タイプを変更する
タイプを変更する場合は、seriesのtypeまたはlineProps.typeに"monotone"や"linear"などを設定します。デフォルトは、"monotone"です。
const series = useMemo<LineChart.LineProps<Data>[]>(
() =>
LineChart.mergeSeries([
{ dataKey: "desktop" },
{ dataKey: "tablet" },
{ dataKey: "mobile" },
]),
[],
)
const data = useMemo(() => createCartesianChartData(), [])
return (
<VStack>
<For
each={[
"monotone",
"bump",
"linear",
"natural",
"step",
"stepBefore",
"stepAfter",
]}
>
{(type, index) => (
<LineChart.Root
key={index}
lineProps={{ type }}
data={data}
series={series}
tooltipProps={{
labelFormatter: (value) => dayjs(value).format("MMM"),
}}
xAxisProps={{
dataKey: "date",
tickFormatter: (value) => dayjs(value).format("MMM"),
}}
/>
)}
</For>
</VStack>
)
Y軸を表示する
Y軸を表示する場合は、withYAxisをtrueに設定します。デフォルトは、falseです。
const series = useMemo<LineChart.LineProps<Data>[]>(
() =>
LineChart.mergeSeries([
{ dataKey: "desktop" },
{ dataKey: "tablet" },
{ dataKey: "mobile" },
]),
[],
)
const data = useMemo(() => createCartesianChartData(), [])
return (
<LineChart.Root
data={data}
series={series}
withYAxis
chartProps={{ margin: { right: 16 } }}
tooltipProps={{
labelFormatter: (value) => dayjs(value).format("MMM"),
}}
xAxisProps={{
dataKey: "date",
tickFormatter: (value) => dayjs(value).format("MMM"),
}}
/>
)
また、yAxisProps.orientationに"start"や"end"を設定することで、Y軸の配置を変更できます。デフォルトは、"start"です。
const series = useMemo<LineChart.LineProps<Data>[]>(
() =>
LineChart.mergeSeries([
{ dataKey: "desktop" },
{ dataKey: "tablet" },
{ dataKey: "mobile" },
]),
[],
)
const data = useMemo(() => createCartesianChartData(), [])
return (
<LineChart.Root
data={data}
series={series}
withYAxis
chartProps={{ margin: { left: 16 } }}
tooltipProps={{
labelFormatter: (value) => dayjs(value).format("MMM"),
}}
xAxisProps={{
dataKey: "date",
tickFormatter: (value) => dayjs(value).format("MMM"),
}}
yAxisProps={{ orientation: "end" }}
/>
)
凡例を表示する
凡例を表示する場合は、withLegendをtrueに設定します。デフォルトは、falseです。また、凡例の配置を変更する場合は、legendProps.placementに"start-start"や"end-end"などを設定します。デフォルトは、"start-end"です。
const series = useMemo<LineChart.LineProps<Data>[]>(
() => [
{ dataKey: "desktop", color: "red" },
{ dataKey: "tablet", color: "blue" },
{ dataKey: "mobile", color: "green" },
],
[],
)
const data = useMemo(() => createCartesianChartData(), [])
return (
<LineChart.Root
data={data}
series={series}
withLegend
tooltipProps={{
labelFormatter: (value) => dayjs(value).format("MMM"),
}}
xAxisProps={{
dataKey: "date",
tickFormatter: (value) => dayjs(value).format("MMM"),
}}
/>
)
項目名を変更する
ツールチップや凡例の項目名を変更する場合は、seriesのnameに文字列を設定します。
const series = useMemo<LineChart.LineProps<Data>[]>(
() => [
{ dataKey: "desktop", name: "Desktop", color: "red" },
{ dataKey: "tablet", name: "Tablet", color: "blue" },
{ dataKey: "mobile", name: "Mobile", color: "green" },
],
[],
)
const data = useMemo(() => createCartesianChartData(), [])
return (
<LineChart.Root
data={data}
series={series}
withLegend
tooltipProps={{
labelFormatter: (value) => dayjs(value).format("MMM"),
}}
xAxisProps={{
dataKey: "date",
tickFormatter: (value) => dayjs(value).format("MMM"),
}}
/>
)
グリッドを変更する
グリッドを変更する場合は、gridProps.horizontalとgridProps.verticalに真偽値を設定します。
const series = useMemo<LineChart.LineProps<Data>[]>(
() =>
LineChart.mergeSeries([
{ dataKey: "desktop" },
{ dataKey: "tablet" },
{ dataKey: "mobile" },
]),
[],
)
const data = useMemo(() => createCartesianChartData(), [])
return (
<VStack>
<For each={["xy", "x", "y", "none"]}>
{(value, index) => (
<LineChart.Root
key={index}
gridProps={{
horizontal: value.includes("x"),
vertical: value.includes("y"),
}}
data={data}
series={series}
tooltipProps={{
labelFormatter: (value) => dayjs(value).format("MMM"),
}}
xAxisProps={{
dataKey: "date",
tickFormatter: (value) => dayjs(value).format("MMM"),
}}
/>
)}
</For>
</VStack>
)
ドットを表示する
ドットを表示する場合は、seriesのdotまたはlineProps.dotをtrueに設定します。デフォルトは、falseです。
const series = useMemo<LineChart.LineProps<Data>[]>(
() => LineChart.mergeSeries([{ dataKey: "desktop" }]),
[],
)
const data = useMemo(() => createCartesianChartData(), [])
return (
<LineChart.Root
data={data}
series={series}
lineProps={{ dot: true }}
tooltipProps={{
labelFormatter: (value) => dayjs(value).format("MMM"),
}}
xAxisProps={{
dataKey: "date",
tickFormatter: (value) => dayjs(value).format("MMM"),
}}
/>
)
ラベルを表示する
ラベルを表示する場合は、seriesのlabelまたはlineProps.labelをtrueに設定します。デフォルトは、falseです。
const series = useMemo<LineChart.LineProps<Data>[]>(
() => LineChart.mergeSeries([{ dataKey: "desktop" }]),
[],
)
const data = useMemo(() => createCartesianChartData(), [])
return (
<LineChart.Root
data={data}
series={series}
lineProps={{ dot: true, label: true }}
tooltipProps={{
labelFormatter: (value) => dayjs(value).format("MMM"),
}}
xAxisProps={{
dataKey: "date",
tickFormatter: (value) => dayjs(value).format("MMM"),
}}
/>
)
単位を表示する
単位を表示する場合は、formatterやtickFormatterを使用するか、unitに文字列を設定します。
const series = useMemo<LineChart.LineProps<Data>[]>(
() => LineChart.mergeSeries([{ dataKey: "desktop" }]),
[],
)
const data = useMemo(() => createCartesianChartData(), [])
return (
<LineChart.Root
data={data}
series={series}
withYAxis
chartProps={{ margin: { right: 16 } }}
lineProps={{
dot: true,
label: {
formatter: (value) => `${(Number(value) / 1000).toFixed(1)}k`,
},
}}
tooltipProps={{
formatter: (value) => `${(Number(value) / 1000).toFixed(1)}k`,
labelFormatter: (value) => dayjs(value).format("MMM"),
}}
xAxisProps={{
dataKey: "date",
tickFormatter: (value) => dayjs(value).format("MMM"),
}}
yAxisProps={{
domain: [0, 10000],
tickFormatter: (value) => (value / 1000).toFixed(1),
ticks: [0, 2500, 5000, 7500, 10000],
unit: "k",
}}
/>
)
同期させる
同期させる場合は、syncIdに文字列を設定します。
const series = useMemo<LineChart.LineProps<Data>[]>(
() =>
LineChart.mergeSeries([
{ dataKey: "desktop" },
{ dataKey: "tablet" },
{ dataKey: "mobile" },
]),
[],
)
const data = useMemo(() => createCartesianChartData(), [])
return (
<VStack>
<LineChart.Root
data={data}
series={series}
syncId="chart"
tooltipProps={{
labelFormatter: (value) => dayjs(value).format("MMM"),
}}
xAxisProps={{
dataKey: "date",
tickFormatter: (value) => dayjs(value).format("MMM"),
}}
/>
<LineChart.Root
data={data}
series={series}
syncId="chart"
tooltipProps={{
labelFormatter: (value) => dayjs(value).format("MMM"),
}}
xAxisProps={{
dataKey: "date",
tickFormatter: (value) => dayjs(value).format("MMM"),
}}
/>
</VStack>
)
フォーマットする
フォーマットする場合は、formatterやtickFormatterなどを使用します。
const series = useMemo<LineChart.LineProps<Data>[]>(
() =>
LineChart.mergeSeries([
{ dataKey: "desktop" },
{ dataKey: "tablet" },
{ dataKey: "mobile" },
]),
[],
)
const data = useMemo(() => createCartesianChartData(), [])
return (
<LineChart.Root
data={data}
series={series}
withYAxis
chartProps={{ margin: { right: 16 } }}
tooltipProps={{
formatter: (value, name = "") => [
Number(value).toLocaleString(),
toTitleCase(name),
],
labelFormatter: (value) => dayjs(value).format("MMM"),
}}
xAxisProps={{
dataKey: "date",
tickFormatter: (value) => dayjs(value).format("MMM"),
}}
yAxisProps={{
tickFormatter: (value) => value.toLocaleString(),
}}
/>
)
基準線を表示する
const series = useMemo<LineChart.LineProps<Data>[]>(
() =>
LineChart.mergeSeries([
{ dataKey: "desktop" },
{ dataKey: "tablet" },
{ dataKey: "mobile" },
]),
[],
)
const data = useMemo(() => createCartesianChartData(), [])
return (
<LineChart.Root
data={data}
series={series}
tooltipProps={{
labelFormatter: (value) => dayjs(value).format("MMM"),
}}
xAxisProps={{
dataKey: "date",
tickFormatter: (value) => dayjs(value).format("MMM"),
}}
>
<LineChart.ReferenceLine label="Reference line" y={3000} />
<LineChart.ReferenceLine
label={{ position: "insideTopLeft", value: "Reference line" }}
x={dayjs().add(3, "month").format("YYYY-MM-DD")}
/>
<LineChart.ReferenceLine
label={{ position: "center", value: "Reference line" }}
segment={[
{ x: dayjs().format("YYYY-MM-DD"), y: 0 },
{ x: dayjs().add(3, "month").format("YYYY-MM-DD"), y: 3000 },
]}
/>
</LineChart.Root>
)
目盛線を表示する
目盛線を表示する場合は、xAxisProps.tickLineまたはyAxisProps.tickLineをtrueに設定します。デフォルトは、falseです。
const series = useMemo<LineChart.LineProps<Data>[]>(
() =>
LineChart.mergeSeries([
{ dataKey: "desktop" },
{ dataKey: "tablet" },
{ dataKey: "mobile" },
]),
[],
)
const data = useMemo(() => createCartesianChartData(), [])
return (
<LineChart.Root
data={data}
series={series}
withYAxis
chartProps={{ margin: { right: 16 } }}
tooltipProps={{
labelFormatter: (value) => dayjs(value).format("MMM"),
}}
xAxisProps={{
dataKey: "date",
tickFormatter: (value) => dayjs(value).format("MMM"),
tickLine: true,
}}
yAxisProps={{ tickLine: true }}
/>
)
軸のラベルを表示する
軸のラベルを表示する場合は、xAxisProps.labelまたはyAxisProps.labelに文字列を設定します。デフォルトは、falseです。
const series = useMemo<LineChart.LineProps<Data>[]>(
() =>
LineChart.mergeSeries([
{ dataKey: "desktop" },
{ dataKey: "tablet" },
{ dataKey: "mobile" },
]),
[],
)
const data = useMemo(() => createCartesianChartData(), [])
return (
<LineChart.Root
data={data}
series={series}
withYAxis
chartProps={{ margin: { right: 16 } }}
tooltipProps={{
labelFormatter: (value) => dayjs(value).format("MMM"),
}}
xAxisProps={{
dataKey: "date",
label: "Date",
tickFormatter: (value) => dayjs(value).format("MMM"),
}}
yAxisProps={{ label: "Value" }}
/>
)
範囲を設定する
範囲を設定する場合は、yAxisProps.domainに[最小, 最大]を設定します。間隔を設定する場合は、yAxisProps.ticksに配列を設定します。
const series = useMemo<LineChart.LineProps<Data>[]>(
() =>
LineChart.mergeSeries([
{ dataKey: "desktop" },
{ dataKey: "tablet" },
{ dataKey: "mobile" },
]),
[],
)
const data = useMemo(() => createCartesianChartData(), [])
return (
<LineChart.Root
data={data}
series={series}
withYAxis
chartProps={{ margin: { right: 16 } }}
tooltipProps={{
labelFormatter: (value) => dayjs(value).format("MMM"),
}}
xAxisProps={{
dataKey: "date",
tickFormatter: (value) => dayjs(value).format("MMM"),
}}
yAxisProps={{
domain: [0, 5000],
ticks: [0, 1000, 2000, 3000, 4000, 5000],
}}
/>
)
ツールチップのカーソルを表示する
ツールチップのカーソルを表示する場合は、tooltipProps.cursorをtrueに設定します。デフォルトは、falseです。
const series = useMemo<LineChart.LineProps<Data>[]>(
() =>
LineChart.mergeSeries([
{ dataKey: "desktop" },
{ dataKey: "tablet" },
{ dataKey: "mobile" },
]),
[],
)
const data = useMemo(() => createCartesianChartData(), [])
return (
<LineChart.Root
data={data}
series={series}
tooltipProps={{
cursor: true,
labelFormatter: (value) => dayjs(value).format("MMM"),
}}
xAxisProps={{
dataKey: "date",
tickFormatter: (value) => dayjs(value).format("MMM"),
}}
/>
)
X軸を非表示にする
X軸を非表示にする場合は、withXAxisをfalseに設定します。デフォルトは、trueです。
const series = useMemo<LineChart.LineProps<Data>[]>(
() =>
LineChart.mergeSeries([
{ dataKey: "desktop" },
{ dataKey: "tablet" },
{ dataKey: "mobile" },
]),
[],
)
const data = useMemo(() => createCartesianChartData(), [])
return (
<LineChart.Root
data={data}
series={series}
withXAxis={false}
chartProps={{ margin: { left: 0, right: 0 } }}
tooltipProps={{ labelFormatter: () => null }}
/>
)
アクティブドットを非表示にする
アクティブドットを非表示にする場合は、seriesのactiveDotまたはlineProps.activeDotをfalseに設定します。デフォルトは、trueです。
const series = useMemo<LineChart.LineProps<Data>[]>(
() =>
LineChart.mergeSeries([
{ dataKey: "desktop" },
{ dataKey: "tablet" },
{ dataKey: "mobile" },
]),
[],
)
const data = useMemo(() => createCartesianChartData(), [])
return (
<LineChart.Root
data={data}
series={series}
lineProps={{ activeDot: false }}
tooltipProps={{
labelFormatter: (value) => dayjs(value).format("MMM"),
}}
xAxisProps={{
dataKey: "date",
tickFormatter: (value) => dayjs(value).format("MMM"),
}}
/>
)
ツールチップを非表示にする
ツールチップを非表示にする場合は、withTooltipをfalseに設定します。デフォルトは、trueです。
const series = useMemo<LineChart.LineProps<Data>[]>(
() =>
LineChart.mergeSeries([
{ dataKey: "desktop" },
{ dataKey: "tablet" },
{ dataKey: "mobile" },
]),
[],
)
const data = useMemo(() => createCartesianChartData(), [])
return (
<LineChart.Root
data={data}
series={series}
withTooltip={false}
xAxisProps={{
dataKey: "date",
tickFormatter: (value) => dayjs(value).format("MMM"),
}}
/>
)
軸をカスタマイズする
const series = useMemo<LineChart.LineProps<Data>[]>(
() =>
LineChart.mergeSeries([
{ dataKey: "desktop" },
{ dataKey: "tablet" },
{ dataKey: "mobile" },
]),
[],
)
const data = useMemo(() => createCartesianChartData(), [])
return (
<LineChart.Root
data={data}
series={series}
withYAxis
chartProps={{ margin: { right: 16 } }}
tooltipProps={{
labelFormatter: (value) => dayjs(value).format("MMM"),
}}
xAxisProps={{
dataKey: "date",
label: { color: ["red", "blue"] },
tick: { color: ["red", "blue"] },
tickFormatter: (value) => dayjs(value).format("MMM"),
tickLine: { color: ["red", "blue"] },
}}
yAxisProps={{
label: { color: ["red", "blue"] },
tick: { color: ["red", "blue"] },
tickLine: { color: ["red", "blue"] },
}}
/>
)
ドットをカスタマイズする
const series = useMemo<LineChart.LineProps<Data>[]>(
() =>
LineChart.mergeSeries([
{ dataKey: "desktop" },
{ dataKey: "tablet", dot: { fill: "blue" } },
{
dataKey: "mobile",
dot: { fill: ["white", "black"], stroke: "red", strokeWidth: 1 },
},
]),
[],
)
const data = useMemo(() => createCartesianChartData(), [])
return (
<LineChart.Root
data={data}
series={series}
lineProps={{ activeDot: false }}
tooltipProps={{
labelFormatter: (value) => dayjs(value).format("MMM"),
contentProps: { withSwatch: false },
}}
xAxisProps={{
dataKey: "date",
tickFormatter: (value) => dayjs(value).format("MMM"),
}}
/>
)
アクティブドットをカスタマイズする
const series = useMemo<LineChart.LineProps<Data>[]>(
() =>
LineChart.mergeSeries([
{ dataKey: "desktop" },
{ dataKey: "tablet" },
{ dataKey: "mobile" },
]),
[],
)
const data = useMemo(() => createCartesianChartData(), [])
return (
<LineChart.Root
data={data}
series={series}
lineProps={{ activeDot: { fill: ["red", "blue"] } }}
tooltipProps={{
labelFormatter: (value) => dayjs(value).format("MMM"),
contentProps: { withSwatch: false },
}}
xAxisProps={{
dataKey: "date",
tickFormatter: (value) => dayjs(value).format("MMM"),
}}
/>
)
ラベルをカスタマイズする
const series = useMemo<LineChart.LineProps<Data>[]>(
() => [{ color: "blue", dataKey: "desktop" }],
[],
)
const data = useMemo(() => createCartesianChartData(), [])
return (
<LineChart.Root
data={data}
series={series}
lineProps={{
activeDot: { fill: "red" },
dot: { fill: "red" },
label: { color: "red" },
}}
tooltipProps={{
labelFormatter: (value) => dayjs(value).format("MMM"),
contentProps: { withSwatch: false },
}}
xAxisProps={{
dataKey: "date",
tickFormatter: (value) => dayjs(value).format("MMM"),
}}
yAxisProps={{
domain: [0, 10000],
ticks: [0, 2500, 5000, 7500, 10000],
}}
/>
)
グリッドをカスタマイズする
const series = useMemo<LineChart.LineProps<Data>[]>(
() =>
LineChart.mergeSeries([
{ dataKey: "desktop" },
{ dataKey: "tablet" },
{ dataKey: "mobile" },
]),
[],
)
const data = useMemo(() => createCartesianChartData(), [])
return (
<LineChart.Root
data={data}
series={series}
gridProps={{ strokeDasharray: "15 15" }}
tooltipProps={{
labelFormatter: (value) => dayjs(value).format("MMM"),
contentProps: { withSwatch: false },
}}
xAxisProps={{
dataKey: "date",
tickFormatter: (value) => dayjs(value).format("MMM"),
}}
/>
)
ツールチップのカーソルをカスタマイズする
const series = useMemo<LineChart.LineProps<Data>[]>(
() =>
LineChart.mergeSeries([
{ dataKey: "desktop" },
{ dataKey: "tablet" },
{ dataKey: "mobile" },
]),
[],
)
const data = useMemo(() => createCartesianChartData(), [])
return (
<LineChart.Root
data={data}
series={series}
tooltipProps={{
cursor: { stroke: ["red", "blue"] },
labelFormatter: (value) => dayjs(value).format("MMM"),
}}
xAxisProps={{
dataKey: "date",
tickFormatter: (value) => dayjs(value).format("MMM"),
}}
/>
)