Введение
В этом практическом занятии мы будем изучать жизненный цикл графика с использованием Matplotlib. Начнем с исходных данных и закончим сохранением настраиваемой визуализации. Мы узнаем, как создавать график, контролировать его стиль, настраивать его внешний вид, комбинировать несколько визуализаций и сохранять график на диск.
Советы по работе с ВМ
После запуска ВМ нажмите в верхнем левом углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.
Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook загрузится. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.
Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.
Импортируем необходимые модули
Сначала нам нужно импортировать необходимые модули: 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)
Создаем график
Мы будем использовать визуализацию столбчатой диаграммы для представления данных о продажах. Следуйте шагам:
- Создайте фигуру и объект оси с использованием
plt.subplots().
fig, ax = plt.subplots()
- Постройте данные с использованием метода
barh()объекта оси.
ax.barh(group_names, group_data)
Настраиваем стиль графика
Мы можем изменить стиль нашего графика, чтобы сделать его более наглячным. Следуйте шагам:
- Выведите список доступных стилей с использованием
print(plt.style.available).
print(plt.style.available)
- Выберите стиль и примените его с использованием
plt.style.use(style_name).
plt.style.use('fivethirtyeight')
- Посмотрим на график снова.
fig, ax = plt.subplots()
ax.barh(group_names, group_data)
Настраиваем внешний вид графика
Мы можем дальнейшим образом настроить внешний вид нашего графика. Следуйте шагам:
- Поворачиваем метки оси x, чтобы они были более читаемыми.
labels = ax.get_xticklabels()
plt.setp(labels, rotation=45, horizontalalignment='right')
- Задаем пределы оси x и оси y, метки и заголовок.
ax.set(xlim=[-10000, 140000],
xlabel='Total Revenue',
ylabel='Company',
title='Company Revenue')
- Показываем график снова.
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')
Объединяем несколько визуализаций
Мы можем добавить дополнительные элементы графика к нашей визуализации. Следуйте шагам:
- Добавьте вертикальную линию, представляющую среднее значение данных о продажах.
ax.axvline(group_mean, ls='--', color='r')
- Пометьте на графике новые компании.
for group in [3, 5, 8]:
ax.text(145000, group, "New Company", fontsize=10, verticalalignment="center")
- Измените позицию заголовка графика.
ax.title.set(y=1.05)
- Полный код показан ниже.
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()
Сохраняем график
Наконец, мы можем сохранить наш график на диск. Следуйте шагам:
- Выведите поддерживаемые форматы файлов с использованием
print(fig.canvas.get_supported_filetypes()).
print(fig.canvas.get_supported_filetypes())
- Сохраните фигуру в виде файла изображения с использованием
fig.savefig(file_path, transparent=False, dpi=80, bbox_inches="tight"). Раскомментируйте эту строку, чтобы сохранить фигуру.
fig.savefig('sales.png', transparent=False, dpi=80, bbox_inches="tight")
Вы можете открыть сохраненный файл изображения с помощью проводника файлов в левом боковом меню.
Резюме
В этом практическом занятии мы изучили жизненный цикл графика с использованием Matplotlib. Мы начали с создания графика, управления его стилем, настройки его внешнего вида, объединения нескольких визуализаций и сохранения графика на диск. Matplotlib предлагает широкий спектр вариантов настройки для создания визуально привлекательных и информативных графиков.