【发布时间】:2019-09-27 11:32:17
【问题描述】:
我想创建一个 ReChart 组件,它有多行。
到目前为止,我有这个虚拟代码。
<LineChart
data={data}
margin={{
top: 16,
right: 16,
bottom: 0,
left: 24
}}
>
<XAxis dataKey="time" />
<YAxis>
<Label angle={270} position="left" style={{ textAnchor: "middle" }}>
Cyber assesment
</Label>
</YAxis>
<Line type="monotone" dataKey="amount" stroke="#556CD6" dot={false} />
</LineChart>
数据是一个数组,具有两个值对象:
function createData(time, amount) {
return { time, amount };
}
const data = [
createData('00:00', 0),
createData('03:00', 300),
createData('06:00', 600),
createData('09:00', 800),
createData('12:00', 1500),
createData('15:00', 2000),
createData('18:00', 2400),
createData('21:00', 2400),
createData('24:00', undefined),
];
我想这样做,所以我可以绘制多条线,在那里我尝试创建不同的函数并将其他数据添加到同一个数组,但没有好的结果。
如何实现?
我试图创建一个工作示例,但没有任何运气
function createData(amountA, amountB) {
return {a: amountA, b: amountB };
}
const data = [
createData(100, 200),
createData(200, 400),
createData(400, 500),
createData(600, 800),
createData(650, 700),
createData(900, 800)
];
export default function Chart() {
console.log(data)
return (
<React.Fragment>
<Title>Performance indication</Title>
<ResponsiveContainer>
<LineChart
data={data}
margin={{
top: 16,
right: 16,
bottom: 0,
left: 24,
}}
>
<XAxis dataKey="time" />
<YAxis>
<Label angle={270} position="left" style={{ textAnchor: 'middle' }}>
Cyber assesment
</Label>
</YAxis>
<Line type="monotone" dataKey={data.a} stroke="#556CD6" dot={false} />
<Line type="monotone" dataKey={data.b} stroke="#556CD6" dot={false} />
</LineChart>
</ResponsiveContainer>
</React.Fragment>
【问题讨论】:
-
我不确定我是否理解您的问题。如果要绘制多条线,则需要在数据对象中添加键(请参阅jsfiddle.net/alidingling/xqjtetw0)
标签: javascript reactjs recharts