使用具有 3 列数据的 matplotlib 绘制 3D 表面

Plotting 3D surface with matplotlib with 3 columns of data

我知道我们通常使用:

plot_surface(X, Y, Z)

其中 XY 是一维数组,Z 是维度为 len(X) × len(Y) 的矩阵,用于绘制曲面。

但我现在只有三列一维数组作为数据。换句话说,我有类似的东西:

X=[1,2,3,4,5]
Y=[1,2,3,4,5]

Z=f(X,Y)=[1,2,3,4,5]

我没有f的表达,不过还是想画个曲面图。我应该怎么做?

请随时让我澄清我的问题。这是我第一次在平台上提问

提前致谢!

你是这个意思吗?:

import numpy as np
import matplotlib.pyplot as plt

x=[1,2,3,4,5]
y=[1,2,3,4,5]
z=np.array([[1],[2],[3],[4],[5]])
ax = plt.axes(projection='3d')
ax.plot_surface(x, y, z,cmap='viridis')

plt.show()