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: Some series / features do not support all available non-default Axis types (logarithmic, high precision, ..).

Additionally, there can be further limitations in combinations of two Axis types. For example, as of now logarithmic and linear-highPrecision can't be combined as X + Y Axes.

Refer to documentation of type for detailed information.

Hierarchy

  • AxisOptions

Properties

base?: number | "natural" | "e" | "E"

Specification of Logarithmic Base number (e.g. 10, 2, natural log).

Defaults to 10 if omitted.

Examples:

  • 10 | powers of ten (1, 10, 100, 1000, 10000, ...).
  • e | natural logarithm (1e, 2e, 3e, 4e, ...)

type must be set to 'logarithmic' for this to effect!

iParallel?: number

Axis index in direction parallel to axis.

E.g. for Y axes this is index in Horizontal direction. Whereas for X axes this is index in Vertical direction. This is also referenced as "legacy axis stacking", as this direction of axis stacking has been around since LightningChart JS v1.0, whereas the other stacking mode, iStack was first introduced only in v5.2.0.

Released as beta feature in v5.2.0 feature may still change according to user feedback and experiences.
iStack?: number

Axis index in same plane as the Axis direction.

E.g. for Y axes this is index in Vertical direction. Whereas for X axes this is index in Horizontal direction.

Released as beta feature in v5.2.0 feature may still change according to user feedback and experiences.
opposite?: boolean

Specify Axis position in chart.

Default is bottom for X Axes, and left for Y Axes.

Setting to true will result in the opposite side (top for X Axes, right for Y Axes).

type?: "linear" | "linear-highPrecision" | "logarithmic"

Type of Axis.

Each type section contains information about related Axis zooming limits, as in constraints on the magnitude of Axis interval, which is calculated as Math.abs(end - start). When the limit is reached, the Axis will not be able to zoom in and out further by programmatic calls (setInterval) or user interactions.

linear:

Default Axis type. Same behavior as type: undefined.

Achievable zoom range depends on the magnitude of Axis interval start; Following table contains reference values on the achievable zoom ranges - in practice zoom range might be limited sooner or later.

Axis interval start Min interval Max interval
0 1e-4 1e+16
100 1e-2 1e+16
10 000 1.00 1e+16
1 000 000 100 1e+16
Date.now() (UNIX) 73600000 1e+16

logarithmic:

Logarithmic Axis. By default base number will be 10.

With Logarithmic Axis, range must always start above 0! (log is not defined at 0).

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

List of series that support logarithmic Axes:

List of series that do not support logarithmic Axes:

As of yet logarithmic and linear-highPrecision can't be combined as X + Y Axes.

linear-highPrecision:

Behaves otherwise similarly as linear, but zoom range is significantly improved, with the drawback of a considerable performance drop.

Achievable zoom range depends on the magnitude of Axis interval start; Following table contains reference values on the achievable zoom ranges - in practice zoom range might be limited sooner or later.

Axis interval start Min interval Max interval
0 1e-12 1e+30
100 1e-10 1e+30
10 000 1e-8 1e+30
1 000 000 1e-6 1e+30
Date.now() (UNIX) 1.00 1e+30

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

List of series that support high precision Axes:

List of series that do not support high precision Axes:

As of yet logarithmic and linear-highPrecision can't be combined as X + Y Axes.

High precision Axis is an experimental feature, which means that it can be significantly altered in minor version releases.