Создание легенд Matplotlib для визуализации данных

Beginner

This tutorial is from open-source community. Access the source code

Введение

В визуализации данных легенды помогают зрителю понять, что он смотрит. Легенды в Matplotlib - это метки, описывающие элементы графика. В этом руководстве показано, как создавать легенды для фигуры Matplotlib.

Советы по работе с ВМ

После завершения запуска ВМ щелкните в верхнем левом углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.

Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook не загрузится полностью. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.

Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.

Импортируем необходимые библиотеки

Во - первых, нам нужно импортировать необходимые библиотеки - NumPy и Matplotlib. NumPy - это библиотека Python, которая используется для работы с массивами, в то время как Matplotlib - это библиотека для визуализации данных.

import matplotlib.pyplot as plt
import numpy as np

Создание базового графика

Для создания базового графика нам нужно определить значения x и y, а затем построить их с использованием plt.plot(). Здесь мы построим две синусоидальные волны.

x = np.arange(0.0, 2.0, 0.02)
y1 = np.sin(2 * np.pi * x)
y2 = np.sin(4 * np.pi * x)

plt.plot(x, y1, label='sin(2pix)')
plt.plot(x, y2, label='sin(4pix)')

Добавление легенды

Для добавления легенды к графику мы используем функцию plt.legend(). Мы можем передать метки для каждой линии в виде списка строк в параметр labels функции.

plt.legend(labels=['sin(2pix)', 'sin(4pix)'])

Настройка легенды

Мы можем настроить легенду, изменив ее позицию, размер шрифта и другие параметры. Для изменения позиции легенды мы используем параметр loc. Мы также можем изменить размер шрифта с использованием параметра fontsize.

plt.legend(labels=['sin(2pix)', 'sin(4pix)'], loc='lower right', fontsize='large')

Создание легенды для подграфиков

При создании подграфиков мы можем создать легенду для всех подграфиков с использованием функции fig.legend(). Здесь мы создадим два подграфика и построим на каждом два линии.

fig, axs = plt.subplots(1, 2)

x = np.arange(0.0, 2.0, 0.02)
y1 = np.sin(2 * np.pi * x)
y2 = np.exp(-x)
l1, = axs[0].plot(x, y1)
l2, = axs[0].plot(x, y2, marker='o')

y3 = np.sin(4 * np.pi * x)
y4 = np.exp(-2 * x)
l3, = axs[1].plot(x, y3, color='tab:green')
l4, = axs[1].plot(x, y4, color='tab:red', marker='^')

fig.legend((l1, l2), ('Line 1', 'Line 2'), loc='upper left')
fig.legend((l3, l4), ('Line 3', 'Line 4'), loc='upper right')

Размещение легенды за пределами осей

Иногда мы можем захотеть, чтобы легенда была за пределами осей. Мы можем использовать параметр loc, чтобы указать расположение легенды за пределами осей.

fig, axs = plt.subplots(1, 2, layout='constrained')

x = np.arange(0.0, 2.0, 0.02)
y1 = np.sin(2 * np.pi * x)
y2 = np.exp(-x)
l1, = axs[0].plot(x, y1)
l2, = axs[0].plot(x, y2, marker='o')

y3 = np.sin(4 * np.pi * x)
y4 = np.exp(-2 * x)
l3, = axs[1].plot(x, y3, color='tab:green')
l4, = axs[1].plot(x, y4, color='tab:red', marker='^')

fig.legend((l1, l2), ('Line 1', 'Line 2'), loc='upper left')
fig.legend((l3, l4), ('Line 3', 'Line 4'), loc='outside right upper')

Обзор

В этом руководстве мы узнали, как создавать легенды для графиков Matplotlib. Мы увидели, как создать базовый график, добавить легенду, настроить легенду, создать легенду для подграфиков и разместить легенду за пределами осей. Легенды являются важной частью визуализации данных, и знание, как их создавать, является важным навыком для любого специалиста в области данных или аналитика.