Heim > Artikel > Backend-Entwicklung > Wie füge ich in Matplotlib manuell Legenden mit unterschiedlichen Farben und Beschriftungen hinzu?
Manuelles Erstellen einer Legende in Matplotlib
Beim Arbeiten mit großen Datensätzen in Matplotlib kann das manuelle Hinzufügen von Elementen mit unterschiedlichen Farben und Beschriftungen zur Legende hilfreich sein eine nützliche Technik sein. Dies verhindert Duplikate, die durch die automatische Einbindung von Daten in das Diagramm entstehen können.
Ursprünglicher Ansatz
Der ursprüngliche Ansatz versuchte, den folgenden Code zu verwenden:
ax2.legend(self.labels, colorList[:len(self.labels)]) plt.legend()
wobei self.labels die Anzahl der gewünschten Legendenbeschriftungen ist und colorList eine Teilmenge der im Plot verwendeten Farben ist. Diese Methode ergab jedoch keine Einträge in der Legende.
Lösung
Um eine Legende manuell zu erstellen, bietet der Legend Guide in der Matplotlib-Dokumentation eine Lösung. Dabei wird ein spezieller Künstler namens Patch erstellt, der als Handle in der Legende verwendet werden kann.
import matplotlib.patches as mpatches import matplotlib.pyplot as plt # Create a red patch red_patch = mpatches.Patch(color='red', label='The red data')
Dieser Patch stellt nun die roten Daten dar und kann direkt zur Legende hinzugefügt werden.
plt.legend(handles=[red_patch])
Hinzufügen mehrerer Patches
Um mehrere Farben und Beschriftungen hinzuzufügen, kann dieselbe Technik angewendet werden, indem zusätzliche Patches erstellt werden.
blue_patch = mpatches.Patch(color='blue', label='The blue data') plt.legend(handles=[red_patch, blue_patch])
Dies wird Das Ergebnis ist eine Legende mit zwei Einträgen, einer für jeden Patch.
Das obige ist der detaillierte Inhalt vonWie füge ich in Matplotlib manuell Legenden mit unterschiedlichen Farben und Beschriftungen hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!