Библиотека графиков для React на базе D3 с декларативными компонентами для сборки SVG-графиков в приложениях React.
TanStack/charts
Типизированный язык описания графиков на TypeScript для адаптивной, доступной и серверной визуализации на основе модульных примитивов D3.
- Звёзды
- 848
- Форки
- 56
- Открытые issues
- 51
- Последний коммит
- 13 часов назад
Что это?
TanStack Charts — библиотека визуализации на TypeScript, в которой графики описываются как композиция меток, каналов и шкал. Метки работают напрямую с исходными массивами, объектами и итерируемыми структурами данных, поэтому приложению не нужно преобразовывать свою модель данных для построения графика. В библиотеке компактно реализованы распространённые числовые, полосовые, точечные и порядковые шкалы; при необходимости их можно заменить функциями из d3-scale с более широкими возможностями.
Библиотека охватывает и остальные аспекты работы графика: адаптивную компоновку, автоматические отступы для направляющих, темы, взаимодействие, анимацию, доступность, серверный рендеринг в SVG, гидратацию и экспорт. Описания не зависят от фреймворка и могут отображаться через React, Preact, Vue, Solid, Svelte, Angular, Lit, Alpine, Octane, обычный DOM, статический SVG или дополнительный рендерер Canvas. Метки, преобразования, компоновки и рендереры доступны в отдельных подпутях, поэтому приложение импортирует только то, что использует.
Ключевые возможности
- 01Метки принимают массивы, объекты, кортежи и итерируемые структуры данных без изменения модели данных.
- 02Компактные линейные, полосовые, точечные и порядковые шкалы с возможностью напрямую подставить реализации из d3-scale.
- 03Адаптивный размер, автоматические отступы для направляющих, темы и взаимодействие.
- 04Серверный рендеринг в SVG, гидратация и экспорт.
- 05Дополнительный рендерер Canvas позволяет уменьшить нагрузку на DOM для каждой метки.
- 06Одно описание графика работает во множестве фреймворков и в обычном DOM.
Сценарии использования
- Добавление стандартных линейных, столбчатых графиков или диаграмм с областями в приложение на React или Vue.
- Серверный рендеринг графиков для SSR-страниц или статического экспорта.
- Создание специализированных визуализаций, выходящих за рамки стандартных шаблонов графиков.
- Использование одного описания графика в нескольких фреймворках в кодовой базе с несколькими фреймворками.
Быстрый старт
- 1
Установите зависимости рабочего пространства
pnpm install - 2
Запустите песочницу интегрированной панели данных
pnpm dev:sandbox
Что важно знать
- В README описана ещё не выпущенная ветка main, которая может отличаться от опубликованной версии 1.1.0.
- Для разработки требуются Node.js 22 или новее и pnpm 11.
- Рендеринг через Canvas снижает нагрузку на DOM, но не уменьшает потребление памяти сцены и затраты на поиск ближайшей точки среди большого объёма данных в крупных интерактивных графиках.
В подборках
Темы
Частые вопросы
- Что такое charts?
- Типизированный язык описания графиков на TypeScript для адаптивной, доступной и серверной визуализации на основе модульных примитивов D3. TanStack Charts — библиотека визуализации на TypeScript, в которой графики описываются как композиция меток, каналов и шкал. Метки работают напрямую с исходными массивами, объектами и итерируемыми структурами данных, поэтому приложению не нужно преобразовывать свою модель данных для построения графика. В библиотеке компактно реализованы распространённые числовые, полосовые, точечные и порядковые шкалы; при необходимости их можно заменить функциями из d3-scale с более широкими возможностями.
- charts можно использовать бесплатно? Какая у него лицензия?
- charts распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- charts всё ещё поддерживается?
- Активно поддерживается. Последний коммит в charts — 22 окт. 2026 г..
- Для чего можно использовать charts?
- Добавление стандартных линейных, столбчатых графиков или диаграмм с областями в приложение на React или Vue. Серверный рендеринг графиков для SSR-страниц или статического экспорта. Создание специализированных визуализаций, выходящих за рамки стандартных шаблонов графиков. Использование одного описания графика в нескольких фреймворках в кодовой базе с несколькими фреймворками.
- Как установить charts?
- Установите зависимости рабочего пространства: pnpm install Запустите песочницу интегрированной панели данных: pnpm dev:sandbox
- Где скачать charts?
- Исходный код и инструкции по установке — на GitHub: https://github.com/TanStack/charts
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Бесплатная библиотека JavaScript с открытым исходным кодом для привязки данных к SVG, Canvas и HTML и создания настраиваемой визуализации данных.
Декларативная грамматика JSON для создания интерактивных визуализаций данных с выводом в HTML5 Canvas или SVG.
CLI для построения диаграмм в терминале (ASCII, спарклайны, полосы, столбцы, тепловые карты, braille и SVG) по обычному тексту с числами.
Библиотека для Rust, которая строит графики 29 типов в SVG или PNG/JPEG/WebP/AVIF без браузера.
Модульный фреймворк визуализации данных на TypeScript: диаграммы, карты и сетевые графы для React, Angular, Svelte, Vue, Solid и vanilla JavaScript.