Первые шаги в мир визуализации могут быть по-настоящему сложными. Что нужно знать с самого начала?
В статье использованы интервью с экспертами по визуализации данных Moritz Stefaner, Scott Murray, Benjamin Wiederkehr, с партнёром студии Interactive Things в сфере дизайна и технологий и экспертом в области инфографики Jan Willem Tulp, а также с программистом-дизайнером Erik Cunningham.
Количество доступных на сегодня источников данных и инструментов для их обработки само по себе уже наглядно показывает, что ещё никогда столько людей не пыталось освоиться в мире визуализации данных. А когда есть такое число материалов, доступных к изучению, один только вопрос «С чего начать?» может напугать каждого новичка. Итак, какие же библиотеки являются лучшими и что советуют профессионалы? Об этом и пойдёт речь в данной статье.
D3
Говорить о визуализации данных и не упомянуть D3 – это всё равно, что рассказывать об истории создания персональных компьютеров и ни словом не обмолвиться о Стиве Джобсе. D3 (от англ. Data Driven Documents) – это без преувеличения самая важная и доминирующая на рынке JavaScript библиотека с открытым исходным кодом, которая обычно используется для создания SVG-графиков. SVG (от англ. Scalable Vector Graphics) – это в свою очередь формат векторного изображения, поддерживаемый веб-браузерами, но ранее мало использовавшийся.
Библиотека D3 во многом обязана своей популярностью внезапному интересу к SVG со стороны веб-дизайнеров, что в значительной степени объясняется тем, как выигрышно векторные графики выглядят на экранах с большим разрешением (в частности, на Retina-дисплеях, используемых в устройствах Apple), которые становятся всё более распространёнными.
«Будем честными, если задача состоит в визуализации данных на основе SVG, то для её решения все остальные библиотеки даже рядом не стояли», – говорит Moritz Stefaner, независимый эксперт в области визуализации данных и владелец компании Truth & Beauty. «Есть также немало интересных проектов, созданных на базе D3, как, например, NVD3, который предоставляет стандартные графические компоненты – готовые к использованию, но кастомизируемые; или, скажем, Crossfilter – просто выдающийся инструмент для фильтрации данных».
Scott Murray, программист-дизайнер и автор книги Interactive Data Visualization for the Web, согласен с предыдущим мнением: «D3 обладает чрезвычайной силой, которая заключается в том, что в нём используется всё, что только могут предложить браузеры. Хотя у этого есть и обратная сторона: если браузер не поддерживает что-то, например, 3D-изображения на основе WebGL (от англ. Web Graphics Library), то и D3 это поддерживать не будет».
И хотя эта библиотека по-настоящему универсальна, она всё же не является идеальным решением для любой задачи. «Основной недостаток библиотеки D3, если можно так выразиться, состоит в том, что она не предписывает и даже не предлагает какого-то определённого подхода к визуализации», – добавляет Scott Murray. «То есть это действительно инструмент для загрузки данных в браузер с последующей генерацией DOM-компонентов на основе этих данных».
Vega
В то время как D3 представляет собой отличный инструментарий для кастомных изображений, если вы хотите создать стандартный график без особой проработки визуального аспекта, то вам может быть полезен такой инструмент как Vega. Будучи фреймворком, разработанным на базе D3, Vega предоставляет альтернативу для отображения графических компонентов. Используя Vega, можно визуализировать данные в формате JSON вместо написания D3/JavaScript кода, а затем генерировать интерактивные изображения с использованием HTML5 Canvas или SVG. Это значительно упрощает программную часть и экономит время (если, конечно, это вообще ваша зона ответственности). А кроме того, повышается возможность взаимо- и переиспользования проектов визуализации, при этом позитивно влияя на гибкость платформы.
«Если визуализация данных предполагает достаточно кастомизированный подход, то такую задачу будет трудно решить с помощью Vega и других подобных фреймворков, и в этом их недостаток», – говорит Scott Murray. «Для нестандартных решений по-прежнему лучше всего подойдёт D3».
Processing
Вот уже несколько лет Processing занимает одну из ведущих позиций в своей области. С этим инструментом относительно просто начать работу уже хотя бы потому, что он легко скачивается и устанавливается на любую платформу. Сам язык также довольно прост в освоении – достаточно одной строчки кода, чтобы уже увидеть какое-то изображение на экране.
«Processing – это язык программирования, среда разработки и онлайн комьюнити, в котором создана прекрасная среда для написания генеративных, интерактивных, анимированных приложений», – говорит Benjamin Wiederkehr, партнёр студии дизайна и технологий Interactive Things и редактор Datavisualization.ch.
Processing.js – это «родственный» проект Processing, который позволяет визуализировать данные, используя веб-стандарты и исключая необходимость в каких-либо плагинах. «Для того, чтобы начать работать с Processing, вам не нужно знать JavaScript, потому что у Processing свой собственный язык программирования», – поясняет эксперт по визуализации данных из Нидерландов Jan Willem Tulp. Как пользователь, вы просто пишете код на языке Processing, вставляете его на свою веб-страницу и спокойно позволяете Processing.js позаботиться обо всём остальном».
«Отрицательный момент ожидает вас, когда вы начнёте работать над более сложными проектами: IDE (от англ. Integrated Development Environment) покажется вам немного ограниченным», – продолжает Jan Willem Tulp.
И несмотря на это, свойственная Processing простота, а также многочисленное пользовательское сообщество, в любой момент готовое помочь тем, кто столкнулся с проблемой, сглаживают указанный недостаток и делают Processing одним из самых доступных инструментариев для визуализации данных.
Gephi
В то время как D3 и Processing предоставляют общие инструменты для различных типов визуализации, Gephi решает более конкретные задачи. Gephi – это бесплатная библиотека с открытым исходным кодом, предназначенная для сетевой визуализации. Но даже в рамках этой узкой специфики Gephi предоставляет море возможностей. Хотите ли вы смоделировать взаимоотношения сотрудников внутри компании или передачи мячей во время футбольного матча, с помощью Gephi вы сможете визуализировать подобные взаимосвязи.
Как и Processing, Gephi очень прост в установке. Сразу после установки следует непосредственно импорт данных, их сортировка, и можно приступать к визуализации. «Получившиеся изображения могут быть экспортированы и вставлены в любой веб-документ, чтобы ваша аудитория могла в дальнейшем использовать их и делиться ими в сетях», – говорит Benjamin Wiederkehr.
Dygraphs
Dygraphs – это быстрая и гибкая в использовании JavaScript библиотека с открытым исходным кодом, предназначенная для построения интерактивных графиков и позволяющая анализировать и интерпретировать очень плотные массивы данных. В отличие от Vega, библиотека Dygraphs предлагает кастомные настройки, но обладает тем же преимуществом работы во всех основных браузерах. Кроме того, Dygraphs изначально интерактивна, а это значит, что некоторые функции (например, zoom, pan или mouseover) присутствуют по умолчанию, в то время как, скажем, функция “pinch-to-zoom” на мобильных устройствах – это уже просто приятный бонус.
С чего начать?
Даже при наличии такой информации мир визуализации данных может показаться новичку тёмным лесом. Так что же советуют эксперты?
«Первое, что я бы посоветовал, это познакомиться с максимальным количеством существующих на сегодня инструментов, чтобы быстро создавать стандартные графы», – говорит Moritz Stefaner. «Особенно на начальном этапе проекта очень важно иметь возможность быстро генерировать много диаграмм с целью изучения объёма, глубины и «текстуры» данных. Лично я использую Tableau и Gephi, но помимо них ещё CartoDB, незаменимый для работы с картами, и совсем недавно появившуюся библиотеку с открытым кодом RAW, отлично подходящую для быстрого создания интересных графов».
Также необходимо убедиться, что выбранная библиотека оптимально подходит для информации, которую вам предстоит отобразить.
«Очень важно с самого начала спросить себя, с каким именно форматом данных вам предстоит работать», – говорит Scott Murray. «Задача стоит в визуализации временного отрезка? Может быть это категориальные данные? Ответы на подобные вопросы могут повлиять на ваше решение. Некоторые библиотеки, вроде D3, универсальны и могут работать с различными типами данных. Другие же более специфичны в отношении типов данных, например, Gephi или Sigma.js – инструменты, предназначенные для сетевой визуализации. Если вы знаете с самого начала, с чем вы работаете, вдумчиво выбирайте из существующих библиотек ту, которая лучше всего подойдёт для вашего типа данных».
В чём плюсы онлайн комьюнити?
Для тех, кто только начинает заниматься визуализацией данных, важным пунктом в выборе библиотеки является наличие локального комьюнити, участники которого увлечены своим делом и готовы помочь.
«Начинающим я бы посоветовал для старта библиотеки Processing или D3», – говорит Jan Willem Tulp. «Обе они располагают большой пользовательской базой и солидным числом примеров, на которых можно поучиться».
Онлайн комьюнити в сфере визуализации данных не только даёт ответы на многие вопросы, но и наглядно демонстрирует один из главных парадоксов инфографики. Каждый приходит в отрасль со своим образованием и опытом, поэтому некоторые специалисты в области визуализации данных подходят к задачам с эстетической и художественной точек зрения, в то время как другие концентрируются на статистической составляющей вопроса. Статистики отлично разбираются в больших объёмах данных, но вынуждены изучать основы дизайна. Дизайнеры знают многое о создании эстетически привлекательных изображений, но им предстоит многое узнать о статистических методах.
«В центре всего – соглашение сторон о типе визуализации», – говорит программист-дизайнер Erik Cunningham. «Если от вас ожидают научной точности, то вам нужно быть крайне осторожным в выборе способа подачи данных. Но также вполне возможно, что от вас изначально требуется нечто эстетически впечатляющее и не особо полезное с аналитической точки зрения».
До тех пор пока представленные данные точны и правильно визуализированы, любой подход имеет право на существование, но поиск различных примеров потребует от вас более глубокого изучения вашего восприятия, а также и восприятия тех, для кого вы создаёте визуализацию данных. Это не просто компромисс между использованием инструмента «с полки» для создания визуализации и использованием D3 и ему подобных инструментов для создания чего-то совершенно нового. Визуализация данных – это одновременно и искусство, и наука, поэтому кропотливая работа над идеальным балансом сыграет вам только на руку.
«Я бы посоветовал читателям узнать как можно больше о самой визуализации данных», – говорит Jan Willem Tulp. «Посмотрите на хорошие примеры работ, почитайте книги на тему, посетите некоторые онлайн-занятия. Всё дело в том, что даже если инструменты способны создать качественные изображения, в конце концов именно вы выступаете в роли дизайнера».
«Перечисленные инструменты в этом смысле – лишь средства для достижения цели».
Автор статьи: Luke Dormehl – британский журналист и писатель, документалист на каналах Channel 4 и BBC, автор недавно изданной книги The Formula, посвящённой алгоритмам и их влиянию на нашу жизнь.
Оригинал статьи: The Five Best Libraries For Building Data Visualizations.
Pingback: ТОП-5 бібліотек для інтерактивної інфографіки | Студія медіадизайну()