Я сделал график временного ряда и добавил вертикальную линию. Эта вертикальная линия указывает, что что-то произошло, и я хотел бы добавить аннотацию к этой вертикальной линии. Но я понятия не имею, как это сделать: /
Вот код для отображения данных и вертикальной линии:
Я настроил пример кода, который теперь содержит данные (хотя они как-то странные, но показывают проблему: обозначения на вертикальных линиях должны быть над областью графика, и два текстовых поля теперь перекрываются. Этого перекрытия следует избегать, располагая их по-разному и используя пунктирные линии или что-то, чтобы указать к вертикальной линии, где текст принадлежит
%matplotlib inline
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
data = np.array([['2017-07-01 16:30:00', '2017-07-02 16:30:00', '2017-07-03 16:30:00', '2017-07-04 16:30:00', '2017-07-05 16:30:00', '2017-07-06 16:30:00'],
[1.4, 1.3, 2, 0.5, 0.002337, 3 ]])
fig2 = plt.figure(figsize=(16,9))
# TRAIN NORTH
ax0 = fig2.add_subplot(111)
ax0.scatter(x=data[0],y=data[1], color='green', marker='.')
#ax0.legend(df.iloc[0,0],loc='best')
#ax0.set_ylim(0,0.006)
# vertical lines when something happened
ax0.axvline('2017-07-02 16:30:00', color='green')
ax0.axvline('2017-07-02 16:30:00', color='green')
ax0.axvline('2017-07-05 16:30:00', color='green')
ax0.text('2017-07-02 16:30:00',0.005,'BigNews1',rotation=90,va='top')
ax0.text('2017-07-02 16:30:00',0.005,'BlaBlaBla2',rotation=90,va='top')
ax0.text('2017-07-05 16:30:00',0.005,'BigNews3',rotation=90,va='top')
Я хотел бы, чтобы что-то похожее было показано на этом рисунке
Они использовали пакет lineid_plot, который можно найти здесь
Однако у этого пакета есть проблемы с форматом даты и времени. Мне очень жаль этот плохой пример кода, показанный здесь, но я действительно новичок и надеюсь, что кто-нибудь может помочь решить мою проблему.