Matplotlib显示带有for循环的多个图像

时间:2015-04-14 06:49:04

标签: python matplotlib

我想在Matplotlib中显示多个图形。这是我的代码:

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)

然而,图(1)至图(7)将在过程中显示,但只有图(8)保持在最后。我怎样才能同时看到所有数字? 它让我感到困惑的是,当我将环境改为spyder时,我的环境是Ipython笔记本,结果将是正确的。

1 个答案:

答案 0 :(得分:9)

如果你想在8个不同的窗口中找到8个不同的数字,这里有一个可行的例子:

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

这将绘制8个不同的窗口x vs y所有窗口将保持"活着"直到你关闭它们。

请务必在plt.show()循环

之外致电for