Usuń legendę na figurze matplotlib

Aby dodać legendę do fabuły matplotlib, wystarczy uruchomić legend().

Jakusunąć legendę z fabuły?

(najbliżej mi do tego jest uruchomienie legend([]) w celu opróżnienia legendy z danych. Ale to pozostawia brzydki biały prostokąt w prawym górnym rogu.)

Author: Olivier Verdier, 2011-04-20

4 answers

Od matplotlib v1.4.0rc4, do obiektu legend została dodana Metoda remove.

Użycie:

ax.legend_.remove()

Lub

legend = ax.legend(...)
...
legend.remove()

Zobacz tutaj dla commit, w którym to zostało wprowadzone.

 91
Author: naitsirhc,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-10 14:21:42

Możesz użyć metody legendy set_visible:

ax.legend().set_visible(False)
draw()

Jest to oparte na odpowiedzi udzielonej mi w odpowiedzi na podobne pytanie, które miałem jakiś czas temu tutaj

(dzięki za odpowiedź Jouni-przepraszam, że nie mogłem oznaczyć pytania jako odpowiedzi... może ktoś, kto ma władzę, może to zrobić dla mnie?)

 68
Author: ERN,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:26:10

Jeśli chcesz wykreślić ramkę danych pand i chcesz usunąć legendę, dodaj legend = None jako parametr do komendy plot.

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

df2 = pd.DataFrame(np.random.randn(10, 5))
df2.plot(legend=None)
plt.show()
 51
Author: cast42,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-13 15:41:19

Należy dodać następujące linie kodu:

ax = gca()
ax.legend_ = None
draw()

Gca () zwraca bieżący uchwyt osi i ma tę właściwość legend_

 17
Author: fceruti,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-04-20 18:58:40