Usuń lub dostosuj obramowanie ramki legendy za pomocą matplotlib

105

Podczas kreślenia wykresu za pomocą matplotlib:

  1. Jak usunąć pudełko z legendą?
  2. Jak zmienić kolor obramowania pola legendy?
  3. Jak usunąć tylko obramowanie pudełka legendy?
Mattijn
źródło

Odpowiedzi:

195

Podczas kreślenia wykresu za pomocą matplotlib:

Jak usunąć pudełko z legendą?

plt.legend(frameon=False)

Jak zmienić kolor obramowania pola legendy?

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

Jak usunąć tylko obramowanie pudełka legendy?

leg = plt.legend()
leg.get_frame().set_linewidth(0.0)
Mattijn
źródło
3
A co z interfejsem OOP?
ifly6
29

Jeszcze jedno pokrewne pytanie, ponieważ znalezienie odpowiedzi zajęło mi wieczność:

Jak zrobić puste tło legendy ( tj. Przezroczyste, a nie białe):

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

Ostrzeżenie, chcesz 'none'(ciąg). Noneoznacza domyślny kolor zamiast tego.

Kevin J. Black
źródło
7
Myślę, że preferowanym sposobem jest użycie framealpha, tj plt.legend(framealpha=0.0). Obejmuje to jednak pudełko
MT