Matplotlib で凡例を手動で作成する
matplotlib で大規模なデータセットを操作する場合、個別の色とラベルを使用して項目を凡例に手動で追加すると、役立つテクニックになります。これにより、プロットにデータを自動的に含めることによって発生する重複が防止されます。
元のアプローチ
元のアプローチでは、次のコードを使用しようとしました:
ax2.legend(self.labels, colorList[:len(self.labels)]) plt.legend()
ここで、self.labels は必要な凡例ラベルの数であり、colorList はプロットで使用される色のサブセットです。ただし、この方法では凡例にエントリが生成されませんでした。
解決策
手動で凡例を作成するには、matplotlib ドキュメントの凡例ガイドに解決策が記載されています。これには、凡例のハンドルとして使用できるパッチと呼ばれる特別なアーティストの作成が含まれます。
import matplotlib.patches as mpatches import matplotlib.pyplot as plt # Create a red patch red_patch = mpatches.Patch(color='red', label='The red data')
このパッチは赤色のデータを表し、凡例に直接追加できます。
plt.legend(handles=[red_patch])
複数のパッチの追加
複数の色とラベルを追加するには、追加のパッチを作成することで同じテクニックを適用できます。
blue_patch = mpatches.Patch(color='blue', label='The blue data') plt.legend(handles=[red_patch, blue_patch])
これにより、その結果、各パッチに 1 つずつ、合計 2 つのエントリを含む凡例が作成されます。
以上が異なる色とラベルを使用して Matplotlib に凡例を手動で追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。