Аннотировать значение данных в конце строки matplotlib - PullRequest
0 голосов
/ 29 марта 2020

Я пытаюсь добавить значение данных в конец строки matplotlib. Это мой код:

fig, ax = plt.subplots(1, 1)
anz_df.plot(legend=True, ax=ax, figsize= (16,8))
ax.set_title("Number of confirmed cases between Australian' States vs New Zealand")
ax.set_ylabel('Number of confirmed Cases')
ax.set_xlabel('Date')
for line, name in zip(ax.lines, anz_df.columns):
    y = line.get_ydata()[-1]
    ax.annotate(name, xy=(1,y), xytext=(6,0), color=line.get_color(), 
                xycoords = ax.get_yaxis_transform(), textcoords="offset points",
                size=14, va="center")

Это результат: enter image description here

Однако я хочу добавить значение данных в конец каждой строки.

Кроме того, какая библиотека, в которой я могу визуализировать данные, поддерживающие зависание мыши, выглядит следующим образом: enter image description here

Любые мысли приветствуются.

1 Ответ

0 голосов
/ 29 марта 2020

Вы должны иметь возможность добавить день к дате, используя timedelta(days=1) (из библиотеки datetime), как описано здесь: Добавление 5 дней к дате в Python.

Таким образом

y = line.get_ydata()[-1]
x = line.get_xdata()[-1]+timedelta(days=1) # or something reasonable
ax.annotate('{:d}'.format(y), xy=(x,y)  ...

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

...