複数の 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 サイトの他の関連記事を参照してください。