Class: Axis

Highcharts. Axis

new Axis(chart, userOptions)

Create a new axis object. Called internally when instantiating a new chart or adding axes by Highcharts.Chart#addAxis.

A chart can have from 0 axes (pie chart) to multiples. In a normal, single series cartesian chart, there is one X axis and one Y axis.

The X axis or axes are referenced by Highcharts.Chart.xAxis, which is an array of Axis objects. If there is only one axis, it can be referenced through chart.xAxis[0], and multiple axes have increasing indices. The same pattern goes for Y axes.

If you need to get the axes from a series object, use the series.xAxis and series.yAxis properties. These are not arrays, as one series can only be associated to one X and one Y axis.

A third way to reference the axis programmatically is by id. Add an id in the axis configuration options, and get the axis by Highcharts.Chart#get.

Configuration options for the axes are given in options.xAxis and options.yAxis.

Parameters:
Name Type Description
chart Highcharts.Chart

The Chart instance to apply the axis on.

userOptions Highcharts.AxisOptions

Axis options

Members

<readonly> categories :Array.<string>

If categories are present for the axis, names are used instead of numbers for that axis.

Since Highcharts 3.0, categories can also be extracted by giving each point a name and setting axis type to category. However, if you have multiple series, best practice remains defining the categories array.

Type:
  • Array.<string>
See also:

chart :Highcharts.Chart

The Chart that the axis belongs to.

Type:

coll :string

The collection where the axis belongs, for example xAxis, yAxis or colorAxis. Corresponds to properties on Chart, for example Highcharts.Chart.xAxis.

Type:
  • string

crosshair :boolean|Highcharts.AxisCrosshairOptions

The processed crosshair options.

Type:

horiz :boolean|undefined

Whether the axis is horizontal.

Type:
  • boolean | undefined

isXAxis :boolean|undefined

Whether the axis is the x-axis.

Type:
  • boolean | undefined

len :number

The length of the axis in terms of pixels.

Type:
  • number

max :number|undefined

The maximum value of the axis. In a logarithmic axis, this is the logarithm of the real value, and the real value can be obtained from Highcharts.Axis#getExtremes.

Type:
  • number | undefined

min :number|undefined

The minimum value of the axis. In a logarithmic axis, this is the logarithm of the real value, and the real value can be obtained from Highcharts.Axis#getExtremes.

Type:
  • number | undefined

minorTicks :Highcharts.Dictionary.<Highcharts.Tick>

List of minor ticks mapped by position on the axis.

Type:
See also:

options :Highcharts.AxisOptions

Current options for the axis after merge of defaults and user's options.

Type:

pos :number

The position of the axis in terms of pixels, compared to the chart edge. In a horizontal axis it is the same as chart.plotLeft unless the axis is explicitly positioned, and in a default vertical axis it is the same as chart.plotTop.

Type:
  • number

reversed :boolean

Whether the axis is reversed. Based on the axis.reversed, option, but inverted charts have reversed xAxis by default.

Type:
  • boolean

series :Array.<Highcharts.Series>

All series associated to the axis.

Type:

side :number

The side on which the axis is rendered. 0 is top, 1 is right, 2 is bottom and 3 is left.

Type:
  • number

tickPositions :Highcharts.AxisTickPositionsArray|undefined

Contains the current positions that are laid out on the axis. The positions are numbers in terms of axis values. In a category axis they are integers, in a datetime axis they are also integers, but designating milliseconds.

This property is read only - for modifying the tick positions, use the tickPositioner callback or [axis.tickPositions( https://api.highcharts.com/highcharts/xAxis.tickPositions) option instead.

Type:

ticks :Highcharts.Dictionary.<Highcharts.Tick>

List of major ticks mapped by position on axis.

Type:
See also:

userOptions :Highcharts.AxisOptions

User's options for this axis without defaults.

Type:

Methods

addPlotBand(options)

Add a plot band after render time.

Parameters:
Name Type Description
options Highcharts.AxisPlotBandsOptions

A configuration object for the plot band, as defined in xAxis.plotBands.

Returns:
Highcharts.PlotLineOrBand | undefined .

The added plot band, or undefined if the options are not valid.

Try it

addPlotLine(options)

Add a plot line after render time.

Parameters:
Name Type Description
options Highcharts.AxisPlotLinesOptions

A configuration object for the plot line, as defined in xAxis.plotLines.

Returns:
Highcharts.PlotLineOrBand | undefined .

The added plot line, or undefined if the options are not valid.

Try it

addTitle( [display])

Adds the title defined in axis.options.title.

Parameters:
Name Type Argument Description
display boolean <optional>

Whether or not to display the title.

defaultLabelFormatter(this [, ctx])

The default label formatter. The context is a special config object for the label. In apps, use the labels.formatter instead, except when a modification is needed.

Parameters:
Name Type Argument Description
this Highcharts.AxisLabelsFormatterContextObject

Formatter context of axis label.

ctx Highcharts.AxisLabelsFormatterContextObject <optional>

Formatter context of axis label.

Returns:
string .

The formatted label content.

drawCrosshair( [e] [, point])

Internal function to draw a crosshair.

Parameters:
Name Type Argument Description
e Highcharts.PointerEventObject <optional>

The event arguments from the modified pointer event, extended with chartX and chartY

point Highcharts.Point <optional>

The Point object if the crosshair snaps to points.

Fires:
  • Highcharts.Axis#event:afterDrawCrosshair
  • Highcharts.Axis#event:drawCrosshair

drilldownCategory(x [, originalEvent])

Drill down to a given category. This is the same as clicking on an axis label. If multiple series with drilldown are present, all will drill down to the given category.

See also Point.doDrilldown for drilling down on a single point instance.

Parameters:
Name Type Argument Description
x number

The index of the category

originalEvent global.MouseEvent <optional>

The original event, used internally.

Try it

getExtremes()

Get the current extremes for the axis.

Returns:
Highcharts.ExtremesObject .

An object containing extremes information.

Try it

getLinearTickPositions(tickInterval, min, max)

Internal function to get the tick positions of a linear axis to round values like whole tens or every five.

Parameters:
Name Type Description
tickInterval number

The normalized tick interval.

min number

Axis minimum.

max number

Axis maximum.

Returns:
Array.<number> .

An array of axis values where ticks should be placed.

getLinePath(lineWidth)

Internal function to get the path for the axis line. Extended for polar charts.

Parameters:
Name Type Description
lineWidth number

The line width in pixels.

Returns:
Highcharts.SVGPathArray .

The SVG path definition in array form.

getMinorTickInterval()

Resolve the new minorTicks/minorTickInterval options into the legacy loosely typed minorTickInterval option.

Returns:
number | "auto" | null .

Legacy option

getMinorTickPositions()

Internal function to return the minor tick positions. For logarithmic axes, the same logic as for major ticks is reused.

Returns:
Array.<number> .

An array of axis values where ticks should be placed.

getPlotBandPath(from, to, options)

Internal function to create the SVG path definition for a plot band.

Parameters:
Name Type Description
from number

The axis value to start from.

to number

The axis value to end on.

options Highcharts.AxisPlotBandsOptions | Highcharts.AxisPlotLinesOptions

The plotBand or plotLine configuration object.

Returns:
Highcharts.SVGPathArray .

The SVG path definition in array form.

getPlotLinePath(options)

Create the path for a plot line that goes from the given value on this axis, across the plot to the opposite side. Also used internally for grid lines and crosshairs.

Parameters:
Name Type Description
options Highcharts.AxisPlotLinePathOptionsObject

Options for the path.

Returns:
Highcharts.SVGPathArray | null .

The SVG path definition for the plot line.

getThreshold(threshold)

Get the zero plane either based on zero or on the min or max value. Used in bar and area plots.

Parameters:
Name Type Description
threshold number

The threshold in axis values.

Returns:
number .

The translated threshold position in terms of pixels, and corrected to stay within the axis bounds.

hasData()

Return true if the axis has associated data.

Returns:
boolean .

True if the axis has associated visible series and those series have either valid data points or explicit min and max settings.

hideCrosshair()

Hide the crosshair if visible.

init(chart, userOptions)

Overrideable function to initialize the axis.

Parameters:
Name Type Description
chart Highcharts.Chart

The Chart instance to apply the axis on.

userOptions AxisOptions

Axis options.

See also:
Fires:
  • Highcharts.Axis#event:afterInit
  • Highcharts.Axis#event:init

remove( [redraw])

Remove the axis from the chart.

Parameters:
Name Type Argument Default Description
redraw boolean <optional>
true

Whether to redraw the chart following the remove.

Try it

removePlotBand(id)

Remove a plot band by its id.

Parameters:
Name Type Description
id string

The plot band's id as given in the original configuration object or in the addPlotBand option.

Try it

removePlotLine(id)

Remove a plot line by its id.

Parameters:
Name Type Description
id string

The plot line's id as given in the original configuration object or in the addPlotLine option.

Try it

renderLine()

Render the axis line. Called internally when rendering and redrawing the axis.

renderMinorTick(pos, slideIn)

Render a minor tick into the given position. If a minor tick already exists in this position, move it.

Parameters:
Name Type Description
pos number

The position in axis values.

slideIn boolean

Whether the tick should animate in from last computed position

renderTick(pos, i, slideIn)

Render a major tick into the given position. If a tick already exists in this position, move it.

Parameters:
Name Type Description
pos number

The position in axis values.

i number

The tick index.

slideIn boolean

Whether the tick should animate in from last computed position

setCategories(categories [, redraw])

Set new axis categories and optionally redraw.

Parameters:
Name Type Argument Default Description
categories Array.<string>

The new categories.

redraw boolean <optional>
true

Whether to redraw the chart.

Try it

setExtremes( [newMin] [, newMax] [, redraw] [, animation] [, eventArguments])

Set the minimum and maximum of the axes after render time. If the startOnTick and endOnTick options are true, the minimum and maximum values are rounded off to the nearest tick. To prevent this, these options can be set to false before calling setExtremes. Also, setExtremes will not allow a range lower than the minRange option, which by default is the range of five points.

Parameters:
Name Type Argument Default Description
newMin number <optional>

The new minimum value.

newMax number <optional>

The new maximum value.

redraw boolean <optional>
true

Whether to redraw the chart or wait for an explicit call to Highcharts.Chart#redraw

animation boolean | Partial.<Highcharts.AnimationOptionsObject> <optional>
true

Enable or modify animations.

eventArguments * <optional>

Arguments to be accessed in event handler.

Fires:
  • Highcharts.Axis#event:setExtremes
Try it

setTitle(titleOptions [, redraw])

Update the axis title by options after render time.

Parameters:
Name Type Argument Default Description
titleOptions Highcharts.AxisTitleOptions

The additional title options.

redraw boolean <optional>
true

Whether to redraw the chart after setting the title.

Try it

toPixels(value [, paneCoordinates])

Translate a value in terms of axis units into pixels within the chart.

Parameters:
Name Type Argument Default Description
value number

A value in terms of axis units.

paneCoordinates boolean <optional>
false

Whether to return the pixel coordinate relative to the chart or just the axis/pane itself.

Returns:
number .

Pixel position of the value on the chart or axis.

toValue(pixel [, paneCoordinates])

Translate a pixel position along the axis to a value in terms of axis units.

Parameters:
Name Type Argument Default Description
pixel number

The pixel value coordinate.

paneCoordinates boolean <optional>
false

Whether the input pixel is relative to the chart or just the axis/pane itself.

Returns:
number .

The axis value.

update(options [, redraw])

Update an axis object with a new set of options. The options are merged with the existing options, so only new or altered options need to be specified.

Parameters:
Name Type Argument Default Description
options Highcharts.AxisOptions

The new options that will be merged in with existing options on the axis.

redraw boolean <optional>
true

Whether to redraw the chart after the axis is altered. If doing more operations on the chart, it is a good idea to set redraw to false and call Highcharts.Chart#redraw after.

Try it