繁体   English   中英

在IPython Notebook中绘制几个子图

[英]plot several subplots in IPython notebook

我有两组分别为numpy数组的8张图像。

因为我想在程序的某个位置使用for循环,所以我想在同一单元格中将每个集合显示为matplotlib子图,不幸的是它不起作用(我尝试使用IPython.display的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)

它仅显示第二组。

发生的事情是您在同一图形上绘制所有内容。 因此,在绘制来自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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM