Entfernen oder passen Sie den Rand des Rahmens der Legende mit matplotlib an


105

Beim Zeichnen eines Diagramms mit matplotlib:

  1. Wie entferne ich die Box der Legende?
  2. Wie ändere ich die Farbe des Rahmens des Legendenfelds?
  3. Wie entferne ich nur den Rand des Feldes der Legende?

Antworten:


194

Beim Zeichnen eines Diagramms mit matplotlib:

Wie entferne ich die Box der Legende?

plt.legend(frameon=False)

Wie ändere ich die Farbe des Rahmens des Legendenfelds?

leg = plt.legend()
leg.get_frame().set_edgecolor('b')

Wie entferne ich nur den Rand des Feldes der Legende?

leg = plt.legend()
leg.get_frame().set_linewidth(0.0)

3
Wie wäre es mit der OOP-Schnittstelle?
ifly6

29

Noch eine verwandte Frage, da ich ewig gebraucht habe, um die Antwort zu finden:

So machen Sie den Legendenhintergrund leer ( dh transparent, nicht weiß):

legend = plt.legend()
legend.get_frame().set_facecolor('none')

Warnung, Sie wollen 'none'(die Zeichenfolge). Nonebedeutet stattdessen die Standardfarbe.


7
Ich denke, der bevorzugte Weg, dies zu tun, ist zu verwenden framealpha, dh plt.legend(framealpha=0.0). Das würde aber die Box einschließen
MT
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.