ReCharts标签位置不起作用

时间:2018-02-04 07:30:37

标签: reactjs charts recharts

我创建了一个折线图,并尝试在其上面放置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>

1 个答案:

答案 0 :(得分:0)

要检查的四件事:

  1. 你的第二个ReferenceLine中有一个拼写错误。它应该是myData,而不是mydata

  2. 您在x中使用ReferenceLine的号码表示您正在绘制数字,但默认为&#39;类别&#39;。将type='number'添加到<XAxis/>

  3. X轴dataKey有一个空白字符串。它应该用实际密钥替换。

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

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

    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>
            )
        }
    }