在整个段上使用工具提示绘制add_segment

问题描述

这是RStudio社区here in Augusthere in June的交叉帖子。几周前,我还打开了issue in r-plotly here。我仍然不确定要解决此问题是否需要其他plotly功能,或者我是否缺少某些功能。

这几乎是2016 SO post with a similar problem的副本。该帖子与众不同,原因是:(1)它要求使用plotly(而不是highcharter.js),(2)它要求工具提示将出现在任何地方沿线段的悬停状态,例如不仅是沿该段的n点,而且(3)自2016年以来r-plotly的语法有微小变化。


问题

在绘图中,您可以使用add_segments()在两点之间添加线段。

将鼠标悬停在细分中的任意位置上时,如何向用户显示工具提示,而不仅仅是两端?从javascript的角度来看,这似乎应该是可行的,但我似乎无法使其与plotly一起使用。

示例:

library(plotly)
my_data <- data.frame(
  x = c(1,6),xend = c(5,10),y = c(1,2),yend = c(1,text = c("First","Second")
)

plot_ly(my_data,x = ~x,xend = ~xend,y = ~y,yend = ~yend,text = ~text,hoverinfo = "text") %>%
  add_segments()

See a gif demonstration here(未嵌入,因为在阅读文本时有点烦人)

几乎解决方案

在类似的2016 SO post中,“ dww”提供了一种奇妙的解决方法,即生成许多靠近在一起的点,然后使用add_trace

NP=100
mydat <- data.frame(t1=seq(1,3,len=NP),t2=seq(4,5,y1=rep(1,NP),y2=rep(2,NP))

plot_ly(data=mydat) %>%
  add_trace(x=~t1,y=~y1,mode="lines",hoverinfo="text",text="hello") %>%
  add_trace(x=~t2,y=~y2,text="there") 

此解决方案非常有帮助,但不能回答此问题,因为(1)用户一旦缩放到某个点之后,他们将不再有权使用工具提示(请参见下面的gif),并且(2)该解决方案是计算密集型-具有数百条轨迹,我不必要地生成了数千个不需要的点。

gif demonstration

TL

使用plotly(或javascript)的R端口,我是否可以产生一个具有自己工具提示的线段(与两个连续的直角坐标轴兼容)?

解决方法

根据软件包作者,此功能在r-plotly中尚不存在。看到这里:https://github.com/ropensci/plotly/issues/1832#issuecomment-675721763

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...