Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork2.7k
Open
Description
- Reported by Łukasz asa post on the forum
- Plotly version: 6.2.0
- Python version: 3.11.13
- Browser: chrome
Hi, i have found quite annoying bug which can be seen only when the isosurface components are opaque. I observed that it doesn’t only occur for multiple trace isosurfaces, but also single multisurface isosurfaces and volume plots.
Here is an example code how to replicate it:
(The fun part is that when you change the opacity from 0.99 to 1 the plot gets visualised properly.)
import plotly.graph_objects as goimport numpy as npimport nrrdfrom skimage.transform import resizevolume = np.zeros((50, 50, 50))volume[1:10, 5:45, 5:45] =1volume[10:20, 5:45, 5:45] = 1.5volume[20:30, 5:45, 5:45] = 2volume[30:40, 5:45, 5:45] = 2.5volume[40:49, 5:45, 5:45] = 3Z, X, Y = np.mgrid[0:volume.shape[0]:1, 0:volume.shape[1]:1, 0:volume.shape[2]:1]fig = go.Figure(data=[go.Isosurface( x=X.flatten(), y=Y.flatten(), z=Z.flatten(), opacity=0.99, value=np.where(volume == 1, 1, 0).flatten(), surface_fill=1, surface_count=1, colorscale=[[0, 'rgb(0,255,0)'], [1, 'rgb(0,255,0)']], caps=dict(x_show=False, y_show=False, z_show=False), #slices_z=dict(show=True, locations=list(range(volume.shape[0]))), ), go.Isosurface( x=X.flatten(), y=Y.flatten(), z=Z.flatten(), opacity=0.99, value=np.where(volume == 3, 1, 0).flatten(), surface_fill=1, surface_count=1, colorscale=[[0, 'rgb(255,0,0)'], [1, 'rgb(255,0,0)']], caps=dict(x_show=False, y_show=False, z_show=False), # slices_z=dict(show=True, locations=list(range(volume.shape[0]))), )])
The bug can be seen looking form under the plot: