Matplotlib によるサブプロット生成チュートリアル

Beginner

This tutorial is from open-source community. Access the source code

はじめに

このチュートリアルでは、Python の Matplotlib ライブラリのsubplot2grid関数を使ってサブプロットを生成する方法を学びます。

VM のヒント

VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替えて、Jupyter Notebook を使って練習しましょう。

時々、Jupyter Notebook が読み込み終わるまで数秒待つ必要があります。Jupyter Notebook の制限により、操作の検証は自動化できません。

学習中に問題に遭遇した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。

必要なライブラリをインポートする

始める前に、次のコードを使って Matplotlib ライブラリをインポートする必要があります。

import matplotlib.pyplot as plt

グラフオブジェクトを作成する

グラフオブジェクトを作成するには、次のコードを使用します。

fig = plt.figure()

subplot2grid を使ってサブプロットを定義する

subplot2gridを使ってサブプロットを定義するには、まず、行と列の希望の数を持つタプルを使ってグリッドのサイズを指定する必要があります。また、グリッド内のサブプロットの位置を別のタプルを使って指定する必要があります。

たとえば、最初の行全体と 3 列すべてを占めるサブプロットを持つ 3x3 のグリッドを作成するには、次のコードを使用します。

ax1 = plt.subplot2grid((3, 3), (0, 0), colspan=3)

2 行目と最初の 2 列を占めるサブプロットを作成するには、次のようにします。

ax2 = plt.subplot2grid((3, 3), (1, 0), colspan=2)

最後の 2 行と最後の列を占めるサブプロットを作成するには、次のようにします。

ax3 = plt.subplot2grid((3, 3), (1, 2), rowspan=2)

最後の行と最初の列にサブプロットを作成するには、次のようにします。

ax4 = plt.subplot2grid((3, 3), (2, 0))

最後の行と 2 列目にサブプロットを作成するには、次のようにします。

ax5 = plt.subplot2grid((3, 3), (2, 1))

軸に注釈を付ける

軸に注釈を付けるには、グラフの軸をループして、text関数を使ってテキストを追加し、目盛りのラベルを削除するためにtick_params関数を使います。

def annotate_axes(fig):
    for i, ax in enumerate(fig.axes):
        ax.text(0.5, 0.5, "ax%d" % (i+1), va="center", ha="center")
        ax.tick_params(labelbottom=False, labelleft=False)

グラフを表示する

グラフを表示するには、次のコードを使用します。

plt.show()

まとめ

このチュートリアルでは、Matplotlib のsubplot2grid関数を使ってサブプロットを生成する方法を学びました。また、グラフオブジェクトを作成する方法、グリッド内のサブプロットを定義する方法、軸に注釈を付ける方法、およびグラフを表示する方法についても学びました。