我有两组8张图像,每张图像都是numpy数组。
因为我想在我的程序中的某个点使用for循环,我想在同一个单元格中显示每个集合作为matplotlib子图,不幸的是它不起作用(我试图使用来自IPython.display的显示函数,根本没有成功。)
以下是我使用的代码:
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
for i, img in enumerate(set1):
plt.subplot(2, 4, i+1)
plt.axis('off')
plt.imshow(img)
for i, img in enumerate(set2):
plt.subplot(2, 4, i+1)
plt.axis('off')
plt.imshow(img)
它只显示第二组。
答案 0 :(得分:1)
正在发生的事情是你正在绘制同一个数字上的所有内容。因此,在绘制来自set2
的图像时,您将覆盖set1
的图像。你可以在for循环之前调用plt.figure()
来创建一个新的数字:
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
plt.figure()
for i, img in enumerate(set1):
plt.subplot(2, 4, i+1)
plt.axis('off')
plt.imshow(img)
plt.figure()
for i, img in enumerate(set2):
plt.subplot(2, 4, i+1)
plt.axis('off')
plt.imshow(img)