0

当我使用 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 日),但恰好在午夜,而不是在数据指定的时间(并由printing回显s)。

4

1 回答 1

0

您使用的是哪个版本的 matplotlib 和 pandas?

使用 pandasv0.10.1.dev-f73128e和 matplotlib v1.2.1 ,无论我在 Ipython 中以交互模式还是从 python 脚本中绘图,我都能得到正确的数字。(顺便说一句,我使用 python 2.7)

数字

于 2013-04-16T07:59:39.840 回答