I'm plotting a horizontal bar chart using R
's plotly
package, and including hoverinfo
parameter:
df <- data.frame(n = 17:10, name = paste0("n",1:8), hv_text = paste0("t",1:8), stringsAsFactors = F)
df$name <- factor(df$name, levels = rev(df$name))
library(plotly)
plot_ly(marker = list(line = list(width = 1, color = "gray")), x = df$n, y = df$name, type = 'bar', text = df$hv_text, hoverinfo = "xxx", showlegend = F)
Which gives:
So the hv_text
gets plotted in addition to appearing when hovered over.
My question is how to get the hoverinfo text not plotted?
I tried using various different values for the hoverinfo
parameter (text
,x
,y
) but in all cases the hv_text
gets plotted.
CodePudding user response:
There are a lot of ways to do this. One way would be to use hovertext
instead of text
. For bar charts, if you use text
without using hovertext
, it will be plotted.
plot_ly(df, marker = list(line = list(width = 1, color = "gray")),
x = ~n, y = ~name, type = 'bar',
hovertext = ~hv_text, hoverinfo = "text", showlegend = F)
Another option would be to use hovertext
and hovertemplate
.
plot_ly(df, marker = list(line = list(width = 1, color = "gray")),
x = ~n, y = ~name, type = 'bar', hovertext = ~hv_text,
hovertemplate = "Name: %{y}<br>Text: %{hovertext}<extra></extra>",
showlegend = F)