我有一个要用plotly
显示的曲面(它必须是曲面而不是3D网格,因为3D网格不合适,所以我必须传递矩阵而不是数据帧(。
为此,我想控制hoverinfo,这样它就不会显示协调的x, y, z
,但会显示x * y = ...
和x + y = ...
。然而,我遇到了一个关于hovertext
论点的问题。它正确地显示了我想要的东西,但也显示了x, y, z
坐标。此外,我无法让"<extra></extra>"
工作。
这是迄今为止的尝试:
library(plotly)
mat <- 0:10 %*% t(0:10)
plot_ly() |>
add_surface(z = ~mat,
hovertext = paste(
"X*Y:", mat,
"<br>X+Y: ", rep(0:10, each = 11) + rep(0:10, 11),
"<extra></extra>") |>
matrix(ncol = 11),
hovertemplate = text)
我想知道:
- 如何从
hovertemplate
中删除x, y, z
坐标 - 使用
hovertemplate = text
时,如何使用"<extra></extra>"
参数
编辑:根据@Kat的评论,我编辑了这篇文章,以反映我所学到的东西。谢谢Kat!
谢谢你的帮助!
使用hovertext
而不是text
。
library(plotly)
mat <- 0:10 %*% t(0:10)
plot_ly() |>
add_surface(z = ~mat,
hovertext = mat, # hovertext to use in the template
hovertemplate = paste0("X: %{x}<br>Y: %{y}<br>",
"Z: %{z}<br>Whatever: %{hovertext}",
"<extra></extra>"))