О проекте Vega

Работая над визуализацией данных, мы много лет создавали инструменты, помогающие проектировать сложную графику, в том числе Prefuse, Protovis и D3.js. Однако визуализации, написанные вручную опытными разработчиками, скорее исключение. Большинство графиков создают в приложениях для конечных пользователей: электронных таблицах и системах бизнес-аналитики. Эти инструменты полезны, но часто недостаточно поддерживают итеративный и интерактивный анализ данных. Более совершенные инструменты помогли бы большему числу людей создавать понятные визуализации и лучше разбираться в своих данных.

Цель проекта Vega — развивать экосистему удобных и совместимых инструментов для разных задач: от исследовательского анализа данных до передачи результатов с помощью собственных визуализаций.

Ради этой цели мы создаём не отдельную программу, а набор инструментов для интерактивной визуализации данных. В его основе лежит грамматика визуализации Vega. Подобно тому как SQL позволяет описывать запросы к базам данных, Vega предоставляет декларативный язык для описания визуализаций. Спецификации Vega содержат преобразования данных и правила визуального кодирования, необходимые для создания самых разных графиков. Среда выполнения Vega, опираясь в том числе на D3, разбирает спецификации в формате JSON и строит интерактивную графику для браузера. Особенность Vega — декларативное описание взаимодействия: вместо запутанного кода обработчиков событий ввод пользователя, например движения мыши и касания, рассматривается как поток данных, который вызывает реактивные обновления визуализации.

Vega полезна и сама по себе: например, с её помощью создают визуализации на страницах Википедии. Но главная задача проекта — служить основой для инструментов более высокого уровня. Vega предоставляет формальный язык и вычислительный формат для представления и анализа визуализаций. Это удобный и мощный способ писать программы, создающие визуализации, от интерактивных редакторов до систем автоматических рекомендаций диаграмм. Благодаря производительной среде выполнения Vega может выступать «языком ассемблера» для визуализации, позволяя другим инструментам сосредоточиться на проектировании, а не на низкоуровневой реализации.

Узнать больше

Раздел Описание
Видео Записи выступлений о Vega и смежных темах.
Проекты Языки, инструменты и модели, построенные на Vega.
Исследования Научные публикации проекта Vega.
Vega и D3 Связь между Vega и D3.
Кодекс поведения Правила общения, помогающие поддерживать открытое сообщество.