ホームページ  >  記事  >  バックエンド開発  >  複数の Matplotlib サブプロットに対して単一の凡例を作成するにはどうすればよいですか?

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

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-03 07:56:291020ブラウズ

How to Create a Single Legend for Multiple Matplotlib Subplots?

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

Matplotlib を使用して複数のサブプロットにわたって同様の情報をプロットする場合、単一の凡例を作成すると有益な場合があります。すべてのサブプロットに適用される凡例。これにより、各サブプロット内の線に一貫した参照が提供されるため、データの解釈が簡素化されます。

これを実現するには、最後の軸で get_legend_handles_labels() 関数を使用するか、plt.gca().get_legend_handles_labels() を呼び出します。 ) pyplot インターフェイスを使用する場合。これらの関数は、label= 引数から必要な凡例のハンドルとラベルを収集します。

単一の凡例を作成するには、fig.legend(handles,labels, loc='upper center') を呼び出します。ここで、fig は次の値を含む図です。サブプロットと loc は凡例の位置を指定します。

たとえば、同一の線を持つサブプロットの 3x3 グリッドがある場合、次のコードはすべてのサブプロットの上に単一の凡例:

import matplotlib.pyplot as plt
import numpy as np

# Generate data for the subplots
data = np.random.rand(9)

# Create the subplots
fig, axes = plt.subplots(3, 3)

# Plot the data on each subplot
for ax, datum in zip(axes.flatten(), data):
    ax.plot(datum)

# Get the legend handles and labels
handles, labels = plt.gca().get_legend_handles_labels()

# Create the single legend
plt.legend(handles, labels, loc='upper center')

plt.show()

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。