使用具有 3 列数据的 matplotlib 绘制 3D 表面
Plotting 3D surface with matplotlib with 3 columns of data
我知道我们通常使用:
plot_surface(X, Y, Z)
其中 X
、Y
是一维数组,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()
我知道我们通常使用:
plot_surface(X, Y, Z)
其中 X
、Y
是一维数组,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()