【问题标题】:ReCharts label position not workingReCharts标签位置不起作用
【发布时间】:2018-02-04 07:30:36
【问题描述】:

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

【问题讨论】:

    标签: reactjs charts recharts


    【解决方案1】:

    要检查的四件事:

    1. 您的第二个ReferenceLine 中有错字。它应该是myData,而不是mydata

    2. 您在ReferenceLine 中对x 使用数字意味着您正在绘制数字,但默认值为“类别”。将type='number' 添加到&lt;XAxis/&gt;

    3. X 轴 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>
            )
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-29
      • 1970-01-01
      • 2013-08-22
      • 2013-07-28
      • 2011-04-02
      相关资源
      最近更新 更多