Próbuję użyć słowa kluczowego bbox_to_anchor()
na wykresie matplotlib w Pythonie.Automatyczna legenda Matplotlib poza polem
Oto bardzo prosty Działka że wyprodukowali:
import matplotlib.pyplot as plt
x = [1,2,3]
plt.subplot(211)
plt.plot(x, label="test1")
plt.plot([3,2,1], label="test2")
plt.legend(bbox_to_anchor=(0, -0.15, 1, 0), loc=2, ncol=2, mode="expand", borderaxespad=0)
plt.show()
Jest on oparty na przykład tutaj: http://matplotlib.org/users/legend_guide.html#plotting-guide-legend
Próbuję automatycznie umieścić legendę poza działce przy użyciu bbox_to_anchor()
. W tym przykładzie bbox_to_anchor()
zawiera 4 argumenty.
W tym konkretnym przykładzie (powyżej) legenda jest umieszczona poniżej wykresu, więc numer -0.15 należy wprowadzić ręcznie za każdym razem, gdy zostanie zmieniony wykres (rozmiar czcionki, tytuł osi usunięty itp.). Czy jest możliwe automatyczne obliczenie tych 4 liczb dla następujących scenariuszy?:
- legenda poniżej działki
- legendy powyżej działki
- legenda do prawej działki
jeśli nie, to jest możliwe do naprawienia domysły na temat tych liczb, w Pythonie?
Również w powyższym przykładowym kodzie ustawiłem 2 ostatnie liczby w bbox_to_anchor()
na 1 i 0, ponieważ nie rozumiem, czym one są i jak działają. Co oznaczają ostatnie 2 cyfry w numerze bbox_to_anchor()
?
Dzięki. Czy nie trzeba ustawiać ręcznie współrzędnych za każdym razem? –
Etykiety dataserii są dla mnie bardzo długie. W legendzie powoduje to ich odcięcie. Czy istnieje sposób, aby tego uniknąć? –
Jeśli ustawisz "lewy górny" i np. (1, 25) legenda znajduje się poza polem. Legendy powinny być krótkie i tak – Moritz