Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface AxisOptions

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 AxisOptions.type for detailed information.

Index

Properties

Properties

Optional base

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

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!

Optional opposite

opposite : undefined | false | true

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).

Optional type

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

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 (Axis.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.