SciChart.JS v4.0 is released!
Find out what's new in every Major and Minor release at the Change Log here
[NEW] Documentation
Find out our New Documentation web-site here
SciChart.js is a High Performance JavaScript Chart library. Leveraging WebGL and WebAssembly to achieve incredible big-data and real-time performance. Fast and able to draw millions of datapoints in realtime, our charts will never cause your app to slow down again!
- Learn why we propose SciChart as the Best JavaScript Chart Library in 2024 for Big-Data, complex enterprise apps.
- Read performance test results showing SciChart beating Chart.js, HighCharts, Plotly by a wide margin in a JavaScript Chart Performance Comparison
- Learn the features and key differences of SciChart.js JS Charts library.
- Browse the demos of JavaScript Charts and JavaScript 3D Charts in our interactive React showcase.
SciChart has an extremely configurable and extensible API and is perfect for scientific, financial, medical, engineering and enterprise applications, apps with demanding performance requirements or complex and mission critical charting.
SciChart.js v4 is our biggest release for years, including polar charts, triangle and rectangle series for unlimited visualization potential, and much more.
We release often and if you want to report a bug, request a feature or give general feedback contact us!
SciChart.js is commercial software which ships with a free community edition for personal, non-commercial, educational or blogger/tutorial use.
Licensing Links
- Free Community Licensing FAQs
- Read about our commercial license terms here
- Get Started by following steps here
- Purchase commercial licenses here
- Academic usage, universities and schools qualify for a free non-watermarked license. Read more about this here.
- We've published over 100 JavaScript Chart Demos with ~100 examples you can try in browser.
- You can clone the repo for the demo app at Github: github.com/abtsoftware/scichart.js.examples
- Or, checkout our boilerplates for various popular Js frameworks:
- Vanilla JS
- React with scichart-react which significantly simplifies wrapping scichart in a react component
- React + Typescript
- React + Vite
- Vue.js
- Angular
- Next.js
- Nuxt
- Svelte + Vite
- Svelte + Rollup
- Electron
We've prepared a short Getting Started guide here.
This will walk you through the entire process of starting in your favourite framework and show you where tutorials and documentation are and examples.
- Learn about features of SciChart.js here
Tutorial
SciChart.js can be loaded as an ES6 module with Babel or TypeScript transpiler.
- Install SciChart.js
npm install scichart
-
Create a simple chart by putting this into
src/index.js
file
import { SciChartSurface, NumericAxis } from "scichart";
async function initSciChart() {
const { sciChartSurface, wasmContext } = await SciChartSurface.create("scichart-root");
// Create an X,Y Axis and add to the chart
const xAxis = new NumericAxis(wasmContext);
const yAxis = new NumericAxis(wasmContext);
sciChartSurface.xAxes.add(xAxis);
sciChartSurface.yAxes.add(yAxis);
}
initSciChart();
- Create src/index.html file
<html lang="en-us">
<head>
<meta charset="utf-8" />
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>SciChart.js Tutorial 1</title>
<script async type="text/javascript" src="bundle.js"></script>
</head>
<body>
<h1>Hello SciChart.js world!</h1>
<p>In this example we setup webpack, scichart and create a simple chart with one X and Y axis</p>
<!-- the Div where the SciChartSurface will reside -->
<div id="scichart-root" style="width: 800px; height: 600px;"></div>
</body>
</html>
-
Run it
npm start
. As a result you will see a simple line chart.
Tutorial
See the full browser bundle tutorial here
If your environment does not include a bundler like Parcel or Webpack, you can still load SciChart.js using the browser bundle module from jsDelivr
- Include index.min.js in your webpage
<!-- Include specific version into index.html -->
<script src="https://cdn.jsdelivr.net/npm/scichart@4.0.0-beta.734/index.min.js" crossorigin="anonymous"></script>
- Create scichart-example.js file with a simple chart
// Equivalent of imports when using index.min.js is to declare global variables like this
const { SciChartSurface, NumericAxis, FastLineRenderableSeries, XyDataSeries } = SciChart;
async function initSciChart() {
// Create the SciChartSurface in the div 'scichart-root'
const { sciChartSurface, wasmContext } = await SciChartSurface.create("scichart-root");
// Create an X,Y Axis and add to the chart
const xAxis = new NumericAxis(wasmContext);
const yAxis = new NumericAxis(wasmContext);
sciChartSurface.xAxes.add(xAxis);
sciChartSurface.yAxes.add(yAxis);
// Add a series
sciChartSurface.renderableSeries.add(
new FastLineRenderableSeries(wasmContext, {
dataSeries: new XyDataSeries(wasmContext, {
xValues: [0, 1, 2, 3, 4],
yValues: [2, 1, 4, 3, 2]
})
})
);
}