2012-08-01 27 views
7

He escrito un módulo de función que toma el argumento de dos variables. Para trazar, tuveEje de reescalado en Matplotlib imshow bajo llamada a función única

x, y = pylab.ogrid[0.3:0.9:0.1, 0.:3.5:.5] 
z = np.zeros(shape=(np.shape(x)[0], np.shape(y)[1])) 

for i in range(len(x)): 
    for j in range(len(y[0])):  
     z[i][j] = fancyFunction(x[i][0], y[0][j]) 

pylab.imshow(z, interpolation="gaussian") 

La imagen que se obtiene es el siguiente: enter image description here

Pero cuando intenté cambiar la escala de los ejes X e Y para que coincida con los rangos de [0,3: 0,9: 0,1, 0. : 3,5: 0,5] a través pylab.imshow(z, interpolation="gaussian", extent=[.3,.9,0.,3.5]) consigo

enter image description here

he estado buscando en Google durante horas, pero todavía no pude encontrar una manera de hacer una parcela cuadrada con eje diferente escala.

Gracias!

Respuesta

6

Utilice la aspect argumento:

pylab.imshow(z, interpolation="gaussian", extent = [.3,.9,0.,3.5], aspect='auto') 
+1

Woohoo! ¡¡¡¡¡Gracias!!!!! –

Cuestiones relacionadas