Файл для практики.
month,sales,profit,orders,customers
1,12000,3000,120,25
2,14500,3900,145,27
3,16800,4700,172,33
4,15500,4300,160,31
5,21500,6800,235,46
6,23800,7600,260,51
7,25200,8200,275,55
8,24100,7800,268,53
9,28600,9400,325,64
10,27800,9100,315,61
11,32400,10800,370,73
12,35800,12300,425,84
На протяжении двух разделов курса мы работали с библиотекой Matplotlib. Она позволяет создавать практически любые типы графиков и считается фундаментальным инструментом визуализации данных в Python. Однако со временем аналитики столкнулись с тем, что для многих типовых задач код на Matplotlib получается достаточно объемным, а красивое оформление требует дополнительных настроек.
Именно поэтому появилась библиотека Seaborn. Seaborn построен поверх Matplotlib и использует его возможности внутри себя. При этом библиотека предоставляет более удобный интерфейс, автоматически применяет приятное оформление и отлично работает с объектами Pandas.
Во многих задачах график, который в Matplotlib потребует нескольких строк дополнительной настройки, в Seaborn можно построить практически одной командой.
В этом уроке мы познакомимся с библиотекой Seaborn, разберем ее преимущества, научимся работать с DataFrame напрямую, изучим темы оформления и цветовые палитры, а также построим первый график.
Что вы узнаете в рамках статьи
- Для чего используется Seaborn.
- Чем Seaborn отличается от Matplotlib.
- Почему аналитики часто используют обе библиотеки одновременно.
- Как Seaborn работает с Pandas DataFrame.
- Что такое темы оформления.
- Как использовать цветовые палитры.
- Как построить первый график в Seaborn.
Ключевые термины
- Seaborn — библиотека для визуализации данных, построенная поверх Matplotlib.
- Тема оформления (theme) — набор настроек внешнего вида графиков.
- Палитра цветов (palette) — набор цветов, используемых при построении графиков.
- DataFrame — табличная структура данных библиотеки Pandas.
- Стиль графика — правила оформления элементов визуализации.
Почему появился Seaborn
Matplotlib является очень мощной библиотекой. Однако за эту гибкость приходится платить большим количеством настроек.
Например, построим простую столбчатую диаграмму в Matplotlib:
import matplotlib.pyplot as plt
cities = ["Ереван", "Тбилиси", "Прага"]
sales = [120, 95, 140]
plt.bar(cities, sales)
plt.title("Продажи по городам")
plt.show()
График будет работать отлично. Но если мы захотим сделать оформление более современным, изменить цветовую схему или улучшить внешний вид, придется писать дополнительный код.
Seaborn берет многие подобные задачи на себя и предоставляет более высокий уровень абстракции. В результате аналитик может сосредоточиться на данных, а не на настройке каждого элемента графика.
Seaborn и Matplotlib
Важно понимать, что Seaborn не заменяет Matplotlib. Наоборот, Seaborn использует Matplotlib внутри себя. Поэтому эти библиотеки часто работают вместе.
На практике можно представить их следующим образом:
- Matplotlib предоставляет фундамент и полный контроль над визуализацией.
- Seaborn упрощает создание популярных аналитических графиков.
Именно поэтому большинство специалистов по анализу данных знают обе библиотеки.
Установка Seaborn
Если библиотека еще не установлена, ее можно добавить через pip.
pip install seaborn
После установки импорт выполняется следующим образом:
import seaborn as sns
Псевдоним sns используется практически во всех примерах и считается стандартом сообщества.
Первый график в Seaborn
Создадим простой график.
import seaborn as sns
import matplotlib.pyplot as plt
numbers = [10, 15, 20, 25, 30]
sns.lineplot(
x=[1, 2, 3, 4, 5],
y=numbers
)
plt.show()
Внешний вид графика уже отличается от стандартного Matplotlib. Seaborn автоматически применяет более современное оформление. Именно поэтому библиотека быстро стала популярной среди аналитиков.
Работа с Pandas
Одним из главных преимуществ Seaborn является тесная интеграция с Pandas.
Рассмотрим DataFrame:
import pandas as pd
df = pd.DataFrame({
"city": ["Ереван", "Тбилиси", "Прага"],
"sales": [120, 95, 140]
})
В Matplotlib обычно приходится отдельно извлекать столбцы. В Seaborn можно работать с DataFrame напрямую.
import seaborn as sns
import matplotlib.pyplot as plt
sns.barplot(
data=df,
x="city",
y="sales"
)
plt.show()
Обратите внимание, что мы просто указываем имена столбцов. Это делает код более компактным и удобным для чтения.
Почему аналитики любят такой подход
В реальных проектах DataFrame может содержать сотни тысяч строк. Поэтому возможность напрямую работать с таблицей оказывается очень удобной. Не нужно вручную извлекать списки значений или подготавливать данные для каждой визуализации. Достаточно передать DataFrame и указать нужные столбцы.
Темы оформления
Одной из самых заметных особенностей Seaborn являются встроенные темы оформления. Даже без дополнительных настроек графики выглядят аккуратно и современно. Для изменения темы используется функция sns.set_theme(). После этого все графики будут использовать новое оформление. Во многих проектах этого уже достаточно для получения качественной визуализации.
Изменение стиля
Seaborn поддерживает несколько встроенных стилей.
Например:
sns.set_style("darkgrid")
или
sns.set_style("whitegrid")
Стиль whitegrid особенно популярен в аналитике, поскольку сетка помогает легче считывать значения. Полный список доступных стилей можно найти в документации Seaborn: Документация Seaborn Styles.
Палитры цветов
Еще одно преимущество Seaborn — готовые цветовые палитры. В Matplotlib цвета часто приходится подбирать вручную. В Seaborn можно использовать уже подготовленные наборы цветов.
Например:
sns.set_palette("deep")
или
sns.set_palette("pastel")
После этого графики автоматически будут использовать выбранную палитру.
Зачем нужны палитры
Правильно подобранные цвета помогают быстрее воспринимать информацию. Кроме того, палитры Seaborn разрабатывались специально для визуализации данных. Поэтому они обычно выглядят более гармонично, чем случайный набор цветов. Это особенно важно при создании презентаций и отчетов.
Пример настройки темы и палитры
Объединим несколько возможностей вместе.
import seaborn as sns
import matplotlib.pyplot as plt
sns.set_theme()
sns.set_palette("pastel")
df = {
"city": ["Ереван", "Тбилиси", "Прага"],
"sales": [120, 95, 140]
}
sns.barplot(
x=df["city"],
y=df["sales"]
)
plt.show()
Полученный график будет выглядеть заметно современнее стандартного оформления Matplotlib.
Когда использовать Seaborn
На практике Seaborn особенно полезен для исследовательского анализа данных. Когда аналитик только знакомится с данными, ему необходимо быстро строить различные графики и искать закономерности. В таких ситуациях Seaborn позволяет получать качественные визуализации с минимальным количеством кода. При этом никто не запрещает комбинировать его с Matplotlib и использовать лучшие возможности обеих библиотек одновременно.
Наиболее частые ошибки
- Пытаться полностью отказаться от Matplotlib
Seaborn не заменяет Matplotlib, а дополняет его. - Забывать импортировать matplotlib.pyplot при необходимости отображения графика
Многие примеры используют обе библиотеки одновременно. - Использовать случайные цвета вместо готовых палитр
Графики могут выглядеть менее профессионально. - Игнорировать DataFrame и передавать данные вручную
Теряется одно из главных преимуществ Seaborn. - Пытаться настроить каждый элемент вручную
Seaborn уже предоставляет качественные настройки по умолчанию.
Наиболее частые вопросы
- Нужно ли знать Matplotlib перед изучением Seaborn?
Да, базовые знания Matplotlib очень полезны. - Можно ли использовать Seaborn без Pandas?
Да, но многие преимущества библиотеки связаны именно с работой с DataFrame. - Что лучше: Matplotlib или Seaborn?
Обычно они используются вместе. - Обязательно ли использовать темы оформления?
Нет, но они позволяют быстро улучшить внешний вид графиков. - Подходит ли Seaborn для аналитики?
Да, это одна из самых популярных библиотек визуализации в анализе данных.
Итоги
В этом уроке вы познакомились с библиотекой Seaborn и узнали, почему она стала одним из основных инструментов визуализации в анализе данных. Мы разобрали ее преимущества по сравнению с Matplotlib, научились работать с DataFrame напрямую, познакомились с темами оформления и цветовыми палитрами, а также построили первый график.
В следующих уроках мы начнем использовать Seaborn для решения реальных аналитических задач и познакомимся с графиками для категориальных и числовых данных.