我正在尝试在jupyter输出中绘制2行4张图片,这是我的代码
for name in names_pred:
onlyfiles2 = [ f for f in listdir(os.path.join(TOP_DATA,names_supcetcs)) ]
posibles = plt.figure(figsize = (20,20))
for i in range(1,9):
plt.subplot(2,4,i)
plt.subplots_adjust(wspace=None)
img = mpimg.imread(TOP_DATA+names_supcetcs+ '/'+ onlyfiles2[i-1])
plt.imshow(img)
plt.show()
并且输出是下一张图片的迭代,但是当i = 2,3,4 ...开始时,没有跳过的空间
我如何删除该空间?我已经尝试过
Improve subplot size/spacing with many subplots in matplotlib
但是最糟糕的是,一些图片没有显示
答案 0 :(得分:0)
您是否尝试在代码中加入plt.tight_layout()
?
写一个简单的示例,因为我无权访问您正在使用的数据,但足以让您滚动。
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax = {i: fig.add_subplot(2,4,i) for i in range(1,9)}
x = np.linspace(1,10,100)
plots = [ax[i].plot(x,i*x) for i in range(1,9)]
plt.tight_layout()
plt.show()
答案 1 :(得分:0)
感谢您的帮助,我实际上在嵌套的for循环中使用if来管理它,这不是最理想的方法,但它可以工作
for i in range(1,9):
if i == 1:
fig.add_subplot(2,4,i)
plt.imshow(img0)
else:
fig.add_subplot(2,4,i)
img = mpimg.imread(TOP_DATA+names_supcetcs+ '/'+ onlyfiles2[i-1])
plt.imshow(img)