修改通过 ggplotly 创建的绘图的工具提示信息

Modify tooltip info of a plotly graph created via ggplotly

在我 运行 我自己的聚类算法之后,我有了这个数据集及其各自的 x 和 y,我想要一种使用交互式视图分析它的方法。

value max_value Var1 x y 3 6 potato 4 2 4 4 banana 3 2 5 6 apple 3 1

我正在尝试使用 plotly,我想让 plotly 查看器仅向我显示相应点的 tooltip/hoverinfo 上的值和 max_value。这是我目前所拥有的:

gg <- ggplot(test) + 
  geom_point(aes(x = x,y =  y, color = Var1), size = 4, alpha = 0.5)
ggplotly(gg)

#alternative
plot_ly(df, x = ~x, y = ~y, color = ~Var1)

有没有办法更改绘图在工具提示上显示的值或可以帮助我的其他程序包?

您可以添加一些具有 text 美学的工具提示信息:

library(plotly)
gg <- ggplot(test) + 
  geom_point(aes(x = x, y = y, color = Var1, 
                 text = paste0("Value: ", value, "</br>Max: ", max_value)), 
             size = 4, alpha = 0.5)
ggplotly(gg)

如果您只想要 valuemax_value:

gg <- ggplot(test) + 
  geom_point(aes(x = x, y = y, color = Var1, 
                 text = paste0("Value: ", value, "</br></br>Max: ", max_value)), 
             size = 4, alpha = 0.5)
ggplotly(gg, tooltip = "text")

在 plotly 的弹出信息中显示 max_value 的简单解决方案:

gg <- ggplot(test) + 
  geom_point(aes(x = x,y =  y, color = Var1, group = max_value), size = 4, alpha = 0.5)
ggplotly(gg)

现在您已经确保 max_value 被传递给 ggplotly,您可以像这样控制显示的内容:

ggplotly(gg, tooltip = c("x","y","max_value"))

直接通过plotly界面创建plot当然是另一种可能:

plot_ly(test, type = 'scatter', mode = 'markers') %>% 
  add_trace(x =~x, y =~y, color = ~Var1, 
            text = ~paste0('X Value: ', x, '\nY Value: ', y, '\n max_value: ',     max_value), 
            hoverinfo = 'text')

可以找到更深入的 ggplotly here