Erstellen Sie ein matplotlib mpatches mit einem Rechteck zweifarbig für Figur Legende

Ich muss einen Patch für eine Legende in einer Matplotlib-Figur erstellen, deren Griffbox ein Rechteck mit zwei Farben ist. So etwas wie das, das ich mit Lackbearbeitung, Schneiden und Färben gemacht habe: Bildbeschreibung hier eingeben

Kannst du mir sagen, wie und wo ich anfangen soll? Vielen Dank.

One Solution collect form web for “Erstellen Sie ein matplotlib mpatches mit einem Rechteck zweifarbig für Figur Legende”

Sie würden natürlich an der Matplotlib Legende Führer beginnen ; Genauer im Abschnitt über die Implementierung eines kundenspezifischen Handlers .

Lesen Sie einige andere Fragen zum Anpassen der Legende, wie

  • Vollständig benutzerdefinierte Legende in Matplotlib, Python
  • Mit mpatches.Patch für eine benutzerdefinierte Legende
  • Bild in Matplotlib Legende einfügen
  • Ersetzen Sie die Etiketten der Matplotlib-Legende mit Bild
  • Wie zeigt man Formfile-Label in Python-Grundkarten-Legende?

Kann auch helfen

Hier willst du zwei Rechtecke in die Legende setzen. Also innerhalb einer benutzerdefinierten Handler Klasse können Sie diese erstellen und sie zum handlebox hinzufügen.

 import matplotlib.pyplot as plt class Handler(object): def __init__(self, color): self.color=color def legend_artist(self, legend, orig_handle, fontsize, handlebox): x0, y0 = handlebox.xdescent, handlebox.ydescent width, height = handlebox.width, handlebox.height patch = plt.Rectangle([x0, y0], width, height, facecolor='blue', edgecolor='k', transform=handlebox.get_transform()) patch2 = plt.Rectangle([x0+width/2., y0], width/2., height, facecolor=self.color, edgecolor='k', transform=handlebox.get_transform()) handlebox.add_artist(patch) handlebox.add_artist(patch2) return patch plt.gca() handles = [plt.Rectangle((0,0),1,1) for i in range(4)] colors = ["limegreen", "red", "gold", "blue"] hmap = dict(zip(handles, [Handler(color) for color in colors] )) plt.legend(handles=handles, labels=colors, handler_map=hmap) plt.show() 

Zwei rechtecke in der kundenspezifischen legende

  • Finden Sie doppelte Elemente in einer Liste
  • "Richtiger Weg", um mehrere Versionen von Python auf archlinux zu verwalten
  • Nimmt 1 Positions-Argument, aber 2 wurden gegeben
  • Python3 - Lernen über die Suche, dieses sehr einfache Beispiel funktioniert nicht richtig
  • Weird Lambda Verhalten im Listenverständnis
  • Unterprozeß vervollständigt, aber immer noch nicht beendet, verursacht Deadlock
  • Ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] Zertifikatsüberprüfung fehlgeschlagen (_ssl.c: 749)
  • Rundungsfehler in Python mit ungerader Zahl?
  • Wie entferne ich die Kommas, Zitate und Klammern aus einer exportierten Python-Liste?
  • Wie mache ich ein unveränderliches Objekt in Python?
  • Finden Sie ein einzigartiges (Schlüssel: Wert) Paar gegeben N dictionnaries in Python
  • Python ist die beste Programmiersprache der Welt.