如何在for循环中自定义imshow figure位置

时间:2017-04-03 20:45:33

标签: python matplotlib imshow

在下面的例子中,我试图在for循环中将六个numpy数组绘制为图像:

import matplotlib.pyplot as plt
%matplotlib inline
import numpy as np

for i in range(6):
    fig = plt.figure()
    a = fig.add_subplot(1, 6, i+1)
    a.set_title('plot' + '_' + str(i+1))
    a.axes.get_xaxis().set_visible(False)
    a.axes.get_yaxis().set_visible(False)
    plt.imshow(np.random.random((2,3)))

如果你在一个jupyter笔记本中执行代码,你会看到所有的数字都按行(6,1)排成行。我应该如何改变我的for循环以便在列中明智地打印我的数字(比方说)2行(2,3)?

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

fig = plt.figure()移到for循环之外,然后使用ax = fig.add_subplot(2,3,i+1)。这样,所有的子图都将在同一个图中,而不是他们自己的数字。