#python #matplotlib #subplot #mnist
Вопрос:
Прежде всего — извините, если этот точный вопрос где-то существует, но я просто не смог его найти. В двух словах, я работаю над классической задачей создания классификатора, позволяющего отличать числа 9-10 от набора данных MNIST.
Легко найти код для отображения первых 9 чисел — это
from matplotlib import pyplot for i in range(9): pyplot.subplot(330 1 i) pyplot.imshow(train_X[i], cmap=pyplot.get_cmap('gray')) pyplot.show()
, но линия
pyplot.subplot(330 1 i)
это просто сбивает меня с толку. Я читал о подзаголовках и знаю, что делает эта строка, но я понятия не имею, как показать более 9 чисел, так как каждый раз, когда я пытаюсь написать что — то вроде
for i in range(10):
Я всегда получаю
ValueError: num must be 1 lt;= num lt;= 9, not 10
Есть ли возможность показать более 9 номеров?
Заранее благодарю вас!
Комментарии:
1. Индекс подзаголовка указывается, но не форма; например, подзаголовок рисунка 330 на 1 (т. Е. 330 строк, 1 столбец) будет: pyplot.subplot(330, 1, i 1); но, учитывая, что цикл колеблется от 0 до 10, кажется, что вы хотите 10 на 1 или аналогично: pyplot.subplot(10, 1, i 1).
2. Не связанный с этим, я нашел
plt.subplot
, что аргумент с 3-значным целым числом действительно раздражает. Я бы просто использовал вызов с тремя аргументами, напримерplt.subplot(5, 2, 1 i)
.