Жизненный цикл графика

Beginner

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

Введение

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

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

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

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

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

Это Guided Lab, который предоставляет пошаговые инструкции, чтобы помочь вам учиться и практиковаться. Внимательно следуйте инструкциям, чтобы выполнить каждый шаг и получить практический опыт. Исторические данные показывают, что это лабораторная работа уровня начальный с процентом завершения 91%. Он получил 97% положительных отзывов от учащихся.

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

Сначала нам нужно импортировать необходимые модули: Matplotlib и NumPy.

import matplotlib.pyplot as plt
import numpy as np

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

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

data = {'Barton LLC': 109438.50,
        'Frami, Hills and Schmidt': 103569.59,
        'Fritsch, Russel and Anderson': 112214.71,
        'Jerde-Hilpert': 112591.43,
        'Keeling LLC': 100934.30,
        'Koepp Ltd': 103660.54,
        'Kulas Inc': 137351.96,
        'Trantow-Barrows': 123381.38,
        'White-Trantow': 135841.99,
        'Will LLC': 104437.60}
group_data = list(data.values())
group_names = list(data.keys())
group_mean = np.mean(group_data)

Создаем график

Мы будем использовать визуализацию столбчатой диаграммы для представления данных о продажах. Следуйте шагам:

  1. Создайте фигуру и объект оси с использованием plt.subplots().
fig, ax = plt.subplots()
  1. Постройте данные с использованием метода barh() объекта оси.
ax.barh(group_names, group_data)

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

Мы можем изменить стиль нашего графика, чтобы сделать его более наглячным. Следуйте шагам:

  1. Выведите список доступных стилей с использованием print(plt.style.available).
print(plt.style.available)
  1. Выберите стиль и примените его с использованием plt.style.use(style_name).
plt.style.use('fivethirtyeight')
  1. Посмотрим на график снова.
fig, ax = plt.subplots()
ax.barh(group_names, group_data)

Настраиваем внешний вид графика

Мы можем дальнейшим образом настроить внешний вид нашего графика. Следуйте шагам:

  1. Поворачиваем метки оси x, чтобы они были более читаемыми.
labels = ax.get_xticklabels()
plt.setp(labels, rotation=45, horizontalalignment='right')
  1. Задаем пределы оси x и оси y, метки и заголовок.
ax.set(xlim=[-10000, 140000],
       xlabel='Total Revenue',
       ylabel='Company',
       title='Company Revenue')
  1. Показываем график снова.
fig, ax = plt.subplots()
ax.barh(group_names, group_data)
labels = ax.get_xticklabels()
plt.setp(labels, rotation=45, horizontalalignment='right')
ax.set(xlim=[-10000, 140000], xlabel='Total Revenue', ylabel='Company',
       title='Company Revenue')

Объединяем несколько визуализаций

Мы можем добавить дополнительные элементы графика к нашей визуализации. Следуйте шагам:

  1. Добавьте вертикальную линию, представляющую среднее значение данных о продажах.
ax.axvline(group_mean, ls='--', color='r')
  1. Пометьте на графике новые компании.
for group in [3, 5, 8]:
    ax.text(145000, group, "New Company", fontsize=10, verticalalignment="center")
  1. Измените позицию заголовка графика.
ax.title.set(y=1.05)
  1. Полный код показан ниже.
fig, ax = plt.subplots(figsize=(8, 8))
ax.barh(group_names, group_data)
labels = ax.get_xticklabels()
plt.setp(labels, rotation=45, horizontalalignment='right')

## Add a vertical line, here we set the style in the function call
ax.axvline(group_mean, ls='--', color='r')

## Annotate new companies
for group in [3, 5, 8]:
    ax.text(145000, group, "New Company", fontsize=10,
            verticalalignment="center")

## Now we move our title up since it's getting a little cramped
ax.title.set(y=1.05)

ax.set(xlim=[-10000, 140000], xlabel='Total Revenue', ylabel='Company',
       title='Company Revenue')

plt.show()

Сохраняем график

Наконец, мы можем сохранить наш график на диск. Следуйте шагам:

  1. Выведите поддерживаемые форматы файлов с использованием print(fig.canvas.get_supported_filetypes()).
print(fig.canvas.get_supported_filetypes())
  1. Сохраните фигуру в виде файла изображения с использованием fig.savefig(file_path, transparent=False, dpi=80, bbox_inches="tight"). Раскомментируйте эту строку, чтобы сохранить фигуру.
fig.savefig('sales.png', transparent=False, dpi=80, bbox_inches="tight")

Вы можете открыть сохраненный файл изображения с помощью проводника файлов в левом боковом меню.

Резюме

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