python – Matplotlib显示多个图像与for循环

前端之家收集整理的这篇文章主要介绍了python – Matplotlib显示多个图像与for循环前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Can I generate and show a different image during each loop with Matplotlib?1个
我想在Matplotlib中显示多个图形.这是我的代码
  1. for i in range(8):
  2. a = sitk.ReadImage("000%d.IMA"%(i+1))
  3. ...
  4.  
  5. plt.figure(i+1)
  6. plt.imshow(a_np,cmap=plt.cm.gray)

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

解决方法

如果你想在8个不同的窗口中有8个不同的数字,这里有一个可行的例子:
  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3.  
  4. x = np.linspace(0,10)
  5. y = np.sin(x)
  6.  
  7. for i in range(8):
  8. plt.plot(x,y)
  9. plt.figure(i+1)
  10.  
  11. plt.show()

这将绘制8个不同的窗口x和y,所有窗口将保持“活着”,直到你关闭它们.

确保在for循环外调用plt.show()

猜你在找的Python相关文章