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

谷歌散点图指定点始终显示Tooltip及禁用其他点交互问题

实现ECharts散点图部分点Tooltip永久显示+其余点禁用交互

当然可以搞定这个需求!我来给你一步步拆解实现思路和具体代码,保证你能快速用上。

核心思路

要实现这个效果,我们需要分两步走:

  • 手动触发并维持指定点的Tooltip显示(因为ECharts没有原生的“永久显示Tooltip”配置)
  • 让非目标点完全不响应任何鼠标交互(点击、hover都不行)

具体代码实现

首先,我们先给数据打标记,区分出需要始终显示Tooltip的点:

// 示例数据:给需要固定Tooltip的点加showTooltip: true标记
const scatterData = [
  { value: [15, 25], showTooltip: true },
  { value: [30, 40], showTooltip: true },
  { value: [50, 65], showTooltip: true },
  { value: [20, 35] },
  { value: [40, 55] },
  { value: [60, 70] }
];

接下来是图表的配置和核心逻辑:

// 初始化图表
const chart = echarts.init(document.getElementById('your-chart-dom'));

const option = {
  tooltip: {
    trigger: 'item', // 改为item触发,方便我们手动控制
    formatter: (params) => {
      return `坐标:(${params.value[0]}, ${params.value[1]})`;
    }
  },
  xAxis: { type: 'value' },
  yAxis: { type: 'value' },
  series: [
    {
      type: 'scatter',
      data: scatterData,
      // 给目标点加特殊样式,方便区分
      itemStyle: {
        color: (params) => params.data.showTooltip ? '#ff6347' : '#4682b4'
      },
      // 关键:非目标点设置为silent,完全禁用交互
      silent: (params) => !params.data.showTooltip,
      // 取消选中样式的干扰,因为我们不需要点击选中效果
      select: {
        itemStyle: { opacity: 1 }
      }
    }
  ]
};

chart.setOption(option);

// 手动触发指定点的Tooltip显示
function showPersistentTooltips() {
  scatterData.forEach((item, index) => {
    if (item.showTooltip) {
      chart.dispatchAction({
        type: 'showTip',
        seriesIndex: 0,
        dataIndex: index
      });
    }
  });
}

// 初始化完成后立即显示固定Tooltip
showPersistentTooltips();

// 监听图表重绘事件,确保重绘后Tooltip不会消失
chart.on('rendered', showPersistentTooltips);

// 窗口resize时延迟触发,避免图表未重绘完成导致Tooltip偏移
window.addEventListener('resize', () => {
  setTimeout(showPersistentTooltips, 100);
});

关键细节说明

  • silent属性:这里用函数形式返回布尔值,只有标记了showTooltip: true的点才会响应鼠标事件,其余点完全静默,实现“禁用点击/hover”的效果。
  • dispatchAction('showTip'):通过手动触发Tooltip显示,再配合rendered事件监听,保证图表重绘(比如窗口缩放、数据更新)后,固定的Tooltip能重新显示出来。
  • 样式区分:给目标点设置不同的颜色,让用户能直观区分哪些点是特殊的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:53:29