如何使用场景向 scatter3D Plotly 绘图添加注释?
How to add annotations to a scatter3D Plotly plot using scene?
我正在尝试向具有不同场景的 scatter3d Plotly 图中的点添加文本注释。如何使注释随情节移动?即使我将 xref 和 yref 签名为 'scene',注释也不会移动。
这是我正在尝试的可重现示例 运行:
library(plotly)
rep.ex = data.frame(x1=1:20, y1=1:20, z1=(1:20)*2, text1=letters[1:20])
axoff <- list(title = "", zeroline = FALSE, showline = FALSE, showticklabels = FALSE, showgrid = FALSE, autotick = F)
axoffxy <- list(title = "", zeroline = FALSE, showline = FALSE, showticklabels = FALSE, showgrid = FALSE, autotick = F, showspikes=F)
plot_ly(data=data.frame(rep.ex), x=rep.ex$x1, y=rep.ex$y1, z=rep.ex$z1,
marker=list(size=2.6),
color=rep.ex$x1, hoverinfo='text',
text=rep.ex$text1,
type="scatter3d", mode = "markers") %>%
layout(showlegend = T, dragmode="turntable", scene = list(aspectmode='cube', xaxis = axoffxy, yaxis = axoffxy, zaxis = axoff),
annotations=list(showarrow=FALSE,
text='Here I insert my annotation',
xref='scene',
yref='scene',
zref='scene',
x=1,
y=1,
z=2,
xanchor='left',
yanchor='bottom',
font=list(size=12 )))
我正在使用 Plotly 版本 4.9.0
如果您的问题允许您从布局中的注释切换到 add_trace
,它将四处移动。像这样的东西可以解决这个问题:
plot_ly(data=data.frame(rep.ex), x=rep.ex$x1, y=rep.ex$y1, z=rep.ex$z1,
marker=list(size=2.6), color=rep.ex$x1, hoverinfo='text',
text=rep.ex$text1, type="scatter3d", mode = "markers", showlegend=F) %>%
add_trace(type='scatter3d', mode='text', x=10,y=10,z=10,
text='Here I insert my annotation', showlegend=F, inherit=F) %>%
layout(showlegend = T, dragmode="turntable",
scene = list(aspectmode='cube', xaxis = axoffxy, yaxis = axoffxy, zaxis = axoff))
我正在尝试向具有不同场景的 scatter3d Plotly 图中的点添加文本注释。如何使注释随情节移动?即使我将 xref 和 yref 签名为 'scene',注释也不会移动。
这是我正在尝试的可重现示例 运行:
library(plotly)
rep.ex = data.frame(x1=1:20, y1=1:20, z1=(1:20)*2, text1=letters[1:20])
axoff <- list(title = "", zeroline = FALSE, showline = FALSE, showticklabels = FALSE, showgrid = FALSE, autotick = F)
axoffxy <- list(title = "", zeroline = FALSE, showline = FALSE, showticklabels = FALSE, showgrid = FALSE, autotick = F, showspikes=F)
plot_ly(data=data.frame(rep.ex), x=rep.ex$x1, y=rep.ex$y1, z=rep.ex$z1,
marker=list(size=2.6),
color=rep.ex$x1, hoverinfo='text',
text=rep.ex$text1,
type="scatter3d", mode = "markers") %>%
layout(showlegend = T, dragmode="turntable", scene = list(aspectmode='cube', xaxis = axoffxy, yaxis = axoffxy, zaxis = axoff),
annotations=list(showarrow=FALSE,
text='Here I insert my annotation',
xref='scene',
yref='scene',
zref='scene',
x=1,
y=1,
z=2,
xanchor='left',
yanchor='bottom',
font=list(size=12 )))
我正在使用 Plotly 版本 4.9.0
如果您的问题允许您从布局中的注释切换到 add_trace
,它将四处移动。像这样的东西可以解决这个问题:
plot_ly(data=data.frame(rep.ex), x=rep.ex$x1, y=rep.ex$y1, z=rep.ex$z1,
marker=list(size=2.6), color=rep.ex$x1, hoverinfo='text',
text=rep.ex$text1, type="scatter3d", mode = "markers", showlegend=F) %>%
add_trace(type='scatter3d', mode='text', x=10,y=10,z=10,
text='Here I insert my annotation', showlegend=F, inherit=F) %>%
layout(showlegend = T, dragmode="turntable",
scene = list(aspectmode='cube', xaxis = axoffxy, yaxis = axoffxy, zaxis = axoff))