Показывать всплывающую подсказку только для одного слоя в ggplot2 и plotly

#r #ggplot2 #plotly

#r #ggplot2 #plotly

Вопрос:

Возможно ли показывать всплывающие подсказки только для одного слоя в ggplot plotly, даже если несколько слоев имеют одну эстетику. В этом примере я хотел бы показать только синюю всплывающую подсказку на синей линии от geom_smooth слоя, но не показывать черную всплывающую подсказку для каждой точки.

 library(tidyverse)
library(plotly)
library(palmerpenguins)

gg <- ggplot(penguins, aes(x=flipper_length_mm, y=body_mass_g))   
  geom_point()   
  geom_smooth(se = FALSE)

ggplotly(gg, tooltip=c("y")) %>%
  layout(hovermode = "x unified")
  

Ответ №1:

Вы можете отключить всплывающую подсказку для черных точек, используя style функцию:

 ggplotly(gg, tooltip=c("y")) %>%
  layout(hovermode = "x unified") %>%
  style(hoverinfo = "skip", traces = 1)
  

Дополнительные примеры см. в главе Управление всплывающими подсказками книги Интерактивная веб-визуализация данных с помощью R, plotly и shiny.