【问题标题】:Modify tooltip info of a plotly graph created via ggplotly修改通过 ggplotly 创建的绘图图的工具提示信息
【发布时间】:2019-07-01 12:58:27
【问题描述】:

在我运行自己的聚类算法后,我有了这个数据集以及它们各自的 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 查看器仅向我显示相应点的工具提示/悬停信息上的 value 和 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)

有没有办法改变工具提示或其他可以帮助我的包上显示的值?

【问题讨论】:

  • 字幕?你是说工具提示?
  • 我的意思是你的光标出现在点上的框穿过情节。我只能让它显示点的 x、y 和 var
  • 好的。此框称为“工具提示”。

标签: r plot plotly r-plotly


【解决方案1】:

您可以使用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")

【讨论】:

    【解决方案2】:

    在 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_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')
    

    可以在here 找到更深入的 ggplotly

    【讨论】: