使用echarts4r更改markLine的工具提示

问题描述 投票:0回答:1

我想更改使用

echarts4r::e_mark_line()
绘制的线条的工具提示内容,而不更改现有系列的名称。我还希望图表中其他元素的工具提示内容保持不变。默认情况下,这些行继承工具提示中的系列名称。我想把它改成别的东西。

这是一个示例,其中该行的工具提示显示“y”代表系列名称。

data.frame(x = c("a"), y = c(5)) |> 
  echarts4r::e_charts(x = x) |> 
  echarts4r::e_bar(serie = y) |> 
  echarts4r::e_mark_line(
    data = list(
      yAxis = 3
    )
  ) |> 
  echarts4r::e_tooltip()

r echarts echarts4r
1个回答
0
投票

我能够通过传递自定义格式化程序函数来实现我正在寻找的结果,该函数更改 markLine 组件的工具提示并重建栏的默认工具提示:

data.frame(x = c("a"), y = c(5)) |> 
  echarts4r::e_charts(x = x) |> 
  echarts4r::e_bar(serie = y) |> 
  echarts4r::e_mark_line(
    data = list(
      yAxis = 3
    )
  ) |> 
  echarts4r::e_tooltip(formatter = htmlwidgets::JS(
    'function(params) {
      // Check if the tooltip corresponds to the line
      if(params.componentType === "markLine") {
        return "Custom content: " + params.value;
      } else {
        // If its not the line, use the default tooltip content
    return params.seriesName + "<br/>" + params.marker + params.name + "<span style=\'text-align: right; margin-left:20px; font-weight: bold;\'>" + params.value[1] + "</span>";
    }
}'
  ))
© www.soinside.com 2019 - 2024. All rights reserved.