UNPKG

highcharts

Version:
1,247 lines (1,246 loc) 122 kB
/* * * * (c) 2010-2024 Torstein Honsi * * License: www.highcharts.com/license * * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!! * * */ 'use strict'; /* * * * Namespace * * */ var AxisDefaults; (function (AxisDefaults) { /* * * * Constants * * */ /** * The X axis or category axis. Normally this is the horizontal axis, * though if the chart is inverted this is the vertical axis. In case of * multiple axes, the xAxis node is an array of configuration objects. * * See the [Axis class](/class-reference/Highcharts.Axis) for programmatic * access to the axis. * * @productdesc {highmaps} * In Highmaps, the axis is hidden, but it is used behind the scenes to * control features like zooming and panning. Zooming is in effect the same * as setting the extremes of one of the exes. * * @type {*|Array<*>} * @optionparent xAxis */ AxisDefaults.xAxis = { /** * When using multiple axis, the ticks of two or more opposite axes * will automatically be aligned by adding ticks to the axis or axes * with the least ticks, as if `tickAmount` were specified. * * This can be prevented by setting `alignTicks` to false. If the grid * lines look messy, it's a good idea to hide them for the secondary * axis by setting `gridLineWidth` to 0. * * If `startOnTick` or `endOnTick` in an Axis options are set to false, * then the `alignTicks ` will be disabled for the Axis. * * Disabled for logarithmic axes. * * @product highcharts highstock gantt */ alignTicks: true, /** * Whether to allow decimals in this axis' ticks. When counting * integers, like persons or hits on a web page, decimals should * be avoided in the labels. By default, decimals are allowed on small * scale axes. * * @see [minTickInterval](#xAxis.minTickInterval) * * @sample {highcharts|highstock} highcharts/yaxis/allowdecimals-true/ * True by default * @sample {highcharts|highstock} highcharts/yaxis/allowdecimals-false/ * False * * @type {boolean|undefined} * @default undefined * @since 2.0 */ allowDecimals: void 0, /** * When using an alternate grid color, a band is painted across the * plot area between every other grid line. * * @sample {highcharts} highcharts/yaxis/alternategridcolor/ * Alternate grid color on the Y axis * @sample {highstock} stock/xaxis/alternategridcolor/ * Alternate grid color on the Y axis * * @type {Highcharts.ColorType} * @apioption xAxis.alternateGridColor */ /** * An array defining breaks in the axis, the sections defined will be * left out and all the points shifted closer to each other. * * @productdesc {highcharts} * Requires that the broken-axis.js module is loaded. * * @sample {highcharts} highcharts/axisbreak/break-simple/ * Simple break * @sample {highcharts|highstock} highcharts/axisbreak/break-visualized/ * Advanced with callback * @sample {highstock} stock/demo/intraday-breaks/ * Break on nights and weekends * * @type {Array<*>} * @since 4.1.0 * @product highcharts highstock gantt * @apioption xAxis.breaks */ /** * A number indicating how much space should be left between the start * and the end of the break. The break size is given in axis units, * so for instance on a `datetime` axis, a break size of 3600000 would * indicate the equivalent of an hour. * * @type {number} * @default 0 * @since 4.1.0 * @product highcharts highstock gantt * @apioption xAxis.breaks.breakSize */ /** * The axis value where the break starts. On datetime axes, this may be * a date string. * * @type {number|string} * @since 4.1.0 * @product highcharts highstock gantt * @apioption xAxis.breaks.from */ /** * Defines an interval after which the break appears again. By default * the breaks do not repeat. * * @type {number} * @default 0 * @since 4.1.0 * @product highcharts highstock gantt * @apioption xAxis.breaks.repeat */ /** * The axis value where the break ends. On datetime axes, this may be * a date string. * * @type {number|string} * @since 4.1.0 * @product highcharts highstock gantt * @apioption xAxis.breaks.to */ /** * If categories are present for the xAxis, names are used instead of * numbers for that axis. * * Since Highcharts 3.0, categories can also * be extracted by giving each point a [name](#series.data) and setting * axis [type](#xAxis.type) to `category`. However, if you have multiple * series, best practice remains defining the `categories` array. * * Example: `categories: ['Apples', 'Bananas', 'Oranges']` * * @sample {highcharts} highcharts/demo/line-labels/ * With * @sample {highcharts} highcharts/xaxis/categories/ * Without * * @type {Array<string>} * @product highcharts gantt * @apioption xAxis.categories */ /** * The highest allowed value for automatically computed axis extremes. * * @see [floor](#xAxis.floor) * * @sample {highcharts|highstock} highcharts/yaxis/floor-ceiling/ * Floor and ceiling * * @type {number} * @since 4.0 * @product highcharts highstock gantt * @apioption xAxis.ceiling */ /** * A class name that opens for styling the axis by CSS, especially in * Highcharts styled mode. The class name is applied to group elements * for the grid, axis elements and labels. * * @sample {highcharts|highstock|highmaps} highcharts/css/axis/ * Multiple axes with separate styling * * @type {string} * @since 5.0.0 * @apioption xAxis.className */ /** * Configure a crosshair that follows either the mouse pointer or the * hovered point. * * In styled mode, the crosshairs are styled in the * `.highcharts-crosshair`, `.highcharts-crosshair-thin` or * `.highcharts-xaxis-category` classes. * * @productdesc {highstock} * In Highcharts stock, by default, the crosshair is enabled on the * X axis and disabled on the Y axis. * * @sample {highcharts} highcharts/xaxis/crosshair-both/ * Crosshair on both axes * @sample {highstock} stock/xaxis/crosshairs-xy/ * Crosshair on both axes, with y axis label * @sample {highmaps} highcharts/xaxis/crosshair-both/ * Crosshair on both axes * * @declare Highcharts.AxisCrosshairOptions * @type {boolean|*} * @default false * @since 4.1 * @apioption xAxis.crosshair */ /** * The value on a perpendicular axis where this axis should cross. This * is typically used on mathematical plots where the axes cross at 0. * When `crossing` is set, space will not be reserved at the sides of * the chart for axis labels and title, so those may be clipped. In this * case it is better to place the axes without the `crossing` option. * * @type {number} * @sample highcharts/xaxis/crossing * Function plot with axes crossing at 0 * @since 11.0.1 * @apioption xAxis.crossing */ /** * A class name for the crosshair, especially as a hook for styling. * * @type {string} * @since 5.0.0 * @apioption xAxis.crosshair.className */ /** * The color of the crosshair. Defaults to `#cccccc` for numeric and * datetime axes, and `rgba(204,214,235,0.25)` for category axes, where * the crosshair by default highlights the whole category. * * @sample {highcharts|highstock|highmaps} highcharts/xaxis/crosshair-customized/ * Customized crosshairs * * @type {Highcharts.ColorType} * @default #cccccc * @since 4.1 * @apioption xAxis.crosshair.color */ /** * The dash style for the crosshair. See * [plotOptions.series.dashStyle](#plotOptions.series.dashStyle) * for possible values. * * @sample {highcharts|highmaps} highcharts/xaxis/crosshair-dotted/ * Dotted crosshair * @sample {highstock} stock/xaxis/crosshair-dashed/ * Dashed X axis crosshair * * @type {Highcharts.DashStyleValue} * @default Solid * @since 4.1 * @apioption xAxis.crosshair.dashStyle */ /** * A label on the axis next to the crosshair. * * In styled mode, the label is styled with the * `.highcharts-crosshair-label` class. * * @sample {highstock} stock/xaxis/crosshair-label/ * Crosshair labels * @sample {highstock} highcharts/css/crosshair-label/ * Style mode * * @declare Highcharts.AxisCrosshairLabelOptions * @since 2.1 * @product highstock * @apioption xAxis.crosshair.label */ /** * Alignment of the label compared to the axis. Defaults to `"left"` for * right-side axes, `"right"` for left-side axes and `"center"` for * horizontal axes. * * @type {Highcharts.AlignValue} * @since 2.1 * @product highstock * @apioption xAxis.crosshair.label.align */ /** * The background color for the label. Defaults to the related series * color, or `#666666` if that is not available. * * @type {Highcharts.ColorType} * @since 2.1 * @product highstock * @apioption xAxis.crosshair.label.backgroundColor */ /** * The border color for the crosshair label * * @type {Highcharts.ColorType} * @since 2.1 * @product highstock * @apioption xAxis.crosshair.label.borderColor */ /** * The border corner radius of the crosshair label. * * @type {number} * @default 3 * @since 2.1.10 * @product highstock * @apioption xAxis.crosshair.label.borderRadius */ /** * The border width for the crosshair label. * * @type {number} * @default 0 * @since 2.1 * @product highstock * @apioption xAxis.crosshair.label.borderWidth */ /** * Flag to enable crosshair's label. * * @sample {highstock} stock/xaxis/crosshairs-xy/ * Enabled label for yAxis' crosshair * * @type {boolean} * @default false * @since 2.1 * @product highstock * @apioption xAxis.crosshair.label.enabled */ /** * A format string for the crosshair label. Defaults to `{value}` for * numeric axes and `{value:%b %d, %Y}` for datetime axes. * * @type {string} * @since 2.1 * @product highstock * @apioption xAxis.crosshair.label.format */ /** * Formatter function for the label text. * * @type {Highcharts.XAxisCrosshairLabelFormatterCallbackFunction} * @since 2.1 * @product highstock * @apioption xAxis.crosshair.label.formatter */ /** * Padding inside the crosshair label. * * @type {number} * @default 8 * @since 2.1 * @product highstock * @apioption xAxis.crosshair.label.padding */ /** * The shape to use for the label box. * * @type {string} * @default callout * @since 2.1 * @product highstock * @apioption xAxis.crosshair.label.shape */ /** * Text styles for the crosshair label. * * @type {Highcharts.CSSObject} * @default {"color": "white", "fontWeight": "normal", "fontSize": "11px", "textAlign": "center"} * @since 2.1 * @product highstock * @apioption xAxis.crosshair.label.style */ /** * Whether the crosshair should snap to the point or follow the pointer * independent of points. * * @sample {highcharts|highstock} highcharts/xaxis/crosshair-snap-false/ * True by default * @sample {highmaps} maps/demo/latlon-advanced/ * Snap is false * * @type {boolean} * @default true * @since 4.1 * @apioption xAxis.crosshair.snap */ /** * The pixel width of the crosshair. Defaults to 1 for numeric or * datetime axes, and for one category width for category axes. * * @sample {highcharts} highcharts/xaxis/crosshair-customized/ * Customized crosshairs * @sample {highstock} highcharts/xaxis/crosshair-customized/ * Customized crosshairs * @sample {highmaps} highcharts/xaxis/crosshair-customized/ * Customized crosshairs * * @type {number} * @default 1 * @since 4.1 * @apioption xAxis.crosshair.width */ /** * The Z index of the crosshair. Higher Z indices allow drawing the * crosshair on top of the series or behind the grid lines. * * @type {number} * @default 2 * @since 4.1 * @apioption xAxis.crosshair.zIndex */ /** * Whether to pan axis. If `chart.panning` is enabled, the option * allows to disable panning on an individual axis. */ panningEnabled: true, /** * The Z index for the axis group. * * @see [axis.gridZIndex](#xAxis.gridZIndex) * @see [axis.labels.zIndex](#xAxis.labels.zIndex) */ zIndex: 2, /** * Whether to zoom axis. If `chart.zoomType` is set, the option allows * to disable zooming on an individual axis. * * @sample {highcharts} highcharts/xaxis/zoomenabled/ * Zoom enabled is false */ zoomEnabled: true, /** * For a datetime axis, the scale will automatically adjust to the * appropriate unit. This member gives the default string * representations used for each unit. For intermediate values, * different units may be used, for example the `day` unit can be used * on midnight and `hour` unit be used for intermediate values on the * same axis. * * For an overview of the string or object configuration, see * [dateFormat](/class-reference/Highcharts.Time#dateFormat). * * Defaults to: * ```js * { * millisecond: '%[HMSL]', * second: '%[HMS]', * minute: '%[HM]', * hour: '%[HM]', * day: '%[eb]', * week: '%[eb]', * month: '%[bY]', * year: '%Y' * } * ``` * * @sample {highcharts} highcharts/xaxis/datetimelabelformats-object/ * Object day format on X axis * @sample {highcharts} highcharts/xaxis/datetimelabelformats/ * String day format on X axis * @sample {highstock} stock/xaxis/datetimelabelformats/ * More information in x axis labels * * @declare Highcharts.AxisDateTimeLabelFormatsOptions * @product highcharts highstock gantt */ dateTimeLabelFormats: { /** * @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject * @type {string|*} */ millisecond: { /** * @type {Array<string|Highcharts.DateTimeFormatOptions>} * @default undefined * @apioption xAxis.dateTimeLabelFormats.millisecond.list */ /** * @type {string|Highcharts.DateTimeFormatOptions} * @apioption xAxis.dateTimeLabelFormats.millisecond.main */ main: '%[HMSL]', range: false }, /** * @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject * @type {string|*} */ second: { /** * @type {Array<string|Highcharts.DateTimeFormatOptions>} * @default undefined * @apioption xAxis.dateTimeLabelFormats.second.list */ /** * @type {string|Highcharts.DateTimeFormatOptions} * @apioption xAxis.dateTimeLabelFormats.second.main */ main: '%[HMS]', range: false }, /** * @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject * @type {string|*} */ minute: { /** * @type {Array<string|Highcharts.DateTimeFormatOptions>} * @default undefined * @apioption xAxis.dateTimeLabelFormats.minute.list */ /** * @type {string|Highcharts.DateTimeFormatOptions} * @apioption xAxis.dateTimeLabelFormats.minute.main */ main: '%[HM]', range: false }, /** * @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject * @type {string|*} */ hour: { /** * @type {Array<string|Highcharts.DateTimeFormatOptions>} * @default undefined * @apioption xAxis.dateTimeLabelFormats.hour.list */ /** * @type {string|Highcharts.DateTimeFormatOptions} * @apioption xAxis.dateTimeLabelFormats.hour.main */ main: '%[HM]', range: false }, /** * @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject * @type {string|*} */ day: { /** * @type {Array<string|Highcharts.DateTimeFormatOptions>} * @default undefined * @apioption xAxis.dateTimeLabelFormats.day.list */ /** * @type {string|Highcharts.DateTimeFormatOptions} * @apioption xAxis.dateTimeLabelFormats.day.main */ main: '%[eb]' }, /** * @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject * @type {string|*} */ week: { /** * @type {Array<string|Highcharts.DateTimeFormatOptions>} * @default undefined * @apioption xAxis.dateTimeLabelFormats.week.list */ /** * @type {string|Highcharts.DateTimeFormatOptions} * @apioption xAxis.dateTimeLabelFormats.week.main */ main: '%[eb]' }, /** * @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject * @type {string|*} */ month: { /** * @type {Array<string|Highcharts.DateTimeFormatOptions>} * @default undefined * @apioption xAxis.dateTimeLabelFormats.month.list */ /** * @type {string|Highcharts.DateTimeFormatOptions} * @apioption xAxis.dateTimeLabelFormats.month.main */ main: '%[bY]' }, /** * @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject * @type {string|*} */ year: { /** * @type {Array<string|Highcharts.DateTimeFormatOptions>} * @default undefined * @apioption xAxis.dateTimeLabelFormats.year.list */ /** * @type {string|Highcharts.DateTimeFormatOptions} * @apioption xAxis.dateTimeLabelFormats.year.main */ main: '%Y' } }, /** * Whether to force the axis to end on a tick. Use this option with * the `maxPadding` option to control the axis end. * * @productdesc {highstock} * In Highcharts Stock, `endOnTick` is always `false` when the navigator * is enabled, to prevent jumpy scrolling. With disabled navigator * enabling `endOnTick` may lead to extending the xAxis to show the last * tick, therefore range selector buttons may not have an active state * if the axis gets extended. * * @sample {highcharts} highcharts/yaxis/endontick/ * True by default * @sample {highcharts} highcharts/yaxis/endontick-false/ * False * @sample {highstock} stock/demo/basic-line/ * True by default * @sample {highstock} stock/xaxis/endontick/ * False * * @since 1.2.0 */ endOnTick: false, /** * Event handlers for the axis. * * @type {*} * @apioption xAxis.events */ /** * An event fired after the breaks have rendered. * * @see [breaks](#xAxis.breaks) * * @sample {highcharts} highcharts/axisbreak/break-event/ * AfterBreak Event * * @type {Highcharts.AxisEventCallbackFunction} * @since 4.1.0 * @product highcharts gantt * @apioption xAxis.events.afterBreaks */ /** * As opposed to the `setExtremes` event, this event fires after the * final min and max values are computed and corrected for `minRange`. * * Fires when the minimum and maximum is set for the axis, either by * calling the `.setExtremes()` method or by selecting an area in the * chart. One parameter, `event`, is passed to the function, containing * common event information. * * The new user set minimum and maximum values can be found by * `event.min` and `event.max`. These reflect the axis minimum and * maximum in axis values. The actual data extremes are found in * `event.dataMin` and `event.dataMax`. * * @type {Highcharts.AxisSetExtremesEventCallbackFunction} * @since 2.3 * @context Highcharts.Axis * @apioption xAxis.events.afterSetExtremes */ /** * An event fired when a break from this axis occurs on a point. * * @see [breaks](#xAxis.breaks) * * @sample {highcharts} highcharts/axisbreak/break-visualized/ * Visualization of a Break * * @type {Highcharts.AxisPointBreakEventCallbackFunction} * @since 4.1.0 * @product highcharts gantt * @context Highcharts.Axis * @apioption xAxis.events.pointBreak */ /** * An event fired when a point falls inside a break from this axis. * * @type {Highcharts.AxisPointBreakEventCallbackFunction} * @product highcharts highstock gantt * @context Highcharts.Axis * @apioption xAxis.events.pointInBreak */ /** * An event fired when a point is outside a break after zoom. * * @type {Highcharts.AxisPointBreakEventCallbackFunction} * @product highcharts highstock gantt * @context Highcharts.Axis * @apioption xAxis.events.pointBreakOut */ /** * Fires when the minimum and maximum is set for the axis, either by * calling the `.setExtremes()` method or by selecting an area in the * chart. One parameter, `event`, is passed to the function, * containing common event information. * * The new user set minimum and maximum values can be found by * `event.min` and `event.max`. These reflect the axis minimum and * maximum in data values. When an axis is zoomed all the way out from * the "Reset zoom" button, `event.min` and `event.max` are null, and * the new extremes are set based on `this.dataMin` and `this.dataMax`. * * @sample {highstock} stock/xaxis/events-setextremes/ * Log new extremes on x axis * * @type {Highcharts.AxisSetExtremesEventCallbackFunction} * @since 1.2.0 * @context Highcharts.Axis * @apioption xAxis.events.setExtremes */ /** * The lowest allowed value for automatically computed axis extremes. * * @see [ceiling](#yAxis.ceiling) * * @sample {highcharts} highcharts/yaxis/floor-ceiling/ * Floor and ceiling * @sample {highstock} stock/demo/lazy-loading/ * Prevent negative stock price on Y axis * * @type {number} * @since 4.0 * @product highcharts highstock gantt * @apioption xAxis.floor */ /** * The dash or dot style of the grid lines. For possible values, see * [this demonstration](https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/plotoptions/series-dashstyle-all/). * * @sample {highcharts} highcharts/yaxis/gridlinedashstyle/ * Long dashes * @sample {highstock} stock/xaxis/gridlinedashstyle/ * Long dashes * * @type {Highcharts.DashStyleValue} * @since 1.2 */ gridLineDashStyle: 'Solid', /** * The Z index of the grid lines. * * @sample {highcharts|highstock} highcharts/xaxis/gridzindex/ * A Z index of 4 renders the grid above the graph * * @product highcharts highstock gantt * * @see [axis.zIndex](#xAxis.zIndex) * @see [axis.labels.zIndex](#xAxis.labels.zIndex) */ gridZIndex: 1, /** * An id for the axis. This can be used after render time to get * a pointer to the axis object through `chart.get()`. * * @sample {highcharts} highcharts/xaxis/id/ * Get the object * @sample {highstock} stock/xaxis/id/ * Get the object * * @type {string} * @since 1.2.0 * @apioption xAxis.id */ /** * The axis labels show the number or category for each tick. * * Since v8.0.0: Labels are animated in categorized x-axis with * updating data if `tickInterval` and `step` is set to 1. * * @productdesc {highmaps} * X and Y axis labels are by default disabled in Highmaps, but the * functionality is inherited from Highcharts and used on `colorAxis`, * and can be enabled on X and Y axes too. */ labels: { /** * What part of the string the given position is anchored to. * If `left`, the left side of the string is at the axis position. * Can be one of `"left"`, `"center"` or `"right"`. Defaults to * an intelligent guess based on which side of the chart the axis * is on and the rotation of the label. * * @see [reserveSpace](#xAxis.labels.reserveSpace) * * @sample {highcharts} highcharts/xaxis/labels-align-left/ * Left * @sample {highcharts} highcharts/xaxis/labels-align-right/ * Right * @sample {highcharts} highcharts/xaxis/labels-reservespace-true/ * Left-aligned labels on a vertical category axis * * @type {Highcharts.AlignValue} * @apioption xAxis.labels.align */ /** * Whether to allow the axis labels to overlap. When false, * overlapping labels are hidden. * * @sample {highcharts} highcharts/xaxis/labels-allowoverlap-true/ * X axis labels overlap enabled * * @type {boolean} * @default false * @apioption xAxis.labels.allowOverlap */ /** * For horizontal axes, the allowed degrees of label rotation * to prevent overlapping labels. If there is enough space, * labels are not rotated. As the chart gets narrower, it * will start rotating the labels -45 degrees, then remove * every second label and try again with rotations 0 and -45 etc. * Set it to `undefined` to disable rotation, which will * cause the labels to word-wrap if possible. Defaults to `[-45]`` * on bottom and top axes, `undefined` on left and right axes. * * @sample {highcharts|highstock} highcharts/xaxis/labels-autorotation-default/ * Default auto rotation of 0 or -45 * @sample {highcharts|highstock} highcharts/xaxis/labels-autorotation-0-90/ * Custom graded auto rotation * * @type {Array<number>} * @default undefined * @since 4.1.0 * @product highcharts highstock gantt * @apioption xAxis.labels.autoRotation */ /** * When each category width is more than this many pixels, we don't * apply auto rotation. Instead, we lay out the axis label with word * wrap. A lower limit makes sense when the label contains multiple * short words that don't extend the available horizontal space for * each label. * * @sample {highcharts} highcharts/xaxis/labels-autorotationlimit/ * Lower limit * * @since 4.1.5 * @product highcharts gantt */ autoRotationLimit: 80, /** * The label's pixel distance from the perimeter of the plot area. * On cartesian charts, this is overridden if the `labels.y` setting * is set. * * @sample {highcharts} highcharts/yaxis/labels-distance/ * Polar chart, labels centered under the arc * * @type {number} * @product highcharts gantt */ distance: 15, /** * Enable or disable the axis labels. * * @sample {highcharts} highcharts/xaxis/labels-enabled/ * X axis labels disabled * @sample {highstock} stock/xaxis/labels-enabled/ * X axis labels disabled * */ enabled: true, /** * A format string for the axis label. The context is available as * format string variables. For example, you can use `{text}` to * insert the default formatted text. The recommended way of adding * units for the label is using `text`, for example `{text} km`. * * To add custom numeric or datetime formatting, use `{value}` with * formatting, for example `{value:.1f}` or `{value:%Y-%m-%d}`. * * See * [format string](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting) * for more examples of formatting. * * The default value is not specified due to the dynamic * nature of the default implementation. * * @sample {highcharts|highstock} highcharts/yaxis/labels-format/ * Add units to Y axis label * @sample {highcharts} highcharts/xaxis/labels-format-linked/ * Linked category names * @sample {highcharts} highcharts/xaxis/labels-format-custom/ * Custom number format * * @type {string} * @since 3.0 * @apioption xAxis.labels.format */ /** * Callback JavaScript function to format the label. The value * is given by `this.value`. Additional properties for `this` are * `axis`, `chart`, `isFirst`, `isLast` and `text` which holds the * value of the default formatter. * * Defaults to a built in function returning a formatted string * depending on whether the axis is `category`, `datetime`, * `numeric` or other. * * @sample {highcharts} highcharts/xaxis/labels-formatter-linked/ * Linked category names * @sample {highcharts} highcharts/xaxis/labels-formatter-extended/ * Modified numeric labels * @sample {highstock} stock/xaxis/labels-formatter/ * Added units on Y axis * * @type {Highcharts.AxisLabelsFormatterCallbackFunction} * @apioption xAxis.labels.formatter */ /** * The number of pixels to indent the labels per level in a treegrid * axis. * * @sample gantt/treegrid-axis/demo * Indentation 10px by default. * @sample gantt/treegrid-axis/indentation-0px * Indentation set to 0px. * * @product gantt */ indentation: 10, /** * Horizontal axis only. When `staggerLines` is not set, * `maxStaggerLines` defines how many lines the axis is allowed to * add to automatically avoid overlapping X labels. Set to `1` to * disable overlap detection. * * @deprecated * @type {number} * @default 5 * @since 1.3.3 * @apioption xAxis.labels.maxStaggerLines */ /** * How to handle overflowing labels on horizontal axis. If set to * `"allow"`, it will not be aligned at all. By default it * `"justify"` labels inside the chart area. If there is room to * move it, it will be aligned to the edge, else it will be removed. * * @since 2.2.5 * @validvalue ["allow", "justify"] */ overflow: 'justify', /** * The pixel padding for axis labels, to ensure white space between * them. Defaults to 4 for horizontal axes, 1 for vertical. * * @type {number} * @default undefined * @product highcharts gantt * @apioption xAxis.labels.padding */ /** * Whether to reserve space for the labels. By default, space is * reserved for the labels in these cases: * * * On all horizontal axes. * * On vertical axes if `label.align` is `right` on a left-side * axis or `left` on a right-side axis. * * On vertical axes if `label.align` is `center`. * * This can be turned off when for example the labels are rendered * inside the plot area instead of outside. * * @see [labels.align](#xAxis.labels.align) * * @sample {highcharts} highcharts/xaxis/labels-reservespace/ * No reserved space, labels inside plot * @sample {highcharts} highcharts/xaxis/labels-reservespace-true/ * Left-aligned labels on a vertical category axis * * @type {boolean} * @since 4.1.10 * @product highcharts highstock gantt * @apioption xAxis.labels.reserveSpace */ reserveSpace: void 0, /** * Rotation of the labels in degrees. When `undefined`, the * `autoRotation` option takes precedence. * * @sample {highcharts} highcharts/xaxis/labels-rotation/ * X axis labels rotated 90° * * @type {number} * @default 0 * @apioption xAxis.labels.rotation */ rotation: void 0, /** * Horizontal axes only. The number of lines to spread the labels * over to make room or tighter labels. 0 disables staggering. * * @sample {highcharts} highcharts/xaxis/labels-staggerlines/ * Show labels over two lines * @sample {highstock} stock/xaxis/labels-staggerlines/ * Show labels over two lines * * @since 2.1 */ staggerLines: 0, /** * To show only every _n_'th label on the axis, set the step to _n_. * Setting the step to 2 shows every other label. * * By default, when 0, the step is calculated automatically to avoid * overlap. To prevent this, set it to 1\. This usually only * happens on a category axis, and is often a sign that you have * chosen the wrong axis type. * * Read more at * [Axis docs](https://www.highcharts.com/docs/chart-concepts/axes) * => What axis should I use? * * @sample {highcharts} highcharts/xaxis/labels-step/ * Showing only every other axis label on a categorized * x-axis * @sample {highcharts} highcharts/xaxis/labels-step-auto/ * Auto steps on a category axis * * @since 2.1 */ step: 0, /** * Whether to [use HTML](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting#html) * to render the labels. */ useHTML: false, /** * The x position offset of all labels relative to the tick * positions on the axis. Overrides the `labels.distance` option. * * @type {number} * @apioption xAxis.labels.x */ /** * The y position offset of all labels relative to the tick * positions on the axis. Overrides the `labels.distance` option. * * @sample {highcharts} highcharts/xaxis/labels-x/ * X axis labels placed on grid lines * * @type {number} * @apioption xAxis.labels.y */ /** * The Z index for the axis labels. * * @see [axis.zIndex](#xAxis.zIndex) * @see [axis.gridZIndex](#xAxis.gridZIndex) */ zIndex: 7, /** * CSS styles for the label. Use `lineClamp` to control wrapping of * category labels. Use `textOverflow: 'none'` to prevent ellipsis * (dots). * * In styled mode, the labels are styled with the * `.highcharts-axis-labels` class. * * @sample {highcharts} highcharts/xaxis/labels-style/ * Red X axis labels * * @type {Highcharts.CSSObject} */ style: { /** @internal */ color: "#333333" /* Palette.neutralColor80 */, /** @internal */ cursor: 'default', /** * @type {number|string} */ fontSize: '0.8em', /** @internal */ textOverflow: 'ellipsis' } }, /** * The left position as the horizontal axis. If it's a number, it is * interpreted as pixel position relative to the chart. * * Since Highcharts v5.0.13: If it's a percentage string, it is * interpreted as percentages of the plot width, offset from plot area * left. * * @sample {highcharts} highcharts/xaxis/axis-position-properties * Different axis position properties * * @type {number|string} * @product highcharts highstock * @apioption xAxis.left */ /** * The top position as the vertical axis. If it's a number, it is * interpreted as pixel position relative to the chart. * * Since Highcharts 2: If it's a percentage string, it is interpreted * as percentages of the plot height, offset from plot area top. * * @sample {highcharts} highcharts/xaxis/axis-position-properties * Different axis position properties * * @type {number|string} * @product highcharts highstock * @apioption xAxis.top */ /** * Index of another axis that this axis is linked to. When an axis is * linked to a master axis, it will take the same extremes as * the master, but as assigned by min or max or by setExtremes. * It can be used to show additional info, or to ease reading the * chart by duplicating the scales. * * @sample {highcharts} highcharts/xaxis/linkedto/ * Different string formats of the same date * @sample {highcharts} highcharts/yaxis/linkedto/ * Y values on both sides * * @type {number} * @since 2.0.2 * @product highcharts highstock gantt * @apioption xAxis.linkedTo */ /** * The maximum value of the axis. If `undefined`, the max value is * automatically calculated. * * If a datetime string is passed, it is parsed into epoch time * according to the time zone given in [time.timezone](#time.timezone). * * If the [endOnTick](#yAxis.endOnTick) option is true, the `max` value * might be rounded up. * * If a [tickAmount](#yAxis.tickAmount) is set, the axis may be extended * beyond the set max in order to reach the given number of ticks. The * same may happen in a chart with multiple axes, determined by [chart. * alignTicks](#chart), where a `tickAmount` is applied internally. * * @sample {highcharts} highcharts/yaxis/max-200/ * Y axis max of 200 * @sample {highcharts} highcharts/yaxis/max-logarithmic/ * Y axis max on logarithmic axis * @sample {highstock} stock/xaxis/min-max/ * Fixed min and max on X axis * * @type {number|string|null} * @apioption xAxis.max */ /** * Padding of the max value relative to the length of the axis. A * padding of 0.05 will make a 100px axis 5px longer. This is useful * when you don't want the highest data value to appear on the edge * of the plot area. When the axis' `max` option is set or a max extreme * is set using `axis.setExtremes()`, the maxPadding will be ignored. * * @productdesc {highstock} * For an [ordinal](#xAxis.ordinal) axis, `minPadding` and `maxPadding` * are ignored. Use [overscroll](#xAxis.overscroll) instead. * * @sample {highcharts} highcharts/yaxis/maxpadding/ * Max padding of 0.25 on y axis * @sample {highstock} stock/xaxis/minpadding-maxpadding/ * Greater min- and maxPadding * @sample {highmaps} maps/chart/plotbackgroundcolor-gradient/ * Add some padding * * @default {highcharts} 0.01 * @default {highstock|highmaps} 0 * @since 1.2.0 */ maxPadding: 0.01, /** * Deprecated. Use `minRange` instead. * * @deprecated * @type {number} * @product highcharts highstock * @apioption xAxis.maxZoom */ /** * The minimum value of the axis. If `undefined`, the min value is * automatically calculated. * * If a datetime string is passed, it is parsed into epoch time * according to the time zone given in [time.timezone](#time.timezone). * * If the [startOnTick](#yAxis.startOnTick) option is true (default), * the `min` value might be rounded down. * * The automatically calculated minimum value is also affected by * [floor](#yAxis.floor), [softMin](#yAxis.softMin), * [minPadding](#yAxis.minPadding), [minRange](#yAxis.minRange) * as well as [series.threshold](#plotOptions.series.threshold) * and [series.softThreshold](#plotOptions.series.softThreshold). * * @sample {highcharts} highcharts/yaxis/min-startontick-false/ * -50 with startOnTick to false * @sample {highcharts} highcharts/yaxis/min-startontick-true/ * -50 with startOnTick true by default * @sample {highstock} stock/xaxis/min-max/ * Set min and max on X axis * * @type {number|string|null} * @apioption xAxis.min */ /** * The dash or dot style of the minor grid lines. For possible values, * see [this demonstration](https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/plotoptions/series-dashstyle-all/). * * @sample {highcharts} highcharts/yaxis/minorgridlinedashstyle/ * Long dashes on minor grid lines * @sample {highstock} stock/xaxis/minorgridlinedashstyle/ * Long dashes on minor grid lines * * @type {Highcharts.DashStyleValue} * @since 1.2 */ minorGridLineDashStyle: 'Solid', /** * Specific tick interval in axis units for the minor ticks. On a linear * axis, if `"auto"`, the minor tick interval is calculated as a fifth * of the tickInterval. If `undefined`, minor ticks are not shown. * * On logarithmic axes, the unit is the power of the value. For example, * setting the minorTickInterval to 1 puts one tick on each of 0.1, 1, * 10, 100 etc. Setting the minorTickInterval to 0.1 produces 9 ticks * between 1 and 10, 10 and 100 etc. * * If user settings dictate minor ticks to become too dense, they don't * make sense, and will be ignored to prevent performance problems. * * @sample {highcharts} highcharts/yaxis/minortickinterval-null/ * Undefined by default * @sample {highcharts} highcharts/yaxis/minortickinterval-5/ 5 units * @sample {highcharts} highcharts/yaxis/minortickinterval-log-auto/ * "auto"