Группированный столбчатый график с использованием Matplotlib

Beginner

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

Введение

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

Советы по использованию ВМ

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

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

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

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

Начнем с импорта необходимых библиотек для работы с нашими данными и создания графика.

import matplotlib.pyplot as plt
import numpy as np

Подготовка данных

Далее мы подготовим данные для нашего графика. У нас есть три вида пингвинов и три характеристики, поэтому мы создадим словарь, в котором будут указаны средние значения каждой характеристики для каждого вида.

species = ("Adelie", "Chinstrap", "Gentoo")
penguin_means = {
    'Bill Depth': (18.35, 18.43, 14.98),
    'Bill Length': (38.79, 48.83, 47.50),
    'Flipper Length': (189.95, 195.82, 217.19),
}

Создаем группированный столбчатый график

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

x = np.arange(len(species))
width = 0.25
multiplier = 0

fig, ax = plt.subplots()

for attribute, measurement in penguin_means.items():
    offset = width * multiplier
    rects = ax.bar(x + offset, measurement, width, label=attribute)
    multiplier += 1

Добавляем подписи к столбцам

Мы можем добавить подписи к столбцам с использованием функции bar_label из Matplotlib. Это добавит значение каждого столбца над ним.

ax.bar_label(rects, padding=3)

Настраиваем график

Мы можем настроить график, добавив подписи, заголовок и настроив метки делений оси x и легенду. Также мы установим предел оси y, чтобы убедиться, что все наши данные видны.

ax.set_ylabel('Length (mm)')
ax.set_title('Penguin attributes by species')
ax.set_xticks(x + width, species)
ax.legend(loc='upper left', ncols=3)
ax.set_ylim(0, 250)

Показываем график

Наконец, мы можем показать график с использованием функции show из Matplotlib.

plt.show()

Резюме

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