Matplotlib で複数のサブプロットに単一の凡例を作成するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-03 20:17:29
オリジナル
164 人が閲覧しました

How to Create a Single Legend for Multiple Subplots in Matplotlib?

Matplotlib で複数のサブプロットの単一凡例を作成する

Matplotlib で複数のサブプロットを並べて作成すると、さまざまなデータセットまたは側面を視覚化できます。単一のデータセットを単一の図にまとめたものです。ただし、これらのサブプロットに同様の凡例がある場合、複数の凡例を表示するのは不必要であり、見た目が乱雑になる可能性があります。幸いなことに、Matplotlib は、凡例を単一のまとまった表現に統合するソリューションを提供します。

解決策: get_legend_handles_labels() を使用する

複数のサブプロットに対して単一の凡例を作成するには、最後の軸の get_legend_handles_labels() 関数。この関数は、label= 引数から必要な情報を収集し、統合された凡例を手動で作成できるようにします。

<code class="python">handles, labels = ax.get_legend_handles_labels()
fig.legend(handles, labels, loc='upper center')</code>
ログイン後にコピー

ここ:

  • ax は、サブプロット グリッドの最後の軸を表します。
  • handles は、凡例を表すハンドル (線、マーカーなど) のリストです。エントリ。
  • labels は、凡例エントリに対応するラベルのリストです。
  • loc は、図内の凡例の位置を指定します (たとえば、プロットの上の場合は「上部中央」)。

Axes インターフェースの代わりに pyplot インターフェースを使用している場合は、これを使用してくださいcode:

<code class="python">handles, labels = plt.gca().get_legend_handles_labels()</code>
ログイン後にコピー

追加の考慮事項

  • 個々のサブプロットから凡例を削除するには、「matplotlib Figure の凡例を削除する」のガイダンスを参照してください。
  • twiny 凡例のマージについては、「twinx() を使用した二次軸:」を参照してください。詳細については、「凡例に追加する方法」を参照してください。

以上がMatplotlib で複数のサブプロットに単一の凡例を作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!