使用 ggiraph 包中的 ggiraph::set_hover_css() 函数,按照以下方式编写代码:
# 加载 ggplot2 和 ggiraph
library(ggplot2)
library(ggiraph)
# 创建数据集
data(mtcars)
mtcars$id <- rownames(mtcars)
# 绘制 ggplot 图表
p <- ggplot(mtcars, aes(x = wt, y = mpg, colour = factor(cyl), tooltip = paste("Car:", model))) +
geom_point_interactive(aes(onmouseover = paste("Id:", id)), size = 4) +
scale_color_manual(values = c("#999999", "#E69F00", "#56B4E9"))
# 设置悬停时的 CSS 属性
p <- set_hover_css(p,
hover_css = "background-color:lightblue;
border: 2px solid black;
border-radius: 10px;
padding: 5px;")
# 输出 ggiraph 图表
girafe(ggobj = p)
此代码演示如何创建一个交互式散点图,并在鼠标悬停时单独设置每个点的 CSS 属性。在此示例中,鼠标悬停时每个点的背景色为浅蓝色,有黑色边框,圆角半径为 10 像素,并有 5 像素的内边距。将 hover_css 参数设置为所需 CSS 属性字符串即可单独为每个层设置悬停时的 CSS 属性。