Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonのMatplotlibでX軸に日付をプロットする方法

Pythonで時系列データを可視化する際、X軸に日付を表示したいケースはよくあります。PandasとMatplotlibを組み合わせれば、日付をインデックスとしたデータフレームを作成し、gcf().autofmt_xdate()を使うことでX軸の日付表示を自動的に整形できます。

実装の手順

  • 日付文字列のリストを作成し、pd.to_datetime()を使ってdatetime型に変換します。

  • プロットするデータとして data = [1, 2, 3] を用意します。

  • DataFrame() オブジェクト(ここではDF)を生成します。

  • DFの 'value' 列に手順2のデータを設定します。

  • 手順1で作成したdate_timeを使って、DFのインデックスを日付に設定します。

  • plt.plot(DF) でデータフレームをプロットします。

  • plt.gcf().autofmt_xdate() で現在の図(figure)を取得し、X軸の日付ラベルを自動調整します。

  • plt.show() メソッドで図を表示します。

コード例

import pandas as pd
import matplotlib.pyplot as plt

date_time = ["2021-01-01", "2021-01-02", "2021-01-03"]
date_time = pd.to_datetime(date_time)
data = [1, 2, 3]

DF = pd.DataFrame()
DF['value'] = data
DF = DF.set_index(date_time)
plt.plot(DF)
plt.gcf().autofmt_xdate()
plt.show()

実行結果

PythonのMatplotlibでX軸に日付をプロットする方法

ポイント解説

autofmt_xdate() は、X軸の日付ラベルが重ならないように自動的に回転・配置を調整してくれる便利なメソッドです。特に日数が多い場合やラベルが長い場合に効果的です。また、Pandasのデータフレームに日付をインデックスとして設定しておくことで、Matplotlib側が自動的に日付として認識し、適切な目盛り間隔を選択してくれます。

  1. PythonのMatplotlibで球の表面に点をプロットする方法

    Pythonで球の表面に点をプロットしたい場合、Matplotlibのplot_surface()メソッドを利用すると簡単に実現できます。この記事では、3D球面を描画し、その上にデータポイントを表示する手順を具体的なコード例とともに解説します。実装の手順figure()メソッドを使って、新しい図を作成するか、既存の図をアクティブにします。add_subplot()メソッドにprojection=3dを指定して、3D投影のサブプロットを追加します。球の半径を表す変数rを初期化します。NumPyを使用して、球面上のtheta(θ)の値と、x・y・z各軸のデータポイントを算出します。plot_sur

  2. 【Python】MatplotlibでX軸の値(目盛りラベル)を設定する方法

    Python の Matplotlib でグラフの X 軸の値(目盛りラベル)を自由に設定したい場合は、plt.xticks() メソッドを使うのが最も簡単です。以下の手順で実装できます。 X軸の値を設定する手順 x と y のデータポイントを格納する2つのリストを作成します。 range(len(x)) を使って、目盛りの基準となるインデックス(xticks の範囲)を取得します。 plot() メソッドで、インデックスのリストと y データを使って折れ線グラフを描画します。 xticks() メソッドを使い、デフォルトの目盛りを実際の X 軸の値に置き換えます。 show() メソッドで