他サイトで
daysFmt = mdates.DateFormatter('%d %H:%M')
ax.xaxis.set_major_formatter(daysFmt)
を使用するとありましたが、
それで問題ないと思います。
matplotlib にて時系列データを扱う際は、時系列用のLocatorとFormatterを設定し、Formatterにて好みの表示方法を設定すると良いかと思います。
が、何故か DataFrame.plot()
では上手く動作しないようでしたので、matplotlib.pyplot.plot()
を使った方が良いかもしれません。
以下に簡単なサンプルを記述しましたので、参考にしてください。
Python
1import pandas as pd
2import numpy as np
3import matplotlib.pyplot as plt
4import matplotlib.dates as mdates
5
6# データを適当に生成
7N = 100
8df = pd.DataFrame({'time':pd.date_range('2017/12/5 14:26',freq='1min', periods=N), 'data': np.random.randint(0,100,N)})
9
10ax = plt.subplot()
11# 15分間隔で目盛り
12ax.xaxis.set_major_locator(mdates.MinuteLocator([0,15,30,45]))
13# 時間のフォーマット
14ax.xaxis.set_major_formatter(mdates.DateFormatter("%d %H:%M"))
15df.plot(x='time', y='data', ax=ax)
16plt.show()
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/08 14:21