Vega — декларативный язык описания визуализаций данных, разработанный для создания интерактивных и статических графиков в веб-среде. Он задаёт представление данных и правила визуального отображения в виде структурированных спецификаций на базе JSON, которые затем интерпретируются визуализационной системой для рендеринга с использованием Canvas или SVG. Vega служит промежуточным уровнем между низкоуровневыми API рисования и высокоуровневыми инструментами, предоставляя формальные примитивы для описания данных, преобразований, шкал, осей, маркеров и взаимодействий.
Проект возник как попытка формализовать и стандартизировать способ задания визуализаций, облегчая воспроизводимость и переносимость графиков между приложениями. Vega поддерживает декларативную модель, где спецификация описывает «что» должно быть показано, а не «как» рисовать, и включает механизмы для обработки событий и интерактивности, что делает её пригодной как для аналитических панелей, так и для образовательных и научных визуализаций. На основе Vega были созданы более высокоуровневые библиотеки, использующие её спецификации как основу для упрощённого создания распространённых типов графиков.
- Декларативность: визуализация описывается в виде JSON-спецификации без императивного кода рендеринга.
 - Поддержка Canvas и SVG: реализация рендеринга допускает использование различных технологий вывода для разных целей.
 - Преобразования данных: встроенные операции для агрегации, фильтрации, биннинга и вычисляемых полей.
 - Шкалы и оси: гибкая настройка шкал, форматирования и отображения координатных систем.
 - Марки и слои: описания примитивов (точки, линии, столбцы и т.д.) и их композиция для сложных визуализаций.
 - Интерактивность: события, селекции и трансформации, позволяющие создавать отклики на пользовательские действия.
 - Переиспользуемость: спецификации можно сохранять, передавать и повторно использовать в разных приложениях.
 - Совместимость с инструментами: служит основой для высокоуровневых библиотек и конструкторов визуализаций.
 - Портируемость: человеко-читаемый формат JSON облегчает генерацию и преобразование спецификаций программными средствами.
 - Расширяемость: архитектура позволяет добавлять новые типы трансформаций и рендеринговые стратегии.