\

MatplotlibはPythonの強力なデータ可視化ライブラリで、時系列データのプロットに特に優れています。しかし、時系列データをプロットする際には、時間軸の設定が重要な要素となります。この記事では、Pythonと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() を実行するだけで、時間軸目盛りが一気に見やすくなっていますね。

FormatterとLocatorの使用

より詳細な時間軸の設定を行うためには、FormatterとLocatorを使用します。これらを使用することで、目盛りの表示形式や表示位置を自由に設定することが可能です。

import matplotlib.dates as mdates

fig, ax = plt.subplots(figsize=(6, 2.5))
ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m'))
ax.xaxis.set_major_locator(mdates.MonthLocator(interval=1))
ax.plot(df.index, df["Val"])

このコードでは、主要な目盛り(年と月)を1ヶ月ごとに設定し、その表示形式を ‘年-月’ の形式に設定しています。

以上、PythonとMatplotlibを使用した時間軸の設定方法について解説しました。この知識を活用して、自分のデータに最適なグラフを作成してみてください。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です