Python:绘制 3d 表面时出现 AttributeError

Python: AttributeError in plotting a 3d surface

我正在尝试通过将 x、y 的坐标和值为 w1 的值绘制一个 3d 表面。我已经通过 shape() 检查了尺寸,它们匹配。但我收到 "AttributeError: 'module' object has no attribute 'plot_surface'"

的错误

代码:

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

。 . .

x = np.arange(xmin, xmax+dx, dx)
z = np.arange(zmin, zmax+dz, dz)
X, Z = np.meshgrid(x, z)
#print X.shape, Z.shape, w1.shape
plt.plot_surface(X, Z, w1)
plt.show()

这种方式对我有用:

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

x = np.arange(xmin, xmax+dx, dx)
z = np.arange(zmin, zmax+dz, dz)
X, Z = np.meshgrid(x, z)
ax.plot_surface(X, Z, w1)
plt.show()