Изучение различных методов создания отдельных полей легенды в Pyplot

Когда дело доходит до создания визуализаций с помощью Pyplot, легенды играют жизненно важную роль в предоставлении информации об элементах, отображаемых на графике. Однако могут возникнуть ситуации, когда вы захотите разделить легенду на два или более блоков для лучшей организации и ясности. В этой статье блога мы рассмотрим несколько методов достижения этой цели с помощью Pyplot. Итак, приступим!

Метод 1: использование нескольких объектов легенды
Один простой подход — создать несколько объектов легенды и расположить их отдельно на графике. Вот пример фрагмента кода:

import matplotlib.pyplot as plt
# Plotting the data
plt.plot(x1, y1, label='Data 1')
plt.plot(x2, y2, label='Data 2')
# Creating separate legend objects
legend1 = plt.legend(loc='upper left')
legend2 = plt.legend(loc='lower right')
# Adding the legend objects to the plot
plt.gca().add_artist(legend1)
plt.gca().add_artist(legend2)
# Setting the labels for the legend boxes
legend1.get_frame().set_label('Legend Box 1')
legend2.get_frame().set_label('Legend Box 2')
plt.show()

Метод 2: использование прокси-художников
Другой подход предполагает использование прокси-художников для создания отдельных блоков легенд. Прокси-художники — это, по сути, пустые художники, используемые для представления записей легенды. Вот пример:

import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
# Creating proxy artists
proxy_artist1 = mpatches.Rectangle((0, 0), 1, 1, facecolor='blue')
proxy_artist2 = mpatches.Rectangle((0, 0), 1, 1, facecolor='green')
# Plotting the data with proxy artists
plt.plot(x1, y1, label='Data 1', color=proxy_artist1.get_facecolor())
plt.plot(x2, y2, label='Data 2', color=proxy_artist2.get_facecolor())
# Creating separate legend boxes
legend1 = plt.legend(handles=[proxy_artist1], labels=['Legend Box 1'], loc='upper left')
legend2 = plt.legend(handles=[proxy_artist2], labels=['Legend Box 2'], loc='lower right')
# Adding the legend objects to the plot
plt.gca().add_artist(legend1)
plt.gca().add_artist(legend2)
plt.show()

Метод 3: использование параметра ncol
Параметр ncol позволяет указать количество столбцов в легенде. Установив для него значение больше единицы, вы можете создать отдельные поля легенды. Вот пример:

import matplotlib.pyplot as plt
# Plotting the data
plt.plot(x1, y1, label='Data 1')
plt.plot(x2, y2, label='Data 2')
# Creating a single legend box with multiple columns
plt.legend(loc='upper left', ncol=2)
plt.show()

В этой статье мы рассмотрели различные методы создания отдельных полей легенды в Pyplot. Мы научились использовать для этого несколько объектов легенды, прокси-художников и параметр ncol. Распределив легенды по отдельным блокам, мы можем повысить читабельность и ясность наших графиков. Поэкспериментируйте с этими методами и выберите тот, который лучше всего соответствует вашим потребностям в визуализации.