我想更改使用
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()
我能够通过传递自定义格式化程序函数来实现我正在寻找的结果,该函数更改 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>";
}
}'
))