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

在React中使用Apex Chart时如何自定义折线图的tooltip展示内容?

ApexChart 自定义Tooltip实现方案

你可以通过ApexChart内置的tooltip.custom配置项重写Tooltip渲染逻辑,实现你需要的格式,完整配置参考如下:

const chartOptions = {
  // 其余原有配置(chart类型、坐标轴配置等)保持不变
  tooltip: {
    custom: function({ series, dataPointIndex, w }) {
      // 方案1:手动指定四个标签名,和你的序列顺序一一对应
      const customLabels = ["first-label", "second-label", "third-label", "forth-label"];
      let tooltipContent = '<div style="padding: 10px;">';

      customLabels.forEach((label, idx) => {
        // 取当前悬浮点对应序列的数值
        const currentValue = series[idx][dataPointIndex];
        tooltipContent += `<p style="margin: 6px 0;">${label} : ${currentValue}</p>`;
      });
      tooltipContent += '</div>';
      return tooltipContent;

      // 方案2:如果标签名是序列name固定加后缀,无需手动维护标签数组,可以替换上面的逻辑:
      /*
      let tooltipContent = '<div style="padding: 10px;">';
      w.config.series.forEach((item, idx) => {
        const label = `${item.name}-label`;
        const currentValue = series[idx][dataPointIndex];
        tooltipContent += `<p style="margin: 6px 0;">${label} : ${currentValue}</p>`;
      });
      tooltipContent += '</div>';
      return tooltipContent;
      */
    }
  },
  // 你的原有序列配置
  series: [
    {
      name: "first",
      data: [28, 29, 33, 36, 32, 32, 33]
    },
    {
      name: "second",
      data: [12, 11, 14, 18, 17, 13, 13]
    },
    {
      name: "third",
      data: [48, 29, 33, 16, 32, 62, 3]
    },
    {
      name: "forth",
      data: [22, 11, 54, 18, 27, 53, 13]
    }
  ]
}

以上逻辑对原生JS、Vue、React等不同环境的ApexChart封装组件通用,只需要把上述tooltip配置写入你的图表配置项即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 17:15:04