Сюжеты Matplotlib зажаты вместе - PullRequest
0 голосов
/ 10 марта 2020

Я смоделировал набор данных mnist, и набор тестов (x_test) имеет длину 2000 di git изображений, и модель прогнозирует неверные изображения с индексами wrong_predicted_images в тестовом наборе. Я пытаюсь нанести изображения вместе с правильными метками (из набора тестов: y_test). Я придумал это. Тем не менее, когда я строю его, все изображения смешиваются.

num_cols = 5
num_images = len(wrong_predicted_images)
num_rows = num_images//num_cols +1
f, axarr = plt.subplots(num_rows, num_cols, sharex='col', sharey='row')
f.subplots_adjust(hspace=1,wspace= 1) # to have space between images
for count, i in enumerate(wrong_predicted_images):
  x, y = count//num_cols, count % num_cols
  axarr[x,y].imshow(x_test[i])
  axarr[x,y].imshow(x_test[i])
  axarr[x,y].set_title(y_test[i], loc = 'right')
  plt.grid(False)
plt.show()

Вот полученное изображение

enter image description here

Как я могу это исправить?

1 Ответ

1 голос
/ 10 марта 2020

Мне кажется, что вы пытаетесь нанести СЛИШКОМ МНОГО изображений на одной фигуре, в следующем я буду изображать 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')

enter image description here

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')                                                

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...