如何在Recharts中添加与已有线条相连的独立线条?
解决方案
合并数据到单个Line组件
你用两个独立Line组件的话,它们会生成各自独立的SVG路径元素,哪怕端点值一致,也不会自动相连。把两组数据合并成一个数组,传给同一个Line组件,就能渲染出连续的线条。示例代码:
// 合并两组数据 const combinedData = [...firstLineData, ...secondLineData]; // 渲染单个Line组件 <Line data={combinedData} />保留双组件的衔接方案
如果必须用两个Line组件,可以给第一组数据末尾添加第二组的起始数据点,同时保证两组数据的坐标轴刻度完全一致,这样视觉上两条线就能衔接。不过这种方式维护成本更高,不如合并数据简洁。示例代码:
// 扩展第一组数据,加入第二组的起始点 const extendedFirstData = [...firstLineData, secondLineData[0]]; const secondData = secondLineData; // 渲染两个Line组件 <Line data={extendedFirstData} /> <Line data={secondData} />
核心原因:独立Line组件对应独立的SVG <path>标签,SVG不会自动关联不同的路径元素,只有同一路径内的连续数据点才会形成连贯线条。
内容的提问来源于stack exchange,提问作者Jectis
相关产品推荐
相关产品推荐

