3

我创建了一个折线图并尝试在其上放置 2 个标签但没有成功。我在开头和结尾使用了 2 条参考线以及它们顶部的标签。我正在努力实现以下目标:

L1     L2
|
|_______

和代码:

<ResponsiveContainer height={300} width="100%">
   <LineChart data={myData}>
     <ReferenceLine x={0} label={{value:"L1", position:"top"}} />
     <ReferenceLine x={mydata.length-1} label={{value:"L2", position:"top"}}/>
     <XAxis dataKey=" " />
     <YAxis />
     <Line type="monotone" dataKey="value" stroke="#8884d8" />
   </LineChart> 
</ResponsiveContainer>
4

1 回答 1

4

需要检查的四件事:

  1. 你的第二个有错字ReferenceLine。它应该读myData,不是mydata

  2. 您在中使用数字意味着您正在绘制数字,但默认值为“类别” xReferenceLine添加type='number'<XAxis/>

  3. 您有一个 X-Axis 的空白字符串dataKey。它应该替换为实际的密钥。

  4. 您为参考线指定标签的语法是错误的。你简单地说label="L1"。AFAIK,你不能指定它的位置。它总是在行的中间结束。

将所有这些放在一起,您的代码应如下所示:

class RefLine extends React.Component{

    render(){
        const myData = [{x:-2, value:5}, {x:3, value:10}, {x:5, value:11}];
        return (
            <ResponsiveContainer height={300} width="100%">
                <LineChart data={myData}>
                    <ReferenceLine x={0} label="L1"/>
                    <ReferenceLine x={myData.length-1} label="L2"/>
                    <XAxis dataKey="x" type="number"/>
                    <YAxis />
                    <Line type="monotone" dataKey="value" stroke="#8884d8" />
                </LineChart>
            </ResponsiveContainer>
        )
    }
}
于 2018-02-16T20:29:36.103 回答