在下面的例子中,我试图在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)?
非常感谢任何帮助!
答案 0 :(得分:1)
将fig = plt.figure()
移到for
循环之外,然后使用ax = fig.add_subplot(2,3,i+1)
。这样,所有的子图都将在同一个图中,而不是他们自己的数字。