Введение
Библиотека Python Matplotlib предоставляет гибкий способ создания и настройки легенды на графике. Легенды являются важной частью любого графика, так как они предоставляют ясное и краткое объяснение данных, представленных на графике. В этом практическом занятии мы проведем вас через процесс составления пользовательских легенд с использованием объектов Matplotlib.
Советы по работе с ВМ
После запуска виртуальной машины нажмите в левом верхнем углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.
Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook загрузится полностью. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.
Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.
Построение линий
В этом шаге мы построим набор линий с использованием библиотеки Matplotlib. Сначала мы создадим некоторые случайные данные с использованием NumPy. Затем мы установим цикл цветов с использованием функции cycler, чтобы указать карту цветов. Наконец, мы построим данные с использованием функции plot и вызовем legend(), чтобы сгенерировать легенду.
import matplotlib.pyplot as plt
import numpy as np
## Установка случайного состояния для воспроизводимости
np.random.seed(19680801)
## Создание случайных данных
N = 10
data = (np.geomspace(1, 10, 100) + np.random.randn(N, 100)).T
## Установка цикла цветов
cmap = plt.cm.coolwarm
plt.rcParams['axes.prop_cycle'] = cycler(color=cmap(np.linspace(0, 1, N)))
## Построение данных и генерация легенды
fig, ax = plt.subplots()
lines = ax.plot(data)
ax.legend()
Составление пользовательской легенды
В этом шаге мы создадим пользовательскую легенду с использованием объектов Matplotlib. Сначала мы импортируем класс Line2D из модуля matplotlib.lines. Затем мы создаем список объектов Line2D с пользовательскими атрибутами цвета, ширины и метки. Наконец, мы снова строим данные с использованием функции plot и вызываем legend() с пользовательскими линиями и соответствующими метками.
## Import Line2D class
from matplotlib.lines import Line2D
## Create custom lines
custom_lines = [Line2D([0], [0], color=cmap(0.), lw=4),
Line2D([0], [0], color=cmap(.5), lw=4),
Line2D([0], [0], color=cmap(1.), lw=4)]
## Plot data and generate custom legend
fig, ax = plt.subplots()
lines = ax.plot(data)
ax.legend(custom_lines, ['Cold', 'Medium', 'Hot'])
Составление пользовательской легенды с различными объектами Matplotlib
В этом шаге мы создадим пользовательскую легенду с использованием различных объектов Matplotlib, включая Line2D и Patch. Сначала мы импортируем класс Patch из модуля matplotlib.patches. Затем мы создаем список объектов Line2D и Patch с пользовательскими атрибутами. Наконец, мы вызываем legend() с пользовательскими объектами и соответствующими метками.
## Import Line2D and Patch classes
from matplotlib.lines import Line2D
from matplotlib.patches import Patch
## Create legend elements
legend_elements = [Line2D([0], [0], color='b', lw=4, label='Line'),
Line2D([0], [0], marker='o', color='w', label='Scatter',
markerfacecolor='g', markersize=15),
Patch(facecolor='orange', edgecolor='r',
label='Color Patch')]
## Plot data and generate custom legend
fig, ax = plt.subplots()
ax.legend(handles=legend_elements, loc='center')
Резюме
В этом практическом занятии мы узнали, как создавать пользовательские легенды с использованием объектов Matplotlib. Мы начали с построения набора линий и генерации стандартной легенды. Затем мы составили пользовательскую легенду с использованием объектов Line2D с пользовательскими атрибутами. Наконец, мы создали пользовательскую легенду с использованием различных объектов Matplotlib, включая Line2D и Patch. С помощью пользовательских легенд мы можем дать ясное и краткое объяснение данных, представленных на графике.