Предположим, что данные
library(ggplot2)
library(plotly)
set.seed(357)
xy <- data.frame(letters = rep(c("a", "b", "c"), times = 3),
values = runif(9),
groups = rep(c("group1", "group2", "group3"), each = 3))
letters values groups
1 a 0.9913409 group1
2 b 0.6245529 group1
3 c 0.5245744 group1
4 a 0.4601817 group2
5 b 0.2254525 group2
6 c 0.5898001 group2
7 a 0.1716801 group3
8 b 0.3195294 group3
9 c 0.8953055 group3
ggplotly(
ggplot(xy, aes(x = letters, y = values, group = groups)) +
theme_bw() +
geom_point()
)
Моя цель состоит в том, чтобы при наведении выделить все точки, принадлежащие к одной и той же группе. Например, при наведении на точку в верхнем правом углу все точки из этой группы (круги) станут красными. Нечто подобное может быть достигнуто с помощью layout(hovermode = "x")
но только если вы заинтересованы в том, чтобы выделить все точки на одной из осей. Я хотел бы, чтобы такое же поведение для пользовательской переменной, отличной от x
, y
или closest
(которые являются режимами hovermode
).