在plotly散点图中设置hoverinfo文本

时间:2019-08-16 14:41:57

标签: r plotly

我用下面的图创建了一个基本的散点图。问题是,虽然我在hoverinfo中专门设置了文本,但数值要在我希望显示的实际文本(20,56)之前再显示一次Team Pts:20 Fantasy Pts: 56。如何删除它们?

pts<-c(10,20,30)
npts<-c(24,56,78)
ex<-data.frame(pts,npts)


library(plotly)
p <- plot_ly(data = ex, x = ~pts, y = ~npts,
             marker = list(size = 10,
                           color = 'white',
                           line = list(color = 'rgba(152, 0, 0, .8)',
                                       width = 2))) %>%
  add_trace(
    text = ~paste("Team Pts: ", pts, '</br>Fantasy Pts:', npts),
    hoverInfo='text'
  )
p

2 个答案:

答案 0 :(得分:1)

一种实现方法是通过向hovertemplate参数中添加变量来将文本添加到每个数据点。

我目前无法测试此方法,但它看起来应该像这样:

add_trace(
           x = ~pts,
           y = ~npts,
           hovertemplate = paste('<i>Team points</i>: %{x}',
                                '<br><b>Fantasy Pts</b>: %{y}</br>',
                                 )
      )

答案 1 :(得分:1)

您只是对参数hoverInfo进行了拼写错误,该参数应为hoverinfo,因此您的绘图使用默认的hoverinfo = "all"。另外,将</br>替换为<br>,以在两行上显示悬停文本:

library(plotly)

ex <- data.frame(
    pts = c(10, 20, 30),
    npts = c(24, 56, 78)
)

plot_ly(data = ex, 
    type = "scatter",
    mode = "markers",
    x = ~pts, 
    y = ~npts, 
    text = ~paste("Team Pts: ", pts, '<br>Fantasy Pts:', npts), 
    hoverinfo = "text"
)

enter image description here