GridSpec を使ったサブプロットのカスタマイズ

PythonPythonBeginner
今すぐ練習

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

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

このチュートリアルでは、GridSpec を使用してサブプロットを生成し、width_ratiosheight_ratios を使ってサブプロットの相対サイズを制御し、サブプロットパラメータ(leftrightbottomtopwspace、および hspace)を使ってサブプロットの周りと間の間隔を制御する方法を学びます。

VMのヒント

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

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

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

ライブラリのインポート

必要なライブラリである matplotlib.pyplotGridSpec をインポートして始めます。

import matplotlib.pyplot as plt
from matplotlib.gridspec import GridSpec

GridSpec を使ってサブプロットを生成する

このステップでは、GridSpec を使ってサブプロットを生成します。2行2列の図を作成します。また、サブプロットの相対サイズを制御するために width_ratiosheight_ratios を指定します。

fig = plt.figure()
gs = GridSpec(2, 2, width_ratios=[1, 2], height_ratios=[4, 1])
ax1 = fig.add_subplot(gs[0])
ax2 = fig.add_subplot(gs[1])
ax3 = fig.add_subplot(gs[2])
ax4 = fig.add_subplot(gs[3])

サブプロットの周りと間の間隔を制御する

このステップでは、GridSpec を使ってサブプロットの周りと間の間隔を制御します。3行3列のグリッドスペックを2つ持つ図を作成します。間隔を制御するために leftrightbottomtopwspace、および hspace パラメータを指定します。

fig = plt.figure()
gs1 = GridSpec(3, 3, left=0.05, right=0.48, wspace=0.05)
ax1 = fig.add_subplot(gs1[:-1, :])
ax2 = fig.add_subplot(gs1[-1, :-1])
ax3 = fig.add_subplot(gs1[-1, -1])

gs2 = GridSpec(3, 3, left=0.55, right=0.98, hspace=0.05)
ax4 = fig.add_subplot(gs2[:, :-1])
ax5 = fig.add_subplot(gs2[:-1, -1])
ax6 = fig.add_subplot(gs2[-1, -1])

軸に注釈を付ける

このステップでは、それぞれのサブプロット番号で軸に注釈を付けます。

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)

annotate_axes(fig)

グラフを表示する

このステップでは、グラフを表示します。

plt.show()

まとめ

このチュートリアルでは、GridSpec を使ってサブプロットを生成し、サブプロットの周りと間の間隔を制御する方法を学びました。また、それぞれのサブプロット番号で軸に注釈を付ける方法も学びました。これらのスキルは、複雑なグラフやビジュアライゼーションを作成する際に役立ちます。