【发布时间】:2020-04-26 12:21:19
【问题描述】:
我绘制了一个时间序列图并添加了一条垂直线。 这条垂直线表示发生了一些事情,我想在这条垂直线上添加注释。但我不知道该怎么做:/
这是绘制数据和垂直线的代码:
我调整了现在包含数据的示例代码(虽然它们有点奇怪,但显示了问题:垂直线处的符号应该在绘图区域上方,并且两个文本框现在重叠。应该通过以不同方式排列它们并使用虚线或其他东西指向文本所属的垂直线来避免这种重叠
%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')
I would like to have something like shown in this picture
他们使用了可以在here找到的包lineid_plot
但是,这个包在某种程度上存在日期时间格式的问题。 对于这里显示的这个糟糕的示例代码,我真的很抱歉,但我真的是一个初学者,我希望 somebaody 可以帮助解决我的问题。
【问题讨论】:
标签: python matplotlib annotations time-series data-annotations