For a low-level charting library for custom data visualizations, the first results are d3/d3, vega/vega (Vega is a declarative visualization grammar that gives you fine-grained control over marks, scales, and transforms, making it ideal for building custom data visualizations with SVG and Canvas rendering—exactly the low-level library this search is after) and observablehq/plot (Observable Plot is a grammar-of-graphics library that lets you build charts by declaratively mapping data to visual marks, offering low-level control over scales and compositions suited for custom, code-driven visualizations rather than pre-configured charts). highcharts/highcharts and greensock/greensock-js round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
These libraries provide granular control for building bespoke data visualizations and complex graphical interfaces from scratch.
D3 is a modular library providing low-level primitives for creating data-driven visualizations. It functions as a flexible framework that allows for direct control over visual presentation by mapping abstract data dimensions to graphical properties, such as position, color, and size, without imposing predefined chart abstractions. The library distinguishes itself by offering specialized tools for complex data representation, including algorithmic layouts for hierarchical structures and geographic projection utilities for mapping spherical coordinates. It also includes a comprehensive suite fo
D3 is a modular, low-level library that provides fine-grained primitives for data-driven SVG and Canvas rendering, declarative data binding, custom marks, transitions, and interactive event handling — exactly the flexible, un-opinionated toolkit for building custom visualizations you're looking for.
Vega is a reactive visualization engine that translates structured specifications into interactive, browser-based graphical representations. It functions as a declarative grammar for data visualization, allowing users to define complex charts and maps through a JSON-based configuration format rather than imperative code. The system operates on a dataflow-based reactive graph that automatically propagates updates through the visualization whenever input data or user interactions change. By integrating a modular transformation pipeline, the engine handles data filtering, sorting, and aggregatio
Vega is a declarative visualization grammar that gives you fine-grained control over marks, scales, and transforms, making it ideal for building custom data visualizations with SVG and Canvas rendering—exactly the low-level library this search is after.
This is a grammar of graphics visualization library used to build charts by mapping tabular data to visual marks. It functions as an SVG data visualization tool and an exploratory data analysis API, allowing users to render complex visualizations and geographic maps. The library features a GeoJSON map renderer that projects spherical coordinates into two-dimensional pixel space and an Apache Arrow visualization interface for high-efficiency data processing. Its capability surface covers data transformation through binning and grouping, visual encoding via automatic scale inference and color
Observable Plot is a grammar-of-graphics library that lets you build charts by declaratively mapping data to visual marks, offering low-level control over scales and compositions suited for custom, code-driven visualizations rather than pre-configured charts.
Highcharts is a JavaScript charting library and interactive data visualization framework used to render complex datasets as visual charts and maps. It functions as a customizable SVG charting engine that produces scalable vector graphics for data series. The library allows for the creation of interactive data visualizations with configurable colors, labels, and themes. It also provides a cross-platform visualization wrapper to embed these web-based charts into native iOS and Android mobile applications. The toolkit supports the development of custom dashboards and provides options to build c
Highcharts is a high-level charting library that provides pre-configured chart types and a rich configuration API, which is the opposite of the low-level, fine-grained rendering control you want—it fits the charting domain but at the wrong abstraction level.
GreenSock-JS is a JavaScript animation library and framework designed for animating CSS properties, SVG attributes, and JavaScript values. It functions as a scroll-driven animation engine and a sequencing system for coordinating multiple animations into a single timeline for precise execution across web browsers. The project provides tools for creating interactive scroll effects by linking animation progress to a user's scroll position. It also includes a responsive animation framework that adjusts behaviors and timing based on media queries to maintain consistency across different device scr
GreenSock (GSAP) is an animation library for CSS properties and SVG attributes, not a charting library — it lacks data binding, chart primitives, and any data-visualization rendering pipeline, so it is only a supporting building block for chart animations rather than the low-level charting tool this search targets.
This project is a declarative animation library and high-performance engine designed for creating fluid, interactive vector motion graphics on the web. It provides a specialized framework for defining, rendering, and orchestrating complex visual sequences, including custom geometric shapes and dynamic property transitions. The library distinguishes itself through a robust particle system framework that generates explosive or organic visual effects by emitting multiple shapes with randomized trajectories and paths. It utilizes a master timeline controller to synchronize independent animation i
mojs is an animation engine for vector motion graphics, not a charting or data visualization library—it offers no declarative data binding or chart primitives, so it's a motion-graphics building block rather than the low-level charting tool you need.
Velocity is a JavaScript animation library used to create high-performance CSS and SVG animations. It functions as a CSS property interpolator and a spring physics engine, enabling the creation of smooth visual transitions and organic movement for web elements. The project provides a programmatic interface for modifying vector attributes and 3D transformations through its SVG animation framework. It further distinguishes itself as an animation sequence orchestrator, allowing for the chaining of movements and the staggering of start times across multiple elements using promises. The library c
Velocity is a high-performance animation library for CSS and SVG, not a charting or data visualization library; it lacks the core charting primitives, data binding, and rendering options required for building low-level chart visualizations.
signature_pad is a JavaScript library and drawing tool for capturing handwritten digital signatures on an HTML5 canvas. It provides a handwriting capture interface that transforms raw mouse or touch inputs into smooth, professional-looking lines. The project uses Bézier curve interpolation to smooth jagged input points into fluid strokes. It supports the configuration of drawing aesthetics, including pen color, background color, and line width, and includes a history management system for undoing and restoring drawing actions. The library handles the serialization of signature data into poin
Signature_pad is a specialized digital signature capture library on HTML5 Canvas, not a low-level charting or data visualization library — it lacks declarative data binding, SVG rendering, custom marks/primitives, and the composable, animation-friendly architecture needed for custom chart construction.
Konva is an object-oriented HTML5 canvas framework designed for building interactive 2D graphical applications. It provides a hierarchical scene graph that organizes shapes, images, and text into manageable nodes, groups, and layers. By mapping application state to canvas elements, the library enables developers to create complex visual interfaces using declarative patterns that synchronize with modern component-based frameworks. The library distinguishes itself through a robust event system that supports hit detection, bubbling, and direct manipulation of graphical objects, such as dragging,
Konva is a 2D canvas framework for interactive graphics, not a charting library — you’d need to build data-to-visual mappings from scratch, so it lacks the declarative data binding and SVG support your search requires.
Hellocharts-android is a data visualization library and charting framework for Android applications. It provides a collection of custom view components used to render datasets as visual elements, such as line, column, and pie charts. The library supports interactive visualizations that allow users to navigate data through touch gestures, including pinching, scrolling, and panning. It also includes built-in capabilities for animating data points and chart elements to create smooth visual transitions during dataset updates. The framework covers a broad range of visualization needs, including c
Hellocharts-android is an Android-specific charting library offering predefined line, column, and pie chart views with touch interaction and animation, but it does not provide the fine-grained, low-level control over rendering primitives, declarative data binding, or SVG/Canvas composability that a flexible low-level charting library requires.
Macaw is a Swift vector graphics library and animation framework used to create and render scalable geometric shapes and text. It functions as an SVG rendering engine and an interactive vector graphics toolkit for displaying complex artwork while maintaining image quality at any scale. The framework enables the animation of shape properties and node transformations, including the ability to morph one vector path into another. It allows for the integration of external SVG files and the application of linear and radial gradients to fills and strokes. The toolkit covers a range of capabilities
Macaw is a Swift vector graphics and animation library (not a charting library) that provides low-level drawing primitives and SVG rendering, making it a building block you could use to build custom visualizations, but it lacks chart-specific features like declarative data binding, scales, or axes.
DearPyGui is a hardware-accelerated Python GUI framework and graphics rendering engine. It operates as an immediate mode user interface system, rendering frames from scratch to ensure high performance and minimal state management for desktop applications. The project functions as a GPU-accelerated plotting library capable of rendering millions of data points with high frame rates. It also serves as a node editor toolkit for constructing interactive graph-based interfaces to manage visual data flows. The framework includes capabilities for custom 2D graphics rendering, interface theme customi
DearPyGui is an immediate-mode GUI framework that includes GPU-accelerated plotting and custom 2D rendering, but it is not a dedicated charting library—its primary identity is a desktop GUI toolkit, so you would adopt a full UI framework alongside the charting capabilities rather than a focused, modular building block for custom visualizations.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| d3/d3 | 113.1K | Shell | ISC | |
| vega/vega | 11.8K | JavaScript | bsd-3-clause | |
| observablehq/plot |
| 5.3K |
| HTML |
| ISC |
| highcharts/highcharts | 12.5K | TypeScript | NOASSERTION |
| greensock/greensock-js | 25.9K | JavaScript | — |
| mojs/mojs | 18.7K | CoffeeScript | MIT |
| julianshapiro/velocity | 17.2K | JavaScript | MIT |
| szimek/signature_pad | 12K | TypeScript | MIT |
| konvajs/konva | 14.1K | TypeScript | other |
| lecho/hellocharts-android | 7.6K | Java | Apache-2.0 |