Blazing Fast Performance
Render 10M+ data points at 60 FPS using native WebGL. No canvas limitations, no performance bottlenecks.
Trading dashboards and scientific precision at 60 FPS. Now in 3.0 RC.
This chart automatically syncs with the documentation theme. Try toggling dark/light mode!
Scroll to zoom • Drag to pan • Right-drag for box zoom
npm install velo-plot
# or
pnpm add velo-plotimport { createChart } from 'velo-plot'
const chart = createChart({
container: document.getElementById('chart'),
xAxis: { label: 'Time', auto: true },
yAxis: { label: 'Value', auto: true },
})
// Add data
chart.addSeries({
id: 'my-series',
type: 'line',
data: {
x: new Float32Array([0, 1, 2, 3, 4]),
y: new Float32Array([0, 1, 4, 9, 16]),
},
style: { color: '#00f2ff' },
})import { VeloPlot } from 'velo-plot/react'
function MyChart() {
const series = [{
id: 'data',
x: new Float32Array([0, 1, 2, 3, 4]),
y: new Float32Array([0, 1, 4, 9, 16]),
color: '#00f2ff',
}]
return (
<VeloPlot
series={series}
xAxis={{ label: 'Time', auto: true }}
yAxis={{ label: 'Value', auto: true }}
height="400px"
/>
)
}| Feature | Velo Plot | Chart.js | Plotly |
|---|---|---|---|
| Max Points (60 FPS) | 10M+ | ~10k | ~100k |
| Rendering | WebGL | Canvas 2D | SVG/WebGL |
| Bundle Size | ~50KB | ~200KB | ~3MB |
| TypedArray Support | ✅ Native | ❌ | Partial |
| React Support | ✅ First-class | Plugin | ✅ |
| Real-time Streaming | ✅ Optimized | ⚠️ Limited | ⚠️ Limited |