[matplotlib] 101. subfiguresを使った効果的なグラフ配置の方法

matplotlib

はじめに

matplotlibのsubfigures機能は、複数のグラフを柔軟なレイアウトで配置できる強力なツールです。通常のsubplotと異なり、異なるサイズや比率のグラフを同じ図内に美しく配置することができます。

コード

コードをダウンロード(.pyファイル)

コードをダウンロード(.ipynbファイル)

解説

モジュールのインポート

バージョン

画像の読み込み

下記サイトから画像をダウンロードし、読み込みます。PNG画像のため、値が0の部分はnp.nanとして処理します。

たい焼きのイラスト
いらすとやは季節のイベント・動物・子供などのかわいいイラストが沢山見つかるフリー素材サイトです。
白いたい焼きのイラスト
いらすとやは季節のイベント・動物・子供などのかわいいイラストが沢山見つかるフリー素材サイトです。

subfiguresの作成

subplotsと同じ感じでsubfiguresを作成します。

上の図の作成

subfigs[0].subplots(1, 2)を使用して、subfig[0]内に複数のサブプロットを作成できます。読み込んだ画像を表示し、各プロットにタイトルを設定します。subfigs[0]全体のタイトルはsuptitle()メソッドで追加できます。

下の図の作成

subfigs[1]にsubplotsを作成します。ここでは、RGB画像の各色についてヒストグラムを作成して表示しました。

subfiguresとsubplotsの違い

subfiguresとsubplotsの主な違いは以下の通りです:

機能subfiguressubplots
レイアウトの柔軟性非常に高いやや制限あり
軸の共有subfigure内でのみ容易全体で容易
複雑なレイアウト階層的に構成可能グリッドベース
タイトルの設定階層的(fig, subfig, ax)2階層(fig, ax)

まとめ

matplotlibのsubfigures機能は、複数のグラフを柔軟かつ効率的に配置するための強力なツールです。この機能を使いこなすことで、データの関係性をより明確に表現し、読み手に伝わりやすい可視化を実現できます。特に複雑なデータセットを扱う際に、subfiguresの階層構造を活用することで、情報を整理して表示することが可能になります。

参考

Figure subfigures — Matplotlib 3.10.5 documentation

コメント