当我使用mplot3D时,为什么会出现错误:NameError:名称'plot_trisurf'未定义

时间:2016-11-19 13:05:07

标签: python matplotlib

我尝试使用mplot3D绘制一些3D图片:

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
...
plot_trisurf(X, Y, Z1)

然后我的电脑会告诉我

NameError: name 'plot_trisurf' is not defined

为什么会这样?我以为我已经进口了它。

1 个答案:

答案 0 :(得分:0)

plot_trisurf是来自Axes3D类的方法。在python中,为了调用类方法,通常需要提供类或它的实例。

在这种情况下,类实例将是您的轴对象。这通常称为ax。因此,正确的呼叫(如matplotlib trisurf example所示):

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()
ax = fig.gca(projection='3d')
...
ax.plot_trisurf(x, y, z)
plt.show()