Matplotlib によるネストされたグリッドスペックの可視化

PythonPythonBeginner
オンラインで実践に進む

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

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

はじめに

Matplotlib は、Python におけるデータ可視化ライブラリです。これは、さまざまな形式でデータを表現するために使用できる幅広い種類のチャートやグラフを提供します。この実験では、Matplotlib を使用してネストされたグリッドスペックを作成するプロセスを学びます。

VM のヒント

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

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

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

Matplotlib ライブラリのインポート

最初のステップは、Matplotlib ライブラリをインポートすることです。また、Matplotlib のgridspecモジュールも使用します。

import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec

グラフと外側のグリッドスペックの作成

次のステップは、グラフと外側のグリッドスペックを作成することです。この例では、1 行 2 列のグリッドスペックを作成します。

fig = plt.figure()
gs0 = gridspec.GridSpec(1, 2, figure=fig)

内側のグリッドスペックの作成

次に、内側のグリッドスペックを作成します。外側のグリッドスペックのサブプロットとなる 3 行 3 列のグリッドスペックを作成するために、GridSpecFromSubplotSpecメソッドを使用します。

gs00 = gridspec.GridSpecFromSubplotSpec(3, 3, subplot_spec=gs0[0])

内側のグリッドスペックにサブプロットを追加する

次に、内側のグリッドスペックにサブプロットを追加します。ax1ax2ax3の 3 つのサブプロットを作成します。

ax1 = fig.add_subplot(gs00[:-1, :])
ax2 = fig.add_subplot(gs00[-1, :-1])
ax3 = fig.add_subplot(gs00[-1, -1])

もう一つの内側のグリッドスペックを作成する

次に、もう一つの内側のグリッドスペックを作成します。今回は、subgridspecメソッドを使って、外側のグリッドスペックの 2 列目のサブプロットとなる 3 行 3 列のグリッドスペックを作成します。

gs01 = gs0[1].subgridspec(3, 3)

2 番目の内側のグリッドスペックにサブプロットを追加する

次に、2 番目の内側のグリッドスペックにサブプロットを追加します。ax4ax5ax6の 3 つのサブプロットを作成します。

ax4 = fig.add_subplot(gs01[:, :-1])
ax5 = fig.add_subplot(gs01[:-1, -1])
ax6 = fig.add_subplot(gs01[-1, -1])

軸をフォーマットする

format_axes関数を使って、すべてのサブプロットの軸をフォーマットします。この関数は、各サブプロットにテキストラベルを追加し、目盛りラベルを削除します。

def format_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)

format_axes(fig)

グラフを表示する

最後に、showメソッドを使ってグラフを表示します。

plt.show()

まとめ

この実験では、Matplotlib を使ってネストされたグリッドスペックを作成する方法を学びました。外側のグリッドスペックと 2 つの内側のグリッドスペックを作成して、サブプロットの複雑なレイアウトを作成しました。また、カスタム関数を使ってサブプロットの軸をフォーマットする方法も学びました。