A volume plot with
go.Volume shows several partially transparent isosurfaces for volume rendering. The API of
go.Volume is close to the one of
go.Isosurface. However, whereas isosurface plots show all surfaces with the same opacity, tweaking the
opacityscale parameter of
go.Volume results in a depth effect and better volume rendering.
Simple volume plot with go.Volume¶
In the three examples below, note that the default colormap is different whether isomin and isomax have the same sign or not.
import plotly.graph_objects as go import numpy as np X, Y, Z = np.mgrid[-8:8:40j, -8:8:40j, -8:8:40j] values = np.sin(X*Y*Z) / (X*Y*Z) fig = go.Figure(data=go.Volume( x=X.flatten(), y=Y.flatten(), z=Z.flatten(), value=values.flatten(), isomin=0.1, isomax=0.8, opacity=0.1, # needs to be small to see through all surfaces surface_count=17, # needs to be a large number for good volume rendering )) fig.show()