v3.3.0
[3.3.0] - 2021-12-01
warning
This version is not available under @lightningchart in NPM.
It can only be accessed via legacy @arction organization.
Added
- Added Chart3D zoom animation
- This is present when using mouse wheel or trackpad
- Can be disabled with
Chart3D.setAnimationZoom(false)
- Added
NewSurfaceGridSeries3D- Optimized version of previous surface grid series feature
- This new feature has even up to 1000x better performance. Usage is almost exactly same
- Added
SurfaceScrollingGridSeries3D- Specially designed series type for scrolling surface applications
- Compared to previous surface grid series feature, has up to 1000x better performance
- Added
Theme.surfaceSeriesWireframeStyle - Added
CullMode3D. This can be used with new 3D surface series - Added
TriangulatedPoints3DProperties.wireframeStyle. This allows drawing wireframe for 3D points. Disabled by default. - Added
ChartXY.getDefaultAxes,Chart3D.getDefaultAxes- Convenience methods for applying same operations to several axes
- Added
ZoomBandChartOptions.bandAboveSeriesto indicate whether band should be displayed above or below series.- Previously band was always under series.
- Defaults to
true, to display similarly as before set tofalse.
- Added
SpiderChart.setScaleLabelFormatter - Added optional
automaticColorIndexproperty to all XY series options- This allows interacting with the default themes automatic coloring of several series
- Added
CustomTick.setAllocatesAxisSpace()- Can be used to disable axis allocating space for particular custom ticks.
- Added
lineAntiAliasEngineOption.- This can be used to explicitly disable line anti-aliasing.
- Added
Chart3D.onCameraChange,Chart3D.offCameraChange. - Added
TimeTickStrategy.setTimeOriginoption, works similarly toDateTimeTickStrategy.setDateOrigin - Added
ImageFillstyle.- Allows filling any rectangular shape in chart based on external image or video.
- Added
EngineSettings.webglto allow specifying used WebGL (graphics framework) version.
Changed
- Webpack 5 no longer requires additional configuration for Node JS core modules.
ZoomBandChartnow automatically matches the TickStrategy of first attached axis.- ZBC axis can be manually modified using
getDefaultAxisXandgetDefaultAxisYmethods, just likeChartXY
- ZBC axis can be manually modified using
- Significant optimizations to
HeatmapGridSeriesIntensityValuesandHeatmapScrollingGridSeriesIntensityValues- Load-up speed increased by ~250%
- Load-up speed of empty heatmap increased by 10x
- Memory usage decreased by ~60%
- Intensity data update speed increased significantly
- Find latest conclusive performance updates at our web site https://www.arction.com/high-performance-javascript-charts/
- Added default wireframe style to heatmap grid series
- To disable wireframe, use
setWireframeStyle(emptyLine)
- To disable wireframe, use
- Heatmap grid series legend entries are no longer colored based on wireframe style
- Changed default Chart3D bounding box stroke style to
emptyLine- Use
Chart3D.setBoundingBoxStrokeStyleto specify bounding box stroke style.
- Use
- Added little bit of default left padding to
UICheckBoxandUIButtonBox - Changed default right padding in XY chart from 10px to 24px
- To change right padding, use
ChartXY.setPadding({ right: 10 })
- To change right padding, use
- Enabled Axis3D scroll animation by default.
- To restore previous behavior, use
Axis3D.setAnimationScroll(false)for each 3D axis. - Axes can be referenced like this
Chart3D.getDefaultAxisX().
- To restore previous behavior, use
- Improved line anti-aliasing quality.
- Primitive lines, with only hardware anti-aliasing, can now be drawn by setting the line thickness to
-1. - Previously primitive lines were used when line thickness was set to
1, now to use primitive lines you will need to use-1as the thickness. - By default lines with thickness of
1are now rendered with higher quality anti-aliasing.
- Primitive lines, with only hardware anti-aliasing, can now be drawn by setting the line thickness to
- Improved track-pad interactions with ChartXY and Chart3D (previously it was much too sensitive).
- Known issue: track-pad is still too sensitive on Safari.
- LightningChart JS now uses
WebGL 2whenever supported. This shouldn't introduce any major difference to existing applications and users. If anything,WebGL 2should work better. DateTimeTickStrategy.setFormatting...methods now allow supplyingundefinedfor any value (only overriding particular settings).DateTimeTickStrategy.setFormattingSecondnow allows configuring formatting of minor ticks at that level.- This option was incorrectly missing before.
- Charts now automatically trigger layout operation when chart container is resized.
- This is done by using a ResizeObserver if the browser has support for it.
TriangulatedPoints3DProperties.sizecan now beCoord3D. This allows drawing 3D points with sizes on X, Y and Z Axes.ZoomBandChartband is now drawn above series.ZoomBandChartnow supports Heatmap series (non-scrolling variant only).ZoomBandChartcan now be attached to several axis by supplying an array instead of just one axis when it is created.ZoomBandChartnow automatically aligns its right side according to reference charts.- Previously only left side was aligned.
- Tweaks to default Axis ticks
- In XY charts, ticks that do not fit no longer display their tickline and gridline. Previously, only the label was hidden.
- Fixed Numeric major ticks sometimes behaving strange when there is little axis space available. For example, showing 1, 3, 5 instead of 0, 2, 4, 6.
- Numeric minor ticks are no longer displayed if the axis is shorter than 50 pixels.
- Slightly adjusted the selection of Numeric tick level. Larger tick levels are now activated slightly less eagerly.
- ChartXY title no longer allocates top & bottom margins when title length is ''
Fixed
- Fixed spline series mouse interactions being triggered when mouse was outside of spline.
- Fixed Map Charts not properly stopping mouse and touch events.
- Fixed dashboard series sometimes not rendering after disposing and creating several charts
- Fixed Test Domain being prioritized over Deployment Domain.
- Resulted in "Deployment Test" watermark being rendered in a valid Deployment Domain.
- Fixed bad performance when repeatedly triggering
clear+addmethods forLineSeriesorPointSeries. - Fixed heatmap series not updating palette if configured after intensity data.
- Fixed GaugeChart disableAnimations flag not working when inside Dashboard.
- Fixed GaugeChart behaving strange when animations are enabled and slice value is changed rapidly.
- Improved high CPU usage in Chart3D when camera is rotated with automatic fitting enabled.
- Fixed 3D pixelated points having different visible size with different device pixel ratio monitors.
- Fixed chart interaction not properly canceled when interaction goes over OSM element.
- Fixed 3D chart centering after resize -
LinearGradientFillandRadialGradientFillnow properly thrown an error when color stop definition doesn't contain enough color stops. - Fixed
IntensityGridandIntensityMeshnot rendering after restored when usingIndividualPointFill. - Fixed
Axisevent API having some incorrect typings (wheel, drag & touch events) and callback not receiving all arguments. - Fixed
HeatmapScrollingGridSeriesIntensityValuesscrolling sometimes behaving strangely (pausing or skipping ahead). - Fixed
Axisanimations sometimes not disabled even if chart animations are disabled. - Fixed touch events not properly cancelled when touch event goes over OSM.
- Fixed XY and Polar Axis sometimes rendering incorrectly for 1 frame after window resize.
Deprecated
- Deprecated
Chart3D.addSurfaceSeries- To keep using surface grid series, use
Chart3D.addSurfaceGridSeries.- This is a new series type with slightly changed API and greatly increased performance
- To keep using surface mesh series, use
Chart3D.addSurfaceMeshSeries
- To keep using surface grid series, use
- Deprecated
Axis.setTickStyle. UsesetTickStrategyinstead. - Deprecated
LUT.valueRangeMin,LUT.valueRangeMax. They do not affect anything anymore - Deprecated
HeatmapGridSeries.setPixelInterpolationMode, usesetIntensityInterpolationinstead - Deprecated some inconsistently named methods of
Axis:onAxisAreaMouseDragStart->onAxisInteractionAreaMouseDragStartonAxisAreaMouseDrag->onAxisInteractionAreaMouseDragonAxisAreaMouseDragStop->onAxisInteractionAreaMouseDragStoponAxisInteractionAreaMouseTouchStart->onAxisInteractionAreaTouchStartonAxisInteractionAreaMouseTouch->onAxisInteractionAreaTouchonAxisInteractionAreaMouseTouchStop->onAxisInteractionAreaTouchStopoffAxisInteractionAreaMouseTouchStart->offAxisInteractionAreaTouchStartoffAxisInteractionAreaMouseTouch->offAxisInteractionAreaTouchoffAxisInteractionAreaMouseTouchStop->offAxisInteractionAreaTouchStop
ZoomBandChart.attachedAxis, useattachedAxes(array property) instead.