Легенды необходимы для наглядной визуализации данных, но иногда они загромождают график. Matplotlib предоставляет несколько способов управления легендами, позволяя полностью удалить их или просто скрыть для более чистой визуализации. В этом руководстве рассматриваются четыре эффективных метода.
Оглавление
- Прямое удаление легенды
- Скрытие легенды
- Предотвращение создания легенды
- Удаление легенды через присваивание атрибута
1. Прямое удаление легенды
Этот подход использует matplotlib.axes.Axes.get_legend().remove()
для удаления легенды после её создания. Это простой способ, не оставляющий следов.
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot([1, 2, 3], [4, 5, 6], label='Line 1')
ax.plot([1, 2, 3], [7, 8, 9], label='Line 2')
legend = ax.legend() # Создаем легенду
legend.remove() # Удаляем её
plt.show()
2. Скрытие легенды
matplotlib.axes.Axes.get_legend().set_visible(False)
обеспечивает больший контроль. Легенда остаётся в памяти, позволяя отобразить её позже с помощью set_visible(True)
.
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot([1, 2, 3], [4, 5, 6], label='Line 1')
ax.plot([1, 2, 3], [7, 8, 9], label='Line 2')
legend = ax.legend()
legend.set_visible(False)
plt.show()
3. Предотвращение создания легенды
Самый эффективный метод — предотвратить генерацию легенды. Используйте label='nolegend'
(или любой неиспользуемый ярлык) внутри функции plot()
.
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot([1, 2, 3], [4, 5, 6], label='nolegend')
ax.plot([1, 2, 3], [7, 8, 9], label='nolegend')
plt.show()
4. Удаление легенды через присваивание атрибута
Прямое присваивание атрибута legend_
объекта Axes значению None
удаляет существующую легенду и предотвращает её последующее создание.
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot([1, 2, 3], [4, 5, 6], label='Line 1')
ax.plot([1, 2, 3], [7, 8, 9], label='Line 2')
ax.legend_ = None
plt.show()
Выбор подходящего метода зависит от ваших потребностей. Для немедленного удаления эффективно использовать методы 1 и 4. Для возможности повторного отображения лучше подходит метод 2. Предотвращение создания (метод 3) оптимально, когда легенда заведомо не нужна.