如何在 python 中绘制 3D 轮廓线?

时间:2021-05-04 19:01:34

标签: python plotly

enter image description here我想在 python 中绘制 3D 轮廓线。

我有一个 (50,50,50) 形状的数据。 (f(x,y,z)=数据)

使用这个,我想绘制轮廓线,并且每条线的颜色相同。

我可以绘制大约二维数据,但我不知道如何处理三维数据。

我使用图书馆情节,但这是表面图。

我想得到台词。

我应该使用哪个库?

这是我的代码。

import numpy as np
import plotly.graph_objects as go

n = 50

x = np.linspace(-8,8,n)
y = np.linspace(-8,8,n)
z = np.linspace(0,20,n)

X, Y, Z = np.meshgrid(x,y,z)

Bstr = np.loadtxt("Bstr.txt", delimiter=',')

Bstr2 = np.zeros(n**3).reshape(n,n,n)

for i in range(n):
    for j in range(n):
        for k in range(n):
            Bstr2[i][j][k] = Bstr[n**2*i+n*j+k]
            
fig = go.Figure(data=go.Isosurface(
    x=X.flatten(),
    y=Y.flatten(),
    z=Z.flatten(),
    value=Bstr2.flatten(),
    
    opacity=0.5,
    surface_count=7, # number of isosurfaces, 2 by default: only min and max
    colorbar_nticks=5, # colorbar ticks correspond to isosurface values
    caps=dict(x_show=False, y_show=False)
    ))
fig.show()

0 个答案:

没有答案