Мне кажется, что вы пытаетесь нанести СЛИШКОМ МНОГО изображений на одной фигуре, в следующем я буду изображать c вашу процедуру, используя 9 изображений против 299, вторая цифра подозрительно похожа на то, что вы показано…
In [26]: import matplotlib.pyplot as plt
...: import numpy as np
...: img = np.arange(54*108).reshape(108,54)
In [27]: N = 9
...: nc = 5
...: nr = (N-1)//nc + 1
...: f, axarr = plt.subplots(nr, nc, sharex='col', sharey='row')
...: f.subplots_adjust(hspace=1, wspace=1)
...: for c in range(N):
...: x, y = c//nc, c%nc
...: axarr[x,y].imshow(img)
...: axarr[x,y].set_title('title')
In [28]: N = 299
...: nc = 5
...: nr = (N-1)//nc + 1
...: f, axarr = plt.subplots(nr, nc, sharex='col', sharey='row')
...: f.subplots_adjust(hspace=1, wspace=1)
...: for c in range(N):
...: x, y = c//nc, c%nc
...: axarr[x,y].imshow(img)
...: axarr[x,y].set_title('title')