Ответ 1
Начиная с matplotlib v1.4.0rc4
, к объекту легенды был добавлен метод remove
.
Использование:
ax.get_legend().remove()
или же
legend = ax.legend(...)
...
legend.remove()
Смотрите здесь для коммита, где это было введено.
Чтобы добавить легенду в график matplotlib, вы просто запускаете legend()
.
Как удалить легенду из графика?
(Ближайшим я пришел к этому, чтобы запустить legend([])
, чтобы очистить легенду от данных, но это оставляет уродливый белый прямоугольник в верхнем правом углу.)
Начиная с matplotlib v1.4.0rc4
, к объекту легенды был добавлен метод remove
.
Использование:
ax.get_legend().remove()
или же
legend = ax.legend(...)
...
legend.remove()
Смотрите здесь для коммита, где это было введено.
Вы можете использовать метод легенды set_visible
:
ax.legend().set_visible(False)
draw()
Это основано на ответе, предоставленном мне в ответ на аналогичный вопрос, который я имел некоторое время назад здесь
(Спасибо за ответ Jouni - извините, я не смог отметить вопрос, как ответил... возможно, кто-то, у кого есть полномочия, может сделать это для меня?)
Если вы хотите построить фреймворк Pandas и хотите удалить легенду, добавьте в команду plot legend = None как параметр.
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()
вам нужно добавить следующие строки кода:
ax = gca()
ax.legend_ = None
draw()
gca() возвращает дескриптор текущей оси и имеет эту легенду свойства _
Я создал легенду, добавив ее к рисунку, а не к оси (matplotlib 2.2.2). Чтобы удалить его, я установил атрибут legends
на рисунке в пустой список:
import matplotlib.pyplot as plt
fig = plt.figure()
ax1 = fig.add_subplot(111)
ax2 = ax1.twinx()
ax1.plot(range(10), range(10, 20), label='line 1')
ax2.plot(range(10), range(30, 20, -1), label='line 2')
fig.legend()
fig.legends = []
plt.show()
Если вы не используете объекты для рисования и топора, вы можете сделать это так:
import matplotlib.pyplot as plt
# do plot specifics
plt.legend('')
plt.show()