在rechart中添加自定义图例可以通过以下步骤实现:
Legend
组件的content
属性来指定自定义图例组件。下面是一个示例代码,演示如何在rechart中添加自定义图例:
import React from "react";
import { BarChart, Bar, XAxis, YAxis, CartesianGrid, Legend } from "recharts";
// 自定义图例组件
const CustomLegend = ({ payload }) => (
<div>
<h3>自定义图例</h3>
{payload.map((entry, index) => (
<div key={`item-${index}`}>
<span style={{ backgroundColor: entry.color }}></span>
<span>{entry.value}</span>
</div>
))}
</div>
);
const data = [
{ name: "A", uv: 100, pv: 2400 },
{ name: "B", uv: 200, pv: 1398 },
{ name: "C", uv: 300, pv: 9800 },
{ name: "D", uv: 400, pv: 3908 },
];
const App = () => (
<BarChart width={600} height={300} data={data}>
<CartesianGrid strokeDasharray="3 3" />
<XAxis dataKey="name" />
<YAxis />
<Legend content={<CustomLegend />} /> // 添加自定义图例组件
<Bar dataKey="uv" fill="#8884d8" />
<Bar dataKey="pv" fill="#82ca9d" />
</BarChart>
);
export default App;
在上面的代码中,我们创建了一个名为CustomLegend
的自定义图例组件,并将其作为Legend
组件的content
属性的值。在自定义图例组件中,我们遍历payload
数据来渲染图例项,并使用span
元素来显示图例项的颜色和名称。
你可以根据实际需求自定义图例组件的样式和内容。这个示例中使用的是rechart库的柱状图(BarChart)作为示例图表,你可以根据自己的需要选择适合的图表类型。
领取专属 10元无门槛券
手把手带您无忧上云