如何隐藏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
相关产品推荐
相关产品推荐

