5 самых популярных библиотек Python для визуализации данных

0
27
views

Язык Python широко применяется для работы с данными. Стоит ли удивляться, что в его экосистеме можно найти большое количество библиотек, предназначенных для визуализации данных, т. е., построения графиков и диаграмм. Сайт pythonist.ru опубликовал краткий обзор пяти самых популярных библиотек в этой сфере. Представляем этот список вашему вниманию.

Matplotlib

Гистограммы, созданные при помощи Matplotlib

Matplotlib это библиотека для визуализации данных, написанная на языке Python. Впервые она была выпущена еще 17 лет назад, но по-прежнему широко используется для создания графиков в сообществе Python. При создании этой библиотеки ее автор вдохновлялся MATLAB — проприетарным языком программирования, разработанным в 1980-х годах.

Поскольку Matplotlib стала первой библиотекой Python для визуализации данных, многие другие библиотеки создавались на ее основе или для использования в комбинации с ней. Некоторые из них, например, pandas и Seaborn, являются по сути врапперами Matplotlib. Они позволяют получить доступ к многочисленным методам matplotlib при помощи меньшего количества кода.

Хотя Matplotlib вполне подходит для того, чтобы разобраться в полученных данных, она не слишком хороша для быстрого и легкого создания готовых к публикации диаграмм. Как указывает Крис Моффит в своем обзоре инструментов визуализации Python, Matplotlib — «очень мощная библиотека, но при этом и сложная».

Matplotlib часто критиковали за ее дефолтный стиль, явно воскрешающий в памяти стили 1990-х. Но в новых релизах библиотеки для исправления этой проблемы было внесено много изменений.

Seaborn

Скрипичный график, созданный при помощи Seaborn

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

Plotly

Линейный график, созданный при помощи Plotly

Вероятно, вы знаете Plotly как онлайн-платформу для визуализации данных. Но знаете ли вы, что можете использовать функционал этой платформы, подключив библиотеку? Фишка Plotly — создание интерактивных графиков. Но кроме того вам предлагаются несколько видов графиков, которые вы не найдете в большинстве других библиотек, например, контурные графикидревовидные диаграммы3D-диаграммы.

Leather

Сетка диаграммы с согласованными шкалами; создана при помощи Leather

Наилучшим образом библиотеку Leather описал ее создатель, Кристофер Гроскопф: «Leather — это библиотека Python для создания графиков. Она отлично подойдет тем, кому нужен график прямо сейчас и безразлично, насколько он совершенен».

Leather работает с любыми данными. Графики производятся в формате SVG, так что у вас не возникнет проблем с изменением их размера. Поскольку эта библиотека относительно новая, над некоторыми частями документации еще ведется работа.

Графики, которые можно создать при помощи Leather, самые базовые, но это и было целью автора библиотеки.

ggplot

Графики, созданные при помощи библиотеки ggplot

В основе библиотеки ggplot лежит ggplot2 — система для декларативного создания графиков, применяемая в сообществе языка R.

Работа ggplot отличается от работы Matplotlib: график создается при помощи нескольких слоев. То есть, вы можете добавить слой с осями координат, затем добавить точки, затем провести линию и т. д. В основе этого подхода лежат идеи из книги «The Grammar of Graphics». Задумывалось все как интуитивно понятный метод создания графиков, но разработчикам, привыкшим работать с Matplotlib, может понадобиться некоторое время, чтобы перестроиться.

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

Ggplot тесно интегрирована с pandas, так что при использовании этой библиотеки лучше хранить данные в DataFrame.

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here