comploter avec meshgrid et imshow

Imshow et meshgrid ne fonctionnent pas comme je le pensais. J'ai une fonction définie par un (x,y) le point en 2D qui retourne un scalaire f(x,y). Je veux visualiser la fonction f à l'aide de imshow.

x = np.linspace(0,4)
y = np.linspace(0,1)

X,Y = np.meshgrid(x,y)
Z = np.zeros((50,50))

for i in range(50):
   for j in range(50):
       Z[i,j] = f(X[i,j],Y[i,j])

fig = plt.figure()
plt.imshow(Z,extent=[0,4,1,0])
plt.show()

Cela fonctionne comme prévu, sauf dans la mesure où je pense qu'il devrait être [0,4,0,1]... Suis-je définir le Z[i,j] pour chaque (x,y) paire de manière incorrecte? Une explication de la façon dont cela fonctionne, ce serait génial! Merci!

OriginalL'auteur Cokes | 2014-05-20