Plotly add_segment() 沿整个段带有工具提示
Plotly add_segment() with tooltip along entire segment
这是来自 RStudio 社区 here in August and here in June. A couple of weeks ago, I also opened an issue in r-plotly here 的跨post。我仍然不确定解决这个问题是否需要额外的 plotly
功能,或者我是否遗漏了什么。
这几乎是 的重复。这个 post 是不同的,因为:(1) 它需要使用 plotly
(而不是 highcharter.js
),(2) 它需要在悬停 任何地方 沿线段,例如不仅在该段的 n
个点上,而且 (3) 自 2016 年以来 r-plotly 的语法发生了细微变化。
问题
在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, 2),
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(没有嵌入,因为它在阅读文本时有点烦人)
几乎解决
在类似的 中,'dww' 通过生成许多靠在一起的点,然后使用 add_trace
:
提供了一个极好的解决方法
NP=100
mydat <- data.frame(t1=seq(1,3,len=NP), t2=seq(4,5,len=NP), 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, mode="lines", hoverinfo="text", text="there")
这个解决方案非常有用,但没有回答这个问题,因为 (1) 一旦用户缩放超过某个点,他们将无法再访问工具提示(请参见下面的 gif),以及 (2) 这个解决方案是计算密集型的——有数百条轨迹,我不必要地生成了数千个不需要的点。
TL
使用 plotly
(或 javascript)的 R 端口,我可以生成一个具有自己的工具提示的段(与两个连续的笛卡尔轴兼容)吗?
根据软件包作者的说法,r-plotly 中尚不存在此功能。看这里:https://github.com/ropensci/plotly/issues/1832#issuecomment-675721763
这是来自 RStudio 社区 here in August and here in June. A couple of weeks ago, I also opened an issue in r-plotly here 的跨post。我仍然不确定解决这个问题是否需要额外的 plotly
功能,或者我是否遗漏了什么。
这几乎是 plotly
(而不是 highcharter.js
),(2) 它需要在悬停 任何地方 沿线段,例如不仅在该段的 n
个点上,而且 (3) 自 2016 年以来 r-plotly 的语法发生了细微变化。
问题
在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, 2),
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(没有嵌入,因为它在阅读文本时有点烦人)
几乎解决
在类似的 add_trace
:
NP=100
mydat <- data.frame(t1=seq(1,3,len=NP), t2=seq(4,5,len=NP), 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, mode="lines", hoverinfo="text", text="there")
这个解决方案非常有用,但没有回答这个问题,因为 (1) 一旦用户缩放超过某个点,他们将无法再访问工具提示(请参见下面的 gif),以及 (2) 这个解决方案是计算密集型的——有数百条轨迹,我不必要地生成了数千个不需要的点。
TL
使用 plotly
(或 javascript)的 R 端口,我可以生成一个具有自己的工具提示的段(与两个连续的笛卡尔轴兼容)吗?
根据软件包作者的说法,r-plotly 中尚不存在此功能。看这里:https://github.com/ropensci/plotly/issues/1832#issuecomment-675721763