MatplotlibでX軸に日付・時刻を表示する方法【 DateFormatterとDayLocatorの使い方 】
Matplotlibで作成したグラフのX軸に日付や時刻を表示したい場合、matplotlib.datesモジュール(mdates)を利用すると簡単に実装できます。以下の手順に沿って説明します。
X軸に日付を表示する基本の手順
- 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
- 日付のリストとY値のリストを作成します。
plt.gca()で現在の軸(Axes)を取得します。- DateFormatterで日付の表示形式を指定し、DayLocatorなどのロケーターで目盛りの位置を設定します。
plot()メソッドでX値とY値をプロットします。show()メソッドで図を表示します。
サンプルコード
from datetime import datetime as dt
from matplotlib import pyplot as plt, dates as mdates
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
dates = ["01/02/2020", "01/03/2020", "01/04/2020"]
x_values = [dt.strptime(d, "%m/%d/%Y").date() for d in dates]
y_values = [1, 2, 3]
ax = plt.gca()
formatter = mdates.DateFormatter("%Y-%m-%d")
ax.xaxis.set_major_formatter(formatter)
locator = mdates.DayLocator()
ax.xaxis.set_major_locator(locator)
plt.plot(x_values, y_values)
plt.show()
コードのポイント
文字列として保持している日付データは、datetime.strptime()でdateオブジェクトに変換しています。こうすることで、Matplotlibが日付として正しく認識できるようになります。
また、DateFormatter("%Y-%m-%d")を指定しているため、X軸のラベルは「2020-01-02」のような形式で整形されて表示されます。時刻まで表示したい場合は、フォーマット文字列を"%Y-%m-%d %H:%M:%S"に変更してください。さらに、HourLocatorやMinuteLocatorなどを使えば、時間単位・分単位での目盛り配置も可能です。
出力結果

-
MatplotlibでX軸の下に脚注を追加する方法をわかりやすく解説
Matplotlibで作成したグラフのX軸の下に脚注(注釈)を追加したい場合、figtext()メソッドやtext()メソッドを使用することで簡単に実現できます。本記事では、figtext()メソッドを使った具体的な手順をサンプルコードとともに紹介します。脚注を追加する手順figureサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。NumPyを使用してx座標とy座標のデータポイントを作成します。作成したx・yデータポイントをプロットします。脚注を配置するために、figtext()メソッドにx・yの位置情報とboxプロパティ(枠線や背景色などのスタイル)を指定して呼び出
-
Matplotlibで複数のカラーバーを表示する方法【初心者向け解説】
Matplotlibでは、複数のカラーバー(カラースケール)を1つの図の中に同時に表示することができます。これにより、異なるデータセットをそれぞれ独立した色スケールで視覚的に比較できるようになります。 この記事では、imshow()を使って複数の画像データを描画し、それぞれに対応するカラーバーを追加する具体的な手順を紹介します。 複数のカラーバーを表示する手順 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。 図(figure)とサブプロット(axes)のセットを作成します。 サンプルデータの個数を表す変数 N を初期化します。 NumPyを使ってランダムなデ