使用二维数组python matplotlib进行三维打印

使用二维数组python matplotlib进行三维打印,python,matplotlib,3d,plot,Python,Matplotlib,3d,Plot,我有两个值为x和y的一维数组,还有一个值为z的二维数组,每个点的列对应于x值,行对应于y值。有没有办法用这些数据绘制曲面图?当我尝试这样做时,它不会返回任何情节。下面是代码:(calculate_R是我为程序制作的函数) 您忘记调用以显示绘图 请注意,您可能可以利用numpy矢量化来加速z的计算: import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d.axes3d import Axes3D x

我有两个值为x和y的一维数组,还有一个值为z的二维数组,每个点的列对应于x值,行对应于y值。有没有办法用这些数据绘制曲面图?当我尝试这样做时,它不会返回任何情节。下面是代码:(calculate_R是我为程序制作的函数)

您忘记调用以显示绘图

请注意,您可能可以利用numpy矢量化来加速
z
的计算:

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d.axes3d import Axes3D

x = np.arange(0,10,1)
y = np.arange(0,1,0.2)

xs, ys = np.meshgrid(x, y)
# z = calculate_R(xs, ys)
zs = xs**2 + ys**2

fig = plt.figure()
ax = Axes3D(fig)
ax.plot_surface(xs, ys, zs, rstride=1, cstride=1, cmap='hot')
plt.show()

这里,我使用了一个简单的函数,因为您没有提供一个完整的示例。

是否可以用
np.arange(0,xsize,1)
x
y
替换zs,其中
np.arange(0,xsize,1)
np.arange(0,ysize,1),为了获得矩阵的3D图?是的,这应该是可能的。确实:参见
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d.axes3d import Axes3D

x = np.arange(0,10,1)
y = np.arange(0,1,0.2)

xs, ys = np.meshgrid(x, y)
# z = calculate_R(xs, ys)
zs = xs**2 + ys**2

fig = plt.figure()
ax = Axes3D(fig)
ax.plot_surface(xs, ys, zs, rstride=1, cstride=1, cmap='hot')
plt.show()