WebGL Charts
Chart.ts includes a WebGL rendering engine that auto-activates at 100k+ data points. The @chartts/gl package adds 13 dedicated 3D chart types. GPU-accelerated for millions of data points at interactive frame rates. Automatic fallback to SVG for smaller datasets.
$
npm install @chartts/glexample.tsx
import { Scatter3D, SurfacePlot, Globe3D } from "@chartts/gl"
// WebGL auto-activates for large datasets
const chart = scatter({
data: largeDataset, // 500k points
x: "time",
y: "value",
renderer: "webgl", // or "auto" (default)
})
// 3D chart types with orbit controls
import { Scatter3D } from "@chartts/gl"
<Scatter3D
data={measurements}
x="temperature"
y="pressure"
z="yield"
colorBy="catalyst"
className="h-96"
orbit // drag to rotate
picking // click to select points
/>Features
GPU-accelerated rendering for 100k+ data points at 60fps
13 dedicated 3D chart types (Scatter3D, Surface3D, Bar3D, Globe3D, Map3D, and more)
Auto-switching: SVG for small data, WebGL at 100k+ points
Orbit controls with drag-to-rotate and scroll-to-zoom
Picking and hit detection for interactive 3D selections
Dual canvas system: WebGL data layer + HTML overlay for labels
Works with React, Vue, Svelte, Solid, Angular