はじめに
Matplotlib は、Python で広く使用されるデータ可視化ライブラリです。折れ線グラフ、棒グラフ、散布図など、さまざまな種類のグラフやチャートを作成することができます。このチュートリアルでは、Matplotlib を使用して日付デモ変換グラフを作成するプロセスを案内します。
VM のヒント
VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使って練習しましょう。
時々、Jupyter Notebook が読み込み終了するまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。
学習中に問題に遭遇した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
必要なライブラリをインポートする
グラフを作成する前に、必要なライブラリである Matplotlib、NumPy、および datetime をインポートする必要があります。次のコードをコピーして貼り付けます。
import datetime
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.dates import DateFormatter, DayLocator, HourLocator, drange
日付と差分を定義する
次に、datetime ライブラリを使用して日付と差分値を定義します。日付範囲は 2000 年 3 月 2 日から 2000 年 3 月 6 日までで、6 時間間隔です。次のコードをコピーして貼り付けます。
date1 = datetime.datetime(2000, 3, 2)
date2 = datetime.datetime(2000, 3, 6)
delta = datetime.timedelta(hours=6)
dates = drange(date1, date2, delta)
y 値を定義する
日付範囲を定義した後、NumPy の arange 関数を使用して y 値を作成します。y 値は日付の数と同じ長さになります。次のコードをコピーして貼り付けます。
y = np.arange(len(dates))
グラフを作成する
これで、日付と y 値を使ってグラフを作成できます。まず、subplots 関数を使って figure と axis オブジェクトを作成します。そして、plot 関数を使ってグラフを描画します。次のコードをコピーして貼り付けます。
fig, ax = plt.subplots()
ax.plot(dates, y**2, 'o')
x 軸を設定して日付をフォーマットする
グラフをより読みやすくするために、x 軸の範囲を範囲内の最初と最後の日付に設定します。また、メジャーとマイナーのロケータをそれぞれ DayLocator と HourLocator に設定します。最後に、DateFormatter 関数を使って日付をフォーマットします。次のコードをコピーして貼り付けます。
ax.set_xlim(dates[0], dates[-1])
ax.xaxis.set_major_locator(DayLocator())
ax.xaxis.set_minor_locator(HourLocator(range(0, 25, 6)))
ax.xaxis.set_major_formatter(DateFormatter('%Y-%m-%d'))
ax.fmt_xdata = DateFormatter('%Y-%m-%d %H:%M:%S')
x 軸のラベルを回転させる
デフォルトでは、x 軸のラベルは水平方向になっています。ラベルを斜め方向に回転させて、より読みやすくすることができます。次のコードをコピーして貼り付けます。
fig.autofmt_xdate()
グラフを表示する
最後に、show 関数を使ってグラフを表示できます。次のコードをコピーして貼り付けます。
plt.show()
まとめ
このチュートリアルでは、Matplotlib を使って日付デモ変換グラフを作成する方法を学びました。必要なライブラリのインポート、日付と y 値の定義、グラフの作成、x 軸のフォーマット設定、およびグラフの表示について説明しました。この知識を使えば、Matplotlib を使って独自のカスタムグラフやチャートを作成し始めることができます。