Black Lives Matter. Please consider donating to Black Girls Code today.

Hover Points Inside Surface

I’m trying to plot points inside a sphere (defined as a surface), but I can’t hover over the points.
8e03d15a891dc827487447f4214ff7c1

I suspect this is because hoverinfo=‘skip’ (and ‘none’) only removes the info, but not the hover itself. As you can see in the GIF below, it seems that plotly is snapping to points on the sphere. Is there a way to completely remove this behavior from the sphere only?

plotly_data = []

theta = np.linspace(0,2*pi,50)
phi = np.linspace(0,pi,50)
r = 3
x = r*np.outer(np.cos(theta),np.sin(phi))
y = r*np.outer(np.sin(theta),np.sin(phi))
z = r*np.outer(np.ones(50),np.cos(phi))
sphere = go.Surface(
    x=x,
    y=y,
    z=z,
    opacity=0.2,
    hoverinfo='skip', #also tried hoverinfo='none'
    showscale=False,
    colorscale=['blue','blue'])
plotly_data.append(sphere)

points = go.Scatter3d(
    x=[0,1,2],
    y=[0,1,2],
    z=[0,1,2],
    mode='markers',
    marker={'size':5,'color':'red'},)
plotly_data.append(points)

fig = go.Figure(data=plotly_data)
fig.show()

I’m having the exact same problem. I’ve done the same starting from a plotly express 3d scatter and then adding the surface trace to the plot suppressing the hoverinfo.

If you zoom INSIDE the surface then you can see the hover of the points, but if you are outside of the surface the hover will not be shown because the surface hover (even with none or skip) is conflicting with the one of the points.

bug

I’m pretty sure this is not expected behaviour