Sto provando a utilizzare la parola chiave bbox_to_anchor()
in un grafico matplotlib in Python.Legenda automatica Matlotlib all'esterno del grafico
Ecco una trama molto semplice che ho prodotto:
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()
Si basa sull'esempio qui: http://matplotlib.org/users/legend_guide.html#plotting-guide-legend
sto cercando di posizionare automaticamente la leggenda di fuori la trama usando bbox_to_anchor()
. In questo esempio, bbox_to_anchor()
ha 4 argomenti elencati.
In questo particolare esempio (sopra), la legenda viene posizionata sotto il grafico in modo che il numero -0,15 debba essere immesso manualmente ogni volta che viene modificato un grafico (dimensione carattere, titolo asse rimosso, ecc.). È possibile calcolare automaticamente questi 4 numeri per i seguenti scenari?:
- leggenda sotto trama
- leggenda sopra trama
- leggenda a destra della trama
In caso contrario, è possibile fare buoni congetture su questi numeri, in Python?
Inoltre, nel codice di esempio sopra ho impostato gli ultimi 2 numeri in bbox_to_anchor()
su 1 e 0 poiché non capisco cosa siano o come funzionino. Che cosa significano gli ultimi 2 numeri in bbox_to_anchor()
?
Grazie. Le coordinate non dovrebbero essere impostate manualmente ogni volta? –
Inoltre, le etichette dei dataseries sono molto lunghe per me. Questo sta causando loro di essere tagliati, nella leggenda. c'è un modo per evitarlo? –
Se si imposta 'in alto a sinistra' e ad esempio (1,15) la legenda è esterna alla trama. Le leggende dovrebbero essere corte in ogni caso – Moritz