Hover info of scatter points through 3D mesh

Hi,

I’m trying to remove the info when I’m hovering a mesh3d to have the information of the point inside the mesh that I created by a scatter3D.

Here is a small example

fig = go.Figure(data=[
    go.Mesh3d(
        x=[0, 0, 1, 1, 0, 0, 1, 1],
        y=[0, 1, 1, 0, 0, 1, 1, 0],
        z=[0, 0, 0, 0, 1, 1, 1, 1],
        color='gray',
        i=[7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2],
        j=[3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3],
        k=[0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6],
        opacity=0.5,
        hoverinfo='skip'
    ),
    go.Scatter3d(
        x=[0.2, 0.3, 0.4],
        y=[0.2, 0.3, 0.4],
        z=[0.2, 0.3, 0.4],
        mode="markers",
        hoverinfo='text',
        text=['1', '2', '3'],
        marker=dict(size=5, symbol="circle",
                    )
    ),
])

I also tried to remove or not the hoverinfo=‘skip’ as in Completely excluding a trace from hover info/snapping but without success.
How can I see the text 1, 2 or 3 when hovering it ?

Thank you

1 Like

Can someone please look into this?

It seems indeed that 3D mesh traces cover/hide other trace datapoints already on the plot.
I believe this is a bug and should be looked into.

I am having the same issue. Has any solution been found?

Same issue here.

Same issue here, it seems the trace selection is resolved ignoring the hoverinfo=skip/none, then if it’s indeed skip/none it doesn’t show any hover, but it should instead keep resolving what trace is under the mouse cursor to be able to hover traces under any mesh.

Hello @artemisart and thanks for your help. I am facing the same issue. So, did you solve it without providing any hoverinfo = skip/none for mesh3D objects? Or the issue is still there? Thank you very much in advance for your clarification.

After some experiments, I was finally able to prevent the snap events. I did it removing the 3D axis planes:

fig.update_layout(
scene = dict(
xaxis = dict(visible=False),
yaxis = dict(visible=False),
zaxis =dict(visible=False)
)
)

I also set hoverinfo = “none”