Чтобы добавить легенду к сюжету matplotlib, достаточно просто запустить legend()
.
Как убрать легенду с сюжета?
(Самое близкое, к чему я пришел, - это запустить legend([])
, чтобы очистить легенду от данных. Но это оставляет уродливый белый прямоугольник в верхнем правом углу.)
matplotlib
legend
Оливье Вердиер
источник
источник
ax.get_legend().remove()
решение не работало в моем случае, в то время как второе решение (legend = ax.legend() ... legend.remove()
) работало. может потому чтоax
былAxesSubplot
в моем случае?Если вы хотите построить график данных Pandas и удалить легенду, добавьте legend = None в качестве параметра к команде plot.
источник
Вы можете использовать метод легенды
set_visible
:Это основано на ответ предоставленного мне в ответ на аналогичный вопрос , который я имел некоторое время назад здесь
(Спасибо за этот ответ, Джуни - извините, я не смог пометить вопрос как ответивший ... возможно, кто-то, кто имеет полномочия, может сделать это для меня?)
источник
Вы должны добавить следующие строки кода:
gca () возвращает текущий дескриптор осей и имеет это свойство legend_
источник
draw()
наshow()
. Или есть особое преимущество в использованииdraw
?show()
было бы хорошо, если бы обновление графика было последней командой программы.draw()
хорошо, так как это общая команда обновления графика. Например, вы можете запросить у пользователя ввод данных в терминале после обновления графика, что невозможно сделать с помощью блокировкиshow()
.draw
это более уместно (но я всегда использовалshow
для обновления своих графиков ...).Если вы не используете объекты для рисования и топора, вы можете сделать это так:
источник
если вы позвоните
pyplot
какplt
frameon=False
это удалить границу вокруг легендыи '' передает информацию о том, что в легенде не должно быть ни одной переменной
источник
Я сделал легенду, добавив ее к рисунку, а не к оси (matplotlib 2.2.2). Чтобы удалить его, я установил
legends
атрибут рисунка в пустой список:источник
Согласно информации @naitsirhc, я хотел найти официальную документацию по API. Вот мои выводы и пример кода.
matplotlib.Axes
объектseaborn.scatterplot()
.ax.get_legend()
Возвращаетmatplotlib.legned.Legend
экземпляр..remove()
функцию, чтобы удалить легенду с вашего сюжета.Если вы проверите
matplotlib.legned.Legend
документ API, вы не увидите.remove()
функцию.Причина в том, что
matplotlib.legned.Legend
унаследовалmatplotlib.artist.Artist
. Поэтому, когда вы звоните,ax.get_legend().remove()
что в основном называютmatplotlib.artist.Artist.remove()
.В конце концов, вы даже можете упростить код до двух строк.
источник