はじめに
このチュートリアルでは、Matplotlib を使ってグラフを作成してカスタマイズする方法を学びます。Matplotlib は、Python で静的、アニメーション、インタラクティブなビジュアライゼーションを作成するための幅広いツールを提供する Python ライブラリです。
VM のヒント
VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使って練習しましょう。
時々、Jupyter Notebook が読み込み終了するまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。
学習中に問題に遭遇した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
Matplotlib と NumPy ライブラリのインポート
最初のステップは、ライブラリをインポートすることです。私たちは Matplotlib のpyplotモジュールとnumpyライブラリを使用します。
import matplotlib.pyplot as plt
import numpy as np
グラフとサブプロットの作成
次のステップは、グラフとサブプロットを作成することです。subplots関数を使って、横並びに 2 つのサブプロットがあるグラフを作成します。
fig, (ax0, ax1) = plt.subplots(ncols=2, figsize=(7, 4))
アスペクト比の設定とデータのプロット
次に、最初のサブプロットのアスペクト比をset_aspect関数を使って 1 に設定し、plot関数を使っていくつかのデータをプロットします。
ax0.set_aspect(1)
ax0.plot(np.arange(10))
軸ラベルのカスタマイズ
軸ラベルをカスタマイズするには、set_xlabel関数とset_ylabel関数を使用できます。また、「\n」文字を使って改行も追加できます。
ax0.set_xlabel('this is a xlabel\n(with newlines!)')
ax0.set_ylabel('this is vertical\ntest', multialignment='center')
プロットにテキストを追加する
text関数を使用して、プロットにテキストを追加することができます。テキストの位置、回転、水平および垂直方向の配置、および複数行の配置を指定することができます。
ax0.text(2, 7, 'this is\nyet another test',
rotation=45,
horizontalalignment='center',
verticalalignment='top',
multialignment='center')
グリッド線の追加
グラフにグリッド線を追加するには、grid関数を使用できます。
ax0.grid()
2 番目のサブプロットに複数行のテキストを追加する
2 番目のサブプロットでは、text関数を使用して複数行のテキストを追加します。テキストの位置、サイズ、垂直および水平方向の配置、およびバウンディングボックスを指定できます。
ax1.text(0.29, 0.4, "Mat\nTTp\n123", size=18,
va="baseline", ha="right", multialignment="left",
bbox=dict(fc="none"))
ax1.text(0.34, 0.4, "Mag\nTTT\n123", size=18,
va="baseline", ha="left", multialignment="left",
bbox=dict(fc="none"))
ax1.text(0.95, 0.4, "Mag\nTTT$^{A^A}$\n123", size=18,
va="baseline", ha="right", multialignment="left",
bbox=dict(fc="none"))
X 軸ラベルのカスタマイズ
X 軸ラベルをカスタマイズするには、set_xticks関数を使用できます。目盛りの位置とラベルを指定できます。
ax1.set_xticks([0.2, 0.4, 0.6, 0.8, 1.],
labels=["Jan\n2009", "Feb\n2009", "Mar\n2009", "Apr\n2009",
"May\n2009"])
2 番目のサブプロットに水平線とタイトルを追加する
2 番目のサブプロットに水平線を追加するには、axhline関数を使用できます。また、set_title関数を使用してサブプロットにタイトルを追加することもできます。
ax1.axhline(0.4)
ax1.set_title("test line spacing for multiline text")
サブプロットの位置を調整してグラフを表示する
最後に、subplots_adjust関数を使用してサブプロットの位置を調整し、show関数を使用してグラフを表示できます。
fig.subplots_adjust(bottom=0.25, top=0.75)
plt.show()
まとめ
このチュートリアルでは、Matplotlib を使用してグラフを作成してカスタマイズする方法を学びました。グラフとサブプロットを作成する方法、データをプロットする方法、軸ラベルをカスタマイズする方法、グラフにテキストを追加する方法、グリッド線を追加する方法、X 軸ラベルをカスタマイズする方法、グラフに水平線とタイトルを追加する方法、およびサブプロットの位置を調整する方法について説明しました。Matplotlib は、Python で静的、アニメーション、インタラクティブなビジュアライゼーションを作成するための幅広いツールを提供しており、データ可視化に強力なライブラリになっています。