2016-03-19 2 views
0

Я пытаюсь построить трехмерную поверхность с координатами x, y и значениями w1. Я проверил размеры по форме(), они совпадают. но я получаю сообщение об ошибке, что "AttributeError: 'модуль' объект не имеет атрибут" plot_surface"Python: AttributeError при построении трехмерной поверхности

Код:

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() 
+0

w1 определяется прежде, и это массив значений с той же размерности, X, Z ... Я проверил по форме() – Soyol

ответ

0

Таким образом, он работал для меня:

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()