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

R语言Highchart Tooltip异常:无法展示tumor_category问题求助

解决Highchart Tooltip显示肿瘤分类与数量的问题

核心问题

Tooltip仅显示count是因为未自定义内容格式,默认只展示数值。需通过配置tooltip的格式化函数,让数据点携带tumor_category信息并在悬浮时展示。

修正方案

假设你的数据集结构如下(替换为实际dput内容即可):

# 示例数据集
initial_tumors <- data.frame(
  tumor_category = c("1 Tumor", "2 Tumors", "3 Tumors", "4 Tumors"),
  count = c(15, 22, 18, 10)
)

modified_recurring_tumors <- data.frame(
  tumor_category = c("1 Tumor", "2 Tumors", "3 Tumors", "4 Tumors"),
  count = c(8, 15, 12, 7)
)

修正后的Highchart代码

关键是在hc_tooltip()中定义JavaScript格式化函数,同时确保数据绑定tumor_category:

library(highcharter)

highchart() %>%
  # 添加初始肿瘤系列,绑定x轴为tumor_category
  hc_add_series(
    data = initial_tumors,
    type = "column",
    name = "初始肿瘤",
    hcaes(x = tumor_category, y = count)
  ) %>%
  # 添加复发肿瘤系列
  hc_add_series(
    data = modified_recurring_tumors,
    type = "column",
    name = "复发肿瘤",
    hcaes(x = tumor_category, y = count)
  ) %>%
  # 自定义Tooltip内容
  hc_tooltip(
    formatter = JS("function() {
      return '<b>' + this.series.name + '</b><br/>' +
             this.point.tumor_category + ': ' + this.y;
    }")
  ) %>%
  hc_xAxis(categories = initial_tumors$tumor_category) %>%
  hc_yAxis(title = list(text = "数量")) %>%
  hc_title(text = "初始肿瘤与复发肿瘤对比")

关键细节

  • 必须在hcaes()中将x绑定为tumor_category,确保每个数据点携带分类信息。
  • 格式化函数中,this.point.tumor_category获取当前点的肿瘤分类,this.y获取对应count值,this.series.name区分初始/复发系列。
  • 若highcharter版本过低导致功能异常,执行install.packages("highcharter")更新包即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 10:43:33