Skip to main content
Version: 8.3.2

v3.1.0

[3.1.0] - 2021-07-28

warning

This version is not available under @lightningchart in NPM. It can only be accessed via legacy @arction organization.

Added

  • Added new chart type, MapChart.
    • MapChart has multiple views for visualizing data in different regions of world.
    • Supports real-time data updates with high FPS.
  • Added new series type, PolygonSeries.
    • This series can be created with ChartXY.addPolygonSeries.
    • PolygonSeries.add returns you a PolygonFigure object which can be used to style the polygon.
  • Added improved series type HeatmapGridSeries.
    • This series can be created with ChartXY.addHeatmapGridSeries.
    • Replaces the existing IntensityGridSeries (ChartXY.addHeatmapSeries) which is now considered deprecated and will be removed in next major release.
    • This new series type provides considerably better performance compared to the previous version.
  • Added new series type HeatmapScrollingGridSeries.
    • This series can be created with ChartXY.addHeatmapScrollingGridSeries.
    • Provides a way to create scrolling heatmap with data cleaning support.
  • Added new methods to help to make better experience on devices with smaller screens.
    • UIElement.setAutoDispose, UIElement.getAutoDispose
  • Added High precision XY Axis.
    • New XY Axis type that allows zooming to smaller axis intervals with drawback of decreased performance. Refer to AxisOptions documentation for instructions.
    • This is considered an experimental feature and might be changed in a minor or major release with no backwards compatibility.
  • Added AxisTickStrategies.Time.
    • New automatic ticks strategy for depicting axis intervals between hundreds of hours and individual nanoseconds.
  • Added TimeFormattingFunctions helper methods for formatting millisecond time stamps to different time string formats.
  • Added LUT parameter to UILUTCheckBox.setLUTStepValueFormatter callback.
  • Added new options to LUT, LUT.valueRangeMin and LUT.valueRangeMax.
  • Added new control for suppressing warnings that are mostly useful when developing, LightningChartOptions.warnings.
  • Added NumericTickStrategy.formattingOffset, works similarly to DateTimeTickStrategy.setDateOrigin.
  • Ability to rotate all texts.
    • Chart.setTitleRotation
    • Axis.setTitleRotation
    • VisibleTicks.setLabelRotation
    • ResultTable.setTextRotation
    • CustomTick.setTickLabelRotation
    • LegendBox.setTitleRotation
    • UITextBox.setTextRotation
  • Added helper method Chart.zoom.
  • Added helper method Chart.pan.
  • Added missing API PolarChart.getSeries.
  • Added missing API Chart3D.getSeries.
  • Added ability to control mouse and touch interaction state to 3D Chart.
    • Chart3D.setMouseInteractions
    • Chart3D.setMouseInteractionZoom, Chart3D.getMouseInteractionZoom
    • Chart3D.setMouseInteractionRotate, Chart3D.getMouseInteractionRotate
  • Added LineSeries3D.setStrokeStyle, getStrokeStyle, setStrokeStyleHighlight, getStrokeStyleHighlight.
    • These replace the similarly named LineSeries3D.setLineStyle, getLineStyle, setLineStyleHighlight, getLineStyleHighlight.
  • Added PointLineSeries3D.setStrokeStyle, getStrokeStyle, setStrokeStyleHighlight, getStrokeStyleHighlight
    • These replace the similarly named PointLineSeries3D.setLineStyle, getLineStyle, setLineStyleHighlight, getLineStyleHighlight.
  • Added individualPointColorEnabled, individualPointSizeEnabled and individualLookupValuesEnabled to PointSeriesOptions3D.
  • Added UIElementBuilders.LUTRange.
  • Added more control to how 3D series are shaded.
    • Series3D.setColorShadingStyle, Series3D.getColorShadingStyle
  • Added new Shading style ColorShadingStyles.Simple.
    • This shading style can make some 3D visualizations look better by removing all shading and using the object colors directly.
    • Using this shading style can improve performance on low end devices.
  • Added new Shading style ColorShadingStyles.Phong.
    • This has been the default shading style for all 3D features since the 3D features were introduced.
    • You can now control ambientColor, ambientReflection, diffuseReflection, specularReflection, specularColor and shininess options.
  • Added ChartXY.addOnScreenMenu.
    • OnScreenMenu can be used to create UI controls over the chart.
    • This is considered an experimental feature and might be changed in a minor or major release with no backwards compatibility.
  • Added new theme styling options.
    • Theme.lineSeries3DStrokeStyle
    • Theme.pointSeries3DPointStyle
    • Theme.pointLineSeries3DStrokeStyle
    • Theme.pointLineSeries3DPointStyle
    • Theme.pointCloudSeries3DPointStyle
    • Theme.polygonSeriesFillStyle
    • Theme.polygonSeriesStrokeStyle
    • Theme.heatmapFillStyle
    • Theme.heatmapWireframeStyle
    • Theme.heatmapGridSeriesFillStyle
    • Theme.heatmapGridSeriesWireframeStyle
    • Theme.rectangleSeriesFillStyle
    • Theme.rectangleSeriesStrokeStyle
    • Theme.polarAreaSeriesFillStyle
    • Theme.polarAreaSeriesStrokeStyle
    • Theme.polarAreaSeriesStrokeStyle
    • Theme.uiPointableTextBoxFillStyle
    • Theme.uiPointableTextBoxTextFillStyle
    • Theme.uiPointableTextBoxStrokeStyle
    • Theme.uiPointableTextBoxFont
    • Theme.uiTickTextFillStyle
    • Theme.uiTickStrokeStyle
    • Theme.uiTickFont
  • Added new themes.
    • Themes.darkGold
    • Themes.darkGreen
    • Themes.darkLime
    • Themes.darkMagenta
    • Themes.darkRed
    • Themes.darkTurquoise
    • Themes.blueSciFiNew
    • Themes.glacier
    • Themes.lightNew
    • Themes.lightNature
    • Themes.darkNature
    • Themes.duskInLapland
    • Themes.auroraBorealisNew
    • Themes.cyberSpace
    • Themes that end with suffix New will replace similarly named theme with no New suffix.
  • Most Theme series style properties now support Palette definition optionally as well.

Changed

  • FormattingFunctions.Numeric now also works for more than 3 decimal parts.
  • PointSeries3D now supports IndividualPointFill style and PalettedFill style.
  • PointSeries3D performance has been greatly improved overall.
  • LineSeries3D performance has been greatly improved overall.
  • PointLineSeries3D performance has been greatly improved overall.
  • Removed empty UI backgrounds from all default UI builders. This makes it easier to style UI backgrounds - afterwards, only using setBackground(bg => bg.setFillStyle(...)) will always be enough.
  • Changed UI default background behavior - now ALL UI elements will always have background styled according to Theme by default. To hide background, use setBackground(bg => bg.setFillStyle(...)), etc.
  • DateTimeTickStrategy default cursor formatting now falls back to major ticks formatting if minor ticks are disabled.
  • Improved LUT precision.

Fixed

  • Improved 3D color shading, and fixed some cases with incorrect lighting.
  • Fixed some scenarios where GPU memory wasn't freed when it could have been freed.
  • WebGL context wasn't marked as 'lost' when chart/dashboard was completely disposed.
  • Fixed GL_INVALID_VALUE : glScissor warning.
  • Fixed crash when Pie chart of type PieChartTypes.LabelsOnSides was created with only one slice.
  • Fixed 3D Point Line Series point size not updated to match highlight size when highlighted.
  • Fixed 3D Point Line Series point size could be smaller than line thickness, after changing line thickness, resulting in visible gaps in line.

Deprecated

  • Theme.seriesNonTriangulatedPointStyle3D. Use Theme.pointCloudSeries3DPointStyle instead.
  • Theme.seriesTriangulatedPointStyle3D. Use Theme.pointSeries3DPointStyle instead.
  • Theme.customTickMarkerFillStyle. Use Theme.uiPointableTextBoxFillStyle instead.
  • Theme.customTickMarkerTextFillStyle. Use either customTickMarkerTextFillStyle or uiTickTextFillStyle.
  • Theme.customTickMarkerStrokeStyle. Use either uiPointableTextBoxStrokeStyle or uiTickStrokeStyle.
  • Theme.pointMarkerHorizontalGridStrokeStyle. Use customTickGridStrokeStyle instead.
  • Theme.pointMarkerVerticalGridStrokeStyle. Use customTickGridStrokeStyle instead.
  • Theme.axisLabelFillStyle. Use numericTickStrategy or other tick strategy property instead.
  • Theme.axisLabelFont. Use numericTickStrategy or other tick strategy property instead.
  • Theme.pointMarkerTextFillStyle. Use uiPointableTextBoxTextFillStyle or uiTickTextFillStyle instead.
  • Theme.seriesStrokeStyle3D. Use Theme.lineSeries3DStrokeStyle instead.
  • Theme.seriesNonTriangulatedPointStyle3D. Use Theme.pointCloudSeries3DPointStyle instead.
  • Theme.seriesTriangulatedPointStyle3D. Use Theme.pointSeries3DPointStyle instead.
  • LineSeries3D.setLineStyle. Use setStrokeStyle instead.
  • LineSeries3D.getLineStyle. Use getStrokeStyle instead.
  • LineSeries3D.setLineStyleHighlight. Use setStrokeStyleHighlight instead.
  • LineSeries3D.getLineStyleHighlight. Use getStrokeStyleHighlight instead.
  • PointLineSeries3D.setLineStyle. Use setStrokeStyle instead.
  • PointLineSeries3D.getLineStyle. Use getStrokeStyle instead.
  • PointLineSeries3D.setLineStyleHighlight. Use setStrokeStyleHighlight instead.
  • PointLineSeries3D.getLineStyleHighlight. Use getStrokeStyleHighlight instead.
  • ChartXY.disableAnimations() use ChartXY.setAnimationsEnabled(false) instead.
  • Axis.disableAnimations() use Axis.setAnimationsEnabled(false) instead.
  • Dashboard.disableAnimations() use Dashboard.setAnimationsEnabled(false) instead.
  • Spider.disableAnimations() use Spider.setAnimationsEnabled(false) instead.
  • Polar.disableAnimations() use Polar.setAnimationsEnabled(false) instead.
  • Pie.disableAnimations() use Pie.setAnimationsEnabled(false) instead.
  • Gauge.disableAnimations() use Gauge.setAnimationsEnabled(false) instead.
  • Funnel.disableAnimations() use Funnel.setAnimationsEnabled(false) instead.
  • Pyramid.disableAnimations() use Pyramid.setAnimationsEnabled(false) instead.
  • Map.disableAnimations() use Map.setAnimationsEnabled(false) instead.
  • Chart3D.disableAnimations() use Chart3D.setAnimationsEnabled(false) instead.
  • Series.setMaxPointCount() use Series.setDataCleaning() instead.
  • Series.setDataCleaningThreshold() use Series.setDataCleaning() instead.