Bring Drag & Drop to Dash with Dashboard Engine. ๐Ÿ’ซ Learn how at our next webinar!

Hover response is very inaccurate in 3D Surface plot with a large number of points

I am doing a 3D surface plot in Python with Plotly and I need to view the coordinates of the peaks (maxima) upon mouse hover/click. The plot has about 85,000 points and when I hover the mouse pointer over the graph, labels and spikes are shown for points far from where my mouse hovers. Even when I zoom in and keep the mouse pointer at the highest peak, I do not see a label there.

I suspect that this is a performance issue because of the high density of data points in the graph. Since I anyway want to see only the x-y-z coordinates of the maxima upon hovering, I am looking for a way to disable hover-response at all other points. I have thought of two approaches but could not find a way to implement them:
(1) I somehow feed into a plotly function the coordinates of peaks where mouse hover should make a label appear (I donโ€™t want static annotations. The label should appear only if I hover or click at a max peak),
(2) On top of this surface plot, I superimpose another surface plot which consists only of the maxima of the first plot and is transparent. Hover labels should appear only for this 2nd surface, not the first one. This way, I would see only the peaks on mouse hover.

I have spent quite a few hours scouring the internet and documentation to get some clues, but I could not find a solution. fig.update_layout(hovermode="closest") or fig.update_layout(hoverdistance=0) have not helped. To reduce the number of points getting covered by the mouse pointer, I tried to find a way to change its shape to a narrower one like a + symbol or an arrow, but was unsuccessful.

I would appreciate if anybody could help me achieve the desired functionality as mentioned above. Thanks.