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

在Live Charts中通过首个图表DataHover事件程序化触发第二个图表工具提示

实现主图Hover联动RSI图表工具提示的方案

当然可以实现!这种跨图表的交互联动在数据可视化场景里太常见了,我给你拆解下具体的实现思路和主流可视化库的代码示例,你可以直接参考适配自己的项目:

一、基于ECharts的实现方式

ECharts本身自带丰富的事件API,实现这种联动非常顺畅:

  1. 监听主图的mouseover(对应你说的DataHover)事件
  2. 获取当前hover数据点的索引或时间戳
  3. 调用RSI图表的dispatchAction方法,主动触发对应位置的tooltip显示

示例代码:

// 假设主图实例是mainChart,RSI图表实例是rsiChart
mainChart.on('mouseover', function(params) {
  // 获取当前hover数据的索引
  const dataIndex = params.dataIndex;
  // 给RSI图表发送显示tooltip的指令
  rsiChart.dispatchAction({
    type: 'showTip',
    seriesIndex: 0, // 假设RSI图表只有一个数据系列
    dataIndex: dataIndex
  });
});

// 可选:监听主图的mouseout事件,同步隐藏RSI图表的tooltip
mainChart.on('mouseout', function() {
  rsiChart.dispatchAction({
    type: 'hideTip'
  });
});

二、基于Chart.js的实现方式

Chart.js需要借助其交互API手动控制tooltip状态,实现思路类似:

  1. 监听主图的hover事件
  2. 提取当前hover数据点的索引
  3. 手动更新RSI图表的active元素,模拟hover触发tooltip的效果

示例代码:

// 初始化主图时添加hover事件监听
const mainChart = new Chart(document.getElementById('main-chart'), {
  // 主图的配置项(数据、样式等)...
  options: {
    plugins: {
      tooltip: {
        // 主图自身的tooltip配置
      }
    },
    interaction: {
      intersect: false
    },
    onHover: function(evt, activeElements) {
      const rsiChart = Chart.getChart('rsi-chart');
      if (activeElements.length > 0) {
        const dataIndex = activeElements[0].index;
        // 找到RSI图表中对应索引的数据元素
        const rsiActiveElements = rsiChart.getDatasetMeta(0).data.filter((_, idx) => idx === dataIndex);
        // 触发RSI图表的tooltip显示
        rsiChart.tooltip.setActiveElements(rsiActiveElements, { x: evt.x, y: evt.y });
        rsiChart.update();
      } else {
        // 主图移出hover时,清空RSI图表的active元素,隐藏tooltip
        rsiChart.tooltip.setActiveElements([]);
        rsiChart.update();
      }
    }
  }
});

关键注意事项

  • 数据对齐:务必保证两个图表的数据集在索引或时间维度上严格对齐,这样hover时才能精准匹配到对应的数据点
  • 性能优化:如果数据量极大,建议提前缓存两个图表的数据匹配关系,避免每次hover都做重复计算
  • 库版本适配:不同版本的可视化库API可能略有差异,遇到问题可以查阅对应库的官方文档调整细节

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:31:48