Matplotlib Legende Hintergrundfarbe

Gibt es da rcParams['legend.frameon'] = 'False' eine einfache Möglichkeit, den Legendenbereich Hintergrund mit einer gegebenen Farbe zu füllen. Genauer gesagt möchte ich, dass das Raster nicht auf dem Legendenbereich zu sehen ist, weil es den Text liest.

Das Keyword framealpha klingt wie das, was ich brauche, aber es ändert nichts.

 import matplotlib as mpl import matplotlib.pyplot as plt mpl.rcParams['legend.frameon'] = 'False' plt.plot(range(5), label = u"line") plt.grid(True) plt.legend(loc = best) plt.show() 

Ich habe auch versucht:

 legend = plt.legend(frameon = 1) frame = legend.get_frame() frame.set_color('white') 

Aber dann muss ich fragen, wie kann ich die Hintergrundfarbe ändern, während ich den Rahmen aufhält? Manchmal will ich es mit einer anderen Hintergrundfarbe als weiß. Und auch, gibt es eine Möglichkeit, die Farbe des Rahmens zu ändern? Mit dem obigen Code habe ich erwartet, die Farbe des Rahmens nur zu ändern, nicht den Hintergrund.

  • Werte ändern auf matplotlib imshow () grafische Achse
  • Pip installieren Matplotlib Fehler mit virtualenv
  • RuntimeError: Das zugrunde liegende C / C ++ - Objekt wurde beim Speichern gelöscht und anschließend eine pyplot-Abbildung geschlossen
  • Set Matplotlib 3D-Seitenverhältnis?
  • Skalierung eingebettetes Matplotlib-Widget in qt-Anwendung in Python-Problem geschrieben
  • Wie man graue Begrenzungslinien in einer Karte entfernt, wenn man ein Netcdf mit Impow in Matplotlib plottet?
  • 2 Solutions collect form web for “Matplotlib Legende Hintergrundfarbe”

    Sie können die Kantenfarbe und die Gesichtsfarbe separat wie folgt einstellen:

     frame.set_facecolor('green') frame.set_edgecolor('red') 

    Es gibt mehr Informationen unter FancyBboxPatch hier .

    Zusätzlich zu Mollys Methode können Sie den Rahmen mit der Linienbreite ausschalten:

     frame.set_linewidth(0) 

    Ich habe diese Methode in einer kleinen Bequemlichkeit Funktion, die ich schrieb, um die Legende Frames aus dem gleichen Grund, den Sie zitieren verstecken. Die Funktion heißt adjust_legends im Modul print_targeted_plots von github .

    Python ist die beste Programmiersprache der Welt.