scichart 2.1.2261 → 2.1.2290
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Builder/buildSeries.d.ts +5 -0
- package/Builder/buildSeries.js +4 -0
- package/Charting/ChartModifiers/LegendModifier.d.ts +2 -2
- package/Charting/Themes/IThemeProvider.d.ts +6 -0
- package/Charting/Themes/SciChartJSDarkTheme.d.ts +2 -0
- package/Charting/Themes/SciChartJSDarkTheme.js +2 -0
- package/Charting/Themes/SciChartJSLightTheme.d.ts +2 -0
- package/Charting/Themes/SciChartJSLightTheme.js +2 -0
- package/Charting/Visuals/Axis/CategoryAxisBase.d.ts +6 -0
- package/Charting/Visuals/Axis/CategoryAxisBase.js +35 -16
- package/Charting/Visuals/Legend/SciChartLegend.d.ts +6 -0
- package/Charting/Visuals/Legend/SciChartLegend.js +30 -13
- package/Charting/Visuals/Legend/SciChartLegendBase.d.ts +20 -6
- package/Charting/Visuals/Legend/SciChartLegendBase.js +22 -4
- package/Charting/Visuals/Legend/SciChartPieLegend.d.ts +2 -0
- package/Charting/Visuals/Legend/SciChartPieLegend.js +17 -6
- package/Charting/Visuals/RenderableSeries/Animations/animationHelpers.d.ts +1 -1
- package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformContoursDrawingProvider.js +30 -8
- package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.js +6 -2
- package/Charting/Visuals/RenderableSeries/FastColumnRenderableSeries.d.ts +1 -1
- package/Charting/Visuals/RenderableSeries/FastImpulseRenderableSeries.d.ts +84 -0
- package/Charting/Visuals/RenderableSeries/FastImpulseRenderableSeries.js +179 -0
- package/Charting/Visuals/RenderableSeries/HitTest/ImpulseSeriesHitTestProvider.d.ts +20 -0
- package/Charting/Visuals/RenderableSeries/HitTest/ImpulseSeriesHitTestProvider.js +100 -0
- package/Charting/Visuals/RenderableSeries/HitTest/hitTestHelpers.d.ts +2 -0
- package/Charting/Visuals/RenderableSeries/HitTest/hitTestHelpers.js +14 -1
- package/Charting/Visuals/RenderableSeries/StackedColumnCollection.js +2 -1
- package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.d.ts +3 -2
- package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.js +39 -30
- package/Core/BuildStamp.d.ts +1 -1
- package/Core/BuildStamp.js +2 -2
- package/README.md +223 -1
- package/_wasm/scichart.browser.js +1 -1
- package/_wasm/scichart2d.js +1 -1
- package/_wasm/scichart2d.wasm +0 -0
- package/_wasm/scichart3d.js +1 -1
- package/_wasm/scichart3d.wasm +0 -0
- package/constants/performanceWarnings.js +2 -2
- package/package.json +1 -1
- package/types/SeriesType.d.ts +2 -0
- package/types/SeriesType.js +2 -0
- package/utils/pointUtil.d.ts +1 -1
- package/utils/pointUtil.js +3 -2
package/README.md
CHANGED
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
[SciChart](https://www.scichart.com) provides a High Performance JavaScript & TypeScript Chart library which uses WebGL and WebAssembly to achieve incredible real-time and big-data performance.
|
|
6
6
|
|
|
7
|
+
Open the link to find out [SciChart.js performance compared to other libraries like Chart.js, Highcharts, etc](https://www.scichart.com/javascript-chart-performance-comparison/).
|
|
8
|
+
|
|
7
9
|
SciChart is the _**only viable solution for mission-critical data visualization applications**_, where high quality, fast, and feature-rich charts & graphs are a large part of the application.
|
|
8
10
|
|
|
9
11
|
Whether you are building Dashboards for business, stock-chart or trading apps, scientific or medical apps, or building a kiosk application on custom hardware with Electron, SciChart's ultra-fast 2D/3D WebGL rendering technology codenamed _Visual Xccelerator®_ will let you build apps, services and dashboards with rich charts & graphs that will delight your users.
|
|
@@ -14,6 +16,183 @@ We've prepared a short [Getting Started guide here](https://www.scichart.com/get
|
|
|
14
16
|
|
|
15
17
|
[](https://www.scichart.com/getting-started-scichart-js)
|
|
16
18
|
|
|
19
|
+
## Quick Start with Browser Bundle
|
|
20
|
+
|
|
21
|
+
1. **Make sure you downloaded [the Licensing Wizard](https://www.scichart.com/getting-started-scichart-js) and started trial**
|
|
22
|
+
|
|
23
|
+
Leave the Licensing Wizard running, it is used to validate licenses.
|
|
24
|
+
|
|
25
|
+
2. **Create scichart-example.js file with a simple chart**
|
|
26
|
+
|
|
27
|
+
```javascript
|
|
28
|
+
async function initSciChart() {
|
|
29
|
+
// In order to load data file from the CDN we need to set dataUrl
|
|
30
|
+
SciChart.SciChartSurface.configure({
|
|
31
|
+
dataUrl: "https://cdn.jsdelivr.net/npm/scichart@2.1.2261/_wasm/scichart2d.data",
|
|
32
|
+
wasmUrl: "https://cdn.jsdelivr.net/npm/scichart@2.1.2261/_wasm/scichart2d.wasm"
|
|
33
|
+
});
|
|
34
|
+
// Create a chart using the json builder api
|
|
35
|
+
await SciChart.chartBuilder.buildChart("scichart-root", {
|
|
36
|
+
series: {
|
|
37
|
+
type: "LineSeries",
|
|
38
|
+
options: { stroke: "steelblue" },
|
|
39
|
+
xyData: {
|
|
40
|
+
xValues: [1, 2, 5, 8, 10],
|
|
41
|
+
yValues: [3, 1, 7, 5, 8]
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
initSciChart();
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
See the documentation for [IScichart2Ddefinition](https://www.scichart.com/documentation/js/current/typedoc/interfaces/iscichart2ddefinition.html) for all the options available.
|
|
51
|
+
|
|
52
|
+
3. **Create html file**
|
|
53
|
+
|
|
54
|
+
The file should include **scichart.browser.js** the same version as in the code snippet above, **div element with id "scichart-root"** and deferred **scichart-example.js** script which is executed after the page is loaded.
|
|
55
|
+
|
|
56
|
+
```html
|
|
57
|
+
<!DOCTYPE html>
|
|
58
|
+
<html lang="en">
|
|
59
|
+
<head>
|
|
60
|
+
<meta charset="utf-8" />
|
|
61
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
62
|
+
<!-- Include SciChart.js -->
|
|
63
|
+
<script
|
|
64
|
+
src="https://cdn.jsdelivr.net/npm/scichart@2.1.2261/_wasm/scichart.browser.js"
|
|
65
|
+
crossorigin="anonymous"
|
|
66
|
+
></script>
|
|
67
|
+
<script src="scichart-example.js" defer></script>
|
|
68
|
+
<title>Hello, SciChart.js world!</title>
|
|
69
|
+
</head>
|
|
70
|
+
<body>
|
|
71
|
+
<div id="scichart-root" style="width: 800px; height: 600px;"></div>
|
|
72
|
+
</body>
|
|
73
|
+
</html>
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
4. **Host both files** on any web server. As a result you will see a simple line chart. Please note because we are using WebAssembly just opening the HTML file without a server will not work.
|
|
77
|
+
|
|
78
|
+
Follow [the link](https://github.com/ABTSoftware/SciChart.JS.Examples/tree/master/Sandbox/demo-browser-global-module) to find source code for this example.
|
|
79
|
+
|
|
80
|
+
## Quick Start with NPM and Webpack
|
|
81
|
+
|
|
82
|
+
SciChart.js can be loaded as an ES6 module with Babel or TypeScript transpiler.
|
|
83
|
+
|
|
84
|
+
1. **Make sure you downloaded [the Licensing Wizard](https://www.scichart.com/getting-started-scichart-js) and started trial**
|
|
85
|
+
|
|
86
|
+
Leave the Licensing Wizard running, it is used to validate licenses.
|
|
87
|
+
|
|
88
|
+
2. **Create a new Webpack project** or use an existing one.
|
|
89
|
+
|
|
90
|
+
```shell
|
|
91
|
+
npm init -y
|
|
92
|
+
npm install webpack webpack-cli webpack-dev-server copy-webpack-plugin --save-dev
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
add start script to package.json
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
"scripts": {
|
|
99
|
+
"start": "webpack serve"
|
|
100
|
+
},
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
3. **Install SciChart.js**
|
|
104
|
+
|
|
105
|
+
```shell
|
|
106
|
+
npm i scichart
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
4. **Add webpack.config.js file**
|
|
110
|
+
|
|
111
|
+
Use CopyPlugin to copy wasm and data files and serve them by webpack-dev-server. SciChart.js uses WebAssembly and those files must be loaded.
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
const path = require('path');
|
|
115
|
+
const CopyPlugin = require("copy-webpack-plugin");
|
|
116
|
+
|
|
117
|
+
module.exports = {
|
|
118
|
+
mode: 'development',
|
|
119
|
+
entry: "./src/index.js",
|
|
120
|
+
performance: {
|
|
121
|
+
hints: false
|
|
122
|
+
},
|
|
123
|
+
output: {
|
|
124
|
+
path: path.resolve(__dirname, 'build'),
|
|
125
|
+
filename: 'bundle.js',
|
|
126
|
+
},
|
|
127
|
+
plugins: [
|
|
128
|
+
new CopyPlugin({
|
|
129
|
+
patterns: [
|
|
130
|
+
{ from: "src/index.html", to: "" },
|
|
131
|
+
{ from: "node_modules/scichart/_wasm/scichart2d.data", to: "" },
|
|
132
|
+
{ from: "node_modules/scichart/_wasm/scichart2d.wasm", to: "" }
|
|
133
|
+
]
|
|
134
|
+
})
|
|
135
|
+
]
|
|
136
|
+
};
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
5. **Create a simple chart** by putting this into `src/index.js` file
|
|
140
|
+
|
|
141
|
+
```javascript
|
|
142
|
+
import { SciChartSurface } from "scichart/Charting/Visuals/SciChartSurface";
|
|
143
|
+
import { NumericAxis } from "scichart/Charting/Visuals/Axis/NumericAxis";
|
|
144
|
+
import { XyDataSeries } from "scichart/Charting/Model/XyDataSeries";
|
|
145
|
+
import { FastLineRenderableSeries } from "scichart/Charting/Visuals/RenderableSeries/FastLineRenderableSeries";
|
|
146
|
+
|
|
147
|
+
// You may need this to configure from where wasm and data files are served
|
|
148
|
+
// SciChartSurface.configure({ dataUrl: "/custom/scichart2d.data", wasmUrl: "/other/scichart2d.wasm" });
|
|
149
|
+
|
|
150
|
+
async function initSciChart() {
|
|
151
|
+
// Create the SciChartSurface in the div 'scichart-root'
|
|
152
|
+
// The SciChartSurface, and webassembly context 'wasmContext' are paired. This wasmContext
|
|
153
|
+
// instance must be passed to other types that exist on the same surface.
|
|
154
|
+
const { sciChartSurface, wasmContext } = await SciChartSurface.create("scichart-root");
|
|
155
|
+
|
|
156
|
+
// Create an X,Y Axis and add to the chart
|
|
157
|
+
const yAxis = new NumericAxis(wasmContext);
|
|
158
|
+
sciChartSurface.xAxes.add(xAxis);
|
|
159
|
+
sciChartSurface.yAxes.add(yAxis);
|
|
160
|
+
|
|
161
|
+
const dataSeries = new XyDataSeries(wasmContext, {
|
|
162
|
+
xValues: [1, 2, 5, 8, 10],
|
|
163
|
+
yValues: [3, 1, 7, 5, 8]
|
|
164
|
+
});
|
|
165
|
+
const renderableSeries = new FastLineRenderableSeries(wasmContext, {
|
|
166
|
+
dataSeries,
|
|
167
|
+
stroke: "steelblue"
|
|
168
|
+
});
|
|
169
|
+
sciChartSurface.renderableSeries.add(renderableSeries);
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
initSciChart();
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
6. **Create src/index.html file**
|
|
176
|
+
|
|
177
|
+
```html
|
|
178
|
+
<html lang="en-us">
|
|
179
|
+
<head>
|
|
180
|
+
<meta charset="utf-8" />
|
|
181
|
+
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
|
|
182
|
+
<title>SciChart.js Tutorial 1</title>
|
|
183
|
+
<script async type="text/javascript" src="bundle.js"></script>
|
|
184
|
+
</head>
|
|
185
|
+
<body>
|
|
186
|
+
<!-- the Div where the SciChartSurface will reside -->
|
|
187
|
+
<div id="scichart-root" style="width: 800px; height: 600px;"></div>
|
|
188
|
+
</body>
|
|
189
|
+
</html>
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
7. **Run it `npm start`**. As a result you will see a simple line chart.
|
|
193
|
+
|
|
194
|
+
Follow [the link](https://github.com/ABTSoftware/SciChart.JS.Examples/tree/master/Sandbox/demo-simple-chart) to find source code for this example.
|
|
195
|
+
|
|
17
196
|
## Documentation
|
|
18
197
|
|
|
19
198
|
We've taken the time to create hundreds of documentation pages for our JavaScript Charts, which you can find over at https://www.scichart.com/javascript-chart-documentation. Take a look here for tutorials, getting-started guides, API Docs (TypeDoc) and more.
|
|
@@ -26,7 +205,50 @@ An online demo version of scichart.js.examples can be seen at https://demo.scich
|
|
|
26
205
|
|
|
27
206
|
# Release Notes
|
|
28
207
|
|
|
29
|
-
## Version 2
|
|
208
|
+
## Version 2.1 with Major Performance Improvements
|
|
209
|
+
|
|
210
|
+
We’ve used our expertise high performance computing in other platforms of SciChart to make massive improvements to chart rendering, updating and startup speed in SciChart.js v2.1.
|
|
211
|
+
|
|
212
|
+
**Performance improvements**:
|
|
213
|
+
|
|
214
|
+
- Smart Data-point Resampling was implemented. Datapoint resampling ensures the minimum viable data-set is displayed on the screen. Resampling is intended to be visually lossless, and automatic.
|
|
215
|
+
- Improved raw drawing speed of our underlying graphics engine by over 100%
|
|
216
|
+
- Added Async Label Creation option with global application or per-chart caching
|
|
217
|
+
- Optimised data transfers from JavaScript to WebAssembly
|
|
218
|
+
- Improved chart performance when using RolloverModifier and CursorModifier
|
|
219
|
+
- Implementation of Auto-detecting data distribution flags in DataSeries (flags dataSeries.isSorted, dataSeries.containsNaN). Specifying these flags gives better performance in big-data scenarios.
|
|
220
|
+
- Optimizations for Annotation notifyPropertyChange method not to be called if the property has not changed
|
|
221
|
+
- Display performance warnings in dev environment
|
|
222
|
+
- Optimisation getXRange() algorithm for unsorted data
|
|
223
|
+
|
|
224
|
+
**Documentation**:
|
|
225
|
+
|
|
226
|
+
- Added Documentation of how to use SciChart.js in vannilla HTML/Js (without npm) using our Browser Bundle served by CDN
|
|
227
|
+
- Added Documentation for Performance Tips & Tricks
|
|
228
|
+
- Added Documentation for new Data-point Resampling features
|
|
229
|
+
- Added Documentation & Examples for new Generic Animations API
|
|
230
|
+
|
|
231
|
+
**Live demo demo.scichart.com**:
|
|
232
|
+
|
|
233
|
+
- Added Generic Animations example to the Demo app
|
|
234
|
+
|
|
235
|
+
**Other improvements**:
|
|
236
|
+
|
|
237
|
+
- Added labels support outside of a Pie Chart
|
|
238
|
+
- Better error message if wasm cannot be loaded, or the wrong version loaded
|
|
239
|
+
- Add a property to configure stacked axis length
|
|
240
|
+
- Allow passing div element reference into SciChartSurface.create to make SciChart.js possible to use in shadow DOM
|
|
241
|
+
- Improve guard checks for data series creation
|
|
242
|
+
- Snap RolloverModifier vertical line to data points
|
|
243
|
+
- Add explanation error message for trial expired on old version
|
|
244
|
+
- Add AxisRenderer.axisSize property which allows setting axis label width
|
|
245
|
+
- Add includeAxis property to MouseWheelZoomModifier
|
|
246
|
+
- Add AxisRenderer.axisThickness
|
|
247
|
+
- Prevent CursorModifier axis labels to be cut out of the chart
|
|
248
|
+
|
|
249
|
+
See all the details at [SciChart.js v2.1 release](https://www.scichart.com/scichart-js-v2-1-released/).
|
|
250
|
+
|
|
251
|
+
## Version 2.0
|
|
30
252
|
|
|
31
253
|
SciChart.js v2 is a huge release with many new features, improvements and fixes including:
|
|
32
254
|
|