我正在尝试使用Plotly的Mesh3D
绘制腿部3D扫描图。
我已将scatter_3d
与XYZ点一起使用,以使用以下方法显示此概念:
fig = px.scatter_3d(df, x='x', y='y', z='z', opacity = 0.8)
但是,它看起来不像表面。因此,我尝试了Mesh3d
,使用:
fig = go.Figure(data=[go.Mesh3d(x=x, y=y, z=z, color='lightpink', opacity=0.50)])
显然,此图不平滑。我试图在渲染图之前对df进行排序,但是它没有帮助。
重申一下,我正在寻找此XYZ数据的平滑表面图。
这里是扫描的XYZ data。
编辑:有关曲面图引入的继续信息
我使用下面的代码实现了Surface图。不幸的是,没有绘制图(也没有错误)。
colnames = ['x', 'y', 'z']
df = pd.read_csv('sandbox\leg.txt', sep = ' ', header = None, names = colnames)
x, y = np.array(df['x'].tolist()), np.array(df['y'].tolist())
df2 = df.pivot(index = 'x', columns = 'y', values = 'z')
z = df2.values
fig = go.Figure(data=[go.Surface(z=z, x=x, y=y)])
fig.show()