当我使用 matplotlib 绘制一个包含三个浮点值且索引为日期时间的熊猫系列时,我得到一个不正确的绘图,中间有一条垂直线。它看起来像这样:
我已经为此苦苦挣扎了好几个小时。我终于能够在以下 Python 代码中使用这三个数据点重现它:
import pandas as pd
import matplotlib.pyplot as plt
data = """\
2013-04-16 08:50:00.080120 / 56.70999
2013-04-16 08:53:34.165183 / 56.59997
2013-04-16 08:59:09.676249 / 55.70001\
"""
fmt = "%Y-%m-%d %H:%M:%S.%f"
val = [float(a.split(' / ')[1]) for a in data.split('\n')]
indx = [pd.datetime.strptime(a.split(' / ')[0], fmt) for a in data.split('\n')]
s = pd.Series(val, index=indx)
s.plot()
plt.show()
如果我放大这条线,我可以看到它被放置在正确的日期(4 月 16 日),但恰好在午夜,而不是在数据指定的时间(并由print
ing回显s
)。