W matplotlib, w jaki sposób mogę dostosować wyrównanie tytułu legendy? Jest zawsze wyśrodkowany, ale potrzebuję go wyrównanego do legendy. Próbowałem zmienić wyrównanie artysty tekstowego tytułu, które nie ma żadnego efektu. Szczegóły w następującym przykładzie:matplotlib: wyrównanie tytułu legendy
from pylab import *
x = linspace(0, 1)
plot(x, x, label="1")
plot(x, x**2, label="2")
plot(x, x**3, label="3")
plot(x, sqrt(x), label="square root")
l = legend(title="Title", loc="best")
l.get_title().set_ha("left") # <== does not work
show()
Pytanie sprowadza się do tego, co i kto kontroluje punkt kontrolny wyrównania tytułu? Zmiana wyrównania na "prawo" lub "centrum" ma zauważalny efekt. Druga uwaga: w przypadku długich ciągów znaków punkt kontrolny przesuwa się do lewej krawędzi pola legendy ...
Tekst tytułu jest domyślnie "wyrównany do lewej strony". Punkt zakotwiczenia wyrównania znajduje się w środku pola legendy. Czy można określić inny punkt kontrolny? Może jest jakaś instancja VPacker lub HPacker związana z Legend? – Erwin411
Dla mojej obecnej sprawy mam rozwiązanie: po prostu powiedz 'l.get_title(). Set_ha (" center ")'. Tekst jest następnie wyśrodkowany z tajemniczym punktem kontrolnym (który jest mniej więcej między uchwytami i tekstami etykiet) i wygląda dobrze. Dla '' Bardzo bardzo długiego tytułu '', jednak punkt kontrolny przesuwa się na lewą krawędź pola ... – Erwin411
Gdyby te same pytania co 'set_ha ('left')' nie zadziałały –