You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MUI X折线图悬停仅显示最后一个数据点问题求助

MUI X Charts悬停仅显示最后一个标记点的解决方案

问题根源

循环生成折线系列时,未为每个系列分配唯一标识(id/dataKey),或因闭包陷阱导致tooltip始终引用最后一个系列的数据,图表无法区分不同系列的悬停事件。

修复步骤

  • 为每个折线系列添加唯一标识:在循环渲染<Line />组件时,指定唯一的id和dataKey,确保图表能识别不同系列:
    {yourDataArray.map((seriesItem) => (
      <Line
        key={seriesItem.id} // React列表渲染必备的唯一key
        id={seriesItem.id} // MUI Charts用于区分系列的唯一标识
        dataKey={seriesItem.valueField} // 对应数据集中的字段名
        // 其他配置项...
      />
    ))}
    
  • 规避闭包陷阱:如果使用自定义tooltip或事件处理函数,在循环中通过let/const块级作用域或函数绑定保留每个迭代的变量上下文,不要直接引用循环外部的变量。
  • 检查tooltip配置:若使用自定义Tooltip组件,确保其formatter函数通过传入的params参数获取当前悬停的系列数据,而非固定引用外部变量:
    <Tooltip
      formatter={(value, entry) => [value, entry.series.name]}
    />
    

内容的提问来源于stack exchange,提问作者michael holstein

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 17:05:20