2015-04-14 29 views
6

Tôi muốn hiển thị nhiều hình trong Matplotlib. Đây là mã của tôi:Matplotlib hiển thị nhiều hình ảnh với vòng lặp

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) 

Tuy nhiên, hình (1) đến hình (7) sẽ hiển thị trong quá trình nhưng chỉ hình (8) ở cuối. Làm thế nào tôi có thể nhìn thấy tất cả các số liệu cùng một lúc? Nó làm tôi bối rối rằng môi trường của tôi là máy tính xách tay Ipython khi tôi thay đổi môi trường thành spyder kết quả sẽ chính xác.

Trả lời

8

Nếu bạn muốn 8 nhân vật khác nhau trong 8 cửa sổ khác nhau, đây là một ví dụ mà sẽ làm việc:

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

này sẽ âm mưu 8 cửa sổ khác nhau với x vs ytất cả các cửa sổ sẽ ở lại "sống" cho đến khi bạn đóng chúng lại.

Đảm bảo bạn gọi plt.show() bên ngoài vòng for

Các vấn đề liên quan