Demonstrates rich interactivity with custom modifiers using SciChart.js, High Performance JavaScript Charts
This example, titled "Heatmap Interactions", demonstrates a powerful real-time 2D wave simulation using SciChart.js implemented in JavaScript. It showcases advanced interactive features such as dynamic addition of input/output annotations and custom drag-and-drop behavior, enabling users to interact with heatmap data in real time.
The implementation extends the base class ChartModifierBase2D to create custom modifiers like AddIOModifier and PointDragModifier. These modifiers handle mouse events to add annotations and update data series, following patterns detailed in the Custom Chart Modifier API. Coordinate transformations are managed with functions such as translateFromCanvasToSeriesViewRect(), which convert canvas mouse coordinates into data coordinates via APIs described in the Axis APIs - Convert Pixel to Data Coordinates documentation.
Interactive annotations are used extensively; for instance, TextAnnotation prompts like "Add Input" and "Add Output" provide user interactivity. For more details on creating movable and interactive annotations, refer to the TextAnnotation documentation.
Real-time simulation is achieved by updating a UniformHeatmapDataSeries on a recurring timer, effectively simulating 2D wave propagation. This approach is well covered in the Updating (Realtime) Heatmaps documentation. Additionally, custom animations using GenericAnimation add fade-in help messages, ensuring smooth visual transitions; you can learn more about this in the Generic Animations documentation.
stepSize.XyDataSeries data points; see Custom ChartModifiers documentation for more details.DpiHelper.PIXEL_RATIO to ensure accurate interactions on high-resolution displays.This example is built purely with JavaScript, avoiding additional frameworks such as Angular or React. Its modular structure separates chart initialization, modifier logic, and simulation updates, which aligns with best practices for maintainable and high-performance interactive chart applications. Developers are encouraged to consult the provided documentation links to gain deeper insights into customizing chart behavior and optimizing performance with SciChart.js.

This demo showcases the incredible realtime performance of our JavaScript charts by updating the series with millions of data-points!

This demo showcases the incredible performance of our JavaScript Chart by loading 500 series with 500 points (250k points) instantly!

This demo showcases the incredible performance of our JavaScript Chart by loading a million points instantly.

This demo showcases the realtime performance of our JavaScript Chart by animating several series with thousands of data-points at 60 FPS

See the frequency of recordings with the JavaScript audio spectrum analyzer example from SciChart. This real-time visualizer demo uses a Fourier Transform.

Demonstrates how to create Oil and Gas Dashboard

This demo showcases the incredible realtime performance of our JavaScript charts by updating the series with millions of data-points!

This dashboard demo showcases the incredible realtime performance of our JavaScript charts by updating the series with millions of data-points!

Demonstrates a custom modifier which can convert from single chart to grid layout and back.

Demonstrates how to repurpose a Candlestick Series into dragabble, labled, event markers

Population Pyramid of Europe and Africa

Demonstrates how to use the SVG render layer in SciChart.js to maintain smooth cursor interaction on heavy charts with millions of points.