0

matplotlib を使用して、datetime であるインデックスを持つ 3 つの float 値を含む pandas Series をプロットすると、中央に垂直線のある誤ったプロットが表示されます。次のようになります。

奇妙な縦線

私は何時間もこれに苦労してきました。最終的に、次の Python コードでこれら 3 つのデータ ポイントを使用して再現できます。

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()

print行を拡大すると、一見正しい日付 (4 月 16 日) に配置されていることがわかりますが、データで指定された時間 (およびingによってエコー) ではなく、正確に真夜中に配置されていることがわかりますs

4

1 に答える 1