Язык Python широко применяется для работы с данными. Стоит ли удивляться, что в его экосистеме можно найти большое количество библиотек, предназначенных для визуализации данных, т. е., построения графиков и диаграмм. Мы сделали для вас краткий обзор пяти самых популярных библиотек в этой сфере.
Matplotlib
![](http://pythonist.ru/wp-content/uploads/2020/04/viz-libraries-01.png)
Matplotlib это библиотека для визуализации данных на Python. Впервые она была выпущена еще 17 лет назад, но по-прежнему широко используется для создания графиков в сообществе Python. При создании этой библиотеки ее автор вдохновлялся MATLAB — проприетарным языком программирования, разработанным в 1980-х годах.
Поскольку Matplotlib стала первой библиотекой Python для визуализации данных, многие другие библиотеки создавались на ее основе или для использования в комбинации с ней. Некоторые из них, например, pandas и Seaborn, являются по сути врапперами Matplotlib. Они позволяют получить доступ к многочисленным методам matplotlib при помощи меньшего количества кода.
Хотя Matplotlib вполне подходит для того, чтобы разобраться в полученных данных, она не слишком хороша для быстрого и легкого создания готовых к публикации диаграмм. Как указывает Крис Моффит в своем обзоре инструментов визуализации Python, Matplotlib — «очень мощная библиотека, но при этом и сложная».
Matplotlib часто критиковали за ее дефолтный стиль, явно воскрешающий в памяти стили 1990-х. Но в новых релизах библиотеки для исправления этой проблемы было внесено много изменений.
Seaborn
![](http://pythonist.ru/wp-content/uploads/2020/04/viz-libraries-02.png)
Seaborn использует все возможности, которые дает Matplotlib, для создания красивых графиков при помощи всего нескольких строк кода. Главное, что отличает Seaborn, это дефолтные стили и цветовые палитры: они более эстетичны и современны. Но поскольку Seaborn построен на базе Matplotlib, вам понадобится знание и этой библиотеки.
Plotly
![](http://pythonist.ru/wp-content/uploads/2020/04/viz-libraries-06.png)
Вероятно, вы знаете Plotly как онлайн-платформу для визуализации данных. Но знаете ли вы, что можете использовать функционал этой платформы, подключив библиотеку? Фишка Plotly — создание интерактивных графиков. Но кроме того вам предлагаются несколько видов графиков, которые вы не найдете в большинстве других библиотек, например, контурные графики, древовидные диаграммы, 3D-диаграммы.
Leather
![](http://pythonist.ru/wp-content/uploads/2020/04/viz-libraries-10.png)
Наилучшим образом библиотеку Leather описал ее создатель, Кристофер Гроскопф: «Leather — это библиотека Python для создания графиков. Она отлично подойдет тем, кому нужен график прямо сейчас и безразлично, насколько он совершенен».
Leather работает с любыми данными. Графики производятся в формате SVG, так что у вас не возникнет проблем с изменением их размера. Поскольку эта библиотека относительно новая, над некоторыми частями документации еще ведется работа.
Графики, которые можно создать при помощи Leather, самые базовые, но это и было целью автора библиотеки.
ggplot
![](http://pythonist.ru/wp-content/uploads/2020/04/viz-libraries-03.png)
В основе библиотеки ggplot лежит ggplot2 — система для декларативного создания графиков, применяемая в сообществе языка R.
Работа ggplot отличается от работы Matplotlib: график создается при помощи нескольких слоев. То есть, вы можете добавить слой с осями координат, затем добавить точки, затем провести линию и т. д. В основе этого подхода лежат идеи из книги «The Grammar of Graphics». Задумывалось все как интуитивно понятный метод создания графиков, но разработчикам, привыкшим работать с Matplotlib, может понадобиться некоторое время, чтобы перестроиться.
Следует отметить, что если вы планируете создавать сложные графики, библиотека ggplot вам вряд ли подойдет. Здесь возможная сложность графиков принесена в жертву простоте их создания.
Ggplot тесно интегрирована с pandas, так что при использовании этой библиотеки лучше хранить данные в DataFrame.