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

如何修改R语言dygraphs中的悬停提示信息?

解决dygraphs悬停提示隐藏指定系列的问题

方法一:直接隐藏目标系列的tooltip显示

在dySeries函数中为value系列添加showInTooltip = FALSE参数,即可让该系列不在悬停提示中出现,代码改动最小:

dates <- seq(as.POSIXct("2021-01-01 05:00:00"), as.POSIXct("2021-01-05 05:00:00"), by = 8*3600)

df <- data.frame(date = dates,
                 percentage = round(runif(
                   length(dates), min = 0, max = 1
                 ), digits = 2))

df$value <- df$percentage * 100

dygraph(df) %>%
  dyAxis(name = "y2") %>%
  dySeries("value", axis = "y2", pointSize = 0, strokeWidth = 0, showInTooltip = FALSE) %>%
  dyOptions(drawPoints = T, pointSize = 3)

方法二:自定义tooltip内容(更灵活)

如果需要完全控制悬停提示的显示格式(比如调整日期样式、百分比显示方式),可通过dyOptions的tooltipFormatter参数自定义函数,只保留需要的字段:

dates <- seq(as.POSIXct("2021-01-01 05:00:00"), as.POSIXct("2021-01-05 05:00:00"), by = 8*3600)

df <- data.frame(date = dates,
                 percentage = round(runif(
                   length(dates), min = 0, max = 1
                 ), digits = 2))

df$value <- df$percentage * 100

# 自定义tooltip格式化函数
custom_tooltip <- function(data) {
  # 格式化日期显示
  date_label <- format(data$x, "%Y-%m-%d %H:%M:%S")
  # 格式化百分比显示
  perc_label <- sprintf("百分比: %.2f", data$percentage)
  # 拼接成HTML格式的提示内容
  paste0(date_label, "<br/>", perc_label)
}

dygraph(df) %>%
  dyAxis(name = "y2") %>%
  dySeries("value", axis = "y2", pointSize = 0, strokeWidth = 0) %>%
  dyOptions(drawPoints = T, pointSize = 3, tooltipFormatter = custom_tooltip)

说明

  • 方法一适合快速隐藏单个系列的tooltip,操作简单;
  • 方法二适合需要个性化调整提示内容的场景,可自由定制显示样式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 22:08:21