2015-04-14 16 views
6

Desidero visualizzare più figure in Matplotlib. Qui è il mio codice:Matlotlib mostra più immagini con loop per

for i in range(8): 
    a = sitk.ReadImage("000%d.IMA"%(i+1)) 
    ... 

    plt.figure(i+1) 
    plt.imshow(a_np,cmap=plt.cm.gray) 

Tuttavia, la figura (1) per capire (7) mostrerà durante il processo, ma unica figura (8) rimanere alla fine. Come posso vedere tutte le figure allo stesso tempo? Mi ha confuso che il mio ambiente è un notebook Ipython quando cambio l'ambiente in Spyder il risultato sarà corretto.

risposta

8

Se volete 8 diverse figure in 8 diverse finestre, ecco un esempio che funziona:

import matplotlib.pyplot as plt 
import numpy as np 

x = np.linspace(0,10) 
y = np.sin(x) 

for i in range(8): 
    plt.plot(x,y) 
    plt.figure(i+1) 

plt.show() 

Ciò tracciare 8 finestre differenti con x vs y e tutte le finestre rimarranno "vivo" fino a quando non chiudili.

assicuratevi di chiamare plt.show() fuori del ciclo for