JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1094
  • Score
    100M100P100Q86232F
  • License MIT

A high-performance scientific charting engine for web applications.

Package Exports

  • velo-plot
  • velo-plot/angular
  • velo-plot/astro
  • velo-plot/astro/StackedPlot.astro
  • velo-plot/astro/VeloPlot.astro
  • velo-plot/full
  • velo-plot/plugins/3d
  • velo-plot/plugins/analysis
  • velo-plot/plugins/annotations
  • velo-plot/plugins/anomaly-detection
  • velo-plot/plugins/broken-axis
  • velo-plot/plugins/caching
  • velo-plot/plugins/clipboard
  • velo-plot/plugins/context-menu
  • velo-plot/plugins/data-export
  • velo-plot/plugins/data-transform
  • velo-plot/plugins/debug
  • velo-plot/plugins/forecasting
  • velo-plot/plugins/gpu
  • velo-plot/plugins/i18n
  • velo-plot/plugins/keyboard
  • velo-plot/plugins/latex
  • velo-plot/plugins/lazy-load
  • velo-plot/plugins/loading
  • velo-plot/plugins/ml-integration
  • velo-plot/plugins/offscreen
  • velo-plot/plugins/pattern-recognition
  • velo-plot/plugins/radar
  • velo-plot/plugins/regression
  • velo-plot/plugins/roi
  • velo-plot/plugins/snapshot
  • velo-plot/plugins/streaming
  • velo-plot/plugins/sync
  • velo-plot/plugins/theme-editor
  • velo-plot/plugins/tools
  • velo-plot/plugins/video-recorder
  • velo-plot/plugins/virtualization
  • velo-plot/react
  • velo-plot/scientific
  • velo-plot/solid
  • velo-plot/svelte
  • velo-plot/trading
  • velo-plot/vue

Readme

Velo Plot πŸš€

A high-performance, WebGL-powered scientific charting engine built for precision, speed, and deep interactivity. Optimized for electrochemical and scientific data visualization.

License: MIT NPM Version

✨ Features

::: tip v3 bundle entries The default import (velo-plot) is the core bundle (~51 KB gzip): line, scatter, step, band, and area charts. Candlesticks, heatmaps, analysis, and trading APIs require velo-plot/trading, velo-plot/scientific, or velo-plot/full. See Bundle Architecture. :::

  • πŸš€ High Performance: Render millions of data points at 60 FPS using a specialized raw WebGL renderer.
  • πŸ“ˆ Advanced Analysis: Built-in peak detection, integration, baseline correction, and customizable curve fitting (linear/poly/exp).
  • πŸ“Š Specialized Series: Support for Lines, Scatter (SDF symbols), Step charts, Band series, Area charts, Candlesticks (OHLC), and Stacked Charts.
  • ↕️ Multi-Axis Engine: Independent scales and units with axis-specific scrolling and zooming.
  • πŸ“ Professional Tooling: Real-time Statistics panel, Annotations (Lines/Shapes/Text), and high-fidelity SVG/PNG export.
  • 🎨 Color Schemes: 5 professional palettes with 20 colors each for multi-series charts, auto-assigned when colors aren't specified.
  • ✨ Interactive Legend: Hover over series in legend to bring to front and highlight with distinct color.
  • πŸ”Œ Extensible: Plugin System with lifecycle hooks for custom drawing and data analysis.
  • βš›οΈ Framework First: Native React support via hooks and high-level components.
  • 🎨 Dynamic Theming: Sleek built-in themes (Light/Midnight) with support for custom CSS-based skins.
  • πŸ—οΈ Modular Core: Built on a modern, decoupled architecture for maximum extendability.

πŸ› οΈ Installation

Requirements: Node.js 24+, pnpm 11+ (enforced via packageManager in package.json).

# Enable pnpm via Corepack (recommended)
corepack enable
corepack prepare pnpm@11.9.0 --activate

# Or install pnpm: https://pnpm.io/installation
pnpm add velo-plot

Development (this repo)

git clone https://github.com/jigonzalez930209/velo-plot.git
cd velo-plot
pnpm install
pnpm test
pnpm build
pnpm docs:dev

πŸš€ Quick Examples

import { VeloPlot } from 'velo-plot/react';

function App() {
  const data = {
    x: new Float32Array([0, 1, 2, 3]),
    y: new Float32Array([10, 20, 15, 25])
  };

  return (
    <div style={{ width: '800px', height: '400px' }}>
      <VeloPlot 
        series={[{ id: 's1', ...data, color: '#00f2ff' }]}
        xAxis={{ label: 'Time (s)' }}
        yAxis={{ label: 'Voltage (V)' }}
        showControls
      />
    </div>
  );
}

Vanilla JavaScript

import { createChart } from 'velo-plot';

const chart = createChart({
  container: document.getElementById('chart-container'),
  theme: 'dark',
  colorScheme: 'vibrant', // Auto-assigns colors from vibrant palette
  showLegend: true
});

// Series without explicit colors get auto-assigned from the scheme
chart.addSeries({
  id: 'signal1',
  type: 'line',
  data: { x: [...], y: [...] }
});

chart.addSeries({
  id: 'signal2',
  type: 'line',
  data: { x: [...], y: [...] }
});

// Change color scheme at runtime
chart.setColorScheme('ocean');

Multi-Series with Color Schemes

// Create chart with 20+ series - colors auto-cycle
const chart = createChart({
  container: document.getElementById('chart'),
  colorScheme: 'neon', // 'vibrant', 'pastel', 'neon', 'earth', 'ocean'
  showLegend: true
});

// Add multiple series - colors assigned automatically
for (let i = 0; i < 20; i++) {
  chart.addSeries({
    id: `series${i}`,
    name: `Dataset ${i + 1}`,
    type: 'line',
    data: generateData(i)
  });
}

// Hover over series in legend β†’ brings to front + highlights! ✨

πŸ“– Documentation

Visit Velo Plot Docs for:

πŸ—ΊοΈ Development Roadmap

The library is at v3.0.0. Roadmap: docs/roadmap/. Plugin audit: docs/PLUGIN-STATUS.md. Migration: v1β†’v2, v2β†’v3. Bundles: Architecture.

Bundle entry points

Import Gzip (approx.) Contents
velo-plot ~51 KB Core: line, scatter, step, band, plugins API
velo-plot/trading ~72 KB + candles, indicators, stacked, alerts, WebGPU
velo-plot/scientific ~114 KB + heatmap, bar, polar, analysis, 3D, LaTeX
velo-plot/full heavier Everything
velo-plot/react β€” VeloPlot, StackedPlot, hooks
velo-plot/vue β€” VeloPlot, composables
velo-plot/svelte β€” hooks + Svelte components
velo-plot/solid β€” VeloPlot, hooks
velo-plot/angular β€” components + services
velo-plot/astro β€” island wrappers
velo-plot/plugins/* varies Individual plugins (tree-shakeable)

Full guide: Bundle Architecture

πŸ“„ License

MIT Β© jigonzalez930209