Options
All
  • Public
  • Public/Protected
  • All
Menu

LightningChart® JS API Documentation

Index

Enumerations

Classes

Interfaces

Type aliases

Variables

Functions

Object literals

Type aliases

AbruptMouseEventHandler

AbruptMouseEventHandler : function

Event handler for mouse event that is 'abrupt'. Meaning that the event can be triggered as a side-effect of something totally unrelated, without an actual mouse-event. ( Designed for making sure that mouse-leave is handled when hovered entity is disposed )

param

Object

param

Browser MouseEvent that triggered the event of undefined if event is abrupt

    • Parameters

      • obj: T
      • event: MouseEvent

      Returns void

AngleInterval

AngleInterval : SliceInterval

Angular interval object defines the minimum and maximum interval in degrees.

AnimationEasing

AnimationEasing : function

Interface for AnimationEasing.

See AnimationEasings for a collection of default options.

param

Starting value of the animation

param

End value of the animation

param

Animation Duration in milliseconds

    • Parameters

      • start: number
      • end: number
      • duration: number

      Returns Ease

AnimationFactory

AnimationFactory : function

Type of Animation Factory

param

Array of start and end animation values

param

Function for handling of interframe modification

param

Override default duration of animation

AnimationFrameCallback

AnimationFrameCallback : function

Function for handling of interframe modification

param

Values calculated by Ease function

    • Parameters

      • values: Array<number>

      Returns void

AreaSeriesTypes

AreaSeriesTypes : typeof AreaSeriesTypes[keyof typeof AreaSeriesTypes]

Available Area Series types

AxisOptions

AxisOptions : object & Partial<object | object>

Interface for specifying Axis (XY) configurations that can't be changed after creation of the Axis.

Example usage:

  • Configure default Y Axis of chart on opposite side to default configuration (right).
 ChartXY({
     defaultAxisY: {
         opposite: true,
     }
 })
  • Configure default X Axis of chart as logarithmic (10 base).
 ChartXY({
     defaultAxisX: {
         type: 'logarithmic',
         base: 10,
     }
 })
  • Configure newly created X Axis of chart as logarithmic (natural base).
 ChartXY.addAxisX({
     type: 'logarithmic',
     base: 'natural',
 })

NOTE: Not all series types support logarithmic axes! Attaching a non-supported Series will crash the application.

List of series that support logarithmic Axes:

BoxSeriesFormatter

BoxSeriesFormatter : function

Type of a BoxSeriesFormatter function. Defines what Cursor ResultTables show.

param

Builder that is used to build contents of ResultTable

param

BoxSeries

param

StatisticData that is to be displayed with ResultTable

returns

TableContentBuilder that was supplied

CursorStyler

CursorStyler : Mutator<T>

Mutator function that is used for modifying a Cursor during runtime.

CustomTickTextFormatter

CustomTickTextFormatter : function

Interface for function which specifies CustomTick text.

    • Parameters

      Returns string

DateTimeFormatter

DateTimeFormatter : DateTimeFormatOptions | FormattingFunction

Type union of supported methods of defining a formatting behavior for DateTime TickStrategy.

1. Intl.DateTimeFormatOptions:

Use JavaScript API for formatting logic by supplying a Intl.DateTimeFormatOptions object. Example usage:

 // 'January 2015'
 { year: 'numeric', month: 'long' }

For complete documentation of valid keys and values, refer to https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat

2. Custom formatting function:

Specify custom formatting logic by supplying a function that returns a string. Example usage:

 ( value, range ) => {
     // 'value' = number position of tick along the *Axis*.
     // 'range' = *FormattingRange* object that can be used to find the total range of the *Axis*, if needed.

     // Return *string*.
     return "any string"
 }

 ( value ) => {
     // JS *Date* API can be used to interpret numeric *Axis* positions as *UTC Date/Time*, exposing a multitude of handy methods.
     const date = new Date( value )
     return date.toLocaleTimeString()
 }

JS Date documentation: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

DynamicUIMouseStyle

DynamicUIMouseStyle : function

Type definition for a dynamic mouse style setting. This allows for mouse styles that depend on situation.

param

UIElement to apply

returns

Mouse style as string or undefined

    • Parameters

      • uiElement: T

      Returns string | undefined

EngineDimension

EngineDimension : [number | undefined, number | undefined] | undefined | number

Type of dimension for engine; can be a tuple of boundaries, a single static dimension or undefined for container size. When using a tuple to specify boundaries [min, max], actual size for engine will be the size of its container clamped to the specified pixel boundaries. Any of the values inside the tuple can be undefined. Using a single number will set a static size for engine dimension, meaning no resizing of engine will take effect.

EngineOptions

Interface that can be used to configure rendering Engine of LCJS charts and dashboards.

Commonly used properties:

Example usage:

 // Example 1, create chart without specifying DOM container. LCJS will automatically append a <div> in the document.
 // Recommended for testing, mainly.
 const chart = LightningChart.ChartXY({})
 // Example 2, create chart inside DOM element managed by user. The element must be added to the document, before creating the chart.
 const chart = LightningChart.ChartXY({
     // Argument can be either *element id* or actual reference to the HTML element.
     container: 'my-chart-div'
 })

FigureSeriesFormatter

FigureSeriesFormatter : function

Interface for a function which builds ResultTable content when pointing at a FigureSeries.

param

Builder that is used to build contents of ResultTable. Use addRow() method for adding content.

param

Series

param

Figure that is pointed at. This type is abstract and depends on the type of Series in question. For example, if you are using a BoxSeries this 'figure' will be of type: "BoxFigure".

returns

TableContentBuilder that was supplied

    • Type parameters

      Parameters

      • tableContentBuilder: T
      • series: P
      • figure: FigureType

      Returns T

FigureStyler

FigureStyler : function

Type for styler function for Figure

param

Figure

    • Parameters

      • figure: T

      Returns void

FontStyle

FontStyle : "normal" | "italic" | "oblique"

Type definition for [[FontSettings.style]] property.

FontWeight

FontWeight : "normal" | "bold" | "bolder" | "lighter" | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900

Type definition for [[FontSettings.weight]] property.

FormattingFunction

FormattingFunction : function

Type definition for a pure formatting function.

The formatter is supplied a numeric value, and it formats it into a string, that can be displayed on an Axis tick, for example.

param

Numeric value.

param

Object that represents the possible range for value. For example, the start-end range of an Axis.

returns

Value formated as string

    • Parameters

      Returns string

FunnelSliceVisual

FunnelSliceVisual : Polygon | Text

Possible Shape types for parts of a Slice.

GaugeAngleIntervalEventHandler

GaugeAngleIntervalEventHandler : function

Event handler for gauge angle interval changed

param

Object

param

Previous angle interval of the Gauge

param

Current angle interval of the Gauge

GaugeSliceVisual

GaugeSliceVisual : Arc | Text

Possible Shape types for parts of a Slice.

ImmutableMutator

ImmutableMutator : function

Type of a mutator function for abstract, immutable object. Function provides functionality for creating a new object based on an existing one.

param

Reference object

returns

New object

    • Parameters

      • object: T

      Returns B

IntensitySeriesFormatter

IntensitySeriesFormatter : function

Interface for a function which builds ResultTable content when pointing at a IntensitySeries.

param

Builder that is used to build contents of ResultTable. Use addRow() method for adding content.

param

IntensitySeries

param

Value along axis

param

Formating function for values along axis

returns

TableContentBuilder that was supplied

IntensitySeriesTypes

IntensitySeriesTypes : typeof IntensitySeriesTypes[keyof typeof IntensitySeriesTypes]

IntervalChangeEventListener

IntervalChangeEventListener : function

Interval change event listener.

param

Slice

param

Previous slice interval

param

Next slice interval

LUTOptions

LUTOptions : LUTStepsOptions & Partial<ValuePaletteOptions>

Interface defines a LUT lookup table configurations.

LegendBoxAddOptions

LegendBoxAddOptions : object

Optional configuration options that can be supplied when adding entries to a LegendBox.

  • Optional builder?: UIElementBuilder<LegendBoxEntry>

    Optional builder for custom entry

  • Optional disposeOnClick?: undefined | false | true

    Optional flag that determines whether clicking the LegendBoxEntry will dispose the Attached objects

LineSeriesStyle3D

LineSeriesStyle3D : SolidLine<SolidFill>

Type union of LineStyle types supported by LineSeries3D.

Equal to that of 2D lines.

LookUpProperty

LookUpProperty : "value" | "x" | "y" | "z"

Type union of possible values for 'lookUpProperty' configuration of a PalettedFill.

Points to a property to be used when picking colours from a Look Up Table.

  • "value": LUT value is taken from a separate value that can be set by user by some Series-specific logic.
  • "x": LUT value is taken directly from data points X coordinate.
  • "y": LUT value is taken directly from data points Y coordinate.
  • "z": LUT value is taken directly from data points Z coordinate.

Use alongside PalettedFill and LUT.

Matrix

Matrix : Array<Array<T>>

Generic multi-dimensional array of specified type.

MouseDragEventHandler

MouseDragEventHandler : function

Event handler for mouse drag

param

Object

param

Browser MouseEvent that triggered the event

param

Button that is being held down

param

Start location of mouse

param

Dragged delta

    • Parameters

      • obj: T
      • event: MouseEvent
      • button: number
      • startLocation: Point
      • delta: Point

      Returns void

MouseDragStartEventHandler

MouseDragStartEventHandler : function

Event handler for mouse drag start

param

Object

param

Browser MouseEvent that triggered the event

param

Button that is being held down

    • Parameters

      • obj: T
      • event: MouseEvent
      • button: number

      Returns void

MouseDragStopEventHandler

MouseDragStopEventHandler : function

Event handler for mouse drag

param

Object

param

Browser MouseEvent that triggered the event

param

Button that is being held down

param

Start location of mouse

    • Parameters

      • obj: T
      • event: MouseEvent
      • button: number
      • startLocation: Point

      Returns void

MouseEventHandler

MouseEventHandler : function

Event handler for mouse move

param

Object

param

Browser MouseEvent that triggered the event

    • Parameters

      • obj: T
      • event: MouseEvent

      Returns void

MouseWheelEventHandler

MouseWheelEventHandler : function

Event handler for mouse wheel

param

Object

param

Browser WheelEvent that triggered the event

    • Parameters

      • obj: T
      • event: WheelEvent

      Returns void

Mutator

Mutator : function

Type of a mutator function for abstract object. Function provides functionality for modifying an object.

param

Object to mutate

    • Parameters

      • object: T

      Returns void

OHLCFigureStyler

OHLCFigureStyler : function

Type of styler function for OHLC figures

    • Parameters

      • figure: T

      Returns void

OHLCSeriesFormatter

OHLCSeriesFormatter : function

Interface for a function which builds ResultTable content when pointing at an OHLCSeries.

param

Builder that is used to build contents of ResultTable. Use addRow() method for adding content.

param

OHLCSeries

param

OHLCSegment that is pointed. Has methods for reading its Open, High, Low, Close and Position values.

returns

TableContentBuilder that was supplied

OHLCSeriesTypes

OHLCSeriesTypes : OHLCSeriesTraditional<PositiveFigure, NegativeFigure> | OHLCSeriesWithAutomaticPacking<PositiveFigure, NegativeFigure>

Available OHLC Series types

Padding

Padding : Margin

Interface for a data-structure which represents a measurement of four sides. Has number properties for:

  • left
  • top
  • right
  • bottom

This data-structure is mainly used for specifying Chart paddings and UIElement paddings/margins.

Duplicate of Margin.

Palette

Palette : function

Type of an abstract Palette function. NOTE: It is common for applications dealing with Palettes to assume that they are continuous, meaning that when supplied an overflowing index, it will return loop back to start.

param

Index of item to pick from Palette

returns

Generated item

    • Parameters

      • index: number

      Returns T

PaletteFactory

PaletteFactory : function

Type of an abstract Palette factory.

param

Length of Palette

returns

Palette of specified length

PieSliceVisual

PieSliceVisual : Arc | Text

Possible Shape types for parts of a Slice.

PolarSeriesFormatter

PolarSeriesFormatter : function

Interface for a function which builds ResultTable content when pointing at a PolarSeries.

param

Builder that is used to build contents of ResultTable. Use addRow() method for adding content.

param

PolarSeries

param

Angle of data point as degrees

param

Amplitude of data point

param

Formating function for similar formatting as Charts Amplitude Axis.

returns

TableContentBuilder that was supplied

    • Type parameters

      Parameters

      • tableContentBuilder: T
      • series: PolarSeries
      • angleDeg: number
      • amplitude: number
      • formatAmplitude: function
          • Parameters

            • amplitude: number

            Returns string

      Returns T

PyramidSliceVisual

PyramidSliceVisual : Polygon | Text

Possible Shape types for parts of a Slice.

RangeSeriesFormatter

RangeSeriesFormatter : function

Interface for a function which builds ResultTable content when pointing at a RangeSeries.

param

Builder that is used to build contents of ResultTable. Use addRow() method for adding content.

param

RangeSeries.

param

Position on the axis.

param

High value on the axis.

param

Low value on the axis.

returns

TableContentBuilder that was supplied

    • Type parameters

      Parameters

      • tableContentBuilder: T
      • series: RangeSeries
      • position: number
      • high: number
      • low: number

      Returns T

ResultTableContent

ResultTableContent : Array<string | undefined>[]

Interface that represents content displayable by a ResultTable.

Currently simply a grid of strings, but in the future this could be extended to contain images or such.

SeriesXYFormatter

SeriesXYFormatter : function

Interface for a function which builds ResultTable content when pointing at a SeriesXY.

param

Builder that is used to build contents of ResultTable. Use addRow() method for adding content.

param

SeriesXY

param

X coordinate

param

Y coordinate

returns

TableContentBuilder that was supplied

    • Type parameters

      Parameters

      • tableContentBuilder: T
      • series: SeriesXY
      • x: number
      • y: number

      Returns T

SliceLabelFormatter

SliceLabelFormatter : function

Type of function which is used to format text of Slice Labels. It is a function which generates a string based on a Slice along with some additional information.

See SliceLabelFormatters-collection for quick access to some example implementations.

Use with [[SlicedCharts.setLabelFormatter]]

Example usage:

// Use a default implementation
SlicedCharts.setLabelFormatter(SliceLabelFormatters.NamePlusRelativeValue)
// Use a custom implementation
SlicedCharts.setLabelFormatter((slice, relativeValue) => slice.getValue() + ' €')
param

Slice

param

Value of the Slice as a % of all Slice values

returns

String text for Label

    • Parameters

      • slice: T
      • relativeValue: number

      Returns string

SliceSorter

SliceSorter : function

Type of function which is used to sort Slices of a Chart with Slices. It is a comparator function used with JavaScript API: Array.sort.

See SliceSorters collection for quick access to some example implementations.

Use with [[SlicedCharts.setSliceSorter]]

Example usage:

// Use a default implementation
SlicedCharts.setSliceSorter(SliceSorters.SortByValueDescending)
// Use a custom implementation
SlicedCharts.setSliceSorter((a, b) => a.getValue() - b.getValue())
param

Slice A

param

Slice B

returns

Number which implies the sorted order between Slices A and B. For more details, refer to Array documentation.

    • Parameters

      • sliceA: T
      • sliceB: T

      Returns number

SliceTypes

SliceTypes : PieSlice | FunnelSlice

SpiderAxisLabelStrategy

SpiderAxisLabelStrategy : function

Type of an axis label strategy function. Defines how axis labels are aligned.

param

DataStructure that is used to pass result

param

Index of axis. 0 is always directly up

param

Amount of axes in chart

param

Name of axis

param

Angle of axis in radians

param

Label padding as set in chart

returns

SpiderAxisLabelPosition (modified first parameter of function)

SpiderScaleLabelStrategy

SpiderScaleLabelStrategy : function

Type of a scale label strategy function. Defines how scale labels are aligned.

param

DataStructure that is used to pass result

param

Index of axis. 0 is always directly up

param

Amount of axes in chart

param

Name of axis

param

Angle of axis in radians

param

Index of web. 0 is always the outer-edge of spider

param

Amount of webs in chart

param

Label padding as set in chart

returns

SpiderScaleLabelPosition (modified first parameter of function) or undefined to not display label

SpiderSeriesFormatter

SpiderSeriesFormatter : function

Interface for a function which builds ResultTable content when pointing at a SpiderSeries.

param

Builder that is used to build contents of ResultTable. Use addRow() method for adding content.

param

SpiderSeries

param

Value along axis

param

Name of axis

param

Formating function for values along axis

returns

TableContentBuilder that was supplied

    • Type parameters

      Parameters

      • tableContentBuilder: T
      • series: SpiderSeries
      • value: number
      • axis: string
      • formatValue: function
          • Parameters

            • value: number

            Returns string

      Returns T

TickLevel

TickLevel : "great" | "major" | "minor"

Type union of different tick levels of DateTime TickStrategy.

Great tick(s): The greatest tick of DateTime Axis. These are not visible, and are only used to synchronize positioning of Major and Minor ticks. There are separate "Visible Great ticks" that are implemented as Independent Tick Levels.

Major ticks: The main tick type.

Minor ticks: Ticks placed in between Major ticks.

TouchEventHandler

TouchEventHandler : function

Event handler for pointer event (touch)

param

Object

param

Browser PointerEvent that triggered the event

    • Parameters

      • obj: T
      • event: ExtendedPointerEvent

      Returns void

UIElementStyler

UIElementStyler : function

Type of function for styling a generic UIElement.

    • Parameters

      Returns unknown

UILegendBox

UILegendBox : UIPartWithBackground<BackgroundType> & LegendBox

Standalone UI Element that functions as a legend box.

Interface for legend box functionality (e.q. attaching series, styling entries, ...): LegendBox

Interface for ui element functionality (e.q. moving legend box, styling background, ...): UIElement

UIMouseStyle

UIMouseStyle : string | DynamicUIMouseStyle<UIElement>

Type definition for a mouse style setting. This tells how mouse should look when hovering over an UIElement.

For a collection of mouse styles, see MouseStyles.

UITickBuilder

UITickBuilder : UIElementBuilder<UITick>

Interface for builder for UITick.

UpdateColorCallback

UpdateColorCallback : function

UpdateGeometryCallback

UpdateGeometryCallback : function
    • Parameters

      • row: number
      • column: number
      • current: T

      Returns T | undefined

UpdateValueCallback

UpdateValueCallback : function
    • Parameters

      • row: undefined | number
      • column: undefined | number
      • current: IntensityValue

      Returns number | undefined

UpdateYCallback

UpdateYCallback : function
    • Parameters

      • row: undefined | number
      • column: undefined | number
      • current: undefined | number

      Returns number

UserScaleDefinition

UserScaleDefinition : ScaleXY | Vec2<Axis | LinearScaleXY>

Type union for supported ways for users to define a Scale for positioning UI elements and Legend Boxes.

ValueChangeEventListener

ValueChangeEventListener : function

Value change event listener.

param

Slice

param

Previous slice value

param

Next slice value

    • Parameters

      • slice: S
      • previous: number
      • next: number

      Returns void

XOHLC

XOHLC : [number, number, number, number, number]

Ordered tuple that contains values for:

  • X
  • Open
  • High
  • Low
  • Close

ZoomBandChartSeries

ZoomBandChartSeries : LineSeries | AreaRangeSeries

Type of Series that ZoomBandChart uses internally.

ZoomBandChartSeriesStyler

ZoomBandChartSeriesStyler : function

Type of a function that is used to override the style of all Series created by ZoomBandChart.

param

The Series created by ZoomBandChart. The type of Series depends on the referenced series.

param

The Series that is being referenced. If AreaRangeSeries, series is also AreaRangeSeries. Otherwise, series is always LineSeries.

Variables

Const emptyFill

emptyFill : EmptyFill

Singleton object which indicates that component should not have fill color.

When emptyFill is used, the area that would be filled does NOT trigger mouse / touch -events (if this is desired, use a transparent SolidFill instead).

emptyFill Usage:

Use emptyFill with:

 // Example
 PointSeries.setPointFillStyle(emptyFill)
 // Example, construct a SolidLine.
 const lineStyle = new SolidLine({
     thickness: 1,
     fillStyle: emptyFill
 })

Related information:

For more fill styles, see:

Const emptyLine

emptyLine : LineStyle

Singleton object which specifies that a line should not be rendered.

When emptyLine is used, the configured line does NOT trigger mouse / touch -events (if this is desired, use a transparent SolidLine instead).

emptyLine Usage:

Use emptyLine as argument of:

 // Example
 LineSeries.setStrokeStyle(emptyLine)

Related information:

For more line styles, see:

Const emptyTick

emptyTick : TickStyle

TickStyle singleton, which can be used to indicate that Ticks shouldn't be displayed.

Can be used with TickStrategies.

Example usage:

// Get Default Y Axis of XY Chart.
chart.getDefaultAxisY()
  // Modify the Axis' TickStrategy.
  .setTickStrategy(
     // Using a Numeric TickStrategy, modify it's Styler.
     AxisTickStrategies.Numeric, ( numericTickStrategy ) => numericTickStrategy
         // Set the Minor TickStyle of the TickStrategy as EmptyTick.
         .setMinorTickStyle( emptyTick )
)

Const transparentFill

transparentFill : SolidFill

A SolidFill singleton for a completely transparent fill. Can be useful in at least following cases:

  1. User wants to hide something but still have it interactable by mouse/touch

  2. User wants to hide something that does not support emptyFill

Otherwise, emptyFill should be preferred for better performance.

Const transparentLine

transparentLine : SolidLine<SolidFill>

A SolidLine singleton for a completely transparent line. Can be useful in at least following cases:

  1. User wants to hide something but still have it interactable by mouse/touch

  2. User wants to hide something that does not support emptyFill

Otherwise, emptyLine should be preferred for better performance.

Functions

Const Animator

  • Animator(afterUpdate: function, fps: number): function
  • Animator factory.

    Unpolished API, usage can be copied from Examples set but it is not further encouraged.

    Parameters

    • afterUpdate: function

      After all animation update callback

        • Returns void

    • fps: number

      Desirable frame rate for all animations (Limited to around 60fps by browser)

    Returns function

Const ColorCSS

  • ColorCSS(color: string): Color
  • One of the many available factories for Color. This variant has a single parameter that follows the CSS suite of describing colors. Can be especially useful when tying LightningChart JS styling together with user front-end application CSS.

    Example usage:

     const colorRed = ColorCSS('red')
     const colorTransparentGreen = ColorCSS('rgba(0, 255, 0, 0.5)')

    Supported formats:

    Basically all commonly used CSS color syntaxes are supported, but here is a list for reference:

    • HEX ('#FF00AA')
    • HEX with transparency ('#FF00AABB')
    • RGBA ('rgba(132, 15, 4, 1.0)')
    • HSL ('hsl(0,100%, 50%)')
    • Color Name ('blue')

    For more convenience factories, see:

    Parameters

    • color: string

      CSS string description of a color. For example, 'red'.

    Returns Color

    Color object. Please refer to Color API document, on extended information how to use LCJS Colors.

Const ColorHEX

  • ColorHEX(hexColor: string): Color
  • One of the many available factories for Color. This variant has a single parameter that follows the CSS suite of describing colors as hexadecimal strings.

    Example usage:

     const colorRed = ColorHEX('#ff0000')
     const colorTransparentGreen = ColorHEX('#00ff0010')

    Supported formats:

    Basically all commonly used hexadecimal color syntaxes are supported, but here is a full list:

    • '#RRGGBB'
    • '#RRGGBBAA'
    • '#RGB'
    • '#RGBA'
    • 'RRGGBB'
    • 'RRGGBBAA'
    • 'RGB'
    • 'RGBA'
    • '0xRRGGBB'
    • '0xRRGGBBAA'
    • '0xRGB'
    • '0xRGBA'

    For more convenience factories, see:

    Parameters

    • hexColor: string

      Hexadecimal value for constructing a Color. Eq. '#FF0000' = Red

    Returns Color

    Color object. Please refer to Color API document, on extended information how to use LCJS Colors.

Const ColorHSV

  • ColorHSV(hue: number, saturation: number, value: number): Color
  • One of the many available factories for Color. This variant receives input arguments in HSV color space. HSV is popular in generating smooth, looping color ranges, for example (red -> green -> blue -> red).

    Example usage:

     // Hue = angle of color circle where 0 deg = red, 120 deg = green, 240 deg = blue.
     const colorRed = ColorHSV(0)
     const colorYellow = ColorHSV(60)
    
     // Generate a simple color palette.
     const colors10 = new Array(10).fill(undefined).map((_, iColor) =>
         // Array will receive colors starting from red, moving through green, blue and ending just before red.
         ColorHSV( 0 + (iColor / 10) * 360 )
     )
    
     // 'saturation' and 'value' arguments can be supplied optionally.
     const colorRedDim = ColorHSV(0, 1.0, 0.5)

    For more convenience factories, see:

    Parameters

    • hue: number

      Hue value as degrees [0, 360] (0 = red, 120 = green, 240 = blue, 360 = red, and so on...).

    • saturation: number

      Saturation in range [0, 1]. Defaults to 1.

    • value: number

      Value in range [0, 1]. Defaults to 1.

    Returns Color

    Color object. Please refer to Color API document, on extended information how to use LCJS Colors.

Const ColorRGBA

  • ColorRGBA(r: number, g: number, b: number, a: number): Color
  • One of the many available factories for Color. This variant receives individual values for red, green, blue, and optionally alpha channels. Input values are in range [0, 255].

    Example usage:

     // Create Color from RGB [0, 255] values (completely red).
     const color = ColorRGBA( 255, 0, 0 )
    
    // Create transparent Color.
    const transparentColor = ColorRGBA( 255, 0, 0, 127 )

    For more convenience factories, see:

    Parameters

    • r: number

      Red from 0 to 255

    • g: number

      Green from 0 to 255

    • b: number

      Blue from 0 to 255

    • a: number

      Alpha from 0 to 255 (can be omitted, defaulting to 255)

    Returns Color

    Color object. Please refer to Color API document, on extended information how to use LCJS Colors.

Const LinearGradientFillPalette

  • Factory for creating a LinearGradientFill palette.

    Parameters

    • colorPalettes: PaletteFactory<Color>

      Collection of default colors from PaletteFactory

    • amount: number

      Amount of colors in the palette

    • angle: undefined | number

      Angle for the Linear Gradient. Set to 90 degrees by default.

    • color: Color

    Returns Palette<FillStyle>

    A new LinearGradientFill palette

Const RadialGradientFillPalette

  • Factory for creating a RadialGradientFill palette.

    Parameters

    • colorPalettes: PaletteFactory<Color>

      Collection of default colors from PaletteFactory

    • amount: number

      Amount of colors in the palette

    • color: Color

    Returns Palette<FillStyle>

    A new RadialGradientFill palette

Const SolidFillPalette

  • Factory for creating a SolidFill palette.

    Parameters

    • colorPalettes: PaletteFactory<Color>

      Collection of default colors from PaletteFactory

    • amount: number

      Amount of colors in the palette

    • color: Color

    Returns Palette<FillStyle>

    A new SolidFill palette

Const customComplexTheme

  • Method for creating a custom theme by modifying individual settings. Can be used with customSimpleTheme.

    Parameters

    • base: Theme

      Theme to base the modifications on

    • options: Partial<CustomStyle>

      Modifications to the base theme

      // Define a new theme with different colored background
      const myTheme = customComplexTheme(Themes.light, {chart: {fill: {color: ColorHex('#FF7')}}})
      const chart = lightningChart().ChartXY( { theme: myTheme } )

    Returns Theme

Const customSimpleTheme

  • customSimpleTheme(primaryColor: Color, secondaryColor?: Color, base: Theme, fontFamily?: undefined | string): Theme
  • Function for defining a new custom theme with only few parameters.

    Parameters

    • primaryColor: Color

      Only required variable. Is used in headers and labels.

    • secondaryColor: Color

      If not provided, will use primary color instead. Used in graphs, labels and subheaders.

    • base: Theme

      Theme to use as a base. Will be used for background, grid and constantlines.

    • fontFamily: undefined | string

      Custom font for all elements. IMPORTANT! Font must be used and loaded on the page where this variable is used before rendering chart. You can ensure that font has been loaded by using function 'document.fonts.ready'.

    Returns Theme

    new Theme

    // Define new theme with one color
    const myTheme = customSimpleTheme(ColorHEX('#C90'), , Themes.light, 'Comic Sans')
    const chart = lightningChart().ChartXY( { theme: myTheme } )

Const customTheme

  • Create a custom theme to use. New theme uses an existing theme as basis, so users can customize only the parts they want from a preset theme. This gives more control over each stylable object than customSimpleTheme and customComplexTheme. See Theme for each customizable object available.

    Usage example:

    // Modify the dashboard background color for the dark theme:
    const customTheme = customTheme(Themes.dark, { dashboardBackGroundFillStyle: new SolidFill({color: ColorHEX('#f121')}) } )

    Parameters

    • baseTheme: Theme

      Theme to use as basis for the new theme.

    • newTheme: Partial<Theme>

      New theme or part of new theme to apply over the base theme.

    Returns Theme

    New theme.

Const lightningChart

  • Function for initializing the LightningChart library.

    Returns the main interface of LCJS, which is used to create all top level components - charts and dashboards.

     const lcjs = lightningChart({
         // Either supply license number, or omit for automatic community license.
         // license: 'my-license-number'
     })
    
     // Create charts...
     const chart = lcjs.ChartXY()

    Parameters

    • arg1: LightningChartOptions | string

      Object containing any properties supported by LightningChartOptions interface. Most importantly used for supplying license information. string license can be supplied to support old syntax, but this will be deprecated eventually, consider using { license: 'my-license' } syntax instead.

    • arg2: AppDeploymentLicenseInformation

      Additional information for license verification. Only required by Application Deployment license. Consider using { licenseInformation: ... } arg1 syntax instead.

    Returns LightningChart

    A LightningChart object for creating Charts and components.

Const saveToFile

  • saveToFile(engine: PublicEngine, fileName: string, type: string, encoderOptions?: undefined | number): void
  • Capture rendered state in an image file. Prompts the browser to download the created file.

    NOTE: The download might be blocked by browser/plugins as harmful. To prevent this, only call the method in events tied to user-interactions. From mouse-event handlers, for example.

    Has two optional parameters which directly reference JavaScript API HTMLCanvasElement.toDataURL. For supported image formats, compression quality, Etc. refer to:

    https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toDataURL

    Example usage:

    // Download 'screenshot.png'
    saveToFile('screenshot')
    // Attempt download 'maybeNotSupported.bmp'
    saveToFile('maybeNotSupported', 'image/bmp')
    // Attempt download jpeg.file with specified compression quality
    saveToFile('fileName', 'image/jpeg', 0.50)
    sideeffect

    If 'type' is not supported by browser, an Error will be thrown.

    Parameters

    • engine: PublicEngine
    • fileName: string

      Name of prompted download file as string. File extension shouldn't be included as it is automatically detected from 'type'-argument.

    • type: string

      A DOMString indicating the image format. The default format type is image/png.

    • encoderOptions: undefined | number

      A Number between 0 and 1 indicating the image quality to use for image formats that use lossy compression such as image/jpeg and image/webp. If this argument is anything else, the default value for image quality is used. The default value is 0.92.

    Returns void

Const translatePoint

  • Function for translating a XY coordinate between different coordinate systems.

    A coordinate system can be selected by a scale property of chart, or by specifying a pair of Axis.

     // Example 1, translate from percentage location in chart, to pixel location in chart.
     const pixelLocation = translatePoint(
         // percentage location within chart, where [0,0] = bottom left, and [100,100] = top right.
         { x: 10, y: 10 },
         chart.uiScale,
         chart.pixelScale
     )
     // Example 2, translate axis coordinate to pixel location in chart.
     const pixelLocation = translatePoint(
         // axis coordinate.
         { x: 116.9, y: 26.4 },
         {
             x: chart.getDefaultAxisX(),
             y: chart.getDefaultAxisY(),
         },
         chart.pixelScale
     )
    
     // NOTE: Translation from chart pixel coordinates to *document* is done using `engineLocation2Client` method.
     const pixelLocationDocument = chart.engine.engineLocation2Client(pixelLocation.x, pixelLocation.y)
     // `pixelLocationDocument` can now be used for absolute positioning HTML elements, or other such things...
    

    Available chart coordinate systems:

    Every LCJS chart class has two available coordinate systems:

    1. uiScale | Percentage based coordinate system, where [0,0] = bottom left, and [100,100] = top right.
    2. pixelScale | Pixel based coordinate system, where [0,0] = bottom left.

    With ChartXY, axes can be also used (see example usage above).

    Parameters

    • value: Point

      XY coordinate.

    • originScale: ScaleXY | Vec2<Axis | ScaleXY>

      Source coordinate system.

    • targetScale: ScaleXY | Vec2<Axis | ScaleXY>

      Target coordinate system.

    Returns Point

    Coordinate that corresponds value on target coordinate system.

Object literals

Const AnimationEasings

AnimationEasings : object

AnimationEasing collection to use with Animator.

ease

  • ease(start: number, end: number, duration: number): Ease
  • Parameters

    • start: number
    • end: number
    • duration: number

    Returns Ease

easeIn

  • easeIn(start: number, end: number, duration: number): Ease
  • Parameters

    • start: number
    • end: number
    • duration: number

    Returns Ease

easeOut

  • easeOut(start: number, end: number, duration: number): Ease
  • Parameters

    • start: number
    • end: number
    • duration: number

    Returns Ease

linear

  • linear(start: number, end: number, duration: number): Ease
  • Parameters

    • start: number
    • end: number
    • duration: number

    Returns Ease

logarithmic

  • Scroll easing factory for logarithmic axes.

    Parameters

    • base: number

    Returns AnimationEasing

Const AreaSeriesTypes

AreaSeriesTypes : object

Collection of AreaSeries implementations.

Used when creating an AreaSeries with ChartXY.addAreaSeries. Selected option tells what the returned Series type will be - different Series types can have different APIs !

  • Select AreaSeriesTypes.Positive to show only area above the baseline.
  • Select AreaSeriesTypes.Negative to show only area below the baseline.
  • Select AreaSeriesTypes.Both to show both areas from both sides of the baseline.

Bipolar

Type of AreaSeries that shows data on both sides of baseline.

Has individual styles for positive/negative areas.

Negative

Negative : AreaSeriesNegative

Type of AreaSeries that only shows data that is below the baseline.

Positive

Positive : AreaSeriesPositive

Type of AreaSeries that only shows data that is above the baseline.

Const AutoCursorBuilders

AutoCursorBuilders : object

Collection of AutoCursorBuilders.

AutoCursorBuilders are used to modify structure of AutoCursors of Charts, by passing one when the Chart is created.

Each item is associated with a specific Chart-type, that it can only be used with.

Polar

AutoCursorBuilder for PolarChart.

Used to modify structure of AutoCursor, by passing one when creating a PolarChart.

Spider

AutoCursorBuilder for SpiderChart.

Used to modify structure of AutoCursor, by passing one when creating a SpiderChart.

XY

AutoCursorBuilder for ChartXY.

Used to modify structure of AutoCursor, by passing one when creating a ChartXY.

Const AutoFitStrategies

AutoFitStrategies : object

Collection of AutoFitStrategyFactories.

Used with AutoCursors and Markers setAutoFitStrategy() to customize logic for keeping ResultTable in view.

Flip

Flip : _AutoFitByFlip

Factory for AutoFitStrategy which attempts to fit ResultTable by flipping it when it goes out of view.

Example usage:

ChartXY.setAutoCursor((autoCursor) => autoCursor.setAutoFitStrategy( AutoFitStrategies.Flip ))

FontSize

FontSize : _AutoFitByFontSize

Factory for AutoFitStrategyFactory for strategy which attempts to fit ResultTable by reducing its font size when it goes out of view.

Example usage:

ChartXY.setAutoCursor((autoCursor) => autoCursor.setAutoFitStrategy( AutoFitStrategies.FontSize(5, 5) ))

param

Optimal minimum font size that must be retained at all times. Defaults to 5

param

Count of steps strategy will attempt at fitting. Defaults to 5

Const AxisScrollStrategies

AxisScrollStrategies : object

Collection of available AxisScrollStrategies.

AxisScrollStrategies can be used to customize the behavior of Axis scrolling.

Use with Axis.setScrollStrategy

expansion

expansion : AxisScrollStrategy

Axis will scroll to fit Series that are out of view, but it won't shrink even if there is empty space (like "fitting" does).

fitting

fitting : AxisScrollStrategy

Axis will constantly scroll to fit attached Series.

progressive

progressive : AxisScrollStrategy

Axis will scroll to show new, progressive data, but will keep its interval constant - leaving older data out of view.

regressive

regressive : AxisScrollStrategy

Axis will scroll to show new, regressive data, but will keep its interval constant - leaving older data out of view.

Const AxisTickStrategies

AxisTickStrategies : object

Collection of available AxisTickStrategies.

AxisTickStrategies modify logic of drawing Axis Ticks and formatting to better suit different user applications. For example, a DateTime Axis is created by selecting AxisTickStrategies.DateTime.

DateTime

DateTime : "DateTime"

DateTime Axis TickStrategy. Creates ticks at relevant Dates and Times.

Has separate styles for each tick level: great, major and minor. Each tick level is placed along a different DateTime unit (eq. second, day, month, year), which is dynamically selected from the active Axis range.

Example usage:

Default style:

Axis.setTickStrategy( AxisTickStrategies.DateTime )

Customized style:

Axis.setTickStrategy(
    AxisTickStrategies.DateTime,
    ( tickStrategy: DateTimeTickStrategy ) => tickStrategy
        .setMinorTickStyle(( tickStyle ) => tickStyle
            .setLabelFont(( font ) => font
                .setWeight( 'bold' )
            )
        )
)

Formatting based on a specific locale:

Axis.setTickStrategy(
    AxisTickStrategies.DateTime,
    ( tickStrategy: DateTimeTickStrategy ) => tickStrategy
        .setLocale( 'fi )
)

Specifying an offset between Axis-values and Dates:

Axis.setTickStrategy(
    AxisTickStrategies.DateTime,
    ( tickStrategy: DateTimeTickStrategy ) => tickStrategy
        // This will format a data-point with value 0 as current Date and Time.
        .setDateOrigin( new Date( ) )
)

Empty

Empty : "Empty"

Disables all automatic creation of Axis ticks.

CustomTicks can still be created manually.

Example usage:

Axis.setTickStrategy( AxisTickStrategies.Empty )

Numeric

Numeric : "Numeric"

Default Axis TickStrategy. Creates ticks at relevant intervals of powers of 10 and its fractions.

Has optional "extreme ticks", which always display the start and end values of the Axis.

Has separate styles for each tick level: major, minor and extreme.

Example usage:

Default style:

Axis.setTickStrategy( AxisTickStrategies.Numeric )

Customized style:

Axis.setTickStrategy(
    AxisTickStrategies.Numeric,
    ( tickStrategy: NumericTickStrategy ) => tickStrategy
        .setMinorTickStyle(( tickStyle ) => tickStyle
            .setLabelFont(( font ) => font
                .setWeight( 'bold' )
            )
        )
)

Const ColorPalettes

ColorPalettes : object

Collection of default Color PaletteFactories.

Items are mostly functions that take a single argument, length, and return a Color Palette of that given length.

Color Palettes are functions that give a Color based on a given index.

arction

arction : PaletteFactory<Color>

arctionWarm

arctionWarm : PaletteFactory<Color>

auroraBorealis

auroraBorealis : PaletteFactory<Color>

blueSciFi

blueSciFi : PaletteFactory<Color>

cold

crayons

crayons : PaletteFactory<Color>

custom

dynamic

dynamic : PaletteFactory<Color>

flatUI

frozen

fullSpectrum

fullSpectrum : PaletteFactory<Color>

greyscale

greyscale : PaletteFactory<Color>

light

magenta

magenta : PaletteFactory<Color>

monochrome

monochrome : PaletteFactory<Color>

night

retro

reverseSpectrum

reverseSpectrum : PaletteFactory<Color>

sunset

sunset2

sunset2 : PaletteFactory<Color>

warm

sector

  • sector(start: number, end: number, saturation: number, vibrance: number): PaletteFactory<Color>
  • Parameters

    • start: number
    • end: number
    • saturation: number
    • vibrance: number

    Returns PaletteFactory<Color>

Const FormattingFunctions

FormattingFunctions : object

Enum-like object for implementations of default Formatting functions.

Numeric

  • Formats a number.

    Parameters

    • value: number

      Value on range to format

    • range: FormattingRange

      FormatingRange

    Returns string

    Value formated as string

NumericUnits

  • Formats a number by range-dependant rounding and usage of units.

    Parameters

    • value: number

      Value on range to format

    • range: FormattingRange

      FormatingRange

    Returns string

    Value formated as string with units

Const FunnelChartTypes

FunnelChartTypes : object

Collection of FunnelChart implementations. Each option can have their own visual design, and API for customization of it.

This must be specified when the FunnelChart is created (or default one will be used).

Example usage:

// Create a FunnelChart with default type
LightningChart.Funnel()
// Create a FunnelChart with specified type
LightningChart.Funnel({ type: FunnelChartTypes.LabelsInsideSlices })

LabelsInsideSlices

LabelsInsideSlices : FunnelChartWithLabelsInsideSlices

Funnel Chart type, where Slice Labels inside the Slices.

LabelsOnSides

Funnel Chart type, where Slice Labels are positioned on the either left or right sides of Chart. The side can be set using setLabelSide Labels are connected to their Slices with lines, which can be styled using unique API for this Funnel Chart type.

Const GaugeChartTypes

GaugeChartTypes : object

Collection of GaugeChart implementations. Each option can have their own visual design, and API for customization of it.

Note, at this time, there is only a single type available, leaving this API effectively unusable.

This must be specified when the GaugeChart is created (or default one will be used).

Example usage:

// Create a GaugeChart with specified type
LightningChart.Gauge({ type: GaugeChartTypes.Solid })

Solid

Solid : SolidGauge

Solid Gauge Chart type, which contains a single slice represents a value within the interval.

Const IntensitySeriesTypes

IntensitySeriesTypes : object

Grid

IntensityGridSeries for visualization of magnitude in two dimensions.

Mesh

IntensityMeshSeries for visualization of magnitude in two dimensions.

Mesh allows to edit the geometry of the displayed intensity series.

Const LegendBoxBuilders

LegendBoxBuilders : object

Collection of available LegendBox builders. To build LegendBoxes you must pass one of these to method: addLegendBox(). This method can be accessed through Charts, Dashboard, Etc.

Example usage:

// Create a HorizontalLegendBox on a ChartXY
ChartXY.addLegendBox(LegendBoxBuilders.HorizontalLegendBox)
// Create a HorizontalLegendBox on a Dashboard
Dashboard.addLegendBox(LegendBoxBuilders.HorizontalLegendBox)

HorizontalLegendBox

HorizontalLegendBox : UILegendBoxBuilder<InternalBackground>

Horizontal implementation of LegendBox.

Example usage:

// Create a Horizontal LegendBox
Chart.addUIElement(UIElementBuilders.HorizontalLegendBox)

VerticalLegendBox

VerticalLegendBox : UILegendBoxBuilder<InternalBackground>

Vertical implementation of LegendBox.

Example usage:

// Create a Vertical LegendBox
Chart.addUIElement(UIElementBuilders.VerticalLegendBox)

Const MarkerBuilders

MarkerBuilders : object

Collection of StaticCursorBuilders.

StaticCursorBuilders are used to modify structure of Markers, by passing one when the Marker is created.

Each item is associated with a specific Chart-type, that it can only be used with.

XY

StaticCursorBuilder for creation of MarkerXY.

Used to modify structure of MarkerXY when it is created. There are two versions of MarkerXY:

Const OHLCFigures

OHLCFigures : object

Collection of OHLCFigure options.

Used for selecting different figure designs for OHLCSeries. eq.

Example usage:

// Specify OHLCFigure of OHLCSeries
ChartXY.addOHLCSeries(undefined, undefined, OHLCFigures.Candlestick)

Bar

Bar : OHLCBar

Bar OHLCFigure.

Candlestick

Candlestick : OHLCCandleStick

Candlestick OHLCFigure.

Const OHLCSeriesTypes

OHLCSeriesTypes : object

Collection of OHLCSeries types.

By default, OHLCSeries will be OHLCSeriesTraditional, but different types can be created with these options. Note, that based on the selection the Series can have different API!

Example usage:

// Create OHLCSeries with automatic packing
ChartXY.addOHLCSeries(undefined, undefined, undefined, undefined, OHLCSeriesTypes.AutomaticPacking)

AutomaticPacking

AutomaticPacking : OHLCSeriesWithAutomaticPacking

OHLCSeries type that takes data as X-progressive Points. The Series automatically packs these into OHLC-segments.

If this option is selected, the "add()"-method of the created Series will only accept Points, rather than XOHLC-values.

Normal

OHLCSeries type that takes data traditionally in XOHLC-tuples.

Const PieChartTypes

PieChartTypes : object

Collection of PieChart implementations. Each option can have their own visual design, and API for customization of it.

This must be specified when the PieChart is created (or default one will be used).

Example usage:

// Create a PieChart with specified type
LightningChart.Pie({ type: PieChartTypes.LabelsInsideSlices })

LabelsInsideSlices

LabelsInsideSlices : PieChartWithLabelsInsideSlices

Pie Chart type, where Slice Labels inside the Slices. Works well when Label texts are short and there are not a lot of Slices, as the actual Pie has more space.

LabelsOnSides

LabelsOnSides : PieChartWithLabelsOnSides

Pie Chart type, where Slice Labels are positioned on the left and right sides of Chart. Labels are connected to their Slices with lines, which can be styled using unique API for this Pie Chart type.

Const PointMarkers

PointMarkers : object

Collection of available PointMarker implementations.

PointMarkers are interactable UIElements that belong to AutoCursors and Markers, indicating their location.

PointMarker can be specified when creating an AutoCursor or Marker, by method of their builder.

Example usage:

// Create SeriesMarkerXY with specified PointMarker
SeriesXY.addMarker(MarkerBuilders.XY.setPointMarker(PointMarkers.UICircle))
// Specify PointMarker of AutoCursor
LightningChart.ChartXY({ autoCursorBuilder: AutoCursorBuilders.XY.setPointMarker(PointMarkers.UIDiamond) })

None

None : EmptyPointMarker

No pointMarker.

UICircle

UICircle : UICircle

Circular pointMarker.

UIDiamond

UIDiamond : UIDiamond

45 degree rotated rectangle pointMarker.

UIRectangle

UIRectangle : UIRectangle

Rectangular pointMarker.

Const PointSeriesTypes3D

PointSeriesTypes3D : object

Collection of PointSeries3D implementations.

Used when creating an PointSeries3D with Chart3D.addPointSeries. Selected option tells what the returned Series type will be - PointSeries3D implementations are otherwise equal, but their styling APIs expect different Style objects.

Pixelated

Pixelated : PointCloudSeries3D

Type of Point Series 3D that visualized points by pixels styled using PointStyle3D.Pixelated.

Triangulated

Triangulated : PointSeries3D

Type of Point Series 3D that visualized points by shaded geometry styled using PointStyle3D.Triangulated.

Const PointStyle3D

PointStyle3D : object

Collection of constructors for specifying style of 3D points rendering.

Used with:

  • PointSeries3D
  • PointCloudSeries3D

Pixelated

Pixelated : PixelatedPoints3D

A style class used to specify style of 3D points rendering as pixelated squares.

This rendering style is optimal for rendering large numbers of points that do not require great individual detail.

Triangulated

Triangulated : TriangulatedPoints3D

A style class used to specify style of 3D points rendering as triangulated Cubes.

Const PyramidChartTypes

PyramidChartTypes : object

Collection of PyramidChart implementations. Each option can have their own visual type, and API for customization of it.

This must be specified when the PyramidChart is created (or default one will be used).

Example usage:

// Create a PyramidChart with default type
LightningChart.Pyramid()
// Create a PyramidChart with specified type
LightningChart.Pyramid({ type: PyramidChartTypes.LabelsInsideSlices })

LabelsInsideSlices

Pyramid Chart type, where Slice Labels inside the Slices.

LabelsOnSides

Pyramid Chart type, where Slice Labels are positioned on the either left or right sides of Chart. The side can be set using setLabelSide Labels are connected to their Slices with lines, which can be styled using unique API for this Pyramid Chart type.

Const SliceLabelFormatters

SliceLabelFormatters : object

Collection of some example implementations of SliceLabelFormatters.

Use with [[SlicedCharts.setLabelFormatter]]

Example usage:

// Use a default implementation
SlicedCharts.setLabelFormatter(SliceLabelFormatters.NamePlusRelativeValue)
// Use a custom implementation
SlicedCharts.setLabelFormatter((slice, relativeValue) => slice.getValue() + ' €')

Name

Slice Label formatter for ${name}.

NamePlusRelativeValue

NamePlusRelativeValue : SliceLabelFormatter<SliceTypes>

Slice Label formatter for ${name}: ${(relativeValue * 100).toFixed(1)}%.

NamePlusValue

Slice Label formatter for ${name}: ${Math.round(animatedValue)}.

Const SliceSorters

SliceSorters : object

Collection of some example implementations of SliceSorter

Use with [[SlicedCharts.setSliceSorter]]

Example usage:

// Use a default implementation
SlicedCharts.setSliceSorter(SliceSorters.SortByValueDescending)
// Use a custom implementation
SlicedCharts.setSliceSorter((a, b) => a.getValue() - b.getValue())

None

Disabled Slice sorting.

SortByName

SortByName : SliceSorter<SliceTypes>

SliceSorter that sorts Slices based on their names using JS API: String.localeCompare.

SortByValueAscending

SortByValueAscending : SliceSorter<SliceTypes>

SliceSorter that sorts Slices to ascending value order.

SortByValueDescending

SortByValueDescending : SliceSorter<SliceTypes>

SliceSorter that sorts Slices to descending value order.

Const SurfaceSeriesTypes3D

SurfaceSeriesTypes3D : object

Collection of SurfaceSeries3D implementations.

Used when creating an SurfaceSeries3D with Chart3D.addSurfaceSeries. Selected option tells what the returned Series type will be - SurfaceSeries3D implementations are otherwise equal, except Mesh type has additional methods to freely manipulate the surface geometry, not just in Y plane, but also XZ.

Grid

Type of Surface Series 3D that exists on the XZ plane, and allows the user to define a height map from given Y values.

Mesh

Type of Surface Series 3D that can be warped to any 3 dimensional surface.

Const Themes

Themes : object

A collection of default library color theme implementations.

Color theme of components must be specified when it is created, and can't be changed afterwards (without destroying and recreating the component). See ChartXY for example usage on specifying a color theme - the syntax is the same for every other component.

LCJS default theme is Themes.dark.

auroraBorealis

auroraBorealis : Theme

Aurora Borealis theme

blueSciFi

blueSciFi : Theme

Blue SciFi Theme

classic

classic : Theme

Relaxing and earth-like theme

dark

dark : Theme

A predominantly dark theme.

darkGradient

darkGradient : Theme

Dark theme with gradients

green

green : Theme

Green theme

lavender

lavender : Theme

Cool lavender theme

lavenderGradient

lavenderGradient : Theme

Cool lavender theme with gradients

light

light : Theme

Theme with light backgrounds.

lightGradient

lightGradient : Theme

Light theme with gradients

lightGreen

lightGreen : Theme

Light green theme

lightPurple

lightPurple : Theme

Light purple theme

lightRed

lightRed : Theme

Light red theme

lipstick

lipstick : Theme

Dark gradient theme with pink

monochrome

monochrome : Theme

Monochrome Theme

night

night : Theme

Colorful dark theme

purple

purple : Theme

Purple theme

rainbow

rainbow : Theme

Rainbow theme

raspberry

raspberry : Theme

Dark theme with pink

red

red : Theme

Red theme

sunset

sunset : Theme

Sunset Theme

Const UIBackgrounds

UIBackgrounds : object

Collection of available UIBackgrounds Can be used to customize the background of an UIElement.

Background must be specified when the UIElement is created by method of its builder.

Example usage:

// Create TextBox with specified Background
Chart.addUIElement(UIElementBuilders.TextBox.setBackground(UIBackgrounds.Circle))

Circle

Circle : UICircle

Circular background.

Diamond

Diamond : UIDiamond

45 degree rotated rectangle background.

None

No background.

Pointer

Pointer : UIPointer

Arrow-like background.

The Pointers direction can be modified by, for example:

UIElement.setBackground((pointer) => pointer.setDirection(UIDirections.Up))

This will throw an error if used on an UIElement with any other Background!

Rectangle

Rectangle : UIRectangle

Rectangular background.

Const UIButtonPictures

UIButtonPictures : object

Collection of available UIButtonPictures. Can be used to customize the shape of buttons and checkboxes of UIElements.

ButtonPicture must be specified when the UIElement is created by method of its builder.

Example usage:

// Create ButtonBox with specified ButtonPicture
Chart.addUIElement(UIElementBuilders.ButtonBox.setPictureOff(UIButtonPictures.Circle))
// Create LegendBox with specified ButtonPicture
Chart.addUIElement(UIElementBuilders.HorizontalLegendBox.setEntry(
UIElementBuilders.TextBox.setPictureOff(UIButtonPictures.Circle)))

Circle

Circle : UICircle

Circular picture.

Diamond

Diamond : UIDiamond

45 degree rotated rectangle picture.

Rectangle

Rectangle : UIRectangle

Rectangular picture.

Const UIElementBuilders

UIElementBuilders : object

Collection of available UIElement builders. To build UIElements you must pass one of these to method: addUIElement(). This method can be accessed through Charts, Dashboard, Etc.

Example usage:

// Create a TextBox on a ChartXY
ChartXY.addUIElement(UIElementBuilders.TextBox)
// Create a CheckBox on a Dashboard
Dashboard.addUIElement(UIElementBuilders.CheckBox)

AxisTick

AxisTick : UITickBuilder

UIElement builder that is intended to be used with custom axis ticks. See Axis.addCustomTick for example usage, and more information.

AxisTick is a text label connected to a tick line - fundamentally equal to a default axis tick shape.

ButtonBox

UIElement that displays a button and text over a Background.

By default, Background is empty. To show it you must specify it using method of the builder, setBackground

Example usage:

// Create a ButtonBox
Chart.addUIElement(UIElementBuilders.ButtonBox)
// Create a ButtonBox with specified Background
Chart.addUIElement(UIElementBuilders.ButtonBox.setBackground(UIBackgrounds.Circle))
// Create a ButtonBox with specified ButtonPicture
Chart.addUIElement(UIElementBuilders.ButtonBox.setPictureOff(UIButtonPictures.Diamond))

CheckBox

UIElement that displays a toggleable checkbox and text over a Background.

By default, Background is empty. To show it you must specify it using method of the builder, setBackground

Example usage:

// Create a CheckBox
Chart.addUIElement(UIElementBuilders.CheckBox)
// Create a CheckBox with specified Background
Chart.addUIElement(UIElementBuilders.CheckBox.setBackground(UIBackgrounds.Circle))
// Create a CheckBox with specified ButtonPicture
Chart.addUIElement(UIElementBuilders.CheckBox.setPictureOff(UIButtonPictures.Diamond))

PointableTextBox

UIElement builder that is intended to be used with custom axis ticks. See Axis.addCustomTick for example usage, and more information.

PointableTextBox is a text label enclosed within a background shaped in the form of an arrow.

TextBox

UIElement that displays text over a Background.

By default, Background is empty. To show it you must specify it using method of the builder, setBackground

Example usage:

// Create a TextBox
Chart.addUIElement(UIElementBuilders.TextBox)
// Create a TextBox with specified Background
Chart.addUIElement(UIElementBuilders.TextBox.setBackground(UIBackgrounds.Circle))

Const UILayoutBuilders

UILayoutBuilders : object

Collection of UIElementBuilders for Layouts. These allow positioning multiple UIElements relative to each other.

Column

UIElement for column layout, added UIElements will be layed out after one another vertically. Has a Background.

By default, Background is hidden (style = emptyFill). To show it you must give it a style with: UIColumn.setFillStyle

Example usage:

// Create a Column
Chart.addUIElement(UILayouts.Column)
// Create a Column with specified Background
Chart.addUIElement(UILayouts.Column.setBackground(UIBackgrounds.Circle))

Row

UIElement for row layout, added UIElements will be layed out after one another horizontally. Has a Background.

By default, Background is hidden (style = emptyFill). To show it you must give it a style with: UIRow.setFillStyle

Example usage:

// Create a Row
Chart.addUIElement(UILayouts.Row)
// Create a Row with specified Background
Chart.addUIElement(*UILayouts.Row.setBackground(UIBackgrounds.Circle))

Const UIOrigins

UIOrigins : object

Collection of fast-access arguments for UIElement.setOrigin

Center

Center : Point

CenterBottom

CenterBottom : Point

CenterTop

CenterTop : Point

LeftBottom

LeftBottom : Point

LeftCenter

LeftCenter : Point

LeftTop

LeftTop : Point

RightBottom

RightBottom : Point

RightCenter

RightCenter : Point

RightTop

RightTop : Point

Const vec3Utils

vec3Utils : object

Collection of math utilities for numeric Vec3s.

abs

  • Get vector as absolute.

    Parameters

    • v: Point3D

      Vector to get absolute value of

    Returns Point3D

    { x: Math.abs( v.x ), y: Math.abs( v.y ), z: Math.abs( v.z ) }

add

  • Add a single value to all values of a 3-dimensional Vector.

    Parameters

    • v: Point3D

      3-dimensional Vector to add to.

    • value: number

      Value to add to all 3-dimensional Vector's values.

    Returns Point3D

    Result as a new 3-dimensional Vector as 3D Point.

addVec

  • Add two or more 3-dimensional Vectors together.

    Parameters

    • v1: Point3D

      First 3-dimensional Vector to add to.

    • ...v2: Point3D[]

      One or multiple 3-dimensional Vectors to add.

    Returns Point3D

    New 3-dimensional Vector as 3D Point.

angle

  • Parameters

    Returns number

    Radian angle between v1 and v2.

cross

  • Get the cross product of two 3-dimensional Vectors.

    Parameters

    • v1: Point3D

      Vector to compare towards

    • v2: Point3D

      Vector to compare with

    Returns Point3D

divide

  • Divide values of a 3-dimensional Vector by a single value.

    Parameters

    • v: Point3D

      3-dimensional Vector to divide.

    • divisor: number

      Number to divide the 3-dimensional Vectors values with.

    Returns Point3D

    Result as a new 3-dimensional Vector as 3D Point.

divideVec

  • Divide one 3-dimensional Vector with one or more 3-dimensional Vectors in the order they were provided.

    Parameters

    • v1: Point3D

      3-dimensional Vector to divide.

    • ...v2: Point3D[]

      One or multiple 3-dimensional Vector to divide with.

    Returns Point3D

    Result as a new 3-dimensional Vector as 3D Point.

dot

  • Get the dot product of two 3-dimensional Vectors.

    Parameters

    Returns number

equals

  • Check two vectors are equal.

    Parameters

    Returns boolean

length

  • Get the length of a 3-dimensional Vector.

    Parameters

    Returns number

    Length of a 3-dimensional Vector.

lerp

  • Linear interpolation between two vectors and an arbitrary amount as %. amount = 0 -> returns a amount = 1 -> returns b

    Parameters

    • a: Point3D

      Vector a for interpolation

    • b: Point3D

      Vector b for interpolation

    • amount: number

      Interpolation amount

    Returns Point3D

multiply

  • Multiply values of a 3-dimensional Vector by a single value.

    Parameters

    • v: Point3D

      3-dimensional Vector to multiply.

    • multiplier: number

      Number to multiply the 3-dimensional Vectors values with.

    Returns Point3D

    Result as a new 3-dimensional Vector as 3D Point.

multiplyVec

  • Multiply one 3-dimensional Vector with one or more 3-dimensional Vectors in the order they were provided.

    Parameters

    • v1: Point3D

      3-dimensional Vector.

    • ...v2: Point3D[]

      One or multiple 3-dimensional Vectors to multiply with.

    Returns Point3D

    Result as a new 3-dimensional Vector as 3D Point.

normalize

  • Get the normal of a 3-dimensional Vector.

    Parameters

    Returns Point3D

    Normal as a 3-dimensional Vector.

rotateAroundAxis

  • Rotate vector around another arbitrary axis, by amount 'theta' in radians.

    Parameters

    • v: Point3D

      Vector to rotate

    • axis: Point3D

      Vector of arbitrary rotation axis

    • theta: number

      Rotation amount in radians

    Returns Point3D

sign

  • Sign of Vector.

    Parameters

    Returns Point3D

    { x: Math.sign( v.x ), y: Math.sign( v.y ), z: Math.sign( v.z ) }

subtract

  • Subtract a single value from all values of a 3-dimensional Vector.

    Parameters

    • v: Point3D

      3-dimensional Vector to subtract from.

    • value: number

      Value to subtract from all 3-dimensional Vector's values.

    Returns Point3D

    Result as a new 3-dimensional Vector as 3D Point.

subtractVec

  • Subtract one or more 3-dimensional Vector from another.

    Parameters

    • v1: Point3D

      3-dimensional Vector to subtract from.

    • ...v2: Point3D[]

      One or multiple 3-dimensional Vectors to subtract.

    Returns Point3D

    Result as a new 3-dimensional Vector as 3D Point.

Const xDimensionStrategy

xDimensionStrategy : object

MultidimensionalStrategy for X Dimension

getHeight

  • getHeight(size: Vec2<T>): T
  • Parameters

    • size: Vec2<T>

      Two dimensional value height of which has to be extracted

    Returns T

    Height of Vec2

getWidth

  • getWidth(size: Vec2<T>): T
  • Parameters

    • size: Vec2<T>

      Two dimensional value width of which has to be extracted

    Returns T

    Width of Vec2

toPoint

  • toPoint(value: number, height: number): Point
  • Combine argument with the tick value to create relevant Vec2

    Parameters

    • value: number
    • height: number

      Value on height Scale units

    Returns Point

    Vec2 which represents relevant for custom tick position

toVec2

  • toVec2(value: T, height: T): object
  • Combine argument with the tick value to create relevant Vec2

    Parameters

    • value: T
    • height: T

      Value on height Scale units

    Returns object

    Vec2 which represents relevant for custom tick position

    • x: T
    • y: T

Const yDimensionStrategy

yDimensionStrategy : object

MultidimensionalStrategy for X Dimension

getHeight

  • getHeight(size: Vec2<T>): T
  • Parameters

    • size: Vec2<T>

      Two dimensional value height of which has to be extracted

    Returns T

    Height of Vec2

getWidth

  • getWidth(size: Vec2<T>): T
  • Parameters

    • size: Vec2<T>

      Two dimensional value width of which has to be extracted

    Returns T

    Width of Vec2

toPoint

  • toPoint(value: number, height: number): Point
  • Combine argument with the tick value to create relevant Vec2

    Parameters

    • value: number
    • height: number

      Value on height Scale units

    Returns Point

    Vec2 which represents relevant for custom tick position

toVec2

  • toVec2(value: T, height: T): object
  • Combine argument with the tick value to create relevant Vec2

    Parameters

    • value: T
    • height: T

      Value on height Scale units

    Returns object

    Vec2 which represents relevant for custom tick position

    • x: T
    • y: T