2009-08-28 18 views
5

Jestem względnie nowym użytkownikiem Pythona i opracowuję GUI Pyqt. Chcę udostępnić opcję wyboru, aby pokazać/ukryć legendę działki. Czy istnieje sposób na ukrycie legendy?Pokazywanie/ukrywanie legendy wątku

Próbowałem już używać 'pyplota' '_nolegend_' i wygląda na to, że działa na wybranych pozycjach legendy, ale tworzy błąd ValueError, jeśli zostanie zastosowany do wszystkich wpisów.

Mogę brutalnie zmusić legendę do ukrycia, usuwając i przerysowując całą fabułę, ale ... to straszne, szczególnie w przypadku dużych zbiorów danych.

Doceń każdą pomoc z tym.

Odpowiedz

7

Oto coś można spróbować w wierszu poleceń:

plot([3,1,4,1],label='foo') 
lgd=legend() 

# when you want it to be invisible: 
lgd.set_visible(False) 
draw() 

# when you want it to be visible: 
lgd.set_visible(True) 
draw() 

W programie GUI to najlepiej unikać pyplot i używać API obiektowego, to znaczy ax.legend i canvas.draw.