Protovis

Бесплатно
Открытый исходный код

Сайт: mbostock.github.io/protovis

Protovis — JavaScript-библиотека для декларативной визуализации данных, ориентированная на создание статических и интерактивных графических представлений с использованием SVG. Разработка библиотеки велась с целью упрощения процесса построения визуализаций через декларативные описания графических примитивов и их компоновки, где элементы и их свойства задаются как функции от данных. Архитектура Protovis подразумевает композицию визуальных компонентов, связывание атрибутов с данными и поддержку простых взаимодействий.

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

  • Декларативная модель: визуальные элементы и их атрибуты описываются как функции от входных данных, что упрощает преобразование данных в представления.
  • Композиция компонентов: поддержка вложенных панелей и повторяющихся элементов для построения сложных композиций из простых примитивов.
  • SVG-рендеринг: вывод графики преимущественно через SVG, обеспечивающий масштабируемость и совместимость с веб-стандартами.
  • Простые взаимодействия: базовая поддержка событий и реакций на пользовательские действия, достаточная для прототипов и небольших интерактивных диаграмм.
  • Гибкая настройка визуальных атрибутов: возможность задавать стили, цвета, размеры и положения через вычисляемые функции.
  • Подход к визуализации данных: ориентированность на преобразование массивов данных в повторяющиеся графические элементы с минимальной императивной логикой.
  • Ограничения и статус: проект больше не развивается; многие расширения и новые идеи были перенесены или переработаны в последующих библиотеках.
Подробнее