使用ggiraph
,我想使用悬停css
为每个ggplot
geom_
或图层设置不同的属性。在下面的示例中,如何在悬停时将第二层的笔触设置geom_rect_interactive
为蓝色,但在悬停时保持第一层的笔触为红色(保持data_id
相同,以便两者都响应悬停在任一层上)?
library(ggplot2)
library(ggiraph)
p <-
ggplot(
data = data.frame(id = seq(3), x = 1:3, y = 1:3)
) +
# red stroke
geom_rect_interactive(
mapping = aes(
xmin = x, xmax = x - 0.1,
ymin = y, ymax = y - 0.1,
data_id = id
)
) +
# blue stroke
geom_rect_interactive(
mapping = aes(
xmin = x, xmax = x + 0.1,
ymin = y, ymax = y + 0.1,
data_id = id
)
)
x <- girafe(ggobj = p)
x <- girafe_options(
x,
opts_hover(
css = "stroke:#ff0000;"
)
)
x
我猜我可能能够做一些事情,比如将一些自定义css
类分配给特定层(例如,.mystroke {stroke:#0000ff;}
),但不知道如何处理这个问题。