我正在绘制一个绘图线图,并希望使用标记突出显示线图上的特定点(其中数据框中的另一列不是 NA)。此外,当我将鼠标悬停在绘图上时,我只想查看位于标记点上的 y 值,而不是绘图的其余部分。
这是一个可重现的示例,到目前为止我已经尝试做到这一点:
library(plotly)
library(dplyr)
data <- data.frame(x = c(1:100),
random_y = rnorm(100, mean = 0),
variable = sample(c('a', 'b', 'c'), 100, replace = TRUE),
point = sample(c(1, rep(NA, 4)),100, replace = TRUE))
p <- plot_ly(data, x = ~x, y = ~random_y, type = 'scatter', mode = 'lines', color = ~variable, hoverinfo = 'none') %>%
add_trace(data = filter(data, !is.na(point)), color = ~variable, mode = 'markers',
x = ~x, y = ~random_y, hoverinfo = 'y')
这产生了我所追求的,但问题在于图例中。它显示了线条图和标记图的图例。
我可以把showlegend = F
对于其中一张图,但问题是,当我单击图例中的变量时,它无法正确隔离痕迹。即如果我单击图例a
我想要折线图和标记a
to show