R Plotly - 如何防止悬停名称被截断

3
我的plotly图中,鼠标悬停框外显示的悬停名称因名称过长而被截断。我已经找到了解决方案plotly.jsplotly.py,但没有R语言的解决方案。我已经能够将该名称从悬停中移除或将其与值一起移入框内,但需要一种解决方案,使其保持在原位同时允许完整名称可见,不要写解释,保留html标签。
# sample data
Value <- rnorm(100, mean = 5)
Time <- c(1:100)
Site <- "Really long name for Site 1"
datTemp <- data.frame(Time, Value, Site)

Value <- rnorm(100, mean = 5)
Time <- c(1:100)
Site <- "Really long name for Site 2"
datTemp2 <- data.frame(Time, Value, Site)

Value <- rnorm(100, mean = 5)
Time <- c(1:100)
Site <- "Really long name for Site 3"
datTemp3 <- data.frame(Time, Value, Site)    

figTemp<-datTemp%>%
    plot_ly(x = ~Time, y = ~Value, type = "scatter", mode = "lines", line = list(width = 0.75), name = ~Site[1])%>%
    layout(xaxis = list(title = "Date"), yaxis = list(title = "Temperature (C)"), legend = list(x = 0, y = 1.05, orientation = "h"))

figTemp<-figTemp%>%
    add_trace(data = datTemp2, y = ~Value, type = "scatter", mode = "lines", name = ~Site[1])%>%
    add_trace(data = datTemp3, y = ~Value, type = "scatter", mode = "lines", name = ~Site[1])
1个回答

1
在调用plot_ly时添加hovertemplate = paste('(%{x}, %{y})')。已经生效。请尝试以下代码:
library(tidyverse)
library(plotly)
# sample data
Value <- rnorm(100, mean = 5)
Time <- c(1:100)
Site <- "Really long name for Site 1"
datTemp <- data.frame(Time, Value, Site)

Value <- rnorm(100, mean = 5)
Time <- c(1:100)
Site <- "Really long name for Site 2"
datTemp2 <- data.frame(Time, Value, Site)

Value <- rnorm(100, mean = 5)
Time <- c(1:100)
Site <- "Really long name for Site 3"
datTemp3 <- data.frame(Time, Value, Site)    

figTemp<-datTemp%>%
  plot_ly(x = ~Time, y = ~Value, type = "scatter", mode = "lines", line = list(width = 0.75), name = ~Site[1],
          hovertemplate = paste('(%{x}, %{y})')) %>%
  layout(xaxis = list(title = "Date"), yaxis = list(title = "Temperature (C)"), legend = list(x = 0, y = 1.05, orientation = "h"))

figTemp<-figTemp%>%
  add_trace(data = datTemp2, y = ~Value, type = "scatter", mode = "lines", name = ~Site[1]) %>%
  add_trace(data = datTemp3, y = ~Value, type = "scatter", mode = "lines", name = ~Site[1])

figTemp

此内容由 reprex package (v0.3.0) 于2020-03-18 创建


哦,所以只要在模板中指定“某些东西”,它就会自动纠正。有点奇怪但是有效,谢谢! - Mark H.
那正是我在弄清楚它如何工作时的想法。(; - stefan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接