Matplotlibでnumpyのdatetime64型の時系列データをプロットする方法
PythonのMatplotlibを使って時系列データをグラフ化する方法を解説します。日付や時刻のデータ(datetime64型など)は、そのままplot()メソッドに渡すだけで自動的に軸に反映されるため、非常に簡単です。
基本的な手順
- numpyを使ってx(日時)とy(数値)のデータを作成する。
- plot()メソッドで作成したxとyをプロットする。
- show()メソッドで図を表示する。
サンプルコード
import matplotlib.pyplot as plt import datetime import numpy as np plt.rcParams["figure.figsize"] = [7.00, 3.50] plt.rcParams["figure.autolayout"] = True # 2021年1月1日の0時から23時までの24個の日時データを作成 x = np.array([datetime.datetime(2021, 1, 1, i, 0) for i in range(24)]) # ランダムな整数値をyとして生成 y = np.random.randint(100, size=x.shape) plt.plot(x, y) plt.show()
実行結果

numpyのdatetime64型を直接使う場合
上記の例ではPython標準のdatetime.datetimeオブジェクトを使用していますが、numpyのdatetime64型も同様に扱えます。以下のように変換してからプロットすることも可能です。
# datetime64型に変換して使用する例
x = np.arange('2021-01-01', '2021-01-02', dtype='datetime64[h]')
y = np.random.randint(100, size=x.shape)
plt.plot(x, y)
plt.show()ポイント
- Matplotlibは日時データを自動的に認識し、x軸に適切な目盛りを表示します。
- 日付フォーマットを調整したい場合は、
matplotlib.datesモジュールのDateFormatterやmdates.AutoDateLocatorを併用すると便利です。 - 図のサイズは
figure.figsize、レイアウトの自動調整はfigure.autolayoutで設定できます。
このように、numpyとMatplotlibを組み合わせれば、わずか数行のコードで時系列データを見やすい折れ線グラフとして可視化できます。
-
Matplotlibでカラーバー付き2D行列をPythonでプロットする方法
Pythonでカラーバー付きの2D行列をプロットするには、numpyを使って2次元配列(行列)を作成し、そのデータをimshow()メソッドに渡すのが最も簡単な方法です。手順numpyを使用して data2D という2次元配列を作成します。imshow() メソッドを使い、データを画像として(2次元の正規ラスタ上に)表示します。colorbar() メソッドに imshow() が返す ScalarMappable インスタンスを渡し、カラーバーを作成します。これにより、色と数値の対応関係がひと目でわかるようになります。図を表示するには、show() メソッドを使用します。コード例import
-
Matplotlibのラベルに改行を入れる方法|Pythonサンプルコード付きで解説
本記事では、PythonのMatplotlibを使って、グラフの軸ラベルに改行を挿入する方法を解説します。「\n」を活用することで、X軸やY軸のラベルを複数行に分けて見やすく表示できます。 実装手順 「\n」を使用して、X軸・Y軸それぞれのラベルに改行を含めたテキストを設定します。 plt.rc()メソッドで現在のrcParamsを設定し、axesグループに対してプロパティサイクルを適用します。 cyclerを使って、線の色のグループを設定します。色のリストは「r」(赤)、「g」(緑)、「b」(青)、「y」(黄)で構成されます。 Cyclerクラスは、単一の位置引数、2つの位置引数のペア、ま