Skip to content

API Reference

SciChart Engine provides a comprehensive API for creating high-performance scientific charts.

Core Modules

Chart Creation

FunctionDescription
createChart(options)Create a new chart instance

Series Management

MethodDescription
chart.addSeries(options)Add a new data series
chart.updateSeries(id, data)Update series data
chart.removeSeries(id)Remove a series
chart.getSeries(id)Get a series by ID
chart.getAllSeries()Get all series

View Control

MethodDescription
chart.zoom(options)Programmatic zoom
chart.pan(deltaX, deltaY)Programmatic pan
chart.resetZoom()Reset to auto-scale
chart.autoScale()Fit view to data
chart.getViewBounds()Get current view bounds

Interactions

MethodDescription
chart.enableCursor(options)Enable crosshair cursor
chart.disableCursor()Disable cursor
chart.tooltipTooltip system manager

Events

EventDescription
renderFired after each frame render
zoomFired when view bounds change
panFired during panning
resizeFired when chart resizes

Lifecycle

MethodDescription
chart.resize(width?, height?)Manually resize chart
chart.render()Force a render
chart.destroy()Clean up resources
chart.use(plugin)Load a plugin
chart.getPlugin(name)Get a plugin instance

Core Plugins

Many high-level features are provided as plugins. Load them using chart.use().

PluginFeatures
PluginToolsTooltips, Delta Tool, Peak Tool
PluginAnalysisFFT, Regression, Smoothing
PluginAnnotationsLines, Shapes, Text
PluginPatternRecognitionDetect chart patterns (Head & Shoulders, etc.)
PluginStreamingReal-time WebSocket streaming
PluginGpuWebGPU & GPGPU acceleration
StatsPluginReal-time statistics panel
PluginDataTransformReal-time data transformation pipeline
PluginLoadingCustom loading indicators
PluginROISelection tools (Rectangle, Lasso, Polygon)
PluginVirtualizationRender massive datasets (10M+ points)
PluginOffscreenRendering in background Workers
PluginExportSnapshots, Video recording, Data export
DirectionIndicatorPluginReal-time trend arrows

Annotations

MethodDescription
chart.addAnnotation(annotation)Add an annotation
chart.removeAnnotation(id)Remove an annotation
chart.updateAnnotation(id, updates)Update an annotation
chart.getAnnotation(id)Get an annotation by ID
chart.getAnnotations()Get all annotations
chart.clearAnnotations()Clear all annotations

Annotation Types:

  • horizontal-line - Horizontal line with optional label
  • vertical-line - Vertical line with optional label
  • rectangle - Rectangular region
  • band - Horizontal or vertical band/region
  • text - Text annotation with customizable style
  • arrow - Arrow with head customization

View full Annotations API →

Step Charts

Step charts display data as "stair-step" patterns - ideal for discrete data.

TypeDescription
stepStep line chart
step+scatterStep chart with point markers

Step Modes:

  • after - Step after the point (default)
  • before - Step before the point
  • center - Step at midpoint

View Step Charts documentation →

Data Export

MethodDescription
chart.exportCSV(options?)Export data to CSV format
chart.exportJSON(options?)Export data to JSON format
typescript
// Quick export
const csv = chart.exportCSV();
const json = chart.exportJSON();

// With options
const csv = chart.exportCSV({
  seriesIds: ['current'],
  precision: 4,
  delimiter: '\t'
});

View Data Export documentation →

Error Bars

Visualize uncertainty, variability, or confidence intervals in your data.

Error Data Types:

  • yError - Symmetric Y error (±value)
  • yErrorPlus / yErrorMinus - Asymmetric Y error
  • xError - Symmetric X error (horizontal)
  • xErrorPlus / xErrorMinus - Asymmetric X error

Styling Options:

typescript
errorBars: {
  color: '#00f2ff',
  width: 1.5,
  capWidth: 8,
  showCaps: true,
  opacity: 0.7,
  direction: 'both'  // 'both' | 'positive' | 'negative'
}

View Error Bars documentation →

Scatter Symbols

Multiple marker shapes for scatter plots, rendered via optimized shaders.

Supported Shapes:

  • circle (default), square, diamond
  • triangle, triangleDown
  • cross, x, star

Usage:

typescript
style: {
  symbol: 'star',
  pointSize: 10,
  color: '#ff4d4d'
}

View Scatter Symbols documentation →

Tooltip System

Advanced, high-performance tooltips with multi-series support, scientific notation, and smooth animations.

Tooltip Modes:

  • dataPoint - Snap to nearest data point
  • crosshair - Multi-series vertical tracking
  • heatmap - Cell-specific intensity display

Themes:dark, light, glass (translucent), midnight (blue), neon (vibrant), minimal.

View Tooltip System documentation →

Gauge & Sankey

Nuevos tipos de visualización altamente especializados para KPIs y flujos.

TipoDescripciónDocumentación
gaugeDiales y medidores de agujaGauge Charts
sankeyDiagramas de flujo de SankeySankey Diagrams

Ver todos los tipos de Series →

React API

ExportDescription
SciChartReact component
useSciChartReact hook for imperative control

Data Analysis

FunctionDescription
detectCycles()Detect cycles in oscillating data
detectPeaks()Find local maxima/minima
calculateStats()Basic statistics
movingAverage()Smooth data
downsampleLTTB()Reduce point count
validateData()Check for invalid values

TIP

These functions are available as standalone utilities or via chart.analysis after loading the PluginAnalysis.

Theming

ExportDescription
DARK_THEMEDark theme preset
LIGHT_THEMELight theme preset
MIDNIGHT_THEMEMidnight blue theme
createTheme()Create custom theme

Utilities

FeatureDescriptionLink
KeyboardShortcut managementKeyboard API
I18nLocalization & LocalesI18n API
ClipboardCopy data to systemClipboard API
VideosRecord chart animationsVideo Recorder
StreamingReal-time data feedsStreaming API
GPUHardware accelerationGPU & WebGPU

Types

typescript
// Core types
type SeriesType = 'line' | 'scatter' | 'both'
type ScaleType = 'linear' | 'log'

interface Bounds {
  xMin: number
  xMax: number
  yMin: number
  yMax: number
}

interface Point {
  x: number
  y: number
}

// Series types
interface SeriesData {
  x: Float32Array | Float64Array
  y: Float32Array | Float64Array
}

interface SeriesStyle {
  color?: string
  width?: number
  pointSize?: number
  smoothing?: number
}

// Chart options
interface ChartOptions {
  container: HTMLElement
  xAxis?: AxisOptions
  yAxis?: AxisOptions
  theme?: string | ChartTheme
  background?: string
  showControls?: boolean
  showLegend?: boolean
}

Released under the MIT License.