Yagr
— это высокопроизводительный рендерер графиков, использующий технологию HTML5 canvas и основанный на библиотеке uPlot. Он обеспечивает поддержку высокоуровневых функций для графиков uPlot.
- Линии, области, столбцы и точки как типы визуализации: возможность настройки для каждой серии.
- Легенда с настраиваемыми тултипами.
- Оси с дополнительными параметрами для десятичной точности.
- Шкалы с настраиваемыми функциями диапазона и возможностью преобразования.
- Линии и полосы графика: настраиваемый слой отрисовки.
- Адаптивные графики (требуют использования API ResizeObserver).
- Поддержка стековых областей/столбцов на высоком уровне.
- Настраиваемые маркеры.
- Поддержка светлой и темной темы.
- Нормализация данных.
- Настраиваемые перекрестия, маркеры курсора и привязка.
- Typescript.
- Локализация.
- CSS-переменные для имен цветов.
- Встроенная легенда с пагинацией.
- Обработка ошибок и расширенные хуки.
- Выравнивание данных и интерполяция для отсутствующих значений.
- Обновления в режиме реального времени.
npm i @gravity-ui/yagr
import Yagr from '@gravity-ui/yagr';
new Yagr(document.body, {
timeline: [1, 2, 3, 4, 5],
series: [
{
data: [1, 2, 3, 4, 5],
color: 'red',
},
{
data: [2, 3, 1, 4, 5],
color: 'green',
},
],
});
<script src="https://unpkg.com/@gravity-ui/yagr/dist/yagr.iife.min.js"></script>
<script>
new Yagr(document.body, {
timeline: [1, 2, 3, 4, 5],
series: [
{
data: [1, 2, 3, 4, 5],
color: 'red',
},
{
data: [2, 3, 1, 4, 5],
color: 'green',
},
],
});
</script>
Конкретные примеры с применением Yagr
можно найти в папке demo/examples
. Для их запуска в вашей текущей версии выполните следующее:
- Склонируйте репозиторий.
- Установите зависимости
npm i
. - Запустите
npm run build
: - Запустите
npx http-server .
. - Откройте примеры в браузере в соответствии с выводом HTTP-сервера.