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

如何隐藏echarts4r中e_mark_line的tooltip?尝试无果求解决

解决方案

要实现柱状图hover时正常显示tooltip、标记线hover时不显示tooltip的效果,只需给e_mark_line添加silent = TRUE参数即可——这个参数会让标记线忽略所有鼠标事件(包括tooltip触发),且完全不影响柱状图的交互逻辑。

修改后的完整代码:

library(echarts4r)
tibble::tibble(category = LETTERS[1:4],
       num1 = c(50, 100, 150, 200),
       num2 = c(1,2,3,4)) |> 
  e_charts(category) |>
  e_bar(num1, num2) |>
  e_tooltip(trigger = "item", 
            formatter = htmlwidgets::JS("
                                        function(params){
                                        return('<strong>' + params.value[0] +
                                        '</strong><br />num1: ' +  params.value[1] +
                                        '<br />num2: ' +  params.name )   }  ")
            ) |>
  e_legend(show = FALSE) |>
  e_mark_line(data = list(yAxis = 100),
              symbol = "none",
              silent = TRUE,  # 关键:添加这一行控制标记线的鼠标事件
              label = list(color = "#000000")) 

补充说明

  • silent = TRUE是直接作用于标记线主体的属性,而非仅作用于标签,能彻底阻止标记线触发tooltip及其他鼠标事件。
  • 原代码中label内的triggerTooltip = FALSE和silent = TRUE可以移除,因为它们仅控制标签的交互,对标记线主体的tooltip触发没有作用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 12:32:04