我一直在尝试使用
dygraph
中的 R
绘制时间序列。我试图更改我们在绘图右上角获得的悬停信息。
数据有一列“值”,是从另一列“百分比”转换而来的。在悬停信息中,我只想显示日期和百分比而不是值,该值绘制在 y2 轴
这里我复制了数据和dygraphs R代码:
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) %>%
dyOptions(drawPoints = T, pointSize = 3)
现在在悬停信息中,我不想显示
value
的标签,即标签仅包含日期和百分比。
如何从悬停信息中省略此信息?
目前
legendFormatter
包中不包含 dygraphs
,因此我们可能需要一个小解决方法:我们的想法是将 CSS
添加到 dygraph
,使 value
部分不可见。定义
MyDyGraph <- function(dygraph){
dygraph$x$css <- '
.dygraph-legend span:nth-child(2) {
font-size: 0;
}
'
dygraph
}
并在构造中调用它:
dygraph(df) |>
dyAxis(name = "y2") |>
dySeries("value", axis = "y2", pointSize = 0, strokeWidth = 0) |>
dyOptions(drawPoints = T, pointSize = 3) |>
MyDyGraph()
然后在不悬停的情况下它会看起来像这样:
当像这样悬停时: