PythonのMatplotlibライブラリを使用して、時系列データを棒グラフにプロットする方法を紹介します。特に、横軸に時間を設定する方法に焦点を当てます。
時間軸の設定
Matplotlibで時系列データをプロットすると、自動で軸が時間軸になります。しかし、デフォルト設定では、目盛り値が適切に表示できない場合があります。
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
data = np.random.rand(36)
df = pd.DataFrame({"Val":data}, index=pd.Index(pd.date_range("2020/1/1", periods=36, freq='MS'), name="Date"))
fig, ax = plt.subplots(figsize=(6, 2))
ax.plot(df.index, df["Val"])
上記のコードでは、x軸の時間軸目盛りが重なってしまい、よく見えません。設定を変更して、時間軸を見やすく、自分の思った通りに設定したいですよね。
時間軸の自動調整
目盛りを見えるようにするだけの場合は、時系列目盛りの自動調整機能で十分な場合もあります。目盛りを自動で調整する場合は、Figureオブジェクトの .autofmt_xdate()
を使用します。
fig, ax = plt.subplots(figsize=(6, 2.5))
fig.autofmt_xdate()
ax.plot(df.index, df["Val"])
fig.autofmt_xdate()
を実行するだけで、時間軸目盛りが一気に見やすくなっていますね。
以上がPythonとMatplotlibを使用して、時系列データを棒グラフにプロットし、横軸を時間に設定する基本的な方法です。この方法をマスターすれば、さまざまな時系列データを視覚化することができます。.