複数のサブプロットに 1 つの凡例を作成するにはどうすればよいでしょうか? 質問する

複数のサブプロットに 1 つの凡例を作成するにはどうすればよいでしょうか? 質問する

Matplotlib を使用して、複数のサブプロットを使用して、同じ種類の情報を異なる国についてプロットしています。つまり、3x3 グリッドに 9 つのプロットがあり、すべて同じ for ライン (もちろん、ラインごとに異なる値) になっています。

しかし、9 つのサブプロットすべてに同じ線があるため、図に 1 つの凡例を 1 回だけ配置する方法がわかりません。

それ、どうやったら出来るの?

ベストアンサー1

素敵な機能もありますget_legend_handles_labels()最後の軸を呼び出すと(それらを反復処理する場合)、label=引数から必要なものをすべて収集できます。

handles, labels = ax.get_legend_handles_labels()
fig.legend(handles, labels, loc='upper center')

pyplotインターフェースの代わりに インターフェースが使用されている場合はAxes、次を使用します。

handles, labels = plt.gca().get_legend_handles_labels()

サブプロットから凡例を削除するには、matplotlib図の凡例を削除する

凡例を結合するにはtxinxtwinx() を使用した二次軸: 凡例に追加する方法

おすすめ記事