如何在Plotly中从X,Y,Z数组中绘制一个3D曲面?

问题描述 投票:1回答:1

我想了解如何从X,Y,Z实数组中绘制一个3D曲面。所以,我找到了一个很好的Plotlu 3D曲面绘图的例子。

import plotly.graph_objects as go

import pandas as pd

# Read data from a csv
z_data = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/api_docs/mt_bruno_elevation.csv')

fig = go.Figure(data=[go.Surface(z=z_data.values)])

fig.update_layout(title='Mt Bruno Elevation', autosize=False,
                  width=500, height=500,
                  margin=dict(l=65, r=50, b=65, t=90))

fig.show()

但是,mt_bruno_elevation. csv的数据让我有点困惑。我不明白数据在csv中到底代表什么,如果我有一个X,Y,Z数组的真实数据,如何建立类似的东西。

python 3d plotly
1个回答
1
投票

最简单的曲面方程是z=f(x,y)的形式。据我所知,在这个例子中。z-data 是一个二维数组。请看下面的例子。

 z-data = [ 
[ 0.1, 0.2, 0.3, 0.4 ],
[ 0.5, 0.6, 0.7, 0.8 ],
[ 0.9, 1.0, 1.1, 1.2 ],
[ 1.3, 1.4, 1.5, 1.6 ]
]

这是一个z矩阵。也就是这些数字是不同的Z轴的值。xy. 现在的问题是,什么 xy 是。

的第一要素。z-data ( [ 0.1, 0.2, 0.3, 0.4 ] )为常数。y=0 和不同数值的 x. 所以(x,y,z)的第一个值(0.1)等于(0,0,0.1)。对于第二个值(0.2)等于(1,0,0.2),以此类推。

的第二个元素 z-data ( [ 0.5, 0.6, 0.7, 0.8 ] )为常数。y=1 和不同数值的 x. 所以(x,y,z)对于第一个值(0.5)等于(0,1,0.5)。对于第二个值(0.6)等于(1,1,0.2),以此类推。

有用的链接。链接1链接2链接3

© www.soinside.com 2019 - 2024. All rights reserved.