https://plotly.com/python/3d-isosurface-plots/
https://stackoverflow.com/questions/68834185/python-numpy-equivalent-of-matlab-isosurface-functions
import plotly.graph_objects as go
import plotly.offline as py
fig= go.Figure(data=go.Isosurface(
x=[0,0,0,0,1,1,1,1],
y=[1,0,1,0,1,0,1,0],
z=[1,1,0,0,1,1,0,0],
value=[1,2,3,4,5,6,7,8],
isomin=2,
isomax=6,
))
#Python输出窗口不显示图片,在浏览器上显示
#这里采用https://blog.csdn.net/Caiqiudan/article/details/125117824
中的第二种处理方式
py.plot(fig, filename='filename.html')
fig.show()#renderer="browser"
import plotly.graph_objects as go
import plotly.offline as py
import plotly.graph_objects as go
import numpy as np
X, Y, Z = np.mgrid[-5:5:40j, -5:5:40j, -5:5:40j]
# ellipsoid
values = X * X * 0.5 + Y * Y + Z * Z * 2
fig = go.Figure(data=go.Isosurface(
x=X.flatten(),
y=Y.flatten(),
z=Z.flatten(),
value=values.flatten(),
isomin=5,
isomax=50,
surface_fill=0.4,
caps=dict(x_show=False, y_show=False),
slices_z=dict(show=True, locations=[-1, -3,]),
slices_y=dict(show=True, locations=[0]),
))
py.plot(fig, filename='filename.html')
#fig.show()
#matplotlib inline