Воспользуйтесь преимуществами конвергенции и интеграции инструментов визуализации

Сегодня в визуализации данных мы видим постоянно растущую способность расширять и взаимодействовать с нашими предпочтительными инструментами. Одну из таких тенденций в нашей программной экосистеме описал Элайджа Микс в статье Визуализация данных 3-й волны. Независимо от того, является ли наш выбор инструментом R, Tableau, d3.js или другим из множества инструментов, то, что вы можете делать в каждом из этих инструментов, кажется, растет, интегрируется и перекрывается с каждым днем. Я придерживаюсь мнения, что это хорошо. Такое совпадение помогает сделать бизнес-панели мониторинга более удобными, а пользовательские истории данных - более доступными и, в конечном итоге, позволяет более широкому кругу пользователей прийти к (надеюсь) хорошей (или отличной!) Визуализации данных.

Это подводит меня к одной из моих текущих задач сообщества визуализации данных (и таблиц): дать возможность специалистам по визуализации данных использовать правильный инструмент для работы (по крайней мере, в отношении некоторых из моих любимых инструментов) . Что я имею в виду? Я имею в виду множество уже существующих решений с открытым исходным кодом, которые могут помочь решить некоторые проблемы или сложные обходные пути, с которыми мы можем столкнуться в наших предпочтительных программных инструментах.

Это мое путешествие подтолкнуло меня к обеспечению значительной интеграции и перекрестных возможностей между некоторыми из моих любимых инструментов, Tableau, React и d3.js. Эти интеграции - это то, над чем мы с моим хорошим другом Тамасом Фолди работали и продвигали в экосистеме Tableau в течение некоторого времени.

Мне до сих пор нравится наше вымышленное слово Vizception для этого наслоения инструментов, внутри инструментов, внутри инструментов и так далее. В качестве примера приведу изображение из проекта Тамаса и моего проекта 2016 года, которое демонстрирует техническую возможность наложить представление Tableau на слои внутри макета d3.js force на панели Tableau Dashboard. Почти два года спустя Tableau выпустила свой Extension API как часть своей версии 2018.2.

Частые выпуски функций во многих инструментах сделали его более простым, более одобренным и официально поддерживаемым для этого типа наслоения и интеграции инструментов. Очевидно, что я предвзято и пристрастен к Tableau, поэтому на сегодня сфокусируюсь на нем, но вы также увидите, что аналогичные типы возможностей реализуются в ряде других крупных инструментов в пространстве Business Intelligence (BI).

В качестве дополнительного контекста вот еще один анекдот из моего опыта, который, надеюсь, продемонстрирует ценность, которую мы можем достичь с помощью этой расширенной интеграции инструментов.

Один из моих самых популярных блогов и визуализаций Tableau - это мое собственное генеалогическое древо, показанное здесь и найденное в моем профиле Tableau Public.

Я был (и до сих пор горжусь) этим проектом, который позволил моей маме легче ориентироваться в исследованиях нашей семейной генеалогии. Этот проект был для меня очень увлекательным, но в то время он был чрезвычайно сложным и занимал много времени в экосистеме Tableau, как вы можете видеть в моем подробном блоге, опубликованном на DataBlick. TL; DR, я закончил предварительную обработку каждой перестановки своего генеалогического древа, соответствующего дерева предков и потомков каждого члена семьи с помощью рекурсивного алгоритма, который я собрал вместе. Это позволило мне включить функции детализации и макет, которые вы все еще можете испытать в представлении сегодня.

Что изменилось со времени этой исходной публикации? Какое отношение это имеет к использованию правильного инструмента для работы? Что ж, теперь мы можем преодолеть разрыв, связанный с отсутствием макетов иерархии или простого способа использовать рекурсию из коробки в Tableau. Я знаю только одного человека, Ноя Сальватерра, который на самом деле построил рекурсию в Tableau. Это довольно сложная и невероятная работа в Tableau, но рекурсию гораздо проще реализовать в JavaScript.

Что касается моего анекдота выше, существует ряд инструментов, которые в конечном итоге используют невероятную функциональность d3.js Майка Бостока для построения иерархической визуализации данных. Одно из моих любимых произведений в этой области - Семиотика Элайджи Микс. Таким образом, вместо того, чтобы пытаться выяснить, как показать пользователю Tableau, как рекурсивно предварительно обрабатывать сотни или тысячи древовидных макетов, а затем использовать расширенные методы уплотнения данных и разделения на слои в Tableau, мы можем вызвать звуковой сигнал и предоставить пользователю прямую возможность отображать свои иерархические данные в визуализацию иерархии по своему выбору.

Это требует работы, которая изначально занимала у меня недели, может быть, даже месяцы, и делает ее чем-то, что можно выполнить менее чем за пять минут без кода и / или дополнительных формул Tableau, необходимых пользователю. Это дополнительно проиллюстрировано на гифке ниже.

Одна вещь, о которой я думаю, мы должны помнить при использовании инструментов внутри инструментов, таких как пример выше, показывающий Семиотику в Tableau, - это влияние, которое это потенциально может оказать на опыт наших конечных пользователей. Мы не хотим, чтобы у наших конечных пользователей возникло ощущение, что они внезапно перескочили с одного программного обеспечения на другое (даже если они это сделали). Пытаясь иметь это в виду, одной из целей моей интеграции Tableau было попытаться встретить пользователя Tableau там, где он находится. Стремление к тому, чтобы пользователь Tableau чувствовал, что эти расширенные функции являются частью функциональности Tableau.

За кулисами программное обеспечение по-прежнему отделено, и если нам нужны новые или дополнительные функции в наших расширениях, мы должны запросить это у людей или групп, которые их создают. Иногда это также может привести к тому, что такие поставщики, как Tableau, также должны будут расширить свои возможности интеграции. Выпуск Tableau’s Extensions API и аналогичных функций в других инструментах бизнес-аналитики действительно открыл некоторые двери для меня и других разработчиков, таких как Tamas Foldi, Merlijn Buit и многих других.

На мой взгляд, следующий большой скачок специально для Tableau произойдет, когда расширения будут более широко разрешены, используются и распространяются через Tableau Public. Этот шаг значительно упростит разработчикам расширений совместную работу, создание, совместное использование и улучшение своей работы. Эти вклады стимулируют ту форму конвергенции инструментов визуализации данных, которая происходит сегодня.

Хотя приведенный выше контент и примеры основаны на моем опыте работы с Tableau, происходящие сегодня интеграции и многоуровневые инструменты выходят далеко за рамки Tableau и D3. Вот недавний отрывок из статьи Nightingale, в которой обсуждается вариант использования инструментов визуализации данных JavaScript в R.

«Я думаю, что будущее визуализации в R фундаментально и неразрывно связано с визуализацией в JavaScript. И на самом деле речь идет о том, как установить эту связь между всеми действительно красивыми визуализациями в JavaScript и интерактивностью, разрешенной JavaScript, и действительно создать прочную бесшовную связь с R, чтобы вы могли получить лучшее из обоих миров ».

- Хэдли Уикхэм, главный научный сотрудник RStudio.

Это заставляет меня задаться вопросом, является ли Визуализация данных 3-й волны еще одним способом сказать, что мы движемся к возможности повсеместно использовать JavaScript. Например, на данный момент мы уже можем использовать JavaScript в Tableau, MicroStrategy, Power BI, R, Jupyter Notebooks и, я уверен, во многих других…

На момент написания этой статьи у меня есть несколько расширений Tableau (в дополнение к Semiotic Hierarchy, показанной выше) с открытым исходным кодом, которые доступны либо в Галерее расширений Tableau, либо на Портале сообщества, включая:

Шань Хэ описывает Kepler.gl как мощный инструмент геопространственного анализа с открытым исходным кодом для крупномасштабных наборов данных. Это расширение позволяет пользователю Tableau Desktop или Server использовать Kepler.gl непосредственно в Tableau. Подробнее о расширении вы можете узнать здесь.

React Annotation от Susie Lu - это надежная библиотека с открытым исходным кодом, которая значительно упрощает создание и включение аннотаций в вашу работу. Это расширение позволяет пользователю Tableau Desktop или Server легко добавлять один или несколько слоев аннотаций на свои панели Tableau Dashboards. Подробнее о расширении вы можете узнать здесь.

D3.js предоставляет обширный набор картографических проекций с открытым исходным кодом. Это расширение использует d3 вместе с некоторыми общими методами, чтобы позволить пользователю Tableau Desktop или Server выйти за рамки проекции карты Web Mercator. Вы можете узнать больше об этом расширении на Портале сообщества Tableau.

Все эти расширения построены на основе программного обеспечения с открытым исходным кодом, и в большинстве случаев создатели этих библиотек помогли мне с интеграцией Tableau, быстрое спасибо каждому из них за их готовность помочь мне. Я также должен поблагодарить Tamas Foldi и Abraham Szilagyi за их помощь в создании интеграции Tableau для этих расширений.

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