Я очень близок к тому, чтобы наконец закончить свой проект сверточной нейронной сети, но мне трудно отобразить цифру, которая показывает верхние k вероятностей классификации для данного нового изображения дорожного знака. Я хочу отобразить диаграмму рассеяния вероятностей слева и соответствующее изображение справа. Вот функция, которую я определил:
def plot_probability_per_class(probabilities, classes, image):
figure = plt.figure()
figure.subplots_adjust(right=1.5, hspace=0.5)
subplot = figure.add_subplot(1,2,1)
subplot.set_title('Probability per class')
plt.plot(classes, probabilities, 'ro')
plt.ylabel('Probability')
plt.xlabel('Class ID')
subplot = figure.add_subplot(1,2,2)
subplot.set_title('Image')
plt.imshow(image)
plt.show()
Ниже приведен пример сгенерированного рисунка:
И пока я спрашиваю, сможет ли кто-нибудь показать мне, как разместить легенду справа от (или, может быть, ниже) диаграммы рассеяния, чтобы показать описание идентификаторов классов. Примерно так:
- = Ограничение скорости (20 км / ч)
- = Ограничение скорости (30 км / ч)
- = Ограничение скорости (50 км / ч)
- = Ограничение скорости (60 км / ч)
- = Ограничение скорости (70 км / ч)
- = Ограничение скорости (80 км / ч)
- = Конец ограничения скорости (80 км / ч)
- = Ограничение скорости (100 км / ч)
- = Ограничение скорости (120 км / ч)
- = Нет прохождения
- = Запрещается проезд для транспортных средств более 3,5 метрических тонн
Я новичок в Matplotlib, и мне трудно читать документы API. Любая помощь будет оценена по достоинству.
figure.subplots_adjust(right=1.5, hspace=0.5)
? - person wflynny   schedule 07.12.2016plt.plot(x, y, 'r', label = 'Red')
. Тогда вы сделали быplt.legend(loc='lower right')
. Я мог бы помочь больше, если бы знал, на что ссылаются эти скорости, но я не вижу их ни в коде, ни в имеющемся у вас графике. - person gold_cy   schedule 07.12.2016subplot.text(0.99,0.99, "1. Speed limit (20km/h)\n2. Speed limit (30km/h)", transform=subplot.transAxes, ha="right", va="top", fontsize=8, bbox={'facecolor':'w', 'alpha':0.5, 'pad':10})
(Строки можно разделять с помощью\n
) - person ImportanceOfBeingErnest   schedule 08.12.2016plt.annotate
. Но если OP хочет использоватьsubplot.legend
, то связанный способ - единственный способ, если OP не перенастроит график разброса (а не на самом деле разброса) для использования 11 разных маркеров или чего-то подобного. - person wflynny   schedule 08.12.2016