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

echarts4r图表tooltip中展示额外变量的实现问题

在echarts4r的Tooltip中展示额外变量的解决方案

我来帮你搞定这个tooltip显示额外字段的问题!你之前的代码核心问题是没有正确访问到数据中的qsec、cyl和hp字段——this.qsec并不是echarts tooltip formatter里获取数据的正确方式,咱们换个思路就能解决。

关键原理

echarts4r在传递数据时,会把数据框里的所有列都打包到每个数据点的params.data对象中,所以只要你的数据框包含qsec、cyl、hp这些字段,就能在formatter里通过params.data.字段名直接调用。

修正后的完整代码

library(dplyr)
library(echarts4r)

mtcars %>%
  tibble::rownames_to_column("model") %>%  # 保留车型名称
  e_charts(wt) %>%  # x轴为wt
  e_scatter(mpg, bind = model) %>%  # y轴为mpg,绑定model作为系列名称
  e_tooltip(
    formatter = htmlwidgets::JS("
      function(params) {
        // 拼接tooltip的HTML内容
        return '<strong>' + params.name + '</strong><br />' +
               'wt: ' + params.value[0] + '<br />' +
               'mpg: ' + params.value[1] + '<br />' +
               'qsec: ' + params.data.qsec + '<br />' +
               'cyl: ' + params.data.cyl + '<br />' +
               'hp: ' + params.data.hp;
      }
    ")
  )

代码说明

  • 数据处理部分:确保mtcars转换后的tibble保留了qsec、cyl、hp所有需要的字段,这一步你已经做对了。
  • Tooltip formatter:
    • params.name对应你绑定的model字段(车型名称)
    • params.value[0]是x轴的wt值,params.value[1]是y轴的mpg值
    • params.data.qsec、params.data.cyl、params.data.hp直接从原始数据中提取你需要的额外字段

这样修改后,鼠标悬停在散点上时,tooltip就会显示所有你想要的内容啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:09:59