Matplotlib では、複数のサブプロットにわたってデータをプロットするときに、すべてのプロットに対して 1 つの凡例を表示することが望ましい場合があります。 。これは、サブプロットが同様の線スタイル、色、またはラベルを共有している場合に特に便利です。凡例を統合することで、視覚化が簡素化され、乱雑さが軽減されます。
これを実現するために、Matplotlib は get_legend_handles_labels() と呼ばれる便利な関数を提供します。この関数はグリッド内の最後の軸で呼び出すことができ、プロット中に使用される label= 引数から必要な凡例情報をすべて収集します。収集したハンドルとラベルを使用して、Figure 全体の単一の凡例を作成できます。
たとえば、3x3 グリッドに配置された 9 つのサブプロットがある場合、次を使用して最後のサブプロットから凡例要素を取得できます。次のコード:
handles, labels = ax.get_legend_handles_labels()
ここで、ax はグリッド内の最後のサブプロット軸を表します。ハンドルとラベルを収集したら、fig.legend():
fig.legend(handles, labels, loc='upper center')
を使用して凡例を作成できます。この場合、凡例は Figure 内の「上部中央」の位置に配置されます。 loc= 引数をカスタマイズして、Figure 内の任意の場所に凡例を配置できます。
また、Axes インターフェイスの代わりに pyplot インターフェイスを使用している場合は、次のコードを使用して凡例のハンドルとラベルを取得できます。
handles, labels = plt.gca().get_legend_handles_labels()
ここで、plt.gca() は現在の軸オブジェクトを返します。
以上がMatplotlib で複数のサブプロットの統合凡例を作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。