Как наносить метки на маркеры сюжета в pyplot (не точечный график) - PullRequest
0 голосов
/ 15 мая 2019

Я строю кривую Precision / Recall и хочу наложить определенные метки для каждого маркера на графике.

Вот код, который генерирует график:

from matplotlib import pyplot

pyplot.plot([0, 100], [94, 100], linestyle='--')

pyplot.xlabel("Recall")
pyplot.ylabel("Precision")
list_of_rec = [
99.96,99.96,99.96,99.96,99.96,99.96,99.8,98.25,96.59,93.37,83.74,63.53,48.72,25.05,10.7,4.27,0.73,0.23]

list_of_prec = [
94.12,94.12,94.12,94.12,94.12,94.12,94.42,95.14,95.92,96.57,97.33,98.26,98.72,99.0,99.0,99.17,99.75,99.19]

list_of_markers = [
    0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0, 5.5, 6.0, 6.5, 7.0, 7.5, 8.0, 8.5
]

# plot the precision-recall curve for the model
pyplot.plot(list_of_rec, list_of_prec, marker='*', markersize=8)

pyplot.show()

Это даетмне следующий график:

enter image description here

Для каждого из маркеров на графике (*) я хочу пометить их текстом из list_of_markers.Похоже, вы не найдете возможности передать список текстовых меток на график где-либо, любая помощь приветствуется.

1 Ответ

0 голосов
/ 15 мая 2019

Вы можете аннотировать каждый из ваших маркеров, просматривая их и помещая надписи как текстовые аннотации

for x, y, text in zip(list_of_rec, list_of_prec, list_of_markers):
    plt.text(x, y, text)

enter image description here

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