使用多个数据集重新绘制ComposedChart可以通过以下步骤实现:
以下是一个示例代码:
import React, { Component } from 'react';
import { ComposedChart, Line, Bar, XAxis, YAxis, CartesianGrid, Tooltip, Legend } from 'recharts';
class MyChart extends Component {
constructor(props) {
super(props);
this.state = {
data: [
{ name: 'A', value1: 10, value2: 20 },
{ name: 'B', value1: 15, value2: 25 },
{ name: 'C', value1: 20, value2: 30 },
],
};
}
handleDataUpdate = () => {
// 更新数据集
const newData = [
{ name: 'A', value1: 12, value2: 22 },
{ name: 'B', value1: 18, value2: 28 },
{ name: 'C', value1: 25, value2: 35 },
];
this.setState({ data: newData });
};
render() {
const { data } = this.state;
return (
<div>
<button onClick={this.handleDataUpdate}>更新数据</button>
<ComposedChart width={500} height={300} data={data}>
<XAxis dataKey="name" />
<YAxis />
<CartesianGrid strokeDasharray="3 3" />
<Tooltip />
<Legend />
<Bar dataKey="value1" fill="#8884d8" />
<Line type="monotone" dataKey="value2" stroke="#82ca9d" />
</ComposedChart>
</div>
);
}
}
export default MyChart;
在上述示例中,我们创建了一个名为MyChart的组件,其中定义了一个初始的数据集data。通过点击按钮,可以调用handleDataUpdate方法来更新数据集。在render方法中,使用ComposedChart组件来绘制图表,设置data属性为数据集。点击按钮后,数据集更新,组件重新渲染,图表也会相应更新。
这是一个简单的示例,你可以根据实际需求进行修改和扩展。如果需要更多的功能和定制化,可以参考recharts的官方文档:recharts官方文档。
领取专属 10元无门槛券
手把手带您无忧上云