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

时间:2019-02-07 11:57:10

标签: r plot plotly r-plotly

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

是否可以更改该图在工具提示或其他软件包中显示的值,这可以帮助我解决此问题?

2 个答案:

答案 0 :(得分:2)

您可以添加一些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")

答案 1 :(得分:0)

一种简单的解决方案,可在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')

可以更深入地了解ggplotly here