import pylab
from mpl_toolkits.mplot3d import Axes3D
import numpy
def makeData ():
x = numpy.arange (-10, 10, 0.1)
y = numpy.arange (-10, 10, 0.1)
xgrid, ygrid = numpy.meshgrid(x, y)
zgrid = numpy.sin (xgrid) * numpy.sin (ygrid) / (xgrid * ygrid)
return xgrid, ygrid, zgrid
x, y, z = makeData()
fig = pylab.figure()
axes = Axes3D(fig)
axes.plot_surface(x, y, z)
pylab.show()
x = numpy.arange (-10, 10, 0.1)
y = numpy.arange (-10, 10, 0.1)
С другой стороны, возникает следующий вопрос.
Имеется три списка значений x,y,z. Как можно трансформировать списки в объект numpy-list, чтобы можно было передать их в axes.plot_surface(x, y, z) и строить пользовательские x,y,z на трехмерном графике в таком случае?
Попытка подать сами списки на график вызывает ошибку
rows, cols = Z.shape
AttributeError: 'list' object has no attribute 'shape'