Решение
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
%config InlineBackend.figure_format = 'svg' # 'svg', 'retina'
plt.style.use('seaborn-white')
# Make dummy data for the image
a = np.arange(25**2).reshape(25,25)
# Show subplots | shape: (1,3)
fig, axs = plt.subplots(nrows=1, ncols=3, figsize=(12,4))
for i, ax in enumerate(axs.flatten()):
plt.sca(ax)
plt.imshow(a**(i+1), cmap=plt.cm.jet)
#plt.colorbar()
plt.title('Image: {}'.format(i+1))
#plt.tight_layout()
plt.suptitle('Overall Title')
plt.show()
Выход :
Код, аналогичный вашей реализации
Проще установить текущую ось plt.sca(ax)
, а затем построить график так, как будто у вас есть только один подзаговор, с которым нужно иметь дело. Это позволяет легко модифицировать ваш код и, при необходимости, быстро перейти в цикл.
f, axarr = plt.subplots(nrows=1,ncols=3)
plt.sca(axarr[0]);
plt.imshow(img); plt.title('title 1')
plt.sca(axarr[1]);
plt.imshow(avg_blur); plt.title('title 2')
plt.sca(axarr[2]);
plt.imshow(gauss_blur); plt.title('title 3')
plt.show()