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()
実行結果

ポイント解説
autofmt_xdate() は、X軸の日付ラベルが重ならないように自動的に回転・配置を調整してくれる便利なメソッドです。特に日数が多い場合やラベルが長い場合に効果的です。また、Pandasのデータフレームに日付をインデックスとして設定しておくことで、Matplotlib側が自動的に日付として認識し、適切な目盛り間隔を選択してくれます。
-
PythonのMatplotlibで球の表面に点をプロットする方法
Pythonで球の表面に点をプロットしたい場合、Matplotlibのplot_surface()メソッドを利用すると簡単に実現できます。この記事では、3D球面を描画し、その上にデータポイントを表示する手順を具体的なコード例とともに解説します。実装の手順figure()メソッドを使って、新しい図を作成するか、既存の図をアクティブにします。add_subplot()メソッドにprojection=3dを指定して、3D投影のサブプロットを追加します。球の半径を表す変数rを初期化します。NumPyを使用して、球面上のtheta(θ)の値と、x・y・z各軸のデータポイントを算出します。plot_sur
-
【Python】MatplotlibでX軸の値(目盛りラベル)を設定する方法
Python の Matplotlib でグラフの X 軸の値(目盛りラベル)を自由に設定したい場合は、plt.xticks() メソッドを使うのが最も簡単です。以下の手順で実装できます。 X軸の値を設定する手順 x と y のデータポイントを格納する2つのリストを作成します。 range(len(x)) を使って、目盛りの基準となるインデックス(xticks の範囲)を取得します。 plot() メソッドで、インデックスのリストと y データを使って折れ線グラフを描画します。 xticks() メソッドを使い、デフォルトの目盛りを実際の X 軸の値に置き換えます。 show() メソッドで