Icard/angular-clarity-master(work.../node_modules/highcharts/highcharts.src.d.ts

94218 lines
3.6 MiB

/*!*
*
* Copyright (c) Highsoft AS. All rights reserved.
*
*!*/
import "./options/abands.src";
import "./options/ad.src";
import "./options/ao.src";
import "./options/apo.src";
import "./options/arcdiagram.src";
import "./options/area.src";
import "./options/arearange.src";
import "./options/areaspline.src";
import "./options/areasplinerange.src";
import "./options/aroon.src";
import "./options/aroonoscillator.src";
import "./options/atr.src";
import "./options/bar.src";
import "./options/bb.src";
import "./options/bellcurve.src";
import "./options/boxplot.src";
import "./options/bubble.src";
import "./options/bullet.src";
import "./options/candlestick.src";
import "./options/cci.src";
import "./options/chaikin.src";
import "./options/cmf.src";
import "./options/cmo.src";
import "./options/column.src";
import "./options/columnpyramid.src";
import "./options/columnrange.src";
import "./options/cylinder.src";
import "./options/dema.src";
import "./options/dependencywheel.src";
import "./options/disparityindex.src";
import "./options/dmi.src";
import "./options/dpo.src";
import "./options/dumbbell.src";
import "./options/ema.src";
import "./options/errorbar.src";
import "./options/flags.src";
import "./options/flowmap.src";
import "./options/funnel.src";
import "./options/gantt.src";
import "./options/gauge.src";
import "./options/geoheatmap.src";
import "./options/heatmap.src";
import "./options/heikinashi.src";
import "./options/histogram.src";
import "./options/hlc.src";
import "./options/hollowcandlestick.src";
import "./options/ikh.src";
import "./options/item.src";
import "./options/keltnerchannels.src";
import "./options/klinger.src";
import "./options/line.src";
import "./options/linearregressionangle.src";
import "./options/linearregression.src";
import "./options/linearregressionintercept.src";
import "./options/linearregressionslope.src";
import "./options/lollipop.src";
import "./options/macd.src";
import "./options/map.src";
import "./options/mapbubble.src";
import "./options/mapline.src";
import "./options/mappoint.src";
import "./options/mfi.src";
import "./options/momentum.src";
import "./options/natr.src";
import "./options/networkgraph.src";
import "./options/obv.src";
import "./options/ohlc.src";
import "./options/organization.src";
import "./options/packedbubble.src";
import "./options/pareto.src";
import "./options/pc.src";
import "./options/pictorial.src";
import "./options/pie.src";
import "./options/pivotpoints.src";
import "./options/polygon.src";
import "./options/ppo.src";
import "./options/priceenvelopes.src";
import "./options/psar.src";
import "./options/pyramid.src";
import "./options/roc.src";
import "./options/rsi.src";
import "./options/sankey.src";
import "./options/scatter.src";
import "./options/series.src";
import "./options/slowstochastic.src";
import "./options/sma.src";
import "./options/solidgauge.src";
import "./options/spline.src";
import "./options/stochastic.src";
import "./options/streamgraph.src";
import "./options/sunburst.src";
import "./options/supertrend.src";
import "./options/tema.src";
import "./options/tiledwebmap.src";
import "./options/tilemap.src";
import "./options/timeline.src";
import "./options/treegraph.src";
import "./options/treemap.src";
import "./options/trendline.src";
import "./options/trix.src";
import "./options/variablepie.src";
import "./options/variwide.src";
import "./options/vbp.src";
import "./options/vector.src";
import "./options/venn.src";
import "./options/vwap.src";
import "./options/waterfall.src";
import "./options/williamsr.src";
import "./options/windbarb.src";
import "./options/wma.src";
import "./options/wordcloud.src";
import "./options/xrange.src";
import "./options/zigzag.src";
import * as globals from "./globals.src";
/**
* Formatter callback for the accessibility announcement.
*
* @param updatedSeries
* Array of all series that received updates. If an announcement is
* already queued, the series that received updates for that announcement
* are also included in this array.
*
* @param addedSeries
* This is provided if Highcharts.Chart#addSeries was called, and there
* is a new series. In that case, this argument is a reference to the new
* series.
*
* @param addedPoint
* This is provided if Highcharts.Series#addPoint was called, and there
* is a new point. In that case, this argument is a reference to the new
* point.
*
* @return The function should return a string with the text to announce to the
* user. Return empty string to not announce anything. Return `false` to
* use the default announcement format.
*/
export type AccessibilityAnnouncementFormatter = (updatedSeries: Array<Series>, addedSeries?: Series, addedPoint?: Point) => (false|string);
/**
* The horizontal alignment of an element.
*/
export type AlignValue = ("center"|"left"|"right");
/**
* Creates a frame for the animated SVG element.
*
* @param this
* The SVG element to animate.
*/
export type AnimationStepCallbackFunction = (this: SVGElement) => void;
/**
* Callback to modify annotation's positioner controls.
*/
export type AnnotationControlPointPositionerFunction = (this: AnnotationControlPoint, target: AnnotationControllable) => PositionObject;
/**
* Possible directions for draggable annotations. An empty string (`''`) makes
* the annotation undraggable.
*/
export type AnnotationDraggableValue = (''|'x'|'xy'|'y');
/**
* Callback function that returns the annotation shape point.
*
* @param annotation
* An annotation instance.
*
* @return Annotations shape point.
*/
export type AnnotationMockPointFunction = (annotation: Annotation) => AnnotationMockPointOptionsObject;
/**
* Shape point as string, object or function.
*/
export type AnnotationShapePointOptions = (string|AnnotationMockPointFunction|AnnotationMockPointOptionsObject);
export type AxisEventCallbackFunction = (this: Axis) => void;
export type AxisExtremesTriggerValue = ("navigator"|"pan"|"scrollbar"|"zoom"|"rangeSelectorButton"|"rangeSelectorInput"|"traverseUpButton");
export type AxisLabelsFormatterCallbackFunction = (this: AxisLabelsFormatterContextObject, ctx: AxisLabelsFormatterContextObject) => string;
/**
* Options for axes.
*/
export type AxisOptions = (XAxisOptions|YAxisOptions|ZAxisOptions);
/**
* Options for plot band labels on axes.
*/
export type AxisPlotBandsLabelOptions = (XAxisPlotBandsLabelOptions|YAxisPlotBandsLabelOptions|ZAxisPlotBandsLabelOptions);
/**
* Options for plot bands on axes.
*/
export type AxisPlotBandsOptions = (XAxisPlotBandsOptions|YAxisPlotBandsOptions|ZAxisPlotBandsOptions);
/**
* Options for plot line labels on axes.
*/
export type AxisPlotLinesLabelOptions = (XAxisPlotLinesLabelOptions|YAxisPlotLinesLabelOptions|ZAxisPlotLinesLabelOptions);
/**
* Options for plot lines on axes.
*/
export type AxisPlotLinesOptions = (XAxisPlotLinesOptions|YAxisPlotLinesOptions|ZAxisPlotLinesOptions);
export type AxisPointBreakEventCallbackFunction = (this: Axis, evt: AxisPointBreakEventObject) => void;
export type AxisSetExtremesEventCallbackFunction = (this: Axis, evt: AxisSetExtremesEventObject) => void;
export type AxisTickPositionerCallbackFunction = (this: Axis) => AxisTickPositionsArray;
export type AxisTitleAlignValue = ("high"|"low"|"middle");
export type AxisTitleOptions = (XAxisTitleOptions|YAxisTitleOptions|ZAxisTitleOptions);
export type AxisTypeValue = ("category"|"datetime"|"linear"|"logarithmic"|"treegrid");
/**
* Callback function to react on button clicks.
*
* @param event
* Event.
*
* @param options
* Breadcrumb options.
*
* @param e
* Event arguments.
*/
export type BreadcrumbsClickCallbackFunction = (event: Event, options: BreadcrumbOptions, e: Event) => void;
/**
* Callback function to format the breadcrumb text from scratch.
*
* @param event
* Event.
*
* @param options
* Breadcrumb options.
*
* @return Formatted text or false
*/
export type BreadcrumbsFormatterCallbackFunction = (event: Event, options: BreadcrumbOptions) => string;
export type BubbleSizeByValue = ("area"|"width");
export type ButtonRelativeToValue = ("plotBox"|"spacingBox");
/**
* Gets fired when a series is added to the chart after load time, using the
* `addSeries` method. Returning `false` prevents the series from being added.
*
* @param this
* The chart on which the event occurred.
*
* @param event
* The event that occurred.
*/
export type ChartAddSeriesCallbackFunction = (this: Chart, event: ChartAddSeriesEventObject) => void;
/**
* Callback for chart constructors.
*
* @param chart
* Created chart.
*/
export type ChartCallbackFunction = (chart: Chart) => void;
/**
* Gets fired when clicking on the plot background.
*
* @param this
* The chart on which the event occurred.
*
* @param event
* The event that occurred.
*/
export type ChartClickCallbackFunction = (this: Chart, event: PointerEventObject) => void;
/**
* Gets fired when the chart is finished loading.
*
* @param this
* The chart on which the event occurred.
*
* @param event
* The event that occurred.
*/
export type ChartLoadCallbackFunction = (this: Chart, event: Event) => void;
/**
* Fires when the chart is redrawn, either after a call to `chart.redraw()` or
* after an axis, series or point is modified with the `redraw` option set to
* `true`.
*
* @param this
* The chart on which the event occurred.
*
* @param event
* The event that occurred.
*/
export type ChartRedrawCallbackFunction = (this: Chart, event: Event) => void;
/**
* Gets fired after initial load of the chart (directly after the `load` event),
* and after each redraw (directly after the `redraw` event).
*
* @param this
* The chart on which the event occurred.
*
* @param event
* The event that occurred.
*/
export type ChartRenderCallbackFunction = (this: Chart, event: Event) => void;
/**
* Gets fired when an area of the chart has been selected. The default action
* for the selection event is to zoom the chart to the selected area. It can be
* prevented by calling `event.preventDefault()` or return false.
*
* @param this
* The chart on which the event occurred.
*
* @param event
* Event informations
*
* @return Return false to prevent the default action, usually zoom.
*/
export type ChartSelectionCallbackFunction = (this: Chart, event: SelectEventObject) => (boolean|undefined);
/**
* A clipping rectangle that can be applied to one or more SVGElement instances.
* It is instantiated with the SVGRenderer#clipRect function and applied with
* the SVGElement#clip function.
*/
export type ClipRectElement = SVGElement;
/**
* Color axis types
*/
export type ColorAxisTypeValue = ("linear"|"logarithmic");
/**
* A valid color to be parsed and handled by Highcharts. Highcharts internally
* supports hex colors like `#ffffff`, rgb colors like `rgb(255,255,255)` and
* rgba colors like `rgba(255,255,255,1)`. Other colors may be supported by the
* browsers and displayed correctly, but Highcharts is not able to process them
* and apply concepts like opacity and brightening.
*/
export type ColorString = string;
/**
* A valid color type than can be parsed and handled by Highcharts. It can be a
* color string, a gradient object, or a pattern object.
*/
export type ColorType = (ColorString|GradientColorObject|PatternObject);
/**
* All possible cursor styles.
*/
export type CursorValue = ('alias'|'all-scroll'|'auto'|'cell'|'col-resize'|'context-menu'|'copy'|'crosshair'|'default'|'e-resize'|'ew-resize'|'grab'|'grabbing'|'help'|'move'|'n-resize'|'ne-resize'|
'nesw-resize'|'no-drop'|'none'|'not-allowed'|'ns-resize'|'nw-resize'|'nwse-resize'|'pointer'|'progress'|'row-resize'|'s-resize'|'se-resize'|'sw-resize'|'text'|'vertical-text'|'w-resize'|'wait'|
'zoom-in'|'zoom-out');
/**
* All possible dash styles.
*/
export type DashStyleValue = ('Dash'|'DashDot'|'Dot'|'LongDash'|'LongDashDot'|'LongDashDotDot'|'ShortDash'|'ShortDashDot'|'ShortDashDotDot'|'ShortDot'|'Solid');
/**
* Callback function to modify the CSV before parsing it by the data module.
*
* @param csv
* The CSV to modify.
*
* @return The CSV to parse.
*/
export type DataBeforeParseCallbackFunction = (csv: string) => string;
/**
* Callback function that gets called after parsing data.
*
* @param chartOptions
* The chart options that were used.
*/
export type DataCompleteCallbackFunction = (chartOptions: Options) => void;
/**
* The position of the point inside the group.
*/
export type DataGroupingAnchor = ("end"|"middle"|"start");
/**
* The position of the first or last point in the series inside the group.
*/
export type DataGroupingAnchorExtremes = ("end"|"middle"|"start"|"firstPoint"|"lastPoint");
export type DataGroupingApproximationValue = ("average"|"averages"|"close"|"high"|"low"|"open"|"sum");
/**
* Callback JavaScript function to format the data label as a string. Note that
* if a `format` is defined, the format takes precedence and the formatter is
* ignored.
*
* @param this
* Data label context to format
*
* @param options
* API options of the data label
*
* @return Formatted data label text
*/
export type DataLabelsFormatterCallbackFunction = (this: PointLabelObject, options: DataLabelsOptions) => (number|string|null|undefined);
/**
* Values for handling data labels that flow outside the plot area.
*/
export type DataLabelsOverflowValue = ("allow"|"justify");
/**
* Callback function to parse string representations of dates into JavaScript
* timestamps (milliseconds since 1.1.1970).
*
* @return Timestamp (milliseconds since 1.1.1970) as integer for Date class.
*/
export type DataParseDateCallbackFunction = (dateValue: string) => number;
/**
* Callback function to access the parsed columns, the two-dimensional input
* data array directly, before they are interpreted into series data and
* categories.
*
* @param columns
* The parsed columns by the data module.
*
* @return Return `false` to stop completion, or call `this.complete()` to
* continue async.
*/
export type DataParsedCallbackFunction = (columns: Array<Array<any>>) => (boolean|undefined);
/**
* Possible types for a data item in a column or row.
*/
export type DataValueType = (number|string|null);
/**
* Gets fired when a drilldown point is clicked, before the new series is added.
* Note that when clicking a category label to trigger multiple series
* drilldown, one `drilldown` event is triggered per point in the category.
*
* @param this
* The chart where the event occurs.
*
* @param e
* The drilldown event.
*/
export type DrilldownCallbackFunction = (this: Chart, e: DrilldownEventObject) => void;
/**
* This gets fired after all the series have been drilled up. This is especially
* usefull in a chart with multiple drilldown series.
*
* @param this
* The chart where the event occurs.
*
* @param e
* The final drillup event.
*/
export type DrillupAllCallbackFunction = (this: Chart, e: DrillupAllEventObject) => void;
/**
* Gets fired when drilling up from a drilldown series.
*
* @param this
* The chart where the event occurs.
*
* @param e
* The drillup event.
*/
export type DrillupCallbackFunction = (this: Chart, e: DrillupEventObject) => void;
/**
* The function callback to execute when the event is fired. The `this` context
* contains the instance, that fired the event.
*
* @param eventArguments
* Event arguments.
*/
export type EventCallbackFunction<T> = (this: T, eventArguments?: (Event|Dictionary<any>)) => (boolean|void);
/**
* Function callback to execute while data rows are processed for exporting.
* This allows the modification of data rows before processed into the final
* format.
*
* @param this
* Chart context where the event occurred.
*
* @param event
* Event object with data rows that can be modified.
*/
export type ExportDataCallbackFunction = (this: Chart, event: ExportDataEventObject) => void;
/**
* Gets fired after a chart is printed through the context menu item or the
* Chart.print method.
*
* @param this
* The chart on which the event occurred.
*
* @param event
* The event that occurred.
*/
export type ExportingAfterPrintCallbackFunction = (this: Chart, event: Event) => void;
/**
* Gets fired before a chart is printed through the context menu item or the
* Chart.print method.
*
* @param this
* The chart on which the event occurred.
*
* @param event
* The event that occurred.
*/
export type ExportingBeforePrintCallbackFunction = (this: Chart, event: Event) => void;
/**
* Function to call if the offline-exporting module fails to export a chart on
* the client side.
*
* @param options
* The exporting options.
*
* @param err
* The error from the module.
*/
export type ExportingErrorCallbackFunction = (options: ExportingOptions, err: Error) => void;
/**
* Possible MIME types for exporting.
*/
export type ExportingMimeTypeValue = ("application/pdf"|"image/jpeg"|"image/png"|"image/svg+xml");
export type FlagsShapeValue = ("circlepin"|"flag"|"squarepin");
/**
* Formats data as a string. Usually the data is accessible through the `this`
* keyword.
*
* @param this
* Context to format
*
* @return Formatted text
*/
export type FormatterCallbackFunction<T> = (this: T) => string;
/**
* Gets fired when closing the fullscreen
*
* @param chart
* The chart on which the event occurred.
*
* @param event
* The event that occurred.
*/
export type FullScreenfullscreenCloseCallbackFunction = (chart: Chart, event: Event) => void;
/**
* Gets fired when opening the fullscreen
*
* @param chart
* The chart on which the event occurred.
*
* @param event
* The event that occurred.
*/
export type FullScreenfullscreenOpenCallbackFunction = (chart: Chart, event: Event) => void;
/**
* An object of key-value pairs for HTML attributes.
*/
export type HTMLAttributes = Dictionary<(boolean|number|string|Function)>;
/**
* An HTML DOM element. The type is a reference to the regular HTMLElement in
* the global scope.
*/
export type HTMLDOMElement = HTMLElement;
/**
* An array of longitude, latitude.
*/
export type LonLatArray = Array<number>;
export type MapGeometryTypeValue = ("LineString"|"MultiLineString"|"MultiPolygon"|"Polygon");
/**
* Function callback when a cluster is clicked.
*
* @param this
* The point where the event occurred.
*
* @param event
* Event arguments.
*/
export type MarkerClusterDrillCallbackFunction = (this: Point, event: PointClickEventObject) => void;
/**
* Format a number and return a string based on input settings.
*
* @param number
* The input number to format.
*
* @param decimals
* The amount of decimals. A value of -1 preserves the amount in the
* input number.
*
* @param decimalPoint
* The decimal point, defaults to the one given in the lang options, or a
* dot.
*
* @param thousandsSep
* The thousands separator, defaults to the one given in the lang
* options, or a space character.
*
* @return The formatted number.
*/
export type NumberFormatterCallbackFunction = (number: number, decimals: number, decimalPoint?: string, thousandsSep?: string) => string;
/**
* The iterator callback.
*
* @param this
* The context.
*
* @param value
* The property value.
*
* @param key
* The property key.
*
* @param obj
* The object that objectEach is being applied to.
*/
export type ObjectEachCallbackFunction<T> = (this: T, value: any, key: string, obj: any) => void;
export type OptionsAlgorithmValue = ("first"|"firstlast"|"last"|"middle"|"minmax");
export type OptionsApproximationValue = ("barnes-hut"|"none");
export type OptionsBoostBlendingValue = ("add"|"darken"|"multiply");
export type OptionsChartPanningTypeValue = ("x"|"xy"|"y");
export type OptionsChartZoomingTypeValue = ("x"|"xy"|"y");
export type OptionsColumnTypesValue = ("date"|"float"|"number"|"string");
export type OptionsCompareValue = ("percent"|"value");
export type OptionsDataClassColorValue = ("category"|"tween");
export type OptionsDateFormatValue = ("dd/mm/YY"|"dd/mm/YYYY"|"mm/dd/YY"|"mm/dd/YYYY"|"YYYY/mm/dd");
export type OptionsDropdownValue = ("always"|"never"|"responsive");
export type OptionsFindNearestPointByValue = ("x"|"xy");
export type OptionsGapUnitValue = ("relative"|"value");
export type OptionsGridLineInterpolationValue = ("circle"|"polygon");
export type OptionsHeaderShapeValue = ("callout"|"rect");
export type OptionsHLCPointValKeyValue = ("close"|"high"|"low");
export type OptionsIntegrationValue = ("euler"|"verlet");
export type OptionsKeyValue = ("alt"|"ctrl"|"meta"|"shift");
export type OptionsLandmarkVerbosityValue = ("all"|"disabled"|"one");
export type OptionsLayoutAlgorithmValue = ("squarified"|"strip"|"stripes"|"sliceAndDice");
export type OptionsLayoutStartingDirectionValue = ("horizontal"|"vertical");
export type OptionsLayoutValue = ("horizontal"|"proximate"|"vertical");
export type OptionsLegendSymbolValue = ("rectangle"|"areaMarker"|"lineMarker");
export type OptionsLinecapValue = ("round"|"square");
export type OptionsMapFunctionValue = ("linear"|"logarithmic");
export type OptionsMarkerEndValue = ("arrow"|"none");
export type OptionsMinorTickPositionValue = ("inside"|"outside");
export type OptionsModeValue = ("normal"|"serialize");
export type OptionsOnKeyValue = ("close"|"high"|"low"|"open"|"y");
export type OptionsOperatorValue = ("!="|"!=="|"=="|"==="|">"|">="|"<"|"<=");
export type OptionsOrderValue = ("sequential"|"simultaneous");
export type OptionsOverflowValue = ("allow"|"justify");
export type OptionsPanKeyValue = ("alt"|"ctrl"|"meta"|"shift");
export type OptionsPinchTypeValue = ("x"|"xy"|"y");
export type OptionsPlacementStrategyValue = ("center"|"random");
export type OptionsPointIntervalUnitValue = ("day"|"month"|"year");
export type OptionsPointValKeyValue = ("close"|"high"|"low"|"open");
export type OptionsPosition3dValue = ("chart"|"flap"|"offset"|"ortho");
export type OptionsRelativeToValue = ("mapBoundingBox"|"plotBox");
export type OptionsRotationModeValue = ("auto"|"circular"|"parallel"|"perpendicular");
export type OptionsRotationOriginValue = ("center"|"end"|"start");
export type OptionsSpiralValue = ("archimedean"|"rectangular"|"square");
export type OptionsStackingValue = ("normal"|"overlap"|"percent"|"stream");
export type OptionsStepValue = ("center"|"left"|"right");
export type OptionsTextAlignValue = ("center"|"left"|"right");
export type OptionsTickmarkPlacementValue = ("between"|"on");
export type OptionsTickPositionValue = ("inside"|"outside");
export type OptionsTypeValue = ("x"|"xy"|"y");
export type OptionsUnitsValue = ("percent"|"pixels");
export type OptionsUnitValue = ("percentage"|"pixels"|"weight");
export type OptionsValueMapFunctionValue = ("linear"|"logarithmic");
export type OptionsWithinValue = ("chart"|"series"|"xAxis"|"yAxis");
/**
* Indent translation value for the child nodes in an organization chart, when
* parent has `hanging` layout. Option can shrink nodes (for tight charts),
* translate children to the left, or render nodes directly under the parent.
*/
export type OrganizationHangingIndentTranslationValue = ("cumulative"|"inherit"|"shrink");
export type PaneBackgroundShapeValue = ("arc"|"circle"|"solid");
/**
* The default pathfinder algorithm to use for a chart. It is possible to define
* your own algorithms by adding them to the
* `Highcharts.Pathfinder.prototype.algorithms` object before the chart has been
* created.
*
* The default algorithms are as follows:
*
* `straight`: Draws a straight line between the connecting points. Does not
* avoid other points when drawing.
*
* `simpleConnect`: Finds a path between the points using right angles only.
* Takes only starting/ending points into account, and will not avoid other
* points.
*
* `fastAvoid`: Finds a path between the points using right angles only. Will
* attempt to avoid other points, but its focus is performance over accuracy.
* Works well with less dense datasets.
*/
export type PathfinderTypeValue = ("straight"|"fastAvoid"|"simpleConnect"|string);
/**
* Function callback when a series point is clicked. Return false to cancel the
* action.
*
* @param this
* The point where the event occurred.
*
* @param event
* Event arguments.
*/
export type PointClickCallbackFunction = (this: Point, event: PointClickEventObject) => void;
/**
* Function callback to execute while series points are dragged. Return false to
* stop the default drag action.
*
* @param this
* Point where the event occurred.
*
* @param event
* Event arguments.
*/
export type PointDragCallbackFunction = (this: Point, event: PointDragEventObject) => void;
/**
* Function callback to execute when a series point is dragged.
*
* @param this
* Point where the event occurred.
*
* @param event
* Event arguments.
*/
export type PointDragStartCallbackFunction = (this: Point, event: PointDragStartEventObject) => void;
/**
* Function callback to execute when series points are dropped.
*
* @param this
* Point where the event occurred.
*
* @param event
* Event arguments.
*/
export type PointDropCallbackFunction = (this: Point, event: PointDropEventObject) => void;
/**
* Gets fired when the legend item belonging to a point is clicked. The default
* action is to toggle the visibility of the point. This can be prevented by
* returning `false` or calling `event.preventDefault()`.
*
* @param this
* The point on which the event occurred.
*
* @param event
* The event that occurred.
*/
export type PointLegendItemClickCallbackFunction = (this: Point, event: PointLegendItemClickEventObject) => void;
/**
* Gets fired when the mouse leaves the area close to the point.
*
* @param this
* Point where the event occurred.
*
* @param event
* Event that occurred.
*/
export type PointMouseOutCallbackFunction = (this: Point, event: PointerEvent) => void;
/**
* Gets fired when the mouse enters the area close to the point.
*
* @param this
* Point where the event occurred.
*
* @param event
* Event that occurred.
*/
export type PointMouseOverCallbackFunction = (this: Point, event: Event) => void;
/**
* Possible option types for a data point. Use `null` to indicate a gap.
*/
export type PointOptionsType = (number|string|PointOptionsObject|Array<(number|string|null)>|null);
/**
* Gets fired when the point is removed using the `.remove()` method.
*
* @param this
* Point where the event occurred.
*
* @param event
* Event that occurred.
*/
export type PointRemoveCallbackFunction = (this: Point, event: Event) => void;
/**
* Gets fired when the point is selected either programmatically or following a
* click on the point.
*
* @param this
* Point where the event occurred.
*
* @param event
* Event that occurred.
*/
export type PointSelectCallbackFunction = (this: Point, event: PointInteractionEventObject) => void;
/**
* Possible key values for the point state options.
*/
export type PointStateValue = ("hover"|"inactive"|"normal"|"select");
/**
* Fires when the point is unselected either programmatically or following a
* click on the point.
*
* @param this
* Point where the event occurred.
*
* @param event
* Event that occurred.
*/
export type PointUnselectCallbackFunction = (this: Point, event: PointInteractionEventObject) => void;
/**
* Gets fired when the point is updated programmatically through the `.update()`
* method.
*
* @param this
* Point where the event occurred.
*
* @param event
* Event that occurred.
*/
export type PointUpdateCallbackFunction = (this: Point, event: PointUpdateEventObject) => void;
/**
* Define the time span for the button
*/
export type RangeSelectorButtonTypeValue = ("all"|"day"|"hour"|"millisecond"|"minute"|"month"|"second"|"week"|"year"|"ytd");
/**
* Callback function to react on button clicks.
*
* @param e
* Event arguments.
*
* @param Return
* false to cancel the default button event.
*/
export type RangeSelectorClickCallbackFunction = (e: Event, Return: (boolean|undefined)) => void;
/**
* Callback function to parse values entered in the input boxes and return a
* valid JavaScript time as milliseconds since 1970.
*
* @param value
* Input value to parse.
*
* @return Parsed JavaScript time value.
*/
export type RangeSelectorParseCallbackFunction = (value: string) => number;
/**
* If a number is given, it defines the pixel length. If a percentage string is
* given, like for example `'50%'`, the setting defines a length relative to a
* base size, for example the size of a container.
*/
export type RelativeSize = (number|string);
/**
* A callback function to gain complete control on when the responsive rule
* applies.
*
* @param this
* Chart context.
*
* @return Return `true` if it applies.
*/
export type ResponsiveCallbackFunction = (this: Chart) => boolean;
/**
* @param evt
* Mouse click event
*/
export type ScreenReaderClickCallbackFunction = (evt: MouseEvent) => void;
/**
* Creates a formatted string for the screen reader module.
*
* @param context
* Context to format
*
* @return Formatted string for the screen reader module.
*/
export type ScreenReaderFormatterCallbackFunction<T> = (context: T) => string;
/**
* Function callback when a series has been animated.
*
* @param this
* The series where the event occurred.
*
* @param event
* Event arguments.
*/
export type SeriesAfterAnimateCallbackFunction = (this: Series, event: SeriesAfterAnimateEventObject) => void;
/**
* Function callback when the checkbox next to the series' name in the legend is
* clicked.
*
* @param this
* The series where the event occurred.
*
* @param event
* Event arguments.
*/
export type SeriesCheckboxClickCallbackFunction = (this: Series, event: SeriesCheckboxClickEventObject) => void;
/**
* Function callback when a series is clicked. Return false to cancel toogle
* actions.
*
* @param this
* The series where the event occurred.
*
* @param event
* Event arguments.
*/
export type SeriesClickCallbackFunction = (this: Series, event: SeriesClickEventObject) => void;
/**
* Gets fired when the series is hidden after chart generation time, either by
* clicking the legend item or by calling `.hide()`.
*
* @param this
* The series where the event occurred.
*
* @param event
* The event that occurred.
*/
export type SeriesHideCallbackFunction = (this: Series, event: Event) => void;
/**
* Gets fired when the legend item belonging to a series is clicked. The default
* action is to toggle the visibility of the series. This can be prevented by
* returning `false` or calling `event.preventDefault()`.
*
* @param this
* The series where the event occurred.
*
* @param event
* The event that occurred.
*/
export type SeriesLegendItemClickCallbackFunction = (this: Series, event: SeriesLegendItemClickEventObject) => void;
/**
* The SVG value used for the `stroke-linecap` and `stroke-linejoin` of a line
* graph.
*/
export type SeriesLinecapValue = ("butt"|"round"|"square"|string);
/**
* Gets fired when the mouse leaves the graph.
*
* @param this
* Series where the event occurred.
*
* @param event
* Event that occurred.
*/
export type SeriesMouseOutCallbackFunction = (this: Series, event: PointerEvent) => void;
/**
* Gets fired when the mouse enters the graph.
*
* @param this
* Series where the event occurred.
*
* @param event
* Event that occurred.
*/
export type SeriesMouseOverCallbackFunction = (this: Series, event: PointerEvent) => void;
/**
* Formatter callback function.
*
* @param this
* Data label context to format
*
* @return Formatted data label text
*/
export type SeriesNetworkgraphDataLabelsFormatterCallbackFunction = (this: (PointLabelObject|SeriesNetworkgraphDataLabelsFormatterContextObject)) => string;
/**
* The possible types of series options.
*/
export type SeriesOptionsType = SeriesOptionsRegistry[keyof SeriesOptionsRegistry];
/**
* Layout value for the child nodes in an organization chart. If `hanging`, this
* node's children will hang below their parent, allowing a tighter packing of
* nodes in the diagram.
*/
export type SeriesOrganizationNodesLayoutValue = ("hanging"|"normal");
/**
* Formatter callback function.
*
* @param this
* Data label context to format
*
* @return Formatted data label text
*/
export type SeriesPackedBubbleDataLabelsFormatterCallbackFunction = (this: SeriesPackedBubbleDataLabelsFormatterContextObject) => string;
/**
* Formatter callback function.
*
* @param this
* Data label context to format
*
* @return Formatted data label text
*/
export type SeriesSankeyDataLabelsFormatterCallbackFunction = (this: (PointLabelObject|SeriesSankeyDataLabelsFormatterContextObject)) => (string|undefined);
/**
* Gets fired when the series is shown after chart generation time, either by
* clicking the legend item or by calling `.show()`.
*
* @param this
* Series where the event occurred.
*
* @param event
* Event that occurred.
*/
export type SeriesShowCallbackFunction = (this: Series, event: Event) => void;
/**
* Possible key values for the series state options.
*/
export type SeriesStateValue = ("hover"|"inactive"|"normal"|"select");
export type SonifcationTypeValue = ("instrument"|"speech");
/**
* An SVG DOM element. The type is a reference to the regular SVGElement in the
* global scope.
*/
export type SVGDOMElement = globals.GlobalSVGElement;
/**
* Array of path commands, that will go into the `d` attribute of an SVG
* element.
*/
export type SVGPathArray = Array<(Array<SVGPathCommand>|[SVGPathCommand, number]|[SVGPathCommand, number, number]|[SVGPathCommand, number, number, number, number]|[SVGPathCommand, number, number,
number, number, number, number]|[SVGPathCommand, number, number, number, number, number, number, number])>;
/**
* Possible path commands in an SVG path array. Valid values are `A`, `C`, `H`,
* `L`, `M`, `Q`, `S`, `T`, `V`, `Z`.
*/
export type SVGPathCommand = ("a"|"c"|"h"|"l"|"m"|"q"|"s"|"t"|"v"|"z"|"A"|"C"|"H"|"L"|"M"|"Q"|"S"|"T"|"V"|"Z");
/**
* Can be one of `arc`, `callout`, `circle`, `diamond`, `square`, `triangle`,
* and `triangle-down`. Symbols are used internally for point markers, button
* and label borders and backgrounds, or custom shapes. Extendable by adding to
* SVGRenderer#symbols.
*/
export type SymbolKeyValue = ("arc"|"callout"|"circle"|"diamond"|"square"|"triangle"|"triangle-down");
export type SynthEnvelope = Array<SynthEnvelopePoint>;
export type SynthEnvelopePoint = Record<("t"|"vol"), number>;
export type SynthPatchOscillatorType = ("pulse"|"sawtooth"|"sine"|"square"|"triangle"|"whitenoise");
export type TilemapShapeValue = ("circle"|"diamond"|"hexagon"|"square");
/**
* Function of an additional date format specifier.
*
* @param timestamp
* The time to format.
*
* @return The formatted portion of the date.
*/
export type TimeFormatCallbackFunction = (timestamp: number) => string;
/**
* Callback JavaScript function to format the data label as a string. Note that
* if a `format` is defined, the format takes precedence and the formatter is
* ignored.
*
* @param this
* Data label context to format
*
* @return Formatted data label text
*/
export type TimelineDataLabelsFormatterCallbackFunction = (this: (PointLabelObject|TimelineDataLabelsFormatterContextObject)) => (number|string|null|undefined);
/**
* Time units used in `Time.get` and `Time.set`
*/
export type TimeUnitValue = ("Date"|"Day"|"FullYear"|"Hours"|"Milliseconds"|"Minutes"|"Month"|"Seconds");
/**
* A callback to return the time zone offset for a given datetime. It takes the
* timestamp in terms of milliseconds since January 1 1970, and returns the
* timezone offset in minutes. This provides a hook for drawing time based
* charts in specific time zones using their local DST crossover dates, with the
* help of external libraries.
*
* @param timestamp
* Timestamp in terms of milliseconds since January 1 1970.
*
* @return Timezone offset in minutes.
*/
export type TimezoneOffsetCallbackFunction = (timestamp: number) => number;
/**
* Callback function to format the text of the tooltip from scratch.
*
* In case of single or shared tooltips, a string should be returned. In case of
* splitted tooltips, it should return an array where the first item is the
* header, and subsequent items are mapped to the points. Return `false` to
* disable tooltip for a specific point on series.
*
* @param this
* Context to format
*
* @param tooltip
* The tooltip instance
*
* @return Formatted text or false
*/
export type TooltipFormatterCallbackFunction = (this: TooltipFormatterContextObject, tooltip: Tooltip) => (false|string|Array<(string|null|undefined)>|null|undefined);
/**
* A callback function to place the tooltip in a specific position.
*
* @param this
* Tooltip context of the callback.
*
* @param labelWidth
* Width of the tooltip.
*
* @param labelHeight
* Height of the tooltip.
*
* @param point
* Point information for positioning a tooltip.
*
* @return New position for the tooltip.
*/
export type TooltipPositionerCallbackFunction = (this: Tooltip, labelWidth: number, labelHeight: number, point: TooltipPositionerPointObject) => PositionObject;
export type TooltipShapeValue = ("callout"|"circle"|"rect");
/**
* A TopoJSON object, see description on the project's GitHub page.
*/
export type TopoJSON = object;
export type VariablePieSizeByValue = ("area"|"radius");
/**
* The vertical alignment of an element.
*/
export type VerticalAlignValue = ("bottom"|"middle"|"top");
/**
* Proceed function to call original (wrapped) function.
*
* @param arg1
* Optional argument. Without any arguments defaults to first argument of
* the wrapping function.
*
* @param arg2
* Optional argument. Without any arguments defaults to second argument
* of the wrapping function.
*
* @param arg3
* Optional argument. Without any arguments defaults to third argument of
* the wrapping function.
*
* @return Return value of the original function.
*/
export type WrapProceedFunction = (arg1?: any, arg2?: any, arg3?: any) => any;
/**
* Formatter function for the text of a crosshair label.
*
* @param this
* Axis context
*
* @param value
* Y value of the data point
*/
export type XAxisCrosshairLabelFormatterCallbackFunction = (this: Axis, value: number) => string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for announcing new data to
* screen reader users. Useful for dynamic data applications and drilldown.
*
* Keep in mind that frequent announcements will not be useful to users, as they
* won't have time to explore the new data. For these applications, consider
* making snapshots of the data accessible, and do the announcements in batches.
*/
export interface AccessibilityAnnounceNewDataOptionsObject {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Optional formatter callback for
* the announcement. Receives up to three arguments. The first argument is
* always an array of all series that received updates. If an announcement
* is already queued, the series that received updates for that announcement
* are also included in this array. The second argument is provided if
* `chart.addSeries` was called, and there is a new series. In that case,
* this argument is a reference to the new series. The third argument,
* similarly, is provided if `series.addPoint` was called, and there is a
* new point. In that case, this argument is a reference to the new point.
*
* The function should return a string with the text to announce to the
* user. Return empty string to not announce anything. Return `false` to use
* the default announcement format.
*/
announcementFormatter?: AccessibilityAnnouncementFormatter;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable announcing new data to
* screen reader users
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Choose whether or not the
* announcements should interrupt the screen reader. If not enabled, the
* user will be notified once idle. It is recommended not to enable this
* setting unless there is a specific reason to do so.
*/
interruptUser?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Minimum interval between
* announcements in milliseconds. If new data arrives before this amount of
* time has passed, it is queued for announcement. If another new data event
* happens while an announcement is queued, the queued announcement is
* dropped, and the latest announcement is queued instead. Set to 0 to allow
* all announcements, but be warned that frequent announcements are
* disturbing to users.
*/
minAnnounceInterval?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for configuring
* accessibility for the chart. Requires the accessibility module to be loaded.
* For a description of the module and information on its features, see
* Highcharts Accessibility.
*/
export interface AccessibilityOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for announcing new data
* to screen reader users. Useful for dynamic data applications and
* drilldown.
*
* Keep in mind that frequent announcements will not be useful to users, as
* they won't have time to explore the new data. For these applications,
* consider making snapshots of the data accessible, and do the
* announcements in batches.
*/
announceNewData?: AccessibilityAnnounceNewDataOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A hook for adding custom
* components to the accessibility module. Should be an object mapping
* component names to instances of classes inheriting from the
* Highcharts.AccessibilityComponent base class. Remember to add the
* component to the keyboardNavigation.order for the keyboard navigation to
* be usable.
*/
customComponents?: any;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A text description of the chart.
*
* **Note: Prefer using linkedDescription or caption instead.**
*
* If the Accessibility module is loaded, this option is included by default
* as a long description of the chart in the hidden screen reader
* information region.
*
* Note: Since Highcharts now supports captions and linked descriptions, it
* is preferred to define the description using those methods, as a visible
* caption/description benefits all users. If the
* `accessibility.description` option is defined, the linked description is
* ignored, and the caption is hidden from screen reader users.
*/
description?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable accessibility
* functionality for the chart. For more information on how to include these
* features, and why this is recommended, see Highcharts Accessibility.
*
* Highcharts will by default emit a warning to the console if the
* accessibility module is not loaded. Setting this option to `false` will
* override and silence the warning.
*
* Once the module is loaded, setting this option to `false` will disable
* the module for this chart.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Controls how highContrastTheme
* is applied.
*
* The default option is `auto`, which applies the high contrast theme the
* user's system has a high contrast theme active.
*/
highContrastMode?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Theme to apply to the chart when
* Windows High Contrast Mode is detected. By default, a high contrast theme
* matching the high contrast system colors is used.
*/
highContrastTheme?: any;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for keyboard navigation.
*/
keyboardNavigation?: KeyboardNavigationOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Amount of landmarks/regions to
* create for screen reader users. More landmarks can make navigation with
* screen readers easier, but can be distracting if there are lots of charts
* on the page. Three modes are available:
*
* - `all`: Adds regions for all series, legend, information region.
*
* - `one`: Adds a single landmark per chart.
*
* - `disabled`: No landmarks are added.
*/
landmarkVerbosity?: OptionsLandmarkVerbosityValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Link the chart to an HTML
* element describing the contents of the chart.
*
* It is always recommended to describe charts using visible text, to
* improve SEO as well as accessibility for users with disabilities. This
* option lets an HTML element with a description be linked to the chart, so
* that screen reader users can connect the two.
*
* By setting this option to a string, Highcharts runs the string as an HTML
* selector query on the entire document. If there is only a single match,
* this element is linked to the chart. The content of the linked element
* will be included in the chart description for screen reader users.
*
* By default, the chart looks for an adjacent sibling element with the
* `highcharts-description` class.
*
* The feature can be disabled by setting the option to an empty string, or
* overridden by providing the accessibility.description option.
* Alternatively, the HTML element to link can be passed in directly as an
* HTML node.
*
* If you need the description to be part of the exported image, consider
* using the caption feature.
*
* If you need the description to be hidden visually, use the
* accessibility.description option.
*/
linkedDescription?: (string|HTMLDOMElement);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for descriptions of
* individual data points.
*/
point?: AccessibilityPointOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for the
* screen reader information sections added before and after the chart.
*/
screenReaderSection?: AccessibilityScreenReaderSectionOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Accessibility options global to
* all data series. Individual series can also have specific accessibility
* options set.
*/
series?: AccessibilitySeriesOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A text description of the chart
* type.
*
* If the Accessibility module is loaded, this will be included in the
* description of the chart in the screen reader information region.
*
* Highcharts will by default attempt to guess the chart type, but for more
* complex charts it is recommended to specify this property for clarity.
*/
typeDescription?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for descriptions of
* individual data points.
*/
export interface AccessibilityPointOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Date format to use for points on
* datetime axes when describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Formatter function to determine
* the date/time format used with points on datetime axes when describing
* them to screen reader users. Receives one argument, `point`, referring to
* the point to describe. Should return a date format string compatible with
* dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether or not to describe
* points with the value `null` to assistive technology, such as screen
* readers.
*/
describeNull?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string to use instead
* of the default for point descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Formatter function to use
* instead of the default for point descriptions.
*
* Receives one argument, `point`, referring to the point to describe.
* Should return a string with the description of the point for a screen
* reader user. If `false` is returned, the default formatter will be used
* for that point.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Decimals to use for the values
* in the point descriptions. Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format to use for describing the
* values of data points to assistive technology - including screen readers.
* The point context is available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Prefix to add to the values in
* the point descriptions. Uses tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Suffix to add to the values in
* the point descriptions. Uses tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for the screen
* reader information sections added before and after the chart.
*/
export interface AccessibilityScreenReaderSectionOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for the screen reader
* information region after the chart. Analogous to beforeChartFormat.
*/
afterChartFormat?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A formatter function to create
* the HTML contents of the hidden screen reader information region after
* the chart. Analogous to beforeChartFormatter.
*/
afterChartFormatter?: ScreenReaderFormatterCallbackFunction<Chart>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Date format to use to describe
* range of datetime axes.
*
* For an overview of the replacement codes, see dateFormat.
*/
axisRangeDateFormat?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for the screen reader
* information region before the chart. Supported HTML tags are `<h1-6>`,
* `<p>`, `<div>`, `<a>`, `<ul>`, `<ol>`, `<li>`, and `<button>`. Attributes
* are not supported, except for id on `<div>`, `<a>`, and `<button>`. Id is
* required on `<a>` and `<button>` in the format `<tag id="abcd">`.
* Numbers, lower- and uppercase letters, "-" and "#" are valid characters
* in IDs.
*
* The headingTagName is an auto-detected heading (h1-h6) that corresponds
* to the heading level below the previous heading in the DOM.
*
* Set to empty string to remove the region altogether.
*/
beforeChartFormat?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A formatter function to create
* the HTML contents of the hidden screen reader information region before
* the chart. Receives one argument, `chart`, referring to the chart object.
* Should return a string with the HTML content of the region. By default
* this returns an automatic description of the chart based on
* beforeChartFormat.
*/
beforeChartFormatter?: ScreenReaderFormatterCallbackFunction<Chart>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Function to run upon clicking
* the "Play as sound" button in the screen reader region.
*
* By default Highcharts will call the `chart.sonify` function.
*/
onPlayAsSoundClick?: ScreenReaderClickCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Function to run upon clicking
* the "View as Data Table" link in the screen reader region.
*
* By default Highcharts will insert and set focus to a data table
* representation of the chart.
*/
onViewDataTableClick?: ScreenReaderClickCallbackFunction;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Accessibility options global to all
* data series. Individual series can also have specific accessibility options
* set.
*/
export interface AccessibilitySeriesOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether or not to add series
* descriptions to charts with a single series.
*/
describeSingleSeries?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format to use for describing the
* data series group to assistive technology - including screen readers.
*
* The series context and its subproperties are available under the variable
* `{series}`, for example `{series.name}` for the series name, and
* `{series.points.length}` for the number of data points.
*
* The chart context and its subproperties are available under the variable
* `{chart}`, for example `{chart.series.length}` for the number of series
* in the chart.
*
* `{seriesDescription}` refers to the automatic description of the series
* type and number of points added by Highcharts by default.
* `{authorDescription}` refers to the description added in
* series.description if one is present. `{axisDescription}` refers to the
* description added if the chart has multiple X or Y axes.
*
* Note that if series.descriptionFormatter is declared it will take
* precedence, and this option will be overridden.
*/
descriptionFormat?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Formatter function to use
* instead of the default for series descriptions. Receives one argument,
* `series`, referring to the series to describe. Should return a string
* with the description of the series for a screen reader user. If `false`
* is returned, the default formatter will be used for that series.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Series>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When a series contains more
* points than this, we no longer expose information about individual points
* to screen readers.
*
* Set to `false` to disable.
*/
pointDescriptionEnabledThreshold?: (boolean|number);
}
/**
* Options to align the element relative to the chart or another box.
*/
export interface AlignObject {
/**
* Horizontal alignment. Can be one of `left`, `center` and `right`.
*/
align?: AlignValue;
/**
* Use the `transform` attribute with translateX and translateY custom
* attributes to align this elements rather than `x` and `y` attributes.
*/
alignByTranslate?: boolean;
/**
* Vertical alignment. Can be one of `top`, `middle` and `bottom`.
*/
verticalAlign?: VerticalAlignValue;
/**
* Horizontal pixel offset from alignment.
*/
x?: number;
/**
* Vertical pixel offset from alignment.
*/
y?: number;
}
/**
* An animation configuration. Animation configurations can also be defined as
* booleans, where `false` turns off animation and `true` defaults to a duration
* of 500ms and defer of 0ms.
*/
export interface AnimationOptionsObject {
/**
* A callback function to execute when the animation finishes.
*/
complete?: Function;
/**
* The animation defer in milliseconds.
*/
defer?: number;
/**
* The animation duration in milliseconds.
*/
duration?: number;
/**
* The name of an easing function as defined on the `Math` object.
*/
easing?: (string|Function);
/**
* A callback function to execute on each step of each attribute or CSS
* property that's being animated. The first argument contains information
* about the animation and progress.
*/
step?: Function;
}
export interface AnnotationControllable {
annotation: Annotation;
chart: Chart;
collection: string;
points: Array<Point>;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's control
* points. Each control point inherits options from controlPointOptions object.
* Options from the controlPointOptions can be overwritten by options in a
* specific control point.
*/
export interface AnnotationControlPointOptionsObject {
events?: Dictionary<Function>;
height?: number;
positioner?: AnnotationControlPointPositionerFunction;
style?: (AnnotationsControlPointStyleOptions|NavigationAnnotationsControlPointStyleOptions|SVGAttributes);
symbol?: string;
visible?: boolean;
width?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for an
* annotation label.
*/
export interface AnnotationLabelAccessibilityOptionsObject {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Description of an annotation
* label for screen readers and other assistive technology.
*/
description?: string;
}
/**
* Object of shape point.
*/
export interface AnnotationMockPointOptionsObject {
/**
* The x position of the point. Units can be either in axis or chart pixel
* coordinates.
*/
x: number;
/**
* This number defines which xAxis the point is connected to. It refers to
* either the axis id or the index of the axis in the xAxis array. If the
* option is not configured or the axis is not found the point's x
* coordinate refers to the chart pixels.
*/
xAxis: (number|string|null);
/**
* The y position of the point. Units can be either in axis or chart pixel
* coordinates.
*/
y: number;
/**
* This number defines which yAxis the point is connected to. It refers to
* either the axis id or the index of the axis in the yAxis array. If the
* option is not configured or the axis is not found the point's y
* coordinate refers to the chart pixels.
*/
yAxis: (number|string|null);
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `annotation`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation. For other animations, see chart.animation
* and the animation parameter under the API methods. The following properties
* are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface AnnotationsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` renders annotation immediately. As `undefined`
* inherits defer time from the series.animation.defer.
*/
defer?: number;
}
export interface AnnotationsControlPointStyleOptions {
cursor?: string;
fill?: string;
stroke?: string;
"stroke-width"?: number;
}
export interface AnnotationsCrookedLineControlPointOptions {
events?: any;
}
/**
* (Highstock) Options for annotation's labels. Each label inherits options from
* the labelOptions object. An option from the labelOptions can be overwritten
* by config for a specific label.
*/
export interface AnnotationsCrookedLineLabelOptions {
/**
* (Highstock) Accessibility options for an annotation label.
*/
accessibility?: AnnotationLabelAccessibilityOptionsObject;
/**
* (Highstock) The alignment of the annotation's label. If right, the right
* side of the label should be touching the point.
*/
align?: AlignValue;
/**
* (Highstock) Whether to allow the annotation's labels to overlap. To make
* the labels less sensitive for overlapping, the can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highstock) The background color or gradient for the annotation's label.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The border color for the annotation's label.
*/
borderColor?: ColorString;
/**
* (Highstock) The border radius in pixels for the annotation's label.
*/
borderRadius?: number;
/**
* (Highstock) The border width in pixels for the annotation's label
*/
borderWidth?: number;
/**
* (Highstock) A class name for styling by CSS.
*/
className?: string;
/**
* (Highstock) Whether to hide the annotation's label that is outside the
* plot area.
*/
crop?: boolean;
/**
* (Highstock) The label's pixel distance from the point.
*/
distance?: number;
/**
* (Highstock) A format string for the data label.
*/
format?: string;
/**
* (Highstock) Callback JavaScript function to format the annotation's
* label. Note that if a `format` or `text` are defined, the format or text
* take precedence and the formatter is ignored. `This` refers to a point
* object.
*/
formatter?: FormatterCallbackFunction<Point>;
/**
* (Highstock) Whether the annotation is visible in the exported data table.
*/
includeInDataExport?: boolean;
/**
* (Highstock) How to handle the annotation's label that flow outside the
* plot area. The justify option aligns the label inside the plot area.
*/
overflow?: OptionsOverflowValue;
/**
* (Highstock) When either the borderWidth or the backgroundColor is set,
* this is the padding within the box.
*/
padding?: number;
/**
* (Highstock) The shadow of the box. The shadow can be an object
* configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
* `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) The name of a symbol to use for the border around the label.
* Symbols are predefined functions on the Renderer object.
*/
shape?: string;
/**
* (Highstock) Styles for the annotation's label.
*/
style?: CSSObject;
/**
* (Highstock) Alias for the format option.
*/
text?: string;
/**
* (Highstock) Whether to use HTML to render the annotation's label.
*/
useHTML?: boolean;
/**
* (Highstock) The vertical alignment of the annotation's label.
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highstock) The x position offset of the label relative to the point.
* Note that if a `distance` is defined, the distance takes precedence over
* `x` and `y` options.
*/
x?: number;
/**
* (Highstock) The y position offset of the label relative to the point.
* Note that if a `distance` is defined, the distance takes precedence over
* `x` and `y` options.
*/
y?: number;
}
/**
* (Highstock) A crooked line annotation.
*/
export interface AnnotationsCrookedLineOptions {
controlPointOptions?: AnnotationsCrookedLineControlPointOptions;
/**
* (Highstock) Options for annotation's labels. Each label inherits options
* from the labelOptions object. An option from the labelOptions can be
* overwritten by config for a specific label.
*/
labelOptions?: AnnotationsCrookedLineLabelOptions;
/**
* (Highstock) Options for annotation's shapes. Each shape inherits options
* from the shapeOptions object. An option from the shapeOptions can be
* overwritten by config for a specific shape.
*/
shapeOptions?: AnnotationsCrookedLineShapeOptions;
/**
* (Highstock) Additional options for an annotation with the type.
*/
typeOptions?: AnnotationsCrookedLineTypeOptions;
}
/**
* (Highstock) Options for annotation's shapes. Each shape inherits options from
* the shapeOptions object. An option from the shapeOptions can be overwritten
* by config for a specific shape.
*/
export interface AnnotationsCrookedLineShapeOptions {
/**
* (Highstock) Name of the dash style to use for the shape's stroke.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) The color of the shape's fill.
*/
fill?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The height of the shape.
*/
height?: number;
/**
* (Highstock) The radius of the shape.
*/
r?: number;
/**
* (Highstock) The radius of the shape in y direction. Used for the ellipse.
*/
ry?: number;
/**
* (Highstock) Defines additional snapping area around an annotation making
* this annotation to focus. Defined in pixels.
*/
snap?: number;
/**
* (Highstock) The URL for an image to use as the annotation shape. Note,
* type has to be set to `'image'`.
*/
src?: string;
/**
* (Highstock) The color of the shape's stroke.
*/
stroke?: ColorString;
/**
* (Highstock) The pixel stroke width of the shape.
*/
strokeWidth?: number;
/**
* (Highstock) The type of the shape. Available options are circle, rect and
* ellipse.
*/
type?: string;
/**
* (Highstock) The width of the shape.
*/
width?: number;
/**
* (Highstock) The xAxis index to which the points should be attached. Used
* for the ellipse.
*/
xAxis?: number;
/**
* (Highstock) The yAxis index to which the points should be attached. Used
* for the ellipse.
*/
yAxis?: number;
}
/**
* (Highstock) Line options.
*/
export interface AnnotationsCrookedLineTypeLineOptions {
fill?: string;
}
/**
* (Highstock) Additional options for an annotation with the type.
*/
export interface AnnotationsCrookedLineTypeOptions {
/**
* (Highstock) Line options.
*/
line?: AnnotationsCrookedLineTypeLineOptions;
points?: Array<AnnotationsCrookedLineTypePointsOptions>;
/**
* (Highstock) This number defines which xAxis the point is connected to. It
* refers to either the axis id or the index of the axis in the xAxis array.
*/
xAxis?: number;
/**
* (Highstock) This number defines which yAxis the point is connected to. It
* refers to either the axis id or the index of the axis in the xAxis array.
*/
yAxis?: number;
}
export interface AnnotationsCrookedLineTypePointsOptions {
controlPoint?: number;
/**
* (Highstock) The x position of the point.
*/
x?: number;
/**
* (Highstock) The y position of the point.
*/
y?: number;
}
export interface AnnotationsElliottWaveControlPointOptions {
events?: any;
}
/**
* (Highstock) Options for annotation's labels. Each label inherits options from
* the labelOptions object. An option from the labelOptions can be overwritten
* by config for a specific label.
*/
export interface AnnotationsElliottWaveLabelOptions {
/**
* (Highstock) Accessibility options for an annotation label.
*/
accessibility?: AnnotationLabelAccessibilityOptionsObject;
/**
* (Highstock) The alignment of the annotation's label. If right, the right
* side of the label should be touching the point.
*/
align?: string;
/**
* (Highstock) Whether to allow the annotation's labels to overlap. To make
* the labels less sensitive for overlapping, the can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highstock) The background color or gradient for the annotation's label.
*/
backgroundColor?: string;
/**
* (Highstock) The border color for the annotation's label.
*/
borderColor?: ColorString;
/**
* (Highstock) The border radius in pixels for the annotation's label.
*/
borderRadius?: number;
/**
* (Highstock) The border width in pixels for the annotation's label
*/
borderWidth?: number;
/**
* (Highstock) A class name for styling by CSS.
*/
className?: string;
/**
* (Highstock) Whether to hide the annotation's label that is outside the
* plot area.
*/
crop?: boolean;
/**
* (Highstock) The label's pixel distance from the point.
*/
distance?: number;
/**
* (Highstock) A format string for the data label.
*/
format?: string;
/**
* (Highstock) Callback JavaScript function to format the annotation's
* label. Note that if a `format` or `text` are defined, the format or text
* take precedence and the formatter is ignored. `This` refers to a point
* object.
*/
formatter?: FormatterCallbackFunction<Point>;
/**
* (Highstock) Whether the annotation is visible in the exported data table.
*/
includeInDataExport?: boolean;
/**
* (Highstock) How to handle the annotation's label that flow outside the
* plot area. The justify option aligns the label inside the plot area.
*/
overflow?: OptionsOverflowValue;
/**
* (Highstock) When either the borderWidth or the backgroundColor is set,
* this is the padding within the box.
*/
padding?: number;
/**
* (Highstock) The shadow of the box. The shadow can be an object
* configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
* `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) The name of a symbol to use for the border around the label.
* Symbols are predefined functions on the Renderer object.
*/
shape?: string;
/**
* (Highstock) Styles for the annotation's label.
*/
style?: CSSObject;
/**
* (Highstock) Alias for the format option.
*/
text?: string;
type?: string;
/**
* (Highstock) Whether to use HTML to render the annotation's label.
*/
useHTML?: boolean;
/**
* (Highstock) The vertical alignment of the annotation's label.
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highstock) The x position offset of the label relative to the point.
* Note that if a `distance` is defined, the distance takes precedence over
* `x` and `y` options.
*/
x?: number;
/**
* (Highstock) The y position offset of the label relative to the point.
* Note that if a `distance` is defined, the distance takes precedence over
* `x` and `y` options.
*/
y?: number;
}
/**
* (Highstock) An elliott wave annotation.
*/
export interface AnnotationsElliottWaveOptions {
controlPointOptions?: AnnotationsElliottWaveControlPointOptions;
/**
* (Highstock) Options for annotation's labels. Each label inherits options
* from the labelOptions object. An option from the labelOptions can be
* overwritten by config for a specific label.
*/
labelOptions?: AnnotationsElliottWaveLabelOptions;
/**
* (Highstock) Options for annotation's shapes. Each shape inherits options
* from the shapeOptions object. An option from the shapeOptions can be
* overwritten by config for a specific shape.
*/
shapeOptions?: AnnotationsElliottWaveShapeOptions;
/**
* (Highstock) Additional options for an annotation with the type.
*/
typeOptions?: AnnotationsElliottWaveTypeOptions;
}
/**
* (Highstock) Options for annotation's shapes. Each shape inherits options from
* the shapeOptions object. An option from the shapeOptions can be overwritten
* by config for a specific shape.
*/
export interface AnnotationsElliottWaveShapeOptions {
/**
* (Highstock) Name of the dash style to use for the shape's stroke.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) The color of the shape's fill.
*/
fill?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The height of the shape.
*/
height?: number;
/**
* (Highstock) The radius of the shape.
*/
r?: number;
/**
* (Highstock) The radius of the shape in y direction. Used for the ellipse.
*/
ry?: number;
/**
* (Highstock) Defines additional snapping area around an annotation making
* this annotation to focus. Defined in pixels.
*/
snap?: number;
/**
* (Highstock) The URL for an image to use as the annotation shape. Note,
* type has to be set to `'image'`.
*/
src?: string;
/**
* (Highstock) The color of the shape's stroke.
*/
stroke?: ColorString;
/**
* (Highstock) The pixel stroke width of the shape.
*/
strokeWidth?: number;
/**
* (Highstock) The type of the shape. Available options are circle, rect and
* ellipse.
*/
type?: string;
/**
* (Highstock) The width of the shape.
*/
width?: number;
/**
* (Highstock) The xAxis index to which the points should be attached. Used
* for the ellipse.
*/
xAxis?: number;
/**
* (Highstock) The yAxis index to which the points should be attached. Used
* for the ellipse.
*/
yAxis?: number;
}
/**
* (Highstock) Line options.
*/
export interface AnnotationsElliottWaveTypeLineOptions {
fill?: string;
strokeWidth?: number;
}
/**
* (Highstock) Additional options for an annotation with the type.
*/
export interface AnnotationsElliottWaveTypeOptions {
/**
* (Highstock) Line options.
*/
line?: AnnotationsElliottWaveTypeLineOptions;
points?: Array<AnnotationsElliottWaveTypePointsOptions>;
/**
* (Highstock) This number defines which xAxis the point is connected to. It
* refers to either the axis id or the index of the axis in the xAxis array.
*/
xAxis?: number;
/**
* (Highstock) This number defines which yAxis the point is connected to. It
* refers to either the axis id or the index of the axis in the xAxis array.
*/
yAxis?: number;
}
/**
* (Highstock) Options for annotation's labels. Each label inherits options from
* the labelOptions object. An option from the labelOptions can be overwritten
* by config for a specific label.
*/
export interface AnnotationsElliottWaveTypePointsLabelOptions {
/**
* (Highstock) Accessibility options for an annotation label.
*/
accessibility?: AnnotationLabelAccessibilityOptionsObject;
/**
* (Highstock) The alignment of the annotation's label. If right, the right
* side of the label should be touching the point.
*/
align?: AlignValue;
/**
* (Highstock) Whether to allow the annotation's labels to overlap. To make
* the labels less sensitive for overlapping, the can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highstock) The background color or gradient for the annotation's label.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The border color for the annotation's label.
*/
borderColor?: ColorString;
/**
* (Highstock) The border radius in pixels for the annotation's label.
*/
borderRadius?: number;
/**
* (Highstock) The border width in pixels for the annotation's label
*/
borderWidth?: number;
/**
* (Highstock) A class name for styling by CSS.
*/
className?: string;
/**
* (Highstock) Whether to hide the annotation's label that is outside the
* plot area.
*/
crop?: boolean;
/**
* (Highstock) The label's pixel distance from the point.
*/
distance?: number;
/**
* (Highstock) A format string for the data label.
*/
format?: string;
/**
* (Highstock) Callback JavaScript function to format the annotation's
* label. Note that if a `format` or `text` are defined, the format or text
* take precedence and the formatter is ignored. `This` refers to a point
* object.
*/
formatter?: FormatterCallbackFunction<Point>;
/**
* (Highstock) Whether the annotation is visible in the exported data table.
*/
includeInDataExport?: boolean;
/**
* (Highstock) How to handle the annotation's label that flow outside the
* plot area. The justify option aligns the label inside the plot area.
*/
overflow?: OptionsOverflowValue;
/**
* (Highstock) When either the borderWidth or the backgroundColor is set,
* this is the padding within the box.
*/
padding?: number;
/**
* (Highstock) The shadow of the box. The shadow can be an object
* configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
* `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) The name of a symbol to use for the border around the label.
* Symbols are predefined functions on the Renderer object.
*/
shape?: string;
/**
* (Highstock) Styles for the annotation's label.
*/
style?: CSSObject;
/**
* (Highstock) Alias for the format option.
*/
text?: string;
/**
* (Highstock) Whether to use HTML to render the annotation's label.
*/
useHTML?: boolean;
/**
* (Highstock) The vertical alignment of the annotation's label.
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highstock) The x position offset of the label relative to the point.
* Note that if a `distance` is defined, the distance takes precedence over
* `x` and `y` options.
*/
x?: number;
/**
* (Highstock) The y position offset of the label relative to the point.
* Note that if a `distance` is defined, the distance takes precedence over
* `x` and `y` options.
*/
y?: number;
}
export interface AnnotationsElliottWaveTypePointsOptions {
controlPoint?: number;
/**
* (Highstock) Options for annotation's labels. Each label inherits options
* from the labelOptions object. An option from the labelOptions can be
* overwritten by config for a specific label.
*/
label?: AnnotationsElliottWaveTypePointsLabelOptions;
/**
* (Highstock) The x position of the point.
*/
x?: number;
/**
* (Highstock) The y position of the point.
*/
y?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Events available in annotations.
*/
export interface AnnotationsEventsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Event callback when annotation
* is added to the chart.
*/
add?: EventCallbackFunction<Annotation>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Event callback when annotation
* is updated (e.g. drag and dropped or resized by control points).
*/
afterUpdate?: EventCallbackFunction<Annotation>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Fires when the annotation is
* clicked.
*/
click?: EventCallbackFunction<Annotation>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Fires when the annotation is
* dragged.
*/
drag?: EventCallbackFunction<Annotation>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Event callback when annotation
* is removed from the chart.
*/
remove?: EventCallbackFunction<Annotation>;
}
export interface AnnotationsFibonacciControlPointOptions {
events?: any;
}
/**
* (Highstock) Options for annotation's labels. Each label inherits options from
* the labelOptions object. An option from the labelOptions can be overwritten
* by config for a specific label.
*/
export interface AnnotationsFibonacciLabelOptions {
/**
* (Highstock) Accessibility options for an annotation label.
*/
accessibility?: AnnotationLabelAccessibilityOptionsObject;
/**
* (Highstock) The alignment of the annotation's label. If right, the right
* side of the label should be touching the point.
*/
align?: string;
/**
* (Highstock) Whether to allow the annotation's labels to overlap. To make
* the labels less sensitive for overlapping, the can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highstock) The background color or gradient for the annotation's label.
*/
backgroundColor?: string;
/**
* (Highstock) The border color for the annotation's label.
*/
borderColor?: ColorString;
/**
* (Highstock) The border radius in pixels for the annotation's label.
*/
borderRadius?: number;
/**
* (Highstock) The border width in pixels for the annotation's label
*/
borderWidth?: number;
/**
* (Highstock) A class name for styling by CSS.
*/
className?: string;
/**
* (Highstock) Whether to hide the annotation's label that is outside the
* plot area.
*/
crop?: boolean;
/**
* (Highstock) The label's pixel distance from the point.
*/
distance?: number;
/**
* (Highstock) A format string for the data label.
*/
format?: string;
/**
* (Highstock) Callback JavaScript function to format the annotation's
* label. Note that if a `format` or `text` are defined, the format or text
* take precedence and the formatter is ignored. `This` refers to a point
* object.
*/
formatter?: FormatterCallbackFunction<Point>;
/**
* (Highstock) Whether the annotation is visible in the exported data table.
*/
includeInDataExport?: boolean;
/**
* (Highstock) How to handle the annotation's label that flow outside the
* plot area. The justify option aligns the label inside the plot area.
*/
overflow?: OptionsOverflowValue;
/**
* (Highstock) When either the borderWidth or the backgroundColor is set,
* this is the padding within the box.
*/
padding?: number;
/**
* (Highstock) The shadow of the box. The shadow can be an object
* configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
* `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) The name of a symbol to use for the border around the label.
* Symbols are predefined functions on the Renderer object.
*/
shape?: string;
/**
* (Highstock) Styles for the annotation's label.
*/
style?: (AnnotationsFibonacciLabelStyleOptions|CSSObject);
/**
* (Highstock) Alias for the format option.
*/
text?: string;
/**
* (Highstock) Whether to use HTML to render the annotation's label.
*/
useHTML?: boolean;
/**
* (Highstock) The vertical alignment of the annotation's label.
*/
verticalAlign?: string;
/**
* (Highstock) The x position offset of the label relative to the point.
* Note that if a `distance` is defined, the distance takes precedence over
* `x` and `y` options.
*/
x?: number;
/**
* (Highstock) The y position offset of the label relative to the point.
* Note that if a `distance` is defined, the distance takes precedence over
* `x` and `y` options.
*/
y?: number;
}
/**
* (Highstock) Styles for the annotation's label.
*/
export interface AnnotationsFibonacciLabelStyleOptions {
color?: string;
}
/**
* (Highstock) A fibonacci annotation.
*/
export interface AnnotationsFibonacciOptions {
controlPointOptions?: AnnotationsFibonacciControlPointOptions;
/**
* (Highstock) Options for annotation's labels. Each label inherits options
* from the labelOptions object. An option from the labelOptions can be
* overwritten by config for a specific label.
*/
labelOptions?: AnnotationsFibonacciLabelOptions;
/**
* (Highstock) Options for annotation's shapes. Each shape inherits options
* from the shapeOptions object. An option from the shapeOptions can be
* overwritten by config for a specific shape.
*/
shapeOptions?: AnnotationsFibonacciShapeOptions;
/**
* (Highstock) Additional options for an annotation with the type.
*/
typeOptions?: AnnotationsFibonacciTypeOptions;
}
/**
* (Highstock) Options for annotation's shapes. Each shape inherits options from
* the shapeOptions object. An option from the shapeOptions can be overwritten
* by config for a specific shape.
*/
export interface AnnotationsFibonacciShapeOptions {
/**
* (Highstock) Name of the dash style to use for the shape's stroke.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) The color of the shape's fill.
*/
fill?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The height of the shape.
*/
height?: number;
/**
* (Highstock) The radius of the shape.
*/
r?: number;
/**
* (Highstock) The radius of the shape in y direction. Used for the ellipse.
*/
ry?: number;
/**
* (Highstock) Defines additional snapping area around an annotation making
* this annotation to focus. Defined in pixels.
*/
snap?: number;
/**
* (Highstock) The URL for an image to use as the annotation shape. Note,
* type has to be set to `'image'`.
*/
src?: string;
/**
* (Highstock) The color of the shape's stroke.
*/
stroke?: ColorString;
/**
* (Highstock) The pixel stroke width of the shape.
*/
strokeWidth?: number;
/**
* (Highstock) The type of the shape. Available options are circle, rect and
* ellipse.
*/
type?: string;
/**
* (Highstock) The width of the shape.
*/
width?: number;
/**
* (Highstock) The xAxis index to which the points should be attached. Used
* for the ellipse.
*/
xAxis?: number;
/**
* (Highstock) The yAxis index to which the points should be attached. Used
* for the ellipse.
*/
yAxis?: number;
}
export interface AnnotationsFibonacciTimeZonesControlPointOptions {
events?: any;
}
/**
* (Highstock) Options for annotation's labels. Each label inherits options from
* the labelOptions object. An option from the labelOptions can be overwritten
* by config for a specific label.
*/
export interface AnnotationsFibonacciTimeZonesLabelOptions {
/**
* (Highstock) Accessibility options for an annotation label.
*/
accessibility?: AnnotationLabelAccessibilityOptionsObject;
/**
* (Highstock) The alignment of the annotation's label. If right, the right
* side of the label should be touching the point.
*/
align?: AlignValue;
/**
* (Highstock) Whether to allow the annotation's labels to overlap. To make
* the labels less sensitive for overlapping, the can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highstock) The background color or gradient for the annotation's label.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The border color for the annotation's label.
*/
borderColor?: ColorString;
/**
* (Highstock) The border radius in pixels for the annotation's label.
*/
borderRadius?: number;
/**
* (Highstock) The border width in pixels for the annotation's label
*/
borderWidth?: number;
/**
* (Highstock) A class name for styling by CSS.
*/
className?: string;
/**
* (Highstock) Whether to hide the annotation's label that is outside the
* plot area.
*/
crop?: boolean;
/**
* (Highstock) The label's pixel distance from the point.
*/
distance?: number;
/**
* (Highstock) A format string for the data label.
*/
format?: string;
/**
* (Highstock) Callback JavaScript function to format the annotation's
* label. Note that if a `format` or `text` are defined, the format or text
* take precedence and the formatter is ignored. `This` refers to a point
* object.
*/
formatter?: FormatterCallbackFunction<Point>;
/**
* (Highstock) Whether the annotation is visible in the exported data table.
*/
includeInDataExport?: boolean;
/**
* (Highstock) How to handle the annotation's label that flow outside the
* plot area. The justify option aligns the label inside the plot area.
*/
overflow?: OptionsOverflowValue;
/**
* (Highstock) When either the borderWidth or the backgroundColor is set,
* this is the padding within the box.
*/
padding?: number;
/**
* (Highstock) The shadow of the box. The shadow can be an object
* configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
* `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) The name of a symbol to use for the border around the label.
* Symbols are predefined functions on the Renderer object.
*/
shape?: string;
/**
* (Highstock) Styles for the annotation's label.
*/
style?: CSSObject;
/**
* (Highstock) Alias for the format option.
*/
text?: string;
/**
* (Highstock) Whether to use HTML to render the annotation's label.
*/
useHTML?: boolean;
/**
* (Highstock) The vertical alignment of the annotation's label.
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highstock) The x position offset of the label relative to the point.
* Note that if a `distance` is defined, the distance takes precedence over
* `x` and `y` options.
*/
x?: number;
/**
* (Highstock) The y position offset of the label relative to the point.
* Note that if a `distance` is defined, the distance takes precedence over
* `x` and `y` options.
*/
y?: number;
}
/**
* (Highstock) The Fibonacci Time Zones annotation.
*/
export interface AnnotationsFibonacciTimeZonesOptions {
controlPointOptions?: AnnotationsFibonacciTimeZonesControlPointOptions;
/**
* (Highstock) Options for annotation's labels. Each label inherits options
* from the labelOptions object. An option from the labelOptions can be
* overwritten by config for a specific label.
*/
labelOptions?: AnnotationsFibonacciTimeZonesLabelOptions;
/**
* (Highstock) Options for annotation's shapes. Each shape inherits options
* from the shapeOptions object. An option from the shapeOptions can be
* overwritten by config for a specific shape.
*/
shapeOptions?: AnnotationsFibonacciTimeZonesShapeOptions;
/**
* (Highstock) Additional options for an annotation with the type.
*/
typeOptions?: AnnotationsFibonacciTimeZonesTypeOptions;
}
/**
* (Highstock) Options for annotation's shapes. Each shape inherits options from
* the shapeOptions object. An option from the shapeOptions can be overwritten
* by config for a specific shape.
*/
export interface AnnotationsFibonacciTimeZonesShapeOptions {
/**
* (Highstock) Name of the dash style to use for the shape's stroke.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) The color of the shape's fill.
*/
fill?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The height of the shape.
*/
height?: number;
/**
* (Highstock) The radius of the shape.
*/
r?: number;
/**
* (Highstock) The radius of the shape in y direction. Used for the ellipse.
*/
ry?: number;
/**
* (Highstock) Defines additional snapping area around an annotation making
* this annotation to focus. Defined in pixels.
*/
snap?: number;
/**
* (Highstock) The URL for an image to use as the annotation shape. Note,
* type has to be set to `'image'`.
*/
src?: string;
/**
* (Highstock) The color of the shape's stroke.
*/
stroke?: ColorString;
/**
* (Highstock) The pixel stroke width of the shape.
*/
strokeWidth?: number;
/**
* (Highstock) The type of the shape. Available options are circle, rect and
* ellipse.
*/
type?: string;
/**
* (Highstock) The width of the shape.
*/
width?: number;
/**
* (Highstock) The xAxis index to which the points should be attached. Used
* for the ellipse.
*/
xAxis?: number;
/**
* (Highstock) The yAxis index to which the points should be attached. Used
* for the ellipse.
*/
yAxis?: number;
}
export interface AnnotationsFibonacciTimeZonesTypeControlPointOptions {
events?: any;
}
/**
* (Highstock) Line options.
*/
export interface AnnotationsFibonacciTimeZonesTypeLineOptions {
fill?: string;
/**
* (Highstock) The color of the lines.
*/
stroke?: string;
/**
* (Highstock) The width of the lines.
*/
strokeWidth?: number;
}
/**
* (Highstock) Additional options for an annotation with the type.
*/
export interface AnnotationsFibonacciTimeZonesTypeOptions {
controlPointOptions?: AnnotationsFibonacciTimeZonesTypeControlPointOptions;
/**
* (Highstock) Line options.
*/
line?: AnnotationsFibonacciTimeZonesTypeLineOptions;
points?: Array<AnnotationsFibonacciTimeZonesTypePointsOptions>;
/**
* (Highstock) This number defines which xAxis the point is connected to. It
* refers to either the axis id or the index of the axis in the xAxis array.
*/
xAxis?: number;
/**
* (Highstock) This number defines which yAxis the point is connected to. It
* refers to either the axis id or the index of the axis in the xAxis array.
*/
yAxis?: number;
}
export interface AnnotationsFibonacciTimeZonesTypePointsOptions {
controlPoint?: number;
/**
* (Highstock) The x position of the point.
*/
x?: number;
}
/**
* (Highstock) An array with options for the labels.
*/
export interface AnnotationsFibonacciTypeLabelsOptions {
/**
* (Highstock) Accessibility options for an annotation label.
*/
accessibility?: AnnotationLabelAccessibilityOptionsObject;
/**
* (Highstock) The alignment of the annotation's label. If right, the right
* side of the label should be touching the point.
*/
align?: AlignValue;
/**
* (Highstock) Whether to allow the annotation's labels to overlap. To make
* the labels less sensitive for overlapping, the can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highstock) The background color or gradient for the annotation's label.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The border color for the annotation's label.
*/
borderColor?: ColorString;
/**
* (Highstock) The border radius in pixels for the annotation's label.
*/
borderRadius?: number;
/**
* (Highstock) The border width in pixels for the annotation's label
*/
borderWidth?: number;
/**
* (Highstock) A class name for styling by CSS.
*/
className?: string;
/**
* (Highstock) Whether to hide the annotation's label that is outside the
* plot area.
*/
crop?: boolean;
/**
* (Highstock) The label's pixel distance from the point.
*/
distance?: number;
/**
* (Highstock) A format string for the data label.
*/
format?: string;
/**
* (Highstock) Callback JavaScript function to format the annotation's
* label. Note that if a `format` or `text` are defined, the format or text
* take precedence and the formatter is ignored. `This` refers to a point
* object.
*/
formatter?: FormatterCallbackFunction<Point>;
/**
* (Highstock) Whether the annotation is visible in the exported data table.
*/
includeInDataExport?: boolean;
/**
* (Highstock) How to handle the annotation's label that flow outside the
* plot area. The justify option aligns the label inside the plot area.
*/
overflow?: OptionsOverflowValue;
/**
* (Highstock) When either the borderWidth or the backgroundColor is set,
* this is the padding within the box.
*/
padding?: number;
/**
* (Highstock) The shadow of the box. The shadow can be an object
* configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
* `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) The name of a symbol to use for the border around the label.
* Symbols are predefined functions on the Renderer object.
*/
shape?: string;
/**
* (Highstock) Styles for the annotation's label.
*/
style?: CSSObject;
/**
* (Highstock) Alias for the format option.
*/
text?: string;
/**
* (Highstock) Whether to use HTML to render the annotation's label.
*/
useHTML?: boolean;
/**
* (Highstock) The vertical alignment of the annotation's label.
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highstock) The x position offset of the label relative to the point.
* Note that if a `distance` is defined, the distance takes precedence over
* `x` and `y` options.
*/
x?: number;
/**
* (Highstock) The y position offset of the label relative to the point.
* Note that if a `distance` is defined, the distance takes precedence over
* `x` and `y` options.
*/
y?: number;
}
/**
* (Highstock) Line options.
*/
export interface AnnotationsFibonacciTypeLineOptions {
fill?: string;
}
/**
* (Highstock) Additional options for an annotation with the type.
*/
export interface AnnotationsFibonacciTypeOptions {
/**
* (Highstock) An array of background colors: Default to: (see online
* documentation for example)
*/
backgroundColors?: object;
/**
* (Highstock) The height of the fibonacci in terms of yAxis.
*/
height?: number;
/**
* (Highstock) An array with options for the labels.
*/
labels?: Array<AnnotationsFibonacciTypeLabelsOptions>;
/**
* (Highstock) Line options.
*/
line?: AnnotationsFibonacciTypeLineOptions;
/**
* (Highstock) The color of line.
*/
lineColor?: string;
/**
* (Highstock) An array of colors for the lines.
*/
lineColors?: object;
points?: Array<AnnotationsFibonacciTypePointsOptions>;
/**
* (Highstock) Whether the annotation levels should be reversed. By default
* they start from 0 and go to 1.
*/
reversed?: boolean;
/**
* (Highstock) This number defines which xAxis the point is connected to. It
* refers to either the axis id or the index of the axis in the xAxis array.
*/
xAxis?: number;
/**
* (Highstock) This number defines which yAxis the point is connected to. It
* refers to either the axis id or the index of the axis in the xAxis array.
*/
yAxis?: number;
}
export interface AnnotationsFibonacciTypePointsOptions {
controlPoint?: number;
/**
* (Highstock) The x position of the point.
*/
x?: number;
/**
* (Highstock) The y position of the point.
*/
y?: number;
}
export interface AnnotationsInfinityLineControlPointOptions {
events?: any;
}
/**
* (Highstock) Options for annotation's labels. Each label inherits options from
* the labelOptions object. An option from the labelOptions can be overwritten
* by config for a specific label.
*/
export interface AnnotationsInfinityLineLabelOptions {
/**
* (Highstock) Accessibility options for an annotation label.
*/
accessibility?: AnnotationLabelAccessibilityOptionsObject;
/**
* (Highstock) The alignment of the annotation's label. If right, the right
* side of the label should be touching the point.
*/
align?: AlignValue;
/**
* (Highstock) Whether to allow the annotation's labels to overlap. To make
* the labels less sensitive for overlapping, the can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highstock) The background color or gradient for the annotation's label.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The border color for the annotation's label.
*/
borderColor?: ColorString;
/**
* (Highstock) The border radius in pixels for the annotation's label.
*/
borderRadius?: number;
/**
* (Highstock) The border width in pixels for the annotation's label
*/
borderWidth?: number;
/**
* (Highstock) A class name for styling by CSS.
*/
className?: string;
/**
* (Highstock) Whether to hide the annotation's label that is outside the
* plot area.
*/
crop?: boolean;
/**
* (Highstock) The label's pixel distance from the point.
*/
distance?: number;
/**
* (Highstock) A format string for the data label.
*/
format?: string;
/**
* (Highstock) Callback JavaScript function to format the annotation's
* label. Note that if a `format` or `text` are defined, the format or text
* take precedence and the formatter is ignored. `This` refers to a point
* object.
*/
formatter?: FormatterCallbackFunction<Point>;
/**
* (Highstock) Whether the annotation is visible in the exported data table.
*/
includeInDataExport?: boolean;
/**
* (Highstock) How to handle the annotation's label that flow outside the
* plot area. The justify option aligns the label inside the plot area.
*/
overflow?: OptionsOverflowValue;
/**
* (Highstock) When either the borderWidth or the backgroundColor is set,
* this is the padding within the box.
*/
padding?: number;
/**
* (Highstock) The shadow of the box. The shadow can be an object
* configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
* `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) The name of a symbol to use for the border around the label.
* Symbols are predefined functions on the Renderer object.
*/
shape?: string;
/**
* (Highstock) Styles for the annotation's label.
*/
style?: CSSObject;
/**
* (Highstock) Alias for the format option.
*/
text?: string;
/**
* (Highstock) Whether to use HTML to render the annotation's label.
*/
useHTML?: boolean;
/**
* (Highstock) The vertical alignment of the annotation's label.
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highstock) The x position offset of the label relative to the point.
* Note that if a `distance` is defined, the distance takes precedence over
* `x` and `y` options.
*/
x?: number;
/**
* (Highstock) The y position offset of the label relative to the point.
* Note that if a `distance` is defined, the distance takes precedence over
* `x` and `y` options.
*/
y?: number;
}
/**
* (Highstock) An infinity line annotation.
*/
export interface AnnotationsInfinityLineOptions {
controlPointOptions?: AnnotationsInfinityLineControlPointOptions;
/**
* (Highstock) Options for annotation's labels. Each label inherits options
* from the labelOptions object. An option from the labelOptions can be
* overwritten by config for a specific label.
*/
labelOptions?: AnnotationsInfinityLineLabelOptions;
/**
* (Highstock) Options for annotation's shapes. Each shape inherits options
* from the shapeOptions object. An option from the shapeOptions can be
* overwritten by config for a specific shape.
*/
shapeOptions?: AnnotationsInfinityLineShapeOptions;
/**
* (Highstock) Additional options for an annotation with the type.
*/
typeOptions?: AnnotationsInfinityLineTypeOptions;
}
/**
* (Highstock) Options for annotation's shapes. Each shape inherits options from
* the shapeOptions object. An option from the shapeOptions can be overwritten
* by config for a specific shape.
*/
export interface AnnotationsInfinityLineShapeOptions {
/**
* (Highstock) Name of the dash style to use for the shape's stroke.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) The color of the shape's fill.
*/
fill?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The height of the shape.
*/
height?: number;
/**
* (Highstock) The radius of the shape.
*/
r?: number;
/**
* (Highstock) The radius of the shape in y direction. Used for the ellipse.
*/
ry?: number;
/**
* (Highstock) Defines additional snapping area around an annotation making
* this annotation to focus. Defined in pixels.
*/
snap?: number;
/**
* (Highstock) The URL for an image to use as the annotation shape. Note,
* type has to be set to `'image'`.
*/
src?: string;
/**
* (Highstock) The color of the shape's stroke.
*/
stroke?: ColorString;
/**
* (Highstock) The pixel stroke width of the shape.
*/
strokeWidth?: number;
/**
* (Highstock) The type of the shape. Available options are circle, rect and
* ellipse.
*/
type?: string;
/**
* (Highstock) The width of the shape.
*/
width?: number;
/**
* (Highstock) The xAxis index to which the points should be attached. Used
* for the ellipse.
*/
xAxis?: number;
/**
* (Highstock) The yAxis index to which the points should be attached. Used
* for the ellipse.
*/
yAxis?: number;
}
/**
* (Highstock) Line options.
*/
export interface AnnotationsInfinityLineTypeLineOptions {
fill?: string;
}
/**
* (Highstock) Additional options for an annotation with the type.
*/
export interface AnnotationsInfinityLineTypeOptions {
/**
* (Highstock) Line options.
*/
line?: AnnotationsInfinityLineTypeLineOptions;
points?: Array<AnnotationsInfinityLineTypePointsOptions>;
/**
* (Highstock) This number defines which xAxis the point is connected to. It
* refers to either the axis id or the index of the axis in the xAxis array.
*/
xAxis?: number;
/**
* (Highstock) This number defines which yAxis the point is connected to. It
* refers to either the axis id or the index of the axis in the xAxis array.
*/
yAxis?: number;
}
export interface AnnotationsInfinityLineTypePointsOptions {
controlPoint?: number;
/**
* (Highstock) The x position of the point.
*/
x?: number;
/**
* (Highstock) The y position of the point.
*/
y?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's labels.
* Each label inherits options from the labelOptions object. An option from the
* labelOptions can be overwritten by config for a specific label.
*/
export interface AnnotationsLabelOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for an
* annotation label.
*/
accessibility?: AnnotationLabelAccessibilityOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the
* annotation's label. If right, the right side of the label should be
* touching the point.
*/
align?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow the
* annotation's labels to overlap. To make the labels less sensitive for
* overlapping, the can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the annotation's label.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the
* annotation's label.
*/
borderColor?: ColorString;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the annotation's label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the annotation's label
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for styling by CSS.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide the annotation's
* label that is outside the plot area.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The label's pixel distance from
* the point.
*/
distance?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the annotation's label. Note that if a `format` or `text` are
* defined, the format or text take precedence and the formatter is ignored.
* `This` refers to a point object.
*/
formatter?: FormatterCallbackFunction<Point>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether the annotation is
* visible in the exported data table.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle the annotation's
* label that flow outside the plot area. The justify option aligns the
* label inside the plot area.
*/
overflow?: OptionsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the borderWidth or
* the backgroundColor is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. The
* shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the annotation's
* label.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Alias for the format option.
*/
text?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the annotation's label.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
* annotation's label.
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point. Note that if a `distance` is defined, the
* distance takes precedence over `x` and `y` options.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point. Note that if a `distance` is defined, the
* distance takes precedence over `x` and `y` options.
*/
y?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) An array of labels for the
* annotation. For options that apply to multiple labels, they can be added to
* the labelOptions.
*/
export interface AnnotationsLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for an
* annotation label.
*/
accessibility?: AnnotationLabelAccessibilityOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the
* annotation's label. If right, the right side of the label should be
* touching the point.
*/
align?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow the
* annotation's labels to overlap. To make the labels less sensitive for
* overlapping, the can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the annotation's label.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the
* annotation's label.
*/
borderColor?: ColorString;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the annotation's label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the annotation's label
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for styling by CSS.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide the annotation's
* label that is outside the plot area.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The label's pixel distance from
* the point.
*/
distance?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the annotation's label. Note that if a `format` or `text` are
* defined, the format or text take precedence and the formatter is ignored.
* `This` refers to a point object.
*/
formatter?: FormatterCallbackFunction<Point>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether the annotation is
* visible in the exported data table.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle the annotation's
* label that flow outside the plot area. The justify option aligns the
* label inside the plot area.
*/
overflow?: OptionsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the borderWidth or
* the backgroundColor is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This option defines the point to
* which the label will be connected. It can be either the point which
* exists in the series - it is referenced by the point's id - or a new
* point with defined x, y properties and optionally axes.
*/
point?: (string|AnnotationMockPointFunction|AnnotationMockPointOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. The
* shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the annotation's
* label.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Alias for the format option.
*/
text?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the annotation's label.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
* annotation's label.
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point. Note that if a `distance` is defined, the
* distance takes precedence over `x` and `y` options.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point. Note that if a `distance` is defined, the
* distance takes precedence over `x` and `y` options.
*/
y?: number;
}
export interface AnnotationsMeasureControlPointOptions {
events?: any;
}
/**
* (Highstock) A measure annotation.
*/
export interface AnnotationsMeasureOptions {
controlPointOptions?: AnnotationsMeasureControlPointOptions;
/**
* (Highstock) Additional options for an annotation with the type.
*/
typeOptions?: AnnotationsMeasureTypeOptions;
}
export interface AnnotationsMeasureTypeBackgroundOptions {
/**
* (Highstock) The color of the rectangle.
*/
fill?: string;
/**
* (Highstock) The color of border.
*/
stroke?: string;
/**
* (Highstock) The width of border.
*/
strokeWidth?: number;
}
/**
* (Highstock) Configure a crosshair that is horizontally placed in middle of
* rectangle.
*/
export interface AnnotationsMeasureTypeCrosshairXOptions {
/**
* (Highstock) The dash or dot style of the crosshair's line. For possible
* values, see this demonstration.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) Enable or disable the horizontal crosshair.
*/
enabled?: boolean;
/**
* (Highstock) The marker-end defines the arrowhead that will be drawn at
* the final vertex of the given crosshair's path.
*/
markerEnd?: string;
/**
* (Highstock) The Z index of the crosshair in annotation.
*/
zIndex?: number;
}
/**
* (Highstock) Configure a crosshair that is vertically placed in middle of
* rectangle.
*/
export interface AnnotationsMeasureTypeCrosshairYOptions {
/**
* (Highstock) The dash or dot style of the crosshair's line. For possible
* values, see this demonstration.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) Enable or disable the vertical crosshair.
*/
enabled?: boolean;
/**
* (Highstock) The marker-end defines the arrowhead that will be drawn at
* the final vertex of the given crosshair's path.
*/
markerEnd?: OptionsMarkerEndValue;
/**
* (Highstock) The Z index of the crosshair in annotation.
*/
zIndex?: number;
}
export interface AnnotationsMeasureTypeLabelOptions {
/**
* (Highstock) Enable or disable the label text (min, max, average, bins
* values).
*
* Defaults to true.
*/
enabled?: boolean;
/**
* (Highstock) Formatter function for the label text.
*
* Available data are:
*
* (see online documentation for example)
*/
formatter?: Function;
/**
* (Highstock) CSS styles for the measure label.
*/
style?: (AnnotationsMeasureTypeLabelStyleOptions|CSSObject);
}
/**
* (Highstock) CSS styles for the measure label.
*/
export interface AnnotationsMeasureTypeLabelStyleOptions {
color?: string;
fontSize?: number;
}
/**
* (Highstock) Line options.
*/
export interface AnnotationsMeasureTypeLineOptions {
fill?: string;
}
/**
* (Highstock) Additional options for an annotation with the type.
*/
export interface AnnotationsMeasureTypeOptions {
background?: AnnotationsMeasureTypeBackgroundOptions;
/**
* (Highstock) Configure a crosshair that is horizontally placed in middle
* of rectangle.
*/
crosshairX?: AnnotationsMeasureTypeCrosshairXOptions;
/**
* (Highstock) Configure a crosshair that is vertically placed in middle of
* rectangle.
*/
crosshairY?: AnnotationsMeasureTypeCrosshairYOptions;
label?: AnnotationsMeasureTypeLabelOptions;
/**
* (Highstock) Line options.
*/
line?: AnnotationsMeasureTypeLineOptions;
points?: Array<AnnotationsMeasureTypePointsOptions>;
/**
* (Highstock) Decides in what dimensions the user can resize by dragging
* the mouse. Can be one of x, y or xy.
*/
selectType?: string;
/**
* (Highstock) This number defines which xAxis the point is connected to. It
* refers to either the axis id or the index of the axis in the xAxis array.
*/
xAxis?: number;
/**
* (Highstock) This number defines which yAxis the point is connected to. It
* refers to either the axis id or the index of the axis in the yAxis array.
*/
yAxis?: number;
}
export interface AnnotationsMeasureTypePointsOptions {
controlPoint?: number;
/**
* (Highstock) The x position of the point.
*/
x?: number;
/**
* (Highstock) The y position of the point.
*/
y?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) A basic type of an annotation. It
* allows to add custom labels or shapes. The items can be tied to points, axis
* coordinates or chart pixel coordinates.
*/
export interface AnnotationsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `annotation`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation. For other animations, see
* chart.animation and the animation parameter under the API methods. The
* following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|AnnotationsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's control
* points. Each control point inherits options from controlPointOptions
* object. Options from the controlPointOptions can be overwritten by
* options in a specific control point.
*/
controlPointOptions?: AnnotationControlPointOptionsObject;
/**
* (Highstock) A crooked line annotation.
*/
crookedLine?: AnnotationsCrookedLineOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide the part of the
* annotation that is outside the plot area.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Allow an annotation to be
* draggable by a user. Possible values are `'x'`, `'xy'`, `'y'` and `''`
* (disabled).
*/
draggable?: AnnotationDraggableValue;
/**
* (Highstock) An elliott wave annotation.
*/
elliottWave?: AnnotationsElliottWaveOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Events available in annotations.
*/
events?: AnnotationsEventsOptions;
/**
* (Highstock) A fibonacci annotation.
*/
fibonacci?: AnnotationsFibonacciOptions;
/**
* (Highstock) The Fibonacci Time Zones annotation.
*/
fibonacciTimeZones?: AnnotationsFibonacciTimeZonesOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Sets an ID for an annotation.
* Can be user later when removing an annotation in
* Chart.removeAnnotation(id) method.
*/
id?: (number|string);
/**
* (Highstock) An infinity line annotation.
*/
infinityLine?: AnnotationsInfinityLineOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's labels.
* Each label inherits options from the labelOptions object. An option from
* the labelOptions can be overwritten by config for a specific label.
*/
labelOptions?: AnnotationsLabelOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) An array of labels for the
* annotation. For options that apply to multiple labels, they can be added
* to the labelOptions.
*/
labels?: Array<AnnotationsLabelsOptions>;
/**
* (Highstock) A measure annotation.
*/
measure?: AnnotationsMeasureOptions;
/**
* (Highstock) A pitchfork annotation.
*/
pitchfork?: AnnotationsPitchforkOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's shapes.
* Each shape inherits options from the shapeOptions object. An option from
* the shapeOptions can be overwritten by config for a specific shape.
*/
shapeOptions?: AnnotationsShapeOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) An array of shapes for the
* annotation. For options that apply to multiple shapes, then can be added
* to the shapeOptions.
*/
shapes?: Array<AnnotationsShapesOptions>;
/**
* (Highstock) The TimeCycles Annotation
*/
timeCycles?: AnnotationsTimeCyclesOptions;
/**
* (Highstock) A tunnel annotation.
*/
tunnel?: AnnotationsTunnelOptions;
/**
* (Highstock) A vertical line annotation.
*/
verticalLine?: AnnotationsVerticalLineOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether the annotation is
* visible.
*/
visible?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The Z index of the annotation.
*/
zIndex?: number;
}
export interface AnnotationsPitchforkControlPointOptions {
events?: any;
}
/**
* (Highstock) Options for annotation's labels. Each label inherits options from
* the labelOptions object. An option from the labelOptions can be overwritten
* by config for a specific label.
*/
export interface AnnotationsPitchforkLabelOptions {
/**
* (Highstock) Accessibility options for an annotation label.
*/
accessibility?: AnnotationLabelAccessibilityOptionsObject;
/**
* (Highstock) The alignment of the annotation's label. If right, the right
* side of the label should be touching the point.
*/
align?: AlignValue;
/**
* (Highstock) Whether to allow the annotation's labels to overlap. To make
* the labels less sensitive for overlapping, the can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highstock) The background color or gradient for the annotation's label.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The border color for the annotation's label.
*/
borderColor?: ColorString;
/**
* (Highstock) The border radius in pixels for the annotation's label.
*/
borderRadius?: number;
/**
* (Highstock) The border width in pixels for the annotation's label
*/
borderWidth?: number;
/**
* (Highstock) A class name for styling by CSS.
*/
className?: string;
/**
* (Highstock) Whether to hide the annotation's label that is outside the
* plot area.
*/
crop?: boolean;
/**
* (Highstock) The label's pixel distance from the point.
*/
distance?: number;
/**
* (Highstock) A format string for the data label.
*/
format?: string;
/**
* (Highstock) Callback JavaScript function to format the annotation's
* label. Note that if a `format` or `text` are defined, the format or text
* take precedence and the formatter is ignored. `This` refers to a point
* object.
*/
formatter?: FormatterCallbackFunction<Point>;
/**
* (Highstock) Whether the annotation is visible in the exported data table.
*/
includeInDataExport?: boolean;
/**
* (Highstock) How to handle the annotation's label that flow outside the
* plot area. The justify option aligns the label inside the plot area.
*/
overflow?: OptionsOverflowValue;
/**
* (Highstock) When either the borderWidth or the backgroundColor is set,
* this is the padding within the box.
*/
padding?: number;
/**
* (Highstock) The shadow of the box. The shadow can be an object
* configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
* `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) The name of a symbol to use for the border around the label.
* Symbols are predefined functions on the Renderer object.
*/
shape?: string;
/**
* (Highstock) Styles for the annotation's label.
*/
style?: CSSObject;
/**
* (Highstock) Alias for the format option.
*/
text?: string;
/**
* (Highstock) Whether to use HTML to render the annotation's label.
*/
useHTML?: boolean;
/**
* (Highstock) The vertical alignment of the annotation's label.
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highstock) The x position offset of the label relative to the point.
* Note that if a `distance` is defined, the distance takes precedence over
* `x` and `y` options.
*/
x?: number;
/**
* (Highstock) The y position offset of the label relative to the point.
* Note that if a `distance` is defined, the distance takes precedence over
* `x` and `y` options.
*/
y?: number;
}
/**
* (Highstock) A pitchfork annotation.
*/
export interface AnnotationsPitchforkOptions {
controlPointOptions?: AnnotationsPitchforkControlPointOptions;
/**
* (Highstock) Options for annotation's labels. Each label inherits options
* from the labelOptions object. An option from the labelOptions can be
* overwritten by config for a specific label.
*/
labelOptions?: AnnotationsPitchforkLabelOptions;
/**
* (Highstock) Options for annotation's shapes. Each shape inherits options
* from the shapeOptions object. An option from the shapeOptions can be
* overwritten by config for a specific shape.
*/
shapeOptions?: AnnotationsPitchforkShapeOptions;
/**
* (Highstock) Additional options for an annotation with the type.
*/
typeOptions?: AnnotationsPitchforkTypeOptions;
}
/**
* (Highstock) Options for annotation's shapes. Each shape inherits options from
* the shapeOptions object. An option from the shapeOptions can be overwritten
* by config for a specific shape.
*/
export interface AnnotationsPitchforkShapeOptions {
/**
* (Highstock) Name of the dash style to use for the shape's stroke.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) The color of the shape's fill.
*/
fill?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The height of the shape.
*/
height?: number;
/**
* (Highstock) The radius of the shape.
*/
r?: number;
/**
* (Highstock) The radius of the shape in y direction. Used for the ellipse.
*/
ry?: number;
/**
* (Highstock) Defines additional snapping area around an annotation making
* this annotation to focus. Defined in pixels.
*/
snap?: number;
/**
* (Highstock) The URL for an image to use as the annotation shape. Note,
* type has to be set to `'image'`.
*/
src?: string;
/**
* (Highstock) The color of the shape's stroke.
*/
stroke?: ColorString;
/**
* (Highstock) The pixel stroke width of the shape.
*/
strokeWidth?: number;
/**
* (Highstock) The type of the shape. Available options are circle, rect and
* ellipse.
*/
type?: string;
/**
* (Highstock) The width of the shape.
*/
width?: number;
/**
* (Highstock) The xAxis index to which the points should be attached. Used
* for the ellipse.
*/
xAxis?: number;
/**
* (Highstock) The yAxis index to which the points should be attached. Used
* for the ellipse.
*/
yAxis?: number;
}
/**
* (Highstock) Inner background options.
*/
export interface AnnotationsPitchforkTypeInnerBackgroundOptions {
/**
* (Highstock) Name of the dash style to use for the shape's stroke.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) The color of the shape's fill.
*/
fill?: string;
/**
* (Highstock) The radius of the shape in y direction. Used for the ellipse.
*/
ry?: number;
/**
* (Highstock) Defines additional snapping area around an annotation making
* this annotation to focus. Defined in pixels.
*/
snap?: number;
/**
* (Highstock) The URL for an image to use as the annotation shape. Note,
* type has to be set to `'image'`.
*/
src?: string;
/**
* (Highstock) The color of the shape's stroke.
*/
stroke?: ColorString;
/**
* (Highstock) The pixel stroke width of the shape.
*/
strokeWidth?: number;
/**
* (Highstock) The xAxis index to which the points should be attached. Used
* for the ellipse.
*/
xAxis?: number;
/**
* (Highstock) The yAxis index to which the points should be attached. Used
* for the ellipse.
*/
yAxis?: number;
}
/**
* (Highstock) Line options.
*/
export interface AnnotationsPitchforkTypeLineOptions {
fill?: string;
}
/**
* (Highstock) Additional options for an annotation with the type.
*/
export interface AnnotationsPitchforkTypeOptions {
/**
* (Highstock) Inner background options.
*/
innerBackground?: AnnotationsPitchforkTypeInnerBackgroundOptions;
/**
* (Highstock) Line options.
*/
line?: AnnotationsPitchforkTypeLineOptions;
/**
* (Highstock) Outer background options.
*/
outerBackground?: AnnotationsPitchforkTypeOuterBackgroundOptions;
points?: Array<AnnotationsPitchforkTypePointsOptions>;
/**
* (Highstock) This number defines which xAxis the point is connected to. It
* refers to either the axis id or the index of the axis in the xAxis array.
*/
xAxis?: number;
/**
* (Highstock) This number defines which yAxis the point is connected to. It
* refers to either the axis id or the index of the axis in the xAxis array.
*/
yAxis?: number;
}
/**
* (Highstock) Outer background options.
*/
export interface AnnotationsPitchforkTypeOuterBackgroundOptions {
/**
* (Highstock) Name of the dash style to use for the shape's stroke.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) The color of the shape's fill.
*/
fill?: string;
/**
* (Highstock) The radius of the shape in y direction. Used for the ellipse.
*/
ry?: number;
/**
* (Highstock) Defines additional snapping area around an annotation making
* this annotation to focus. Defined in pixels.
*/
snap?: number;
/**
* (Highstock) The URL for an image to use as the annotation shape. Note,
* type has to be set to `'image'`.
*/
src?: string;
/**
* (Highstock) The color of the shape's stroke.
*/
stroke?: ColorString;
/**
* (Highstock) The pixel stroke width of the shape.
*/
strokeWidth?: number;
/**
* (Highstock) The xAxis index to which the points should be attached. Used
* for the ellipse.
*/
xAxis?: number;
/**
* (Highstock) The yAxis index to which the points should be attached. Used
* for the ellipse.
*/
yAxis?: number;
}
export interface AnnotationsPitchforkTypePointsOptions {
controlPoint?: number;
/**
* (Highstock) The x position of the point.
*/
x?: number;
/**
* (Highstock) The y position of the point.
*/
y?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's shapes.
* Each shape inherits options from the shapeOptions object. An option from the
* shapeOptions can be overwritten by config for a specific shape.
*/
export interface AnnotationsShapeOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Name of the dash style to use
* for the shape's stroke.
*/
dashStyle?: DashStyleValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's fill.
*/
fill?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The height of the shape.
*/
height?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The radius of the shape.
*/
r?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The radius of the shape in y
* direction. Used for the ellipse.
*/
ry?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Defines additional snapping area
* around an annotation making this annotation to focus. Defined in pixels.
*/
snap?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The URL for an image to use as
* the annotation shape. Note, type has to be set to `'image'`.
*/
src?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's stroke.
*/
stroke?: ColorString;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The pixel stroke width of the
* shape.
*/
strokeWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The type of the shape. Available
* options are circle, rect and ellipse.
*/
type?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The width of the shape.
*/
width?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The xAxis index to which the
* points should be attached. Used for the ellipse.
*/
xAxis?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The yAxis index to which the
* points should be attached. Used for the ellipse.
*/
yAxis?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) An array of shapes for the
* annotation. For options that apply to multiple shapes, then can be added to
* the shapeOptions.
*/
export interface AnnotationsShapesOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Name of the dash style to use
* for the shape's stroke.
*/
dashStyle?: DashStyleValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's fill.
*/
fill?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The height of the shape.
*/
height?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Id of the marker which will be
* drawn at the final vertex of the path. Custom markers can be defined in
* defs property.
*/
markerEnd?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Id of the marker which will be
* drawn at the first vertex of the path. Custom markers can be defined in
* defs property.
*/
markerStart?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This option defines the point to
* which the shape will be connected. It can be either the point which
* exists in the series - it is referenced by the point's id - or a new
* point with defined x, y properties and optionally axes.
*/
point?: (string|AnnotationMockPointFunction|AnnotationMockPointOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) An array of points for the shape
* or a callback function that returns that shape point.
*
* This option is available for shapes which can use multiple points such as
* path. A point can be either a point object or a point's id.
*/
points?: Array<AnnotationShapePointOptions>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The radius of the shape.
*/
r?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The radius of the shape in y
* direction. Used for the ellipse.
*/
ry?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Defines additional snapping area
* around an annotation making this annotation to focus. Defined in pixels.
*/
snap?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The URL for an image to use as
* the annotation shape. Note, type has to be set to `'image'`.
*/
src?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's stroke.
*/
stroke?: ColorString;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The pixel stroke width of the
* shape.
*/
strokeWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The type of the shape. Available
* options are circle, rect and ellipse.
*/
type?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The width of the shape.
*/
width?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The xAxis index to which the
* points should be attached. Used for the ellipse.
*/
xAxis?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The yAxis index to which the
* points should be attached. Used for the ellipse.
*/
yAxis?: number;
}
export interface AnnotationsTimeCyclesControlPointOptions {
events?: any;
}
/**
* (Highstock) The TimeCycles Annotation
*/
export interface AnnotationsTimeCyclesOptions {
controlPointOptions?: AnnotationsTimeCyclesControlPointOptions;
/**
* (Highstock) Options for annotation's shapes. Each shape inherits options
* from the shapeOptions object. An option from the shapeOptions can be
* overwritten by config for a specific shape.
*/
shapeOptions?: AnnotationsTimeCyclesShapeOptions;
/**
* (Highstock) Additional options for an annotation with the type.
*/
typeOptions?: AnnotationsTimeCyclesTypeOptions;
}
/**
* (Highstock) Options for annotation's shapes. Each shape inherits options from
* the shapeOptions object. An option from the shapeOptions can be overwritten
* by config for a specific shape.
*/
export interface AnnotationsTimeCyclesShapeOptions {
/**
* (Highstock) Name of the dash style to use for the shape's stroke.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) The color of the shape's fill.
*/
fill?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The height of the shape.
*/
height?: number;
/**
* (Highstock) The radius of the shape.
*/
r?: number;
/**
* (Highstock) The radius of the shape in y direction. Used for the ellipse.
*/
ry?: number;
/**
* (Highstock) Defines additional snapping area around an annotation making
* this annotation to focus. Defined in pixels.
*/
snap?: number;
/**
* (Highstock) The URL for an image to use as the annotation shape. Note,
* type has to be set to `'image'`.
*/
src?: string;
/**
* (Highstock) The color of the shape's stroke.
*/
stroke?: ColorString;
/**
* (Highstock) The pixel stroke width of the shape.
*/
strokeWidth?: number;
/**
* (Highstock) The type of the shape. Available options are circle, rect and
* ellipse.
*/
type?: string;
/**
* (Highstock) The width of the shape.
*/
width?: number;
/**
* (Highstock) The xAxis index to which the points should be attached. Used
* for the ellipse.
*/
xAxis?: number;
/**
* (Highstock) The yAxis index to which the points should be attached. Used
* for the ellipse.
*/
yAxis?: number;
}
/**
* (Highstock) Line options.
*/
export interface AnnotationsTimeCyclesTypeLineOptions {
fill?: string;
}
/**
* (Highstock) Additional options for an annotation with the type.
*/
export interface AnnotationsTimeCyclesTypeOptions {
/**
* (Highstock) Line options.
*/
line?: AnnotationsTimeCyclesTypeLineOptions;
points?: Array<AnnotationsTimeCyclesTypePointsOptions>;
/**
* (Highstock) This number defines which xAxis the point is connected to. It
* refers to either the axis id or the index of the axis in the xAxis array.
*/
xAxis?: number;
/**
* (Highstock) This number defines which yAxis the point is connected to. It
* refers to either the axis id or the index of the axis in the xAxis array.
*/
yAxis?: number;
}
export interface AnnotationsTimeCyclesTypePointsOptions {
controlPoint?: number;
/**
* (Highstock) The x position of the point.
*/
x?: number;
}
export interface AnnotationsTunnelControlPointOptions {
events?: any;
}
/**
* (Highstock) Options for annotation's labels. Each label inherits options from
* the labelOptions object. An option from the labelOptions can be overwritten
* by config for a specific label.
*/
export interface AnnotationsTunnelLabelOptions {
/**
* (Highstock) Accessibility options for an annotation label.
*/
accessibility?: AnnotationLabelAccessibilityOptionsObject;
/**
* (Highstock) The alignment of the annotation's label. If right, the right
* side of the label should be touching the point.
*/
align?: AlignValue;
/**
* (Highstock) Whether to allow the annotation's labels to overlap. To make
* the labels less sensitive for overlapping, the can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highstock) The background color or gradient for the annotation's label.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The border color for the annotation's label.
*/
borderColor?: ColorString;
/**
* (Highstock) The border radius in pixels for the annotation's label.
*/
borderRadius?: number;
/**
* (Highstock) The border width in pixels for the annotation's label
*/
borderWidth?: number;
/**
* (Highstock) A class name for styling by CSS.
*/
className?: string;
/**
* (Highstock) Whether to hide the annotation's label that is outside the
* plot area.
*/
crop?: boolean;
/**
* (Highstock) The label's pixel distance from the point.
*/
distance?: number;
/**
* (Highstock) A format string for the data label.
*/
format?: string;
/**
* (Highstock) Callback JavaScript function to format the annotation's
* label. Note that if a `format` or `text` are defined, the format or text
* take precedence and the formatter is ignored. `This` refers to a point
* object.
*/
formatter?: FormatterCallbackFunction<Point>;
/**
* (Highstock) Whether the annotation is visible in the exported data table.
*/
includeInDataExport?: boolean;
/**
* (Highstock) How to handle the annotation's label that flow outside the
* plot area. The justify option aligns the label inside the plot area.
*/
overflow?: OptionsOverflowValue;
/**
* (Highstock) When either the borderWidth or the backgroundColor is set,
* this is the padding within the box.
*/
padding?: number;
/**
* (Highstock) The shadow of the box. The shadow can be an object
* configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
* `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) The name of a symbol to use for the border around the label.
* Symbols are predefined functions on the Renderer object.
*/
shape?: string;
/**
* (Highstock) Styles for the annotation's label.
*/
style?: CSSObject;
/**
* (Highstock) Alias for the format option.
*/
text?: string;
/**
* (Highstock) Whether to use HTML to render the annotation's label.
*/
useHTML?: boolean;
/**
* (Highstock) The vertical alignment of the annotation's label.
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highstock) The x position offset of the label relative to the point.
* Note that if a `distance` is defined, the distance takes precedence over
* `x` and `y` options.
*/
x?: number;
/**
* (Highstock) The y position offset of the label relative to the point.
* Note that if a `distance` is defined, the distance takes precedence over
* `x` and `y` options.
*/
y?: number;
}
/**
* (Highstock) A tunnel annotation.
*/
export interface AnnotationsTunnelOptions {
controlPointOptions?: AnnotationsTunnelControlPointOptions;
/**
* (Highstock) Options for annotation's labels. Each label inherits options
* from the labelOptions object. An option from the labelOptions can be
* overwritten by config for a specific label.
*/
labelOptions?: AnnotationsTunnelLabelOptions;
/**
* (Highstock) Options for annotation's shapes. Each shape inherits options
* from the shapeOptions object. An option from the shapeOptions can be
* overwritten by config for a specific shape.
*/
shapeOptions?: AnnotationsTunnelShapeOptions;
/**
* (Highstock) Additional options for an annotation with the type.
*/
typeOptions?: AnnotationsTunnelTypeOptions;
}
/**
* (Highstock) Options for annotation's shapes. Each shape inherits options from
* the shapeOptions object. An option from the shapeOptions can be overwritten
* by config for a specific shape.
*/
export interface AnnotationsTunnelShapeOptions {
/**
* (Highstock) Name of the dash style to use for the shape's stroke.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) The color of the shape's fill.
*/
fill?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The height of the shape.
*/
height?: number;
/**
* (Highstock) The radius of the shape.
*/
r?: number;
/**
* (Highstock) The radius of the shape in y direction. Used for the ellipse.
*/
ry?: number;
/**
* (Highstock) Defines additional snapping area around an annotation making
* this annotation to focus. Defined in pixels.
*/
snap?: number;
/**
* (Highstock) The URL for an image to use as the annotation shape. Note,
* type has to be set to `'image'`.
*/
src?: string;
/**
* (Highstock) The color of the shape's stroke.
*/
stroke?: ColorString;
/**
* (Highstock) The pixel stroke width of the shape.
*/
strokeWidth?: number;
/**
* (Highstock) The type of the shape. Available options are circle, rect and
* ellipse.
*/
type?: string;
/**
* (Highstock) The width of the shape.
*/
width?: number;
/**
* (Highstock) The xAxis index to which the points should be attached. Used
* for the ellipse.
*/
xAxis?: number;
/**
* (Highstock) The yAxis index to which the points should be attached. Used
* for the ellipse.
*/
yAxis?: number;
}
/**
* (Highstock) Background options.
*/
export interface AnnotationsTunnelTypeBackgroundOptions {
fill?: string;
strokeWidth?: number;
}
/**
* (Highstock) Options for the control point which controls the annotation's
* height.
*/
export interface AnnotationsTunnelTypeHeightControlPointOptions {
events?: any;
}
/**
* (Highstock) Line options.
*/
export interface AnnotationsTunnelTypeLineOptions {
fill?: string;
strokeWidth?: number;
}
/**
* (Highstock) Additional options for an annotation with the type.
*/
export interface AnnotationsTunnelTypeOptions {
/**
* (Highstock) Background options.
*/
background?: (object|AnnotationsTunnelTypeBackgroundOptions);
/**
* (Highstock) The height of the annotation in terms of yAxis.
*/
height?: number;
/**
* (Highstock) Options for the control point which controls the annotation's
* height.
*/
heightControlPoint?: AnnotationsTunnelTypeHeightControlPointOptions;
/**
* (Highstock) Line options.
*/
line?: AnnotationsTunnelTypeLineOptions;
points?: Array<AnnotationsTunnelTypePointsOptions>;
/**
* (Highstock) This number defines which xAxis the point is connected to. It
* refers to either the axis id or the index of the axis in the xAxis array.
*/
xAxis?: number;
/**
* (Highstock) This number defines which yAxis the point is connected to. It
* refers to either the axis id or the index of the axis in the xAxis array.
*/
yAxis?: number;
}
export interface AnnotationsTunnelTypePointsOptions {
controlPoint?: number;
/**
* (Highstock) The x position of the point.
*/
x?: number;
/**
* (Highstock) The y position of the point.
*/
y?: number;
}
/**
* (Highstock) Options for annotation's labels. Each label inherits options from
* the labelOptions object. An option from the labelOptions can be overwritten
* by config for a specific label.
*/
export interface AnnotationsVerticalLineLabelOptions {
/**
* (Highstock) Accessibility options for an annotation label.
*/
accessibility?: AnnotationLabelAccessibilityOptionsObject;
/**
* (Highstock) The alignment of the annotation's label. If right, the right
* side of the label should be touching the point.
*/
align?: AlignValue;
/**
* (Highstock) Whether to allow the annotation's labels to overlap. To make
* the labels less sensitive for overlapping, the can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highstock) The background color or gradient for the annotation's label.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The border color for the annotation's label.
*/
borderColor?: ColorString;
/**
* (Highstock) The border radius in pixels for the annotation's label.
*/
borderRadius?: number;
/**
* (Highstock) The border width in pixels for the annotation's label
*/
borderWidth?: number;
/**
* (Highstock) A class name for styling by CSS.
*/
className?: string;
/**
* (Highstock) Whether to hide the annotation's label that is outside the
* plot area.
*/
crop?: boolean;
/**
* (Highstock) The label's pixel distance from the point.
*/
distance?: number;
/**
* (Highstock) A format string for the data label.
*/
format?: string;
/**
* (Highstock) Callback JavaScript function to format the annotation's
* label. Note that if a `format` or `text` are defined, the format or text
* take precedence and the formatter is ignored. `This` refers to a point
* object.
*/
formatter?: FormatterCallbackFunction<Point>;
/**
* (Highstock) Whether the annotation is visible in the exported data table.
*/
includeInDataExport?: boolean;
/**
* (Highstock) How to handle the annotation's label that flow outside the
* plot area. The justify option aligns the label inside the plot area.
*/
overflow?: OptionsOverflowValue;
/**
* (Highstock) When either the borderWidth or the backgroundColor is set,
* this is the padding within the box.
*/
padding?: number;
/**
* (Highstock) The shadow of the box. The shadow can be an object
* configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
* `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) The name of a symbol to use for the border around the label.
* Symbols are predefined functions on the Renderer object.
*/
shape?: string;
/**
* (Highstock) Styles for the annotation's label.
*/
style?: CSSObject;
/**
* (Highstock) Alias for the format option.
*/
text?: string;
/**
* (Highstock) Whether to use HTML to render the annotation's label.
*/
useHTML?: boolean;
/**
* (Highstock) The vertical alignment of the annotation's label.
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highstock) The x position offset of the label relative to the point.
* Note that if a `distance` is defined, the distance takes precedence over
* `x` and `y` options.
*/
x?: number;
/**
* (Highstock) The y position offset of the label relative to the point.
* Note that if a `distance` is defined, the distance takes precedence over
* `x` and `y` options.
*/
y?: number;
}
/**
* (Highstock) A vertical line annotation.
*/
export interface AnnotationsVerticalLineOptions {
/**
* (Highstock) Options for annotation's labels. Each label inherits options
* from the labelOptions object. An option from the labelOptions can be
* overwritten by config for a specific label.
*/
labelOptions?: AnnotationsVerticalLineLabelOptions;
/**
* (Highstock) Options for annotation's shapes. Each shape inherits options
* from the shapeOptions object. An option from the shapeOptions can be
* overwritten by config for a specific shape.
*/
shapeOptions?: AnnotationsVerticalLineShapeOptions;
/**
* (Highstock) Additional options for an annotation with the type.
*/
typeOptions?: AnnotationsVerticalLineTypeOptions;
}
/**
* (Highstock) Options for annotation's shapes. Each shape inherits options from
* the shapeOptions object. An option from the shapeOptions can be overwritten
* by config for a specific shape.
*/
export interface AnnotationsVerticalLineShapeOptions {
/**
* (Highstock) Name of the dash style to use for the shape's stroke.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) The color of the shape's fill.
*/
fill?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The height of the shape.
*/
height?: number;
/**
* (Highstock) The radius of the shape.
*/
r?: number;
/**
* (Highstock) The radius of the shape in y direction. Used for the ellipse.
*/
ry?: number;
/**
* (Highstock) Defines additional snapping area around an annotation making
* this annotation to focus. Defined in pixels.
*/
snap?: number;
/**
* (Highstock) The URL for an image to use as the annotation shape. Note,
* type has to be set to `'image'`.
*/
src?: string;
/**
* (Highstock) The color of the shape's stroke.
*/
stroke?: ColorString;
/**
* (Highstock) The pixel stroke width of the shape.
*/
strokeWidth?: number;
/**
* (Highstock) The type of the shape. Available options are circle, rect and
* ellipse.
*/
type?: string;
/**
* (Highstock) The width of the shape.
*/
width?: number;
/**
* (Highstock) The xAxis index to which the points should be attached. Used
* for the ellipse.
*/
xAxis?: number;
/**
* (Highstock) The yAxis index to which the points should be attached. Used
* for the ellipse.
*/
yAxis?: number;
}
/**
* (Highstock) Connector options.
*/
export interface AnnotationsVerticalLineTypeConnectorOptions {
/**
* (Highstock) Name of the dash style to use for the shape's stroke.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) The color of the shape's fill.
*/
fill?: (ColorString|GradientColorObject|PatternObject);
markerEnd?: string;
/**
* (Highstock) The radius of the shape in y direction. Used for the ellipse.
*/
ry?: number;
/**
* (Highstock) Defines additional snapping area around an annotation making
* this annotation to focus. Defined in pixels.
*/
snap?: number;
/**
* (Highstock) The URL for an image to use as the annotation shape. Note,
* type has to be set to `'image'`.
*/
src?: string;
/**
* (Highstock) The color of the shape's stroke.
*/
stroke?: ColorString;
/**
* (Highstock) The pixel stroke width of the shape.
*/
strokeWidth?: number;
/**
* (Highstock) The xAxis index to which the points should be attached. Used
* for the ellipse.
*/
xAxis?: number;
/**
* (Highstock) The yAxis index to which the points should be attached. Used
* for the ellipse.
*/
yAxis?: number;
}
/**
* (Highstock) Label options.
*/
export interface AnnotationsVerticalLineTypeLabelOptions {
/**
* (Highstock) Accessibility options for an annotation label.
*/
accessibility?: AnnotationLabelAccessibilityOptionsObject;
/**
* (Highstock) The alignment of the annotation's label. If right, the right
* side of the label should be touching the point.
*/
align?: AlignValue;
/**
* (Highstock) Whether to allow the annotation's labels to overlap. To make
* the labels less sensitive for overlapping, the can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highstock) The background color or gradient for the annotation's label.
*/
backgroundColor?: string;
/**
* (Highstock) The border color for the annotation's label.
*/
borderColor?: ColorString;
/**
* (Highstock) The border radius in pixels for the annotation's label.
*/
borderRadius?: number;
/**
* (Highstock) The border width in pixels for the annotation's label
*/
borderWidth?: number;
/**
* (Highstock) A class name for styling by CSS.
*/
className?: string;
/**
* (Highstock) Whether to hide the annotation's label that is outside the
* plot area.
*/
crop?: boolean;
/**
* (Highstock) The label's pixel distance from the point.
*/
distance?: number;
/**
* (Highstock) A format string for the data label.
*/
format?: string;
/**
* (Highstock) Callback JavaScript function to format the annotation's
* label. Note that if a `format` or `text` are defined, the format or text
* take precedence and the formatter is ignored. `This` refers to a point
* object.
*/
formatter?: FormatterCallbackFunction<Point>;
/**
* (Highstock) Whether the annotation is visible in the exported data table.
*/
includeInDataExport?: boolean;
offset?: number;
/**
* (Highstock) How to handle the annotation's label that flow outside the
* plot area. The justify option aligns the label inside the plot area.
*/
overflow?: OptionsOverflowValue;
/**
* (Highstock) When either the borderWidth or the backgroundColor is set,
* this is the padding within the box.
*/
padding?: number;
/**
* (Highstock) The shadow of the box. The shadow can be an object
* configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
* `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) The name of a symbol to use for the border around the label.
* Symbols are predefined functions on the Renderer object.
*/
shape?: string;
/**
* (Highstock) Styles for the annotation's label.
*/
style?: CSSObject;
/**
* (Highstock) Alias for the format option.
*/
text?: string;
/**
* (Highstock) Whether to use HTML to render the annotation's label.
*/
useHTML?: boolean;
/**
* (Highstock) The vertical alignment of the annotation's label.
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highstock) The x position offset of the label relative to the point.
* Note that if a `distance` is defined, the distance takes precedence over
* `x` and `y` options.
*/
x?: number;
/**
* (Highstock) The y position offset of the label relative to the point.
* Note that if a `distance` is defined, the distance takes precedence over
* `x` and `y` options.
*/
y?: number;
}
/**
* (Highstock) Line options.
*/
export interface AnnotationsVerticalLineTypeLineOptions {
fill?: string;
}
/**
* (Highstock) Additional options for an annotation with the type.
*/
export interface AnnotationsVerticalLineTypeOptions {
/**
* (Highstock) Connector options.
*/
connector?: AnnotationsVerticalLineTypeConnectorOptions;
/**
* (Highstock) Label options.
*/
label?: AnnotationsVerticalLineTypeLabelOptions;
/**
* (Highstock) Line options.
*/
line?: AnnotationsVerticalLineTypeLineOptions;
points?: Array<AnnotationsVerticalLineTypePointsOptions>;
/**
* (Highstock) This number defines which xAxis the point is connected to. It
* refers to either the axis id or the index of the axis in the xAxis array.
*/
xAxis?: number;
/**
* (Highstock) This number defines which yAxis the point is connected to. It
* refers to either the axis id or the index of the axis in the xAxis array.
*/
yAxis?: number;
}
export interface AnnotationsVerticalLineTypePointsOptions {
controlPoint?: number;
/**
* (Highstock) The x position of the point.
*/
x?: number;
/**
* (Highstock) The y position of the point.
*/
y?: number;
}
/**
* Serialized form of an SVG/HTML definition, including children.
*/
export interface ASTNode {
attributes?: SVGAttributes;
children?: Array<ASTNode>;
tagName?: string;
textContent?: string;
}
/**
* (Highcharts) Accessibility options for an axis. Requires the accessibility
* module.
*/
export interface AxisAccessibilityOptionsObject {
/**
* (Highcharts) Description for an axis to expose to screen reader users.
*/
description?: string;
/**
* (Highcharts) Enable axis accessibility features, including axis
* information in the screen reader information region. If this is disabled
* on the xAxis, the x values are not exposed to screen readers for the
* individual data points by default.
*/
enabled?: boolean;
/**
* (Highcharts) Range description for an axis. Overrides the default range
* description. Set to empty to disable range description for this axis.
*/
rangeDescription?: string;
}
/**
* (Highstock) A label on the axis next to the crosshair.
*
* In styled mode, the label is styled with the `.highcharts-crosshair-label`
* class.
*/
export interface AxisCrosshairLabelOptions {
/**
* (Highstock) 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.
*/
align?: AlignValue;
/**
* (Highstock) The background color for the label. Defaults to the related
* series color, or `#666666` if that is not available.
*/
backgroundColor?: ColorType;
/**
* (Highstock) The border color for the crosshair label
*/
borderColor?: ColorType;
/**
* (Highstock) The border corner radius of the crosshair label.
*/
borderRadius?: number;
/**
* (Highstock) The border width for the crosshair label.
*/
borderWidth?: number;
/**
* (Highstock) Flag to enable crosshair's label.
*/
enabled?: boolean;
/**
* (Highstock) A format string for the crosshair label. Defaults to
* `{value}` for numeric axes and `{value:%b %d, %Y}` for datetime axes.
*/
format?: string;
/**
* (Highstock) Formatter function for the label text.
*/
formatter?: XAxisCrosshairLabelFormatterCallbackFunction;
/**
* (Highstock) Padding inside the crosshair label.
*/
padding?: number;
/**
* (Highstock) The shape to use for the label box.
*/
shape?: string;
/**
* (Highstock) Text styles for the crosshair label.
*/
style?: CSSObject;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) 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.
*/
export interface AxisCrosshairOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the crosshair,
* especially as a hook for styling.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) 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.
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The dash style for the
* crosshair. See plotOptions.series.dashStyle for possible values.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) A label on the axis next to the crosshair.
*
* In styled mode, the label is styled with the
* `.highcharts-crosshair-label` class.
*/
label?: AxisCrosshairLabelOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether the crosshair should
* snap to the point or follow the pointer independent of points.
*/
snap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the
* crosshair. Defaults to 1 for numeric or datetime axes, and for one
* category width for category axes.
*/
width?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The Z index of the crosshair.
* Higher Z indices allow drawing the crosshair on top of the series or
* behind the grid lines.
*/
zIndex?: number;
}
/**
* (Highcharts, Highstock, Gantt) 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 replacement codes, see dateFormat.
*
* Defaults to: (see online documentation for example)
*/
export interface AxisDateTimeLabelFormatsOptions {
day?: (string|AxisDateTimeLabelFormatsOptionsObject);
hour?: (string|AxisDateTimeLabelFormatsOptionsObject);
millisecond?: (string|AxisDateTimeLabelFormatsOptionsObject);
minute?: (string|AxisDateTimeLabelFormatsOptionsObject);
month?: (string|AxisDateTimeLabelFormatsOptionsObject);
second?: (string|AxisDateTimeLabelFormatsOptionsObject);
week?: (string|AxisDateTimeLabelFormatsOptionsObject);
year?: (string|AxisDateTimeLabelFormatsOptionsObject);
}
export interface AxisDateTimeLabelFormatsOptionsObject {
list?: Array<string>;
main?: string;
range?: boolean;
}
export interface AxisLabelsFormatterContextObject {
/**
* The axis item of the label
*/
axis: Axis;
/**
* The chart instance.
*/
chart: Chart;
/**
* Default formatting of date/time labels.
*/
dateTimeLabelFormat?: string;
/**
* Whether the label belongs to the first tick on the axis.
*/
isFirst: boolean;
/**
* Whether the label belongs to the last tick on the axis.
*/
isLast: boolean;
/**
* The position on the axis in terms of axis values. For category axes, a
* zero-based index. For datetime axes, the JavaScript time in milliseconds
* since 1970.
*/
pos: number;
/**
* The preformatted text as the result of the default formatting. For
* example dates will be formatted as strings, and numbers with
* language-specific comma separators, thousands separators and numeric
* symbols like `k` or `M`.
*/
text?: string;
/**
* The Tick instance.
*/
tick: Tick;
/**
* This can be either a numeric value or a category string.
*/
value: (number|string);
}
/**
* Options for the path on the Axis to be calculated.
*/
export interface AxisPlotLinePathOptionsObject {
/**
* Used in Highcharts Stock. When `true`, plot paths (crosshair, plotLines,
* gridLines) will be rendered on all axes when defined on the first axis.
*/
acrossPanes?: boolean;
/**
* If `false`, the function will return null when it falls outside the axis
* bounds. If `true`, the function will return a path aligned to the plot
* area sides if it falls outside. If `pass`, it will return a path outside.
*/
force?: (boolean|string);
/**
* Line width used for calculation crisp line coordinates. Defaults to 1.
*/
lineWidth?: number;
/**
* Use old coordinates (for resizing and rescaling). If not set, defaults to
* `false`.
*/
old?: boolean;
/**
* Used in Polar axes. Reverse the positions for concatenation of polygonal
* plot bands
*/
reverse?: boolean;
/**
* If given, return the plot line path of a pixel position on the axis.
*/
translatedValue?: number;
/**
* Axis value.
*/
value?: number;
}
export interface AxisPointBreakEventObject {
brk: Dictionary<number>;
point: Point;
preventDefault: Function;
target: SVGElement;
type: ("pointBreak"|"pointInBreak");
}
export interface AxisSetExtremesEventObject extends ExtremesObject {
preventDefault: Function;
target: SVGElement;
trigger: (string|AxisExtremesTriggerValue);
type: "setExtremes";
}
/**
* Time ticks.
*/
export interface AxisTickPositionsArray extends Array<number> {
info?: TimeTicksInfoObject;
}
/**
* Bounding box of an element.
*/
export interface BBoxObject extends PositionObject {
/**
* Height of the bounding box.
*/
height: number;
/**
* Width of the bounding box.
*/
width: number;
/**
* Horizontal position of the bounding box.
*/
x: number;
/**
* Vertical position of the bounding box.
*/
y: number;
}
/**
* (Highcharts, Highstock) Debugging options for boost. Useful for benchmarking,
* and general timing.
*/
export interface BoostDebugOptions {
/**
* (Highcharts, Highstock) Show the number of points skipped through
* culling.
*
* When set to true, the number of points skipped in series processing is
* outputted. Points are skipped if they are closer than 1 pixel from each
* other.
*/
showSkipSummary?: boolean;
/**
* (Highcharts, Highstock) Time the WebGL to SVG buffer copy
*
* After rendering, the result is copied to an image which is injected into
* the SVG.
*
* If this property is set to true, the time it takes for the buffer copy to
* complete is outputted.
*/
timeBufferCopy?: boolean;
/**
* (Highcharts, Highstock) Time the building of the k-d tree.
*
* This outputs the time spent building the k-d tree used for markers etc.
*
* Note that the k-d tree is built async, and runs post-rendering.
* Following, it does not affect the performance of the rendering itself.
*/
timeKDTree?: boolean;
/**
* (Highcharts, Highstock) Time the series rendering.
*
* This outputs the time spent on actual rendering in the console when set
* to true.
*/
timeRendering?: boolean;
/**
* (Highcharts, Highstock) Time the series processing.
*
* This outputs the time spent on transforming the series data to vertex
* buffers when set to true.
*/
timeSeriesProcessing?: boolean;
/**
* (Highcharts, Highstock) Time the WebGL setup.
*
* This outputs the time spent on setting up the WebGL context, creating
* shaders, and textures.
*/
timeSetup?: boolean;
}
/**
* (Highcharts, Highstock) Options for the Boost module. The Boost module allows
* certain series types to be rendered by WebGL instead of the default SVG. This
* allows hundreds of thousands of data points to be rendered in milliseconds.
* In addition to the WebGL rendering it saves time by skipping processing and
* inspection of the data wherever possible. This introduces some limitations to
* what features are available in boost mode. See the docs for details.
*
* In addition to the global `boost` option, each series has a boostThreshold
* that defines when the boost should kick in.
*
* Requires the `modules/boost.js` module.
*/
export interface BoostOptions {
/**
* (Highcharts, Highstock) The chart will be boosted, if one of the series
* crosses its threshold and all the series in the chart can be boosted.
*/
allowForce?: boolean;
/**
* (Highcharts, Highstock) Debugging options for boost. Useful for
* benchmarking, and general timing.
*/
debug?: BoostDebugOptions;
/**
* (Highcharts, Highstock) Enable or disable boost on a chart.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) The pixel ratio for the WebGL content. If 0, the
* `window.devicePixelRatio` is used. This ensures sharp graphics on high
* DPI displays like Apple's Retina, as well as when a page is zoomed.
*
* The default is left at 1 for now, as this is a new feature that has the
* potential to break existing setups. Over time, when it has been battle
* tested, the intention is to set it to 0 by default.
*
* Another use case for this option is to set it to 2 in order to make
* exported and upscaled charts render sharp.
*
* One limitation when using the `pixelRatio` is that the line width of
* graphs is scaled down. Since the Boost module currently can only render
* 1px line widths, it is scaled down to a thin 0.5 pixels on a Retina
* display.
*/
pixelRatio?: number;
/**
* (Highcharts, Highstock) Set the series threshold for when the boost
* should kick in globally.
*
* Setting to e.g. 20 will cause the whole chart to enter boost mode if
* there are 20 or more series active. When the chart is in boost mode,
* every series in it will be rendered to a common canvas. This offers a
* significant speed improvement in charts with a very high amount of
* series.
*/
seriesThreshold?: number;
/**
* (Highcharts, Highstock) Enable or disable GPU translations. GPU
* translations are faster than doing the translation in JavaScript.
*
* This option may cause rendering issues with certain datasets. Namely, if
* your dataset has large numbers with small increments (such as
* timestamps), it won't work correctly. This is due to floating point
* precision.
*/
useGPUTranslations?: boolean;
/**
* (Highcharts, Highstock) Enable or disable pre-allocation of vertex
* buffers.
*
* Enabling this will make it so that the binary data arrays required for
* storing the series data will be allocated prior to transforming the data
* to a WebGL-compatible format.
*
* This saves a copy operation on the order of O(n) and so is significantly
* more performant. However, this is currently an experimental option, and
* may cause visual artifacts with some datasets.
*
* As such, care should be taken when using this setting to make sure that
* it doesn't cause any rendering glitches with the given use-case.
*/
usePreallocated?: boolean;
}
/**
* Detailed options for border radius.
*/
export interface BorderRadiusOptionsObject {
/**
* The border radius. A number signifies pixels. A percentage string, like
* for example `50%`, signifies a relative size. For columns this is
* relative to the column width, for pies it is relative to the radius and
* the inner radius.
*/
radius: (number|string);
/**
* The scope of the rounding for column charts. In a stacked column chart,
* the value `point` means each single point will get rounded corners. The
* value `stack` means the rounding will apply to the full stack, so that
* only points close to the top or bottom will receive rounding.
*/
scope: ("point"|"stack");
/**
* For column charts, where in the point or stack to apply rounding. The
* `end` value means only those corners at the point value will be rounded,
* leaving the corners at the base or threshold unrounded. This is the most
* intuitive behaviour. The `all` value means also the base will be rounded.
*/
where: ("all"|"end");
}
/**
* Options for the one breadcrumb.
*/
export interface BreadcrumbOptions {
/**
* Level connected to a specific breadcrumb.
*/
level: number;
/**
* Options for series or point connected to a specific breadcrumb.
*/
levelOptions: (PointOptionsObject|SeriesOptions);
}
/**
* Options for aligning breadcrumbs group.
*/
export interface BreadcrumbsAlignOptions {
/**
* Align of a Breadcrumb group.
*/
align: AlignValue;
/**
* Vertical align of a Breadcrumb group.
*/
verticalAlign: VerticalAlignValue;
/**
* X offset of a Breadcrumbs group.
*/
x: number;
/**
* Y offset of a Breadcrumbs group.
*/
y: number;
}
export interface BubbleLegendFormatterContextObject {
/**
* The center y position of the range.
*/
center: number;
/**
* The radius of the bubble range.
*/
radius: number;
/**
* The bubble value.
*/
value: number;
}
/**
* The chart caption. The caption has an `update` method that allows modifying
* the options directly or indirectly via `chart.update`.
*/
export interface CaptionObject extends SVGElement {
/**
* Modify options for the caption.
*
* @param captionOptions
* Options to modify.
*
* @param redraw
* Whether to redraw the chart after the caption is altered. If doing
* more operations on the chart, it is a good idea to set redraw to
* false and call Chart#redraw after.
*/
update(captionOptions: CaptionOptions, redraw?: boolean): void;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) The chart's caption, which will
* render below the chart and will be part of exported charts. The caption can
* be updated after chart initialization through the `Chart.update` or
* `Chart.caption.update` methods.
*/
export interface CaptionOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The horizontal alignment of the
* caption. Can be one of "left", "center" and "right".
*/
align?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When the caption is floating,
* the plot area will not move to make space for it.
*/
floating?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The margin between the caption
* and the plot area.
*/
margin?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the caption.
*
* In styled mode, the caption style is given in the `.highcharts-caption`
* class.
*/
style?: (CaptionStyleOptions|CSSObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The caption text of the chart.
*/
text?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the text.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
* caption. Can be one of `"top"`, `"middle"` and `"bottom"`. When middle,
* the caption behaves as floating.
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position of the caption
* relative to the alignment within `chart.spacingLeft` and
* `chart.spacingRight`.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position of the caption
* relative to the alignment within `chart.spacingTop` and
* `chart.spacingBottom`.
*/
y?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the caption.
*
* In styled mode, the caption style is given in the `.highcharts-caption`
* class.
*/
export interface CaptionStyleOptions {
color?: string;
fontSize?: number;
}
/**
* (Highcharts) The back side of the frame around a 3D chart.
*/
export interface Chart3dFrameBackOptions {
/**
* (Highcharts) The color of the panel.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) The thickness of the panel.
*/
size?: number;
/**
* (Highcharts) Whether to display the frame. Possible values are `true`,
* `false`, `"auto"` to display only the frames behind the data, and
* `"default"` to display faces behind the data based on the axis layout,
* ignoring the point of view.
*/
visible?: ("auto"|"default"|boolean);
}
/**
* (Highcharts) The bottom of the frame around a 3D chart.
*/
export interface Chart3dFrameBottomOptions {
/**
* (Highcharts) The color of the panel.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) The thickness of the panel.
*/
size?: number;
/**
* (Highcharts) Whether to display the frame. Possible values are `true`,
* `false`, `"auto"` to display only the frames behind the data, and
* `"default"` to display faces behind the data based on the axis layout,
* ignoring the point of view.
*/
visible?: ("auto"|"default"|boolean);
}
/**
* (Highcharts) The front of the frame around a 3D chart.
*/
export interface Chart3dFrameFrontOptions {
/**
* (Highcharts) The color of the panel.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) The thickness of the panel.
*/
size?: number;
/**
* (Highcharts) Whether to display the frame. Possible values are `true`,
* `false`, `"auto"` to display only the frames behind the data, and
* `"default"` to display faces behind the data based on the axis layout,
* ignoring the point of view.
*/
visible?: ("auto"|"default"|boolean);
}
/**
* (Highcharts) The left side of the frame around a 3D chart.
*/
export interface Chart3dFrameLeftOptions {
/**
* (Highcharts) The color of the panel.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) The thickness of the panel.
*/
size?: number;
/**
* (Highcharts) Whether to display the frame. Possible values are `true`,
* `false`, `"auto"` to display only the frames behind the data, and
* `"default"` to display faces behind the data based on the axis layout,
* ignoring the point of view.
*/
visible?: ("auto"|"default"|boolean);
}
/**
* (Highcharts) Provides the option to draw a frame around the charts by
* defining a bottom, front and back panel.
*/
export interface Chart3dFrameOptions {
/**
* (Highcharts) The back side of the frame around a 3D chart.
*/
back?: Chart3dFrameBackOptions;
/**
* (Highcharts) The bottom of the frame around a 3D chart.
*/
bottom?: Chart3dFrameBottomOptions;
/**
* (Highcharts) The front of the frame around a 3D chart.
*/
front?: Chart3dFrameFrontOptions;
/**
* (Highcharts) The left side of the frame around a 3D chart.
*/
left?: Chart3dFrameLeftOptions;
/**
* (Highcharts) The right of the frame around a 3D chart.
*/
right?: Chart3dFrameRightOptions;
/**
* (Highcharts) General pixel thickness for the frame faces.
*/
size?: number;
/**
* (Highcharts) The top of the frame around a 3D chart.
*/
top?: Chart3dFrameTopOptions;
/**
* (Highcharts) Whether the frames are visible.
*/
visible?: string;
}
/**
* (Highcharts) The right of the frame around a 3D chart.
*/
export interface Chart3dFrameRightOptions {
/**
* (Highcharts) The color of the panel.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) The thickness of the panel.
*/
size?: number;
/**
* (Highcharts) Whether to display the frame. Possible values are `true`,
* `false`, `"auto"` to display only the frames behind the data, and
* `"default"` to display faces behind the data based on the axis layout,
* ignoring the point of view.
*/
visible?: ("auto"|"default"|boolean);
}
/**
* (Highcharts) The top of the frame around a 3D chart.
*/
export interface Chart3dFrameTopOptions {
/**
* (Highcharts) The color of the panel.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) The thickness of the panel.
*/
size?: number;
/**
* (Highcharts) Whether to display the frame. Possible values are `true`,
* `false`, `"auto"` to display only the frames behind the data, and
* `"default"` to display faces behind the data based on the axis layout,
* ignoring the point of view.
*/
visible?: ("auto"|"default"|boolean);
}
/**
* (Highcharts) Options to render charts in 3 dimensions. This feature requires
* `highcharts-3d.js`, found in the download package or online at
* code.highcharts.com/highcharts-3d.js.
*/
export interface Chart3dOptions {
/**
* (Highcharts) One of the two rotation angles for the chart.
*/
alpha?: number;
/**
* (Highcharts) Set it to `"auto"` to automatically move the labels to the
* best edge.
*/
axisLabelPosition?: ("auto"|null);
/**
* (Highcharts) One of the two rotation angles for the chart.
*/
beta?: number;
/**
* (Highcharts) The total depth of the chart.
*/
depth?: number;
/**
* (Highcharts) Whether to render the chart using the 3D functionality.
*/
enabled?: boolean;
/**
* (Highcharts) Whether the 3d box should automatically adjust to the chart
* plot area.
*/
fitToPlot?: boolean;
/**
* (Highcharts) Provides the option to draw a frame around the charts by
* defining a bottom, front and back panel.
*/
frame?: Chart3dFrameOptions;
/**
* (Highcharts) Defines the distance the viewer is standing in front of the
* chart, this setting is important to calculate the perspective effect in
* column and scatter charts. It is not used for 3D pie charts.
*/
viewDistance?: number;
}
/**
* Contains common event information. Through the `options` property you can
* access the series options that were passed to the `addSeries` method.
*/
export interface ChartAddSeriesEventObject {
/**
* The series options that were passed to the `addSeries` method.
*/
options: SeriesOptionsType;
/**
* Prevents the default behaviour of the event.
*/
preventDefault: Function;
/**
* The event target.
*/
target: Chart;
/**
* The event type.
*/
type: "addSeries";
}
/**
* Contains an axes of the clicked spot.
*/
export interface ChartClickEventAxisObject {
/**
* Axis at the clicked spot.
*/
axis: Axis;
/**
* Axis value at the clicked spot.
*/
value: number;
}
/**
* Contains information about the clicked spot on the chart. Remember the unit
* of a datetime axis is milliseconds since 1970-01-01 00:00:00.
*/
export interface ChartClickEventObject extends PointerEventObject {
/**
* Information about the x-axis on the clicked spot.
*/
xAxis: Array<ChartClickEventAxisObject>;
/**
* Information about the y-axis on the clicked spot.
*/
yAxis: Array<ChartClickEventAxisObject>;
/**
* Information about the z-axis on the clicked spot.
*/
zAxis?: Array<ChartClickEventAxisObject>;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Event listeners for the chart.
*/
export interface ChartEventsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Fires when a series is added to
* the chart after load time, using the `addSeries` method. One parameter,
* `event`, is passed to the function, containing common event information.
* Through `event.options` you can access the series options that were
* passed to the `addSeries` method. Returning false prevents the series
* from being added.
*/
addSeries?: ChartAddSeriesCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Fires after a chart is printed
* through the context menu item or the `Chart.print` method.
*/
afterPrint?: ExportingAfterPrintCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Fires before a chart is printed
* through the context menu item or the `Chart.print` method.
*/
beforePrint?: ExportingBeforePrintCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Fires when clicking on the plot
* background. One parameter, `event`, is passed to the function, containing
* common event information.
*
* Information on the clicked spot can be found through `event.xAxis` and
* `event.yAxis`, which are arrays containing the axes of each dimension and
* each axis' value at the clicked spot. The primary axes are
* `event.xAxis[0]` and `event.yAxis[0]`. Remember the unit of a datetime
* axis is milliseconds since 1970-01-01 00:00:00. (see online documentation
* for example)
*/
click?: ChartClickCallbackFunction;
/**
* (Highcharts, Highmaps) Fires when a drilldown point is clicked, before
* the new series is added. This event is also utilized for async drilldown,
* where the seriesOptions are not added by option, but rather loaded async.
* Note that when clicking a category label to trigger multiple series
* drilldown, one `drilldown` event is triggered per point in the category.
*
* Event arguments:
*
* - `category`: If a category label was clicked, which index.
*
* - `originalEvent`: The original browser event (usually click) that
* triggered the drilldown.
*
* - `point`: The originating point.
*
* - `points`: If a category label was clicked, this array holds all points
* corresponding to the category.
*
* - `seriesOptions`: Options for the new series.
*/
drilldown?: DrilldownCallbackFunction;
/**
* (Highcharts, Highmaps) Fires when drilling up from a drilldown series.
*/
drillup?: DrillupCallbackFunction;
/**
* (Highcharts, Highmaps) In a chart with multiple drilldown series, this
* event fires after all the series have been drilled up.
*/
drillupall?: DrillupAllCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback that fires while
* exporting data. This allows the modification of data rows before
* processed into the final format.
*/
exportData?: ExportDataCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Fires when a fullscreen is
* closed through the context menu item, or a fullscreen is closed on the
* `Escape` button click, or the `Chart.fullscreen.close` method.
*/
fullscreenClose?: FullScreenfullscreenCloseCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Fires when a fullscreen is
* opened through the context menu item, or the `Chart.fullscreen.open`
* method.
*/
fullscreenOpen?: FullScreenfullscreenOpenCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Fires when the chart is finished
* loading. Since v4.2.2, it also waits for images to be loaded, for example
* from point markers. One parameter, `event`, is passed to the function,
* containing common event information.
*
* There is also a second parameter to the chart constructor where a
* callback function can be passed to be executed on chart.load.
*/
load?: ChartLoadCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Fires when the chart is redrawn,
* either after a call to `chart.redraw()` or after an axis, series or point
* is modified with the `redraw` option set to `true`. One parameter,
* `event`, is passed to the function, containing common event information.
*/
redraw?: ChartRedrawCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Fires after initial load of the
* chart (directly after the `load` event), and after each redraw (directly
* after the `redraw` event).
*/
render?: ChartRenderCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Fires when an area of the chart
* has been selected. Selection is enabled by setting the chart's zoomType.
* One parameter, `event`, is passed to the function, containing common
* event information. The default action for the selection event is to zoom
* the chart to the selected area. It can be prevented by calling
* `event.preventDefault()` or return false.
*
* Information on the selected area can be found through `event.xAxis` and
* `event.yAxis`, which are arrays containing the axes of each dimension and
* each axis' min and max values. The primary axes are `event.xAxis[0]` and
* `event.yAxis[0]`. Remember the unit of a datetime axis is milliseconds
* since 1970-01-01 00:00:00. (see online documentation for example)
*/
selection?: ChartSelectionCallbackFunction;
}
export interface ChartIsInsideOptionsObject {
axis?: Axis;
ignoreX?: boolean;
ignoreY?: boolean;
inverted?: boolean;
paneCoordinates?: boolean;
series?: Series;
visiblePlotOnly?: boolean;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) General options for the chart.
*/
export interface ChartOptions {
/**
* (Highcharts, Highstock, Gantt) When using multiple axes, align the
* thresholds. When this is true, other ticks will also be aligned.
*
* Note that for line series and some other series types, the `threshold`
* option is set to `null` by default. This will in turn cause their y-axis
* to not have a threshold. In order to avoid that, set the series
* `threshold` to 0 or another number.
*
* If `startOnTick` or `endOnTick` in the axis options are set to false, or
* if the axis is logarithmic, the threshold will not be aligned.
*/
alignThresholds?: boolean;
/**
* (Highcharts, Highstock, Gantt) When using multiple axes, 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 the axis options are set to false,
* then the `alignTicks ` will be disabled for the axis.
*
* Disabled for logarithmic axes.
*/
alignTicks?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) By default, (because of memory
* and performance reasons) the chart does not copy the data but keeps it as
* a reference. In some cases, this might result in mutating the original
* data source. In order to prevent that, set that property to false. Please
* note that changing that might decrease performance, especially with
* bigger sets of data.
*/
allowMutatingData?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Set the overall animation for
* all chart updating. Animation can be disabled throughout the chart by
* setting it to false here. It can be overridden for each individual API
* method as a function parameter. The only animation not affected by this
* option is the initial series animation, see plotOptions.series.animation.
*
* The animation can either be set as a boolean or a configuration object.
* If `true`, it will use the 'swing' jQuery easing and a duration of 500
* ms. If used as a configuration object, the following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds.
*
* - `easing`: A string reference to an easing function set on the `Math`
* object. See the easing demo.
*
* When zooming on a series with less than 100 points, the chart redraw will
* be done with animation, but in case of more data points, it is necessary
* to set this option to ensure animation on zoom.
*/
animation?: (boolean|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) When a chart with an x and a
* y-axis is rendered, we first pre-render the labels of both in order to
* measure them. Then, if either of the axis labels take up so much space
* that it significantly affects the length of the other axis, we repeat the
* process.
*
* By default we stop at two axis layout runs, but it may be that the second
* run also alter the space required by either axis, for example if it
* causes the labels to rotate. In this situation, a subsequent redraw of
* the chart may cause the tick and label placement to change for apparently
* no reason.
*
* Use the `axisLayoutRuns` option to set the maximum allowed number of
* repetitions. But keep in mind that the default value of 2 is set because
* every run costs performance time.
*
* **Note:** Changing that option to higher than the default might decrease
* performance significantly, especially with bigger sets of data.
*/
axisLayoutRuns?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the outer chart area.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The color of the outer chart
* border.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The corner radius of the outer
* chart border.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the outer
* chart border.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A CSS class name to apply to the
* charts container `div`, allowing unique CSS styling for each chart.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) In styled mode, this sets how
* many colors the class names should rotate between. With ten colors,
* series (or points) are given class names like `highcharts-color-0`,
* `highcharts-color-1` [...] `highcharts-color-9`. The equivalent in
* non-styled mode is to set colors using the colors setting.
*/
colorCount?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to display errors on the
* chart. When `false`, the errors will be shown only in the console.
*/
displayErrors?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Event listeners for the chart.
*/
events?: ChartEventsOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) An explicit height for the
* chart. If a _number_, the height is given in pixels. If given a
* _percentage string_ (for example `'56%'`), the height is given as the
* percentage of the actual chart width. This allows for preserving the
* aspect ratio across responsive sizes.
*
* By default (when `null`) the height is calculated from the offset height
* of the containing element, or 400 pixels if the containing element's
* height is 0.
*/
height?: (number|string|null);
/**
* (Highcharts, Highstock, Gantt) If true, the axes will scale to the
* remaining visible series once one series is hidden. If false, hiding and
* showing a series will not affect the axes or the other series. For
* stacks, once one series within the stack is hidden, the rest of the stack
* will close in around it even if the axis is not affected.
*/
ignoreHiddenSeries?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to invert the axes so that the x
* axis is vertical and y axis is horizontal. When `true`, the x axis is
* reversed by default.
*/
inverted?: boolean;
/**
* (Highmaps) Default `mapData` for all series, in terms of a GeoJSON or
* TopoJSON object. If set to a string, it functions as an index into the
* `Highcharts.maps` array.
*
* For picking out individual shapes and geometries to use for each series
* of the map, see series.mapData.
*/
map?: (string|GeoJSON|TopoJSON|Array<any>);
/**
* (Highmaps) Set lat/lon transformation definitions for the chart. If not
* defined, these are extracted from the map data.
*/
mapTransforms?: any;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The margin between the outer
* edge of the chart and the plot area. The numbers in the array designate
* top, right, bottom and left respectively. Use the options `marginTop`,
* `marginRight`, `marginBottom` and `marginLeft` for shorthand setting of
* one option.
*
* By default there is no margin. The actual space is dynamically calculated
* from the offset of axis labels, axis title, title, subtitle and legend in
* addition to the `spacingTop`, `spacingRight`, `spacingBottom` and
* `spacingLeft` options.
*/
margin?: (number|Array<number>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The margin between the bottom
* outer edge of the chart and the plot area. Use this to set a fixed pixel
* value for the margin as opposed to the default dynamic margin. See also
* `spacingBottom`.
*/
marginBottom?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The margin between the left
* outer edge of the chart and the plot area. Use this to set a fixed pixel
* value for the margin as opposed to the default dynamic margin. See also
* `spacingLeft`.
*/
marginLeft?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The margin between the right
* outer edge of the chart and the plot area. Use this to set a fixed pixel
* value for the margin as opposed to the default dynamic margin. See also
* `spacingRight`.
*/
marginRight?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The margin between the top outer
* edge of the chart and the plot area. Use this to set a fixed pixel value
* for the margin as opposed to the default dynamic margin. See also
* `spacingTop`.
*/
marginTop?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback function to override
* the default function that formats all the numbers in the chart. Returns a
* string with the formatted number.
*/
numberFormatter?: NumberFormatterCallbackFunction;
/**
* (Highcharts) Options to render charts in 3 dimensions. This feature
* requires `highcharts-3d.js`, found in the download package or online at
* code.highcharts.com/highcharts-3d.js.
*/
options3d?: Chart3dOptions;
/**
* (Highcharts, Gantt) Allows setting a key to switch between zooming and
* panning. Can be one of `alt`, `ctrl`, `meta` (the command key on Mac and
* Windows key on Windows) or `shift`. The keys are mapped directly to the
* key properties of the click event argument (`event.altKey`,
* `event.ctrlKey`, `event.metaKey` and `event.shiftKey`).
*/
panKey?: OptionsPanKeyValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Allow panning in a chart. Best
* used with panKey to combine zooming and panning.
*
* On touch devices, when the tooltip.followTouchMove option is `true`
* (default), panning requires two fingers. To allow panning with one
* finger, set `followTouchMove` to `false`.
*/
panning?: ChartPanningOptions;
/**
* (Highcharts) Common options for all yAxes rendered in a parallel
* coordinates plot. This feature requires
* `modules/parallel-coordinates.js`.
*
* The default options are: (see online documentation for example)
*/
parallelAxes?: (ChartParallelAxesOptions|Array<ChartParallelAxesOptions>);
/**
* (Highcharts) Flag to render charts as a parallel coordinates plot. In a
* parallel coordinates plot (||-coords) by default all required yAxes are
* generated and the legend is disabled. This feature requires
* `modules/parallel-coordinates.js`.
*/
parallelCoordinates?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the plot area.
*/
plotBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The URL for an image to use as
* the plot background. To set an image as the background for the entire
* chart, set a CSS background image to the container element. Note that for
* the image to be applied to exported charts, its URL needs to be
* accessible by the export server.
*/
plotBackgroundImage?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The color of the inner chart or
* plot area border.
*/
plotBorderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the plot area
* border.
*/
plotBorderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to apply a drop shadow
* to the plot area. Requires that plotBackgroundColor be set. The shadow
* can be an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
plotShadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts) When true, cartesian charts like line, spline, area and
* column are transformed into the polar coordinate system. This produces
* _polar charts_, also known as _radar charts_.
*/
polar?: boolean;
/**
* (Highmaps) Allows to manually load the proj4 library from Highcharts
* options instead of the `window`. In case of loading the library from a
* `script` tag, this option is not needed, it will be loaded from there by
* default.
*/
proj4?: Function;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to reflow the chart to
* fit the width of the container div on resizing the window.
*/
reflow?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The HTML element where the chart
* will be rendered. If it is a string, the element by that id is used. The
* HTML element can also be passed by direct reference, or as the first
* argument of the chart constructor, in which case the option is not
* needed.
*/
renderTo?: (string|HTMLDOMElement);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The button that appears after a
* selection zoom, allowing the user to reset zoom. This option is
* deprecated in favor of zooming.
*
* @deprecated 10.2.1
*/
resetZoomButton?: ChartResetZoomButtonOptions;
/**
* (Highcharts, Gantt) Options for a scrollable plot area. This feature
* provides a minimum size for the plot area of the chart. If the size gets
* smaller than this, typically on mobile devices, a native browser
* scrollbar is presented. This scrollbar provides smooth scrolling for the
* contents of the plot area, whereas the title, legend and unaffected axes
* are fixed.
*
* Since v7.1.2, a scrollable plot area can be defined for either horizontal
* or vertical scrolling, depending on whether the `minWidth` or `minHeight`
* option is set.
*/
scrollablePlotArea?: ChartScrollablePlotAreaOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color of the
* marker square when selecting (zooming in on) an area of the chart.
*/
selectionMarkerFill?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to apply a drop shadow
* to the outer chart area. Requires that backgroundColor be set. The shadow
* can be an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Gantt) Whether to show the axes initially. This only applies
* to empty charts where series are added dynamically, as axes are
* automatically added to cartesian series.
*/
showAxes?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The distance between the outer
* edge of the chart and the content, like title or legend, or axis title
* and labels if present. The numbers in the array designate top, right,
* bottom and left respectively. Use the options spacingTop, spacingRight,
* spacingBottom and spacingLeft options for shorthand setting of one
* option.
*/
spacing?: Array<number>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The space between the bottom
* edge of the chart and the content (plot area, axis title and labels,
* title, subtitle or legend in top position).
*/
spacingBottom?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The space between the left edge
* of the chart and the content (plot area, axis title and labels, title,
* subtitle or legend in top position).
*/
spacingLeft?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The space between the right edge
* of the chart and the content (plot area, axis title and labels, title,
* subtitle or legend in top position).
*/
spacingRight?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The space between the top edge
* of the chart and the content (plot area, axis title and labels, title,
* subtitle or legend in top position).
*/
spacingTop?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Additional CSS styles to apply
* inline to the container `div` and the root SVG.
*
* According to the CSS syntax documentation, it is recommended to quote
* font family names that contain white space, digits, or punctuation
* characters other than hyphens. In such cases, wrap the fontFamily name as
* follows: `fontFamily: '"Font name"'`.
*
* Since v11, the root font size is 1rem by default, and all child element
* are given a relative `em` font size by default. This allows implementers
* to control all the chart's font sizes by only setting the root level.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to apply styled mode.
* When in styled mode, no presentational attributes or CSS are applied to
* the chart SVG. Instead, CSS rules are required to style the chart. The
* default style sheet is available from
* `https://code.highcharts.com/css/highcharts.css`.
*
* Read more in the docs on what classes and variables are available.
*/
styledMode?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The default series type for the
* chart. Can be any of the chart types listed under plotOptions and series
* or can be a series provided by an additional module.
*
* In TypeScript this option has no effect in sense of typing and instead
* the `type` option must always be set in the series.
*/
type?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) An explicit width for the chart.
* By default (when `null`) the width is calculated from the offset width of
* the containing element.
*/
width?: (number|string|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Chart zooming options.
*/
zooming?: ChartZoomingOptions;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Allow panning in a chart. Best used
* with panKey to combine zooming and panning.
*
* On touch devices, when the tooltip.followTouchMove option is `true`
* (default), panning requires two fingers. To allow panning with one finger,
* set `followTouchMove` to `false`.
*/
export interface ChartPanningOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable chart panning.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Gantt) Decides in what dimensions the user can
* pan the chart. Can be one of `x`, `y`, or `xy`.
*
* When this option is set to `y` or `xy`, yAxis.startOnTick and
* yAxis.endOnTick are overwritten to `false`.
*/
type?: OptionsChartPanningTypeValue;
}
/**
* (Highcharts) Event handlers for the axis.
*/
export interface ChartParallelAxesEventsOptions {
/**
* (Highcharts, Gantt) An event fired after the breaks have rendered.
*/
afterBreaks?: AxisEventCallbackFunction;
/**
* (Highcharts) 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`.
*/
afterSetExtremes?: AxisSetExtremesEventCallbackFunction;
/**
* (Highcharts, Gantt) An event fired when a break from this axis occurs on
* a point.
*/
pointBreak?: AxisPointBreakEventCallbackFunction;
/**
* (Highcharts, Highstock, Gantt) An event fired when a point is outside a
* break after zoom.
*/
pointBreakOut?: AxisPointBreakEventCallbackFunction;
/**
* (Highcharts, Highstock, Gantt) An event fired when a point falls inside a
* break from this axis.
*/
pointInBreak?: AxisPointBreakEventCallbackFunction;
/**
* (Highcharts) 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`.
*/
setExtremes?: AxisSetExtremesEventCallbackFunction;
}
/**
* (Highcharts) 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.
*/
export interface ChartParallelAxesLabelsOptions {
/**
* (Highcharts) What part of the string the given position is anchored to.
* Can be one of `"left"`, `"center"` or `"right"`. The exact position also
* depends on the `labels.x` setting.
*
* Angular gauges and solid gauges defaults to `"center"`. Solid gauges with
* two labels have additional option `"auto"` for automatic horizontal and
* vertical alignment.
*/
align?: string;
/**
* (Highcharts) Whether to allow the axis labels to overlap. When false,
* overlapping labels are hidden.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Gantt) 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.
*/
autoRotation?: Array<number>;
/**
* (Highcharts, Gantt) 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.
*/
autoRotationLimit?: number;
/**
* (Highcharts) 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.
*
* On polar charts, if it's a percentage string, it is interpreted the same
* as series.radius, so the label can be aligned under the gauge's shape.
*/
distance?: (number|string);
/**
* (Highcharts) Enable or disable the axis labels.
*/
enabled?: boolean;
/**
* (Highcharts) 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 for more examples of formatting.
*
* The default value is not specified due to the dynamic nature of the
* default implementation.
*/
format?: string;
/**
* (Highcharts) 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.
*/
formatter?: AxisLabelsFormatterCallbackFunction;
/**
* (Highcharts) 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.
*/
overflow?: OptionsOverflowValue;
/**
* (Highcharts, Gantt) The pixel padding for axis labels, to ensure white
* space between them.
*/
padding?: number;
/**
* (Highcharts) Defines how the labels are be repositioned according to the
* 3D chart orientation.
*
* - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
* marks, despite the chart orientation. This is the backwards compatible
* behavior, and causes skewing of X and Z axes.
*
* - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
* but hard to read if the text isn't forward-facing.
*
* - `'flap'`: Rotated text along the axis to compensate for the chart
* orientation. This tries to maintain text as legible as possible on all
* orientations.
*
* - `'ortho'`: Rotated text along the axis direction so that the labels are
* orthogonal to the axis. This is very similar to `'flap'`, but prevents
* skewing the labels (X and Y scaling are still present).
*/
position3d?: OptionsPosition3dValue;
/**
* (Highcharts, Highstock, Gantt) 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.
*/
reserveSpace?: boolean;
/**
* (Highcharts) Rotation of the labels in degrees. When `undefined`, the
* `autoRotation` option takes precedence.
*/
rotation?: number;
/**
* (Highcharts) If enabled, the axis labels will skewed to follow the
* perspective.
*
* This will fix overlapping labels and titles, but texts become less
* legible due to the distortion.
*
* The final appearance depends heavily on `labels.position3d`.
*/
skew3d?: boolean;
/**
* (Highcharts) Horizontal axes only. The number of lines to spread the
* labels over to make room or tighter labels. 0 disables staggering.
*/
staggerLines?: number;
/**
* (Highcharts) 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 => What axis should I use?
*/
step?: number;
/**
* (Highcharts) CSS styles for the label. Use `whiteSpace: 'nowrap'` to
* prevent wrapping of category labels. Use `textOverflow: 'none'` to
* prevent ellipsis (dots).
*
* In styled mode, the labels are styled with the `.highcharts-axis-labels`
* class.
*/
style?: CSSObject;
/**
* (Highcharts) Whether to use HTML to render the labels.
*/
useHTML?: boolean;
/**
* (Highcharts) The x position offset of all labels relative to the tick
* positions on the axis. Defaults to -15 for left axis, 15 for right axis.
*/
x?: number;
/**
* (Highcharts) The y position offset of all labels relative to the tick
* positions on the axis. For polar and radial axis consider the use of the
* distance option.
*/
y?: number;
/**
* (Highcharts) The Z index for the axis labels.
*/
zIndex?: number;
}
/**
* (Highcharts) Common options for all yAxes rendered in a parallel coordinates
* plot. This feature requires `modules/parallel-coordinates.js`.
*
* The default options are: (see online documentation for example)
*/
export interface ChartParallelAxesOptions {
/**
* (Highcharts) Accessibility options for an axis. Requires the
* accessibility module.
*/
accessibility?: AxisAccessibilityOptionsObject;
/**
* (Highcharts, Highstock, Gantt) 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.
*/
alignTicks?: boolean;
/**
* (Highcharts) 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.
*/
allowDecimals?: (boolean|undefined);
/**
* (Highcharts, Gantt) 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 and setting axis type to `category`. However, if you have
* multiple series, best practice remains defining the `categories` array.
*
* Example: `categories: ['Apples', 'Bananas', 'Oranges']`
*/
categories?: Array<string>;
/**
* (Highcharts, Highstock, Gantt) The highest allowed value for
* automatically computed axis extremes.
*/
ceiling?: number;
/**
* (Highcharts) 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.
*/
className?: string;
/**
* (Highcharts) 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.
*/
crosshair?: (boolean|AxisCrosshairOptions);
/**
* (Highcharts) 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.
*/
crossing?: number;
/**
* (Highcharts, Highstock, Gantt) 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 replacement codes, see dateFormat.
*
* Defaults to: (see online documentation for example)
*/
dateTimeLabelFormats?: AxisDateTimeLabelFormatsOptions;
/**
* (Highcharts) Whether to force the axis to end on a tick. Use this option
* with the `maxPadding` option to control the axis end.
*
* This option is always disabled, when panning type is either `y` or `xy`.
*/
endOnTick?: boolean;
/**
* (Highcharts) Event handlers for the axis.
*/
events?: ChartParallelAxesEventsOptions;
/**
* (Highcharts, Highstock, Gantt) The lowest allowed value for automatically
* computed axis extremes.
*/
floor?: number;
/**
* (Highcharts, Highstock, Gantt) The Z index of the grid lines.
*/
gridZIndex?: number;
/**
* (Highcharts, Highstock) The height of the Y axis. If it's a number, it is
* interpreted as pixels.
*
* Since Highcharts 2: If it's a percentage string, it is interpreted as
* percentages of the total plot height.
*/
height?: (number|string);
/**
* (Highcharts) 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.
*/
labels?: ChartParallelAxesLabelsOptions;
/**
* (Highcharts, Highstock) 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.
*/
left?: (number|string);
/**
* (Highcharts) The color of the line marking the axis itself.
*
* In styled mode, the line stroke is given in the `.highcharts-axis-line`
* or `.highcharts-xaxis-line` class.
*/
lineColor?: ColorType;
/**
* (Highcharts) The width of the line marking the axis itself.
*
* In styled mode, the stroke width is given in the `.highcharts-axis-line`
* or `.highcharts-xaxis-line` class.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) 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.
*/
linkedTo?: number;
/**
* (Highcharts) If there are multiple axes on the same side of the chart,
* the pixel margin between the axes. Defaults to 0 on vertical axes, 15 on
* horizontal axes.
*/
margin?: number;
/**
* (Highcharts) The maximum value of the axis. If `null`, the max value is
* automatically calculated.
*
* If the endOnTick option is true, the `max` value might be rounded up.
*
* If a 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, where a `tickAmount`
* is applied internally.
*/
max?: (number|null);
/**
* (Highcharts, Highstock, Gantt) 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.
*
* Also the `softThreshold` option takes precedence over `maxPadding`, so if
* the data is tangent to the threshold, `maxPadding` may not apply unless
* `softThreshold` is set to false.
*/
maxPadding?: number;
/**
* (Highcharts) The minimum value of the axis. If `null` the min value is
* automatically calculated.
*
* If the startOnTick option is true (default), the `min` value might be
* rounded down.
*
* The automatically calculated minimum value is also affected by floor,
* softMin, minPadding, minRange as well as series.threshold and
* series.softThreshold.
*/
min?: (number|null);
/**
* (Highcharts) Color for the minor tick marks.
*/
minorTickColor?: ColorType;
/**
* (Highcharts) 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.
*/
minorTickInterval?: ('auto'|number);
/**
* (Highcharts) The pixel length of the minor tick marks.
*/
minorTickLength?: number;
/**
* (Highcharts) The position of the minor tick marks relative to the axis
* line. Can be one of `inside` and `outside`.
*/
minorTickPosition?: OptionsMinorTickPositionValue;
/**
* (Highcharts) Enable or disable minor ticks. The interval between the
* minor ticks can be controlled either by the minorTicksPerMajor setting,
* or as an absolute minorTickInterval value.
*
* On a logarithmic axis, minor ticks are laid out based on a best guess,
* attempting to enter an approximate number of minor ticks between each
* major tick based on minorTicksPerMajor.
*
* Prior to v6.0.0, ticks were enabled in auto layout by setting
* `minorTickInterval` to `"auto"`.
*/
minorTicks?: boolean;
/**
* (Highcharts) The number of minor ticks per major tick. Works for
* `linear`, `logarithmic` and `datetime` axes.
*/
minorTicksPerMajor?: number;
/**
* (Highcharts) The pixel width of the minor tick mark.
*/
minorTickWidth?: number;
/**
* (Highcharts, Highstock, Gantt) Padding of the min 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 lowest data value to appear on the
* edge of the plot area. When the axis' `min` option is set or a max
* extreme is set using `axis.setExtremes()`, the maxPadding will be
* ignored.
*
* Also the `softThreshold` option takes precedence over `minPadding`, so if
* the data is tangent to the threshold, `minPadding` may not apply unless
* `softThreshold` is set to false.
*/
minPadding?: number;
/**
* (Highcharts) The minimum range to display on this axis. The entire axis
* will not be allowed to span over a smaller interval than this. For
* example, for a datetime axis the main unit is milliseconds. If minRange
* is set to 3600000, you can't zoom in more than to one hour.
*
* The default minRange for the x axis is five times the smallest interval
* between any of the data points.
*
* On a logarithmic axis, the unit for the minimum range is the power. So a
* minRange of 1 means that the axis can be zoomed to 10-100, 100-1000,
* 1000-10000 etc.
*
* **Note**: The `minPadding`, `maxPadding`, `startOnTick` and `endOnTick`
* settings also affect how the extremes of the axis are computed.
*/
minRange?: number;
/**
* (Highcharts) The minimum tick interval allowed in axis values. For
* example on zooming in on an axis with daily data, this can be used to
* prevent the axis from showing hours. Defaults to the closest distance
* between two points on the axis.
*/
minTickInterval?: number;
/**
* (Highcharts) The distance in pixels from the plot area to the axis line.
* A positive offset moves the axis with it's line, labels and ticks away
* from the plot area. This is typically used when two or more axes are
* displayed on the same side of the plot. With multiple axes the offset is
* dynamically adjusted to avoid collision, this can be overridden by
* setting offset explicitly.
*/
offset?: number;
/**
* (Highstock, Highcharts, Gantt) Whether to display the axis on the
* opposite side of the normal. The normal is on the left side for vertical
* axes and bottom for horizontal, so the opposite sides will be right and
* top respectively. This is typically used with dual or multiple axes.
*/
opposite?: boolean;
/**
* (Highcharts) Refers to the index in the panes array. Used for circular
* gauges and polar charts. When the option is not set then first pane will
* be used.
*/
pane?: number;
/**
* (Highcharts) Whether to pan axis. If `chart.panning` is enabled, the
* option allows to disable panning on an individual axis.
*/
panningEnabled?: boolean;
/**
* (Highcharts) Whether to reverse the axis so that the highest number is
* closest to the origin.
*/
reversed?: boolean;
/**
* (Highcharts, Highstock) If `true`, the first series in a stack will be
* drawn on top in a positive, non-reversed Y axis. If `false`, the first
* series is in the base of the stack.
*/
reversedStacks?: boolean;
/**
* (Highcharts) Whether to show the axis line and title when the axis has no
* data.
*/
showEmpty?: boolean;
/**
* (Highcharts) Whether to show the first tick label.
*/
showFirstLabel?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to show the last tick label.
*/
showLastLabel?: boolean;
/**
* (Highcharts, Highstock, Gantt) A soft maximum for the axis. If the series
* data maximum is less than this, the axis will stay at this maximum, but
* if the series data maximum is higher, the axis will flex to show all
* data.
*
* **Note**: The series.softThreshold option takes precedence over this
* option.
*/
softMax?: number;
/**
* (Highcharts, Highstock, Gantt) A soft minimum for the axis. If the series
* data minimum is greater than this, the axis will stay at this minimum,
* but if the series data minimum is lower, the axis will flex to show all
* data.
*
* **Note**: The series.softThreshold option takes precedence over this
* option.
*/
softMin?: number;
/**
* (Highcharts) Relevant only for pictorial series. The `stackShadow` forms
* the background of stacked points. Requires `series.stacking` to be
* defined.
*/
stackShadow?: YAxisOptions;
/**
* (Highcharts, Highstock, Gantt) For datetime axes, this decides where to
* put the tick between weeks. 0 = Sunday, 1 = Monday.
*/
startOfWeek?: number;
/**
* (Highcharts, Highstock, Gantt) Whether to force the axis to start on a
* tick. Use this option with the `maxPadding` option to control the axis
* start.
*
* This option is always disabled, when panning type is either `y` or `xy`.
*/
startOnTick?: boolean;
/**
* (Highcharts, Highstock, Gantt) The amount of ticks to draw on the axis.
* This opens up for aligning the ticks of multiple charts or panes within a
* chart. This option overrides the `tickPixelInterval` option.
*
* This option only has an effect on linear axes. Datetime, logarithmic or
* category axes are not affected.
*/
tickAmount?: number;
/**
* (Highcharts) Color for the main tick marks.
*
* In styled mode, the stroke is given in the `.highcharts-tick` class.
*/
tickColor?: ColorType;
/**
* (Highcharts) The interval of the tick marks in axis units. When
* `undefined`, the tick interval is computed to approximately follow the
* tickPixelInterval on linear and datetime axes. On categorized axes, a
* `undefined` tickInterval will default to 1, one category. Note that
* datetime axes are based on milliseconds, so for example an interval of
* one day is expressed as `24 * 3600 * 1000`.
*
* On logarithmic axes, the tickInterval is based on powers, so a
* tickInterval of 1 means one tick on each of 0.1, 1, 10, 100 etc. A
* tickInterval of 2 means a tick of 0.1, 10, 1000 etc. A tickInterval of
* 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20, 40
* etc.
*
* If the tickInterval is too dense for labels to be drawn, Highcharts may
* remove ticks.
*
* If the chart has multiple axes, the alignTicks option may interfere with
* the `tickInterval` setting.
*/
tickInterval?: number;
/**
* (Highcharts) The pixel length of the main tick marks.
*/
tickLength?: number;
/**
* (Highcharts, Gantt) For categorized axes only. If `on` the tick mark is
* placed in the center of the category, if `between` the tick mark is
* placed between categories. The default is `between` if the `tickInterval`
* is 1, else `on`. In order to render tick marks on a category axis it is
* necessary to provide a tickWidth.
*/
tickmarkPlacement?: OptionsTickmarkPlacementValue;
/**
* (Highcharts) If tickInterval is `null` this option sets the approximate
* pixel interval of the tick marks. Not applicable to categorized axis.
*
* The tick interval is also influenced by the minTickInterval option, that,
* by default prevents ticks from being denser than the data points.
*/
tickPixelInterval?: number;
/**
* (Highcharts) The position of the major tick marks relative to the axis
* line. Can be one of `inside` and `outside`.
*/
tickPosition?: OptionsTickPositionValue;
/**
* (Highcharts) A callback function returning array defining where the ticks
* are laid out on the axis. This overrides the default behaviour of
* tickPixelInterval and tickInterval. The automatic tick positions are
* accessible through `this.tickPositions` and can be modified by the
* callback.
*/
tickPositioner?: AxisTickPositionerCallbackFunction;
/**
* (Highcharts) An array defining where the ticks are laid out on the axis.
* This overrides the default behaviour of tickPixelInterval and
* tickInterval.
*/
tickPositions?: Array<number>;
/**
* (Highcharts, Highstock, Gantt) The pixel width of the major tick marks.
*/
tickWidth?: number;
/**
* (Highcharts) Titles for yAxes are taken from xAxis.categories. All
* options for `xAxis.labels` applies to parallel coordinates titles. For
* example, to style categories, use xAxis.labels.style.
*/
title?: ChartParallelAxesTitleOptions;
/**
* (Highcharts) Parallel coordinates only. Format that will be used for
* point.y and available in tooltip.pointFormat as `{point.formattedValue}`.
* If not set, `{point.formattedValue}` will use other options, in this
* order:
*
* 1. yAxis.labels.format will be used if set
*
* 2. If yAxis is a category, then category name will be displayed
*
* 3. If yAxis is a datetime, then value will use the same format as yAxis
* labels
*
* 4. If yAxis is linear/logarithmic type, then simple value will be used
*/
tooltipValueFormat?: string;
/**
* (Highcharts, Highstock) The top position of the Y 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.
*/
top?: (number|string);
/**
* (Highcharts, Gantt) The type of axis. Can be one of `linear`,
* `logarithmic`, `datetime`, `category` or `treegrid`. Defaults to
* `treegrid` for Gantt charts, `linear` for other chart types.
*
* In a datetime axis, the numbers are given in milliseconds, and tick marks
* are placed on appropriate values, like full hours or days. In a category
* or treegrid axis, the point names of the chart's series are used for
* categories, if a categories array is not defined.
*/
type?: AxisTypeValue;
/**
* (Highcharts, Gantt) Applies only when the axis `type` is `category`. When
* `uniqueNames` is true, points are placed on the X axis according to their
* names. If the same point name is repeated in the same or another series,
* the point is placed on the same X position as other points of the same
* name. When `uniqueNames` is false, the points are laid out in increasing
* X positions regardless of their names, and the X axis category will take
* the name of the last point in each position.
*/
uniqueNames?: boolean;
/**
* (Highcharts, Highstock, Gantt) Datetime axis only. An array determining
* what time intervals the ticks are allowed to fall on. Each array item is
* an array where the first value is the time unit and the second value
* another array of allowed multiples.
*
* Defaults to: (see online documentation for example)
*/
units?: Array<[string, (Array<number>|null)]>;
/**
* (Highcharts, Highstock, Gantt) Whether axis, including axis title, line,
* ticks and labels, should be visible.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) The width as the horizontal axis. If it's a
* number, it is interpreted as pixels.
*
* Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
* as percentages of the total plot width.
*/
width?: (number|string);
/**
* (Highcharts) The Z index for the axis group.
*/
zIndex?: number;
/**
* (Highcharts) Whether to zoom axis. If `chart.zoomType` is set, the option
* allows to disable zooming on an individual axis.
*/
zoomEnabled?: boolean;
}
/**
* (Highcharts) Titles for yAxes are taken from xAxis.categories. All options
* for `xAxis.labels` applies to parallel coordinates titles. For example, to
* style categories, use xAxis.labels.style.
*/
export interface ChartParallelAxesTitleOptions {
reserveSpace?: boolean;
text?: string;
/**
* (Highcharts) Alignment of the text, can be `"left"`, `"right"` or
* `"center"`. Default alignment depends on the title.align:
*
* Horizontal axes:
*
* - for `align` = `"low"`, `textAlign` is set to `left`
*
* - for `align` = `"middle"`, `textAlign` is set to `center`
*
* - for `align` = `"high"`, `textAlign` is set to `right`
*
* Vertical axes:
*
* - for `align` = `"low"` and `opposite` = `true`, `textAlign` is set to
* `right`
*
* - for `align` = `"low"` and `opposite` = `false`, `textAlign` is set to
* `left`
*
* - for `align` = `"middle"`, `textAlign` is set to `center`
*
* - for `align` = `"high"` and `opposite` = `true` `textAlign` is set to
* `left`
*
* - for `align` = `"high"` and `opposite` = `false` `textAlign` is set to
* `right`
*/
textAlign?: AlignValue;
}
/**
* Chart position and scale.
*/
export interface ChartPositionObject {
left: number;
scaleX: number;
scaleY: number;
top: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) The button that appears after a
* selection zoom, allowing the user to reset zoom. This option is deprecated in
* favor of zooming.
*
* @deprecated 10.2.1
*/
export interface ChartResetZoomButtonOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The position of the button.
*
* @deprecated 10.2.1
*/
position?: (AlignObject|ChartResetZoomButtonPositionOptions);
/**
* (Highcharts, Highstock, Highmaps, Gantt) What frame the button placement
* should be related to. Can be either `plotBox` or `spacingBox`.
*
* @deprecated 10.2.1
*/
relativeTo?: ButtonRelativeToValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A collection of attributes for
* the button. The object takes SVG attributes like `fill`, `stroke`,
* `stroke-width` or `r`, the border radius. The theme also supports
* `style`, a collection of CSS properties for the text. Equivalent
* attributes for the hover state are given in `theme.states.hover`.
*
* @deprecated 10.2.1
*/
theme?: (ChartResetZoomButtonThemeOptions|SVGAttributes);
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) The position of the button.
*
* @deprecated 10.2.1
*/
export interface ChartResetZoomButtonPositionOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The horizontal alignment of the
* button.
*
* @deprecated 10.2.1
*/
align?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
* button.
*
* @deprecated 10.2.1
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The horizontal offset of the
* button.
*
* @deprecated 10.2.1
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical offset of the
* button.
*
* @deprecated 10.2.1
*/
y?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) A collection of attributes for the
* button. The object takes SVG attributes like `fill`, `stroke`, `stroke-width`
* or `r`, the border radius. The theme also supports `style`, a collection of
* CSS properties for the text. Equivalent attributes for the hover state are
* given in `theme.states.hover`.
*
* @deprecated 10.2.1
*/
export interface ChartResetZoomButtonThemeOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z-index of the button.
*
* @deprecated 10.2.1
*/
zIndex?: number;
}
/**
* (Highcharts, Gantt) Options for a scrollable plot area. This feature provides
* a minimum size for the plot area of the chart. If the size gets smaller than
* this, typically on mobile devices, a native browser scrollbar is presented.
* This scrollbar provides smooth scrolling for the contents of the plot area,
* whereas the title, legend and unaffected axes are fixed.
*
* Since v7.1.2, a scrollable plot area can be defined for either horizontal or
* vertical scrolling, depending on whether the `minWidth` or `minHeight` option
* is set.
*/
export interface ChartScrollablePlotAreaOptions {
/**
* (Highcharts, Gantt) The minimum height for the plot area. If it gets
* smaller than this, the plot area will become scrollable.
*/
minHeight?: number;
/**
* (Highcharts, Gantt) The minimum width for the plot area. If it gets
* smaller than this, the plot area will become scrollable.
*/
minWidth?: number;
/**
* (Highcharts, Gantt) The opacity of mask applied on one of the sides of
* the plot area.
*/
opacity?: number;
/**
* (Highcharts, Gantt) The initial scrolling position of the scrollable plot
* area. Ranges from 0 to 1, where 0 aligns the plot area to the left and 1
* aligns it to the right. Typically we would use 1 if the chart has right
* aligned Y axes.
*/
scrollPositionX?: number;
/**
* (Highcharts, Gantt) The initial scrolling position of the scrollable plot
* area. Ranges from 0 to 1, where 0 aligns the plot area to the top and 1
* aligns it to the bottom.
*/
scrollPositionY?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) The mouse wheel zoom is a feature
* included in Highcharts Stock, but is also available for Highcharts Core as a
* module. Zooming with the mouse wheel is enabled by default in Highcharts
* Stock. In Highcharts Core it is enabled if chart.zooming.type is set. It can
* be disabled by setting this option to `false`.
*/
export interface ChartZoomingMouseWheelOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Zooming with the mouse wheel can
* be disabled by setting this option to `false`.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Adjust the sensitivity of the
* zoom. Sensitivity of mouse wheel or trackpad scrolling. `1` is no
* sensitivity, while with `2`, one mouse wheel delta will zoom in `50%`.
*/
sensitivity?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Decides in what dimensions the
* user can zoom scrolling the wheel. Can be one of `x`, `y` or `xy`. In
* Highcharts Core, if not specified here, it will inherit the type from
* chart.zooming.type. In Highcharts Stock, it defaults to `x`.
*
* Note that particularly with mouse wheel in the y direction, the zoom is
* affected by the default yAxis.startOnTick and endOnTick) settings. In
* order to respect these settings, the zoom level will adjust after the
* user has stopped zooming. To prevent this, consider setting `startOnTick`
* and `endOnTick` to `false`.
*/
type?: OptionsTypeValue;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Chart zooming options.
*/
export interface ChartZoomingOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Set a key to hold when dragging
* to zoom the chart. This is useful to avoid zooming while moving points.
* Should be set different than chart.panKey.
*/
key?: OptionsKeyValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The mouse wheel zoom is a
* feature included in Highcharts Stock, but is also available for
* Highcharts Core as a module. Zooming with the mouse wheel is enabled by
* default in Highcharts Stock. In Highcharts Core it is enabled if
* chart.zooming.type is set. It can be disabled by setting this option to
* `false`.
*/
mouseWheel?: (boolean|object|ChartZoomingMouseWheelOptions);
/**
* (Highcharts, Highstock, Gantt) Equivalent to type, but for multitouch
* gestures only. By default, the `pinchType` is the same as the `type`
* setting. However, pinching can be enabled separately in some cases, for
* example in stock charts where a mouse drag pans the chart, while pinching
* is enabled. When tooltip.followTouchMove is true, pinchType only applies
* to two-finger touches.
*/
pinchType?: OptionsPinchTypeValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The button that appears after a
* selection zoom, allowing the user to reset zoom.
*/
resetButton?: ChartZoomingResetButtonOptions;
/**
* (Highcharts, Highstock, Gantt) Enables zooming by a single touch, in
* combination with chart.zooming.type. When enabled, two-finger pinch will
* still work as set up by [chart.zooming.pinchType]
* (#chart.zooming.pinchType). However, `singleTouch` will interfere with
* touch-dragging the chart to read the tooltip. And especially when
* vertical zooming is enabled, it will make it hard to scroll vertically on
* the page.
*/
singleTouch?: boolean;
/**
* (Highcharts, Highstock, Gantt) Decides in what dimensions the user can
* zoom by dragging the mouse. Can be one of `x`, `y` or `xy`.
*/
type?: OptionsChartZoomingTypeValue;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) The button that appears after a
* selection zoom, allowing the user to reset zoom.
*/
export interface ChartZoomingResetButtonOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The position of the button.
*
* Note: Adjusting position values might cause overlap with chart elements.
* Ensure coordinates do not obstruct other components or data visibility.
*/
position?: (AlignObject|ChartZoomingResetButtonPositionOptions);
/**
* (Highcharts, Highstock, Highmaps, Gantt) What frame the button placement
* should be related to. Can be either `plotBox` or `spacingBox`.
*/
relativeTo?: ButtonRelativeToValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A collection of attributes for
* the button. The object takes SVG attributes like `fill`, `stroke`,
* `stroke-width` or `r`, the border radius. The theme also supports
* `style`, a collection of CSS properties for the text. Equivalent
* attributes for the hover state are given in `theme.states.hover`.
*/
theme?: SVGAttributes;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) The position of the button.
*
* Note: Adjusting position values might cause overlap with chart elements.
* Ensure coordinates do not obstruct other components or data visibility.
*/
export interface ChartZoomingResetButtonPositionOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The horizontal alignment of the
* button.
*/
align?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
* button.
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The horizontal offset of the
* button.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical offset of the
* button.
*/
y?: number;
}
/**
* Interface description for a class.
*/
export interface Class<T> extends Function {
/**
* Class constructor.
*
* @param args
* Constructor arguments.
*
* @return Class instance.
*/
new(...args: Array<any>): T;
}
/**
* (Highcharts, Highstock, Highmaps) An array of data classes or ranges for the
* choropleth map. If none given, the color axis is scalar and values are
* distributed as a gradient between the minimum and maximum colors.
*/
export interface ColorAxisDataClassesOptions {
/**
* (Highcharts, Highstock, Highmaps) The color of each data class. If not
* set, the color is pulled from the global or chart-specific colors array.
* In styled mode, this option is ignored. Instead, use colors defined in
* CSS.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps) The start of the value range that the
* data class represents, relating to the point value.
*
* The range of each `dataClass` is closed in both ends, but can be
* overridden by the next `dataClass`.
*/
from?: number;
/**
* (Highcharts, Highstock, Highmaps) The name of the data class as it
* appears in the legend. If no name is given, it is automatically created
* based on the `from` and `to` values. For full programmatic control,
* legend.labelFormatter can be used. In the formatter, `this.from` and
* `this.to` can be accessed.
*/
name?: string;
/**
* (Highcharts, Highstock, Highmaps) The end of the value range that the
* data class represents, relating to the point value.
*
* The range of each `dataClass` is closed in both ends, but can be
* overridden by the next `dataClass`.
*/
to?: number;
}
/**
* (Highcharts, Highstock, Highmaps) Event handlers for the axis.
*/
export interface ColorAxisEventsOptions {
/**
* (Highcharts, Highstock, Highmaps) 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`.
*/
afterSetExtremes?: AxisSetExtremesEventCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps) Fires when the legend item belonging to
* the colorAxis is clicked. One parameter, `event`, is passed to the
* function.
*/
legendItemClick?: Function;
/**
* (Highcharts, Highstock, Gantt) An event fired when a point is outside a
* break after zoom.
*/
pointBreakOut?: AxisPointBreakEventCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps) 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`.
*/
setExtremes?: AxisSetExtremesEventCallbackFunction;
}
/**
* (Highcharts, Highstock, Highmaps) The axis labels show the number for each
* tick.
*
* For more live examples on label options, see xAxis.labels in the Highcharts
* API.
*/
export interface ColorAxisLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps) 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.
*/
align?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps) Whether to allow the axis labels to
* overlap. When false, overlapping labels are hidden.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Gantt) 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.
*/
autoRotation?: Array<number>;
/**
* (Highcharts, Gantt) 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.
*/
autoRotationLimit?: number;
/**
* (Highcharts, Gantt) 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.
*/
distance?: number;
/**
* (Highcharts, Highstock, Highmaps) Enable or disable the axis labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps) 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 for more examples of formatting.
*
* The default value is not specified due to the dynamic nature of the
* default implementation.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps) 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.
*/
formatter?: AxisLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps) How to handle overflowing labels on
* horizontal color 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.
*/
overflow?: OptionsOverflowValue;
/**
* (Highcharts, Gantt) The pixel padding for axis labels, to ensure white
* space between them.
*/
padding?: number;
/**
* (Highcharts) Defines how the labels are be repositioned according to the
* 3D chart orientation.
*
* - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
* marks, despite the chart orientation. This is the backwards compatible
* behavior, and causes skewing of X and Z axes.
*
* - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
* but hard to read if the text isn't forward-facing.
*
* - `'flap'`: Rotated text along the axis to compensate for the chart
* orientation. This tries to maintain text as legible as possible on all
* orientations.
*
* - `'ortho'`: Rotated text along the axis direction so that the labels are
* orthogonal to the axis. This is very similar to `'flap'`, but prevents
* skewing the labels (X and Y scaling are still present).
*/
position3d?: OptionsPosition3dValue;
/**
* (Highcharts, Highstock, Gantt) 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.
*/
reserveSpace?: boolean;
/**
* (Highcharts, Highstock, Highmaps) Rotation of the labels in degrees. When
* `undefined`, the `autoRotation` option takes precedence.
*/
rotation?: number;
/**
* (Highcharts) If enabled, the axis labels will skewed to follow the
* perspective.
*
* This will fix overlapping labels and titles, but texts become less
* legible due to the distortion.
*
* The final appearance depends heavily on `labels.position3d`.
*/
skew3d?: boolean;
/**
* (Highcharts, Highstock, Highmaps) Horizontal axes only. The number of
* lines to spread the labels over to make room or tighter labels. 0
* disables staggering.
*/
staggerLines?: number;
/**
* (Highcharts, Highstock, Highmaps) 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 => What axis should I use?
*/
step?: number;
/**
* (Highcharts, Highstock, Highmaps) CSS styles for the label. Use
* `whiteSpace: 'nowrap'` to prevent wrapping of category labels. Use
* `textOverflow: 'none'` to prevent ellipsis (dots).
*
* In styled mode, the labels are styled with the `.highcharts-axis-labels`
* class.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps) Whether to use HTML to render the
* labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps) The x position offset of all labels
* relative to the tick positions on the axis. Overrides the
* `labels.distance` option.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps) The y position offset of all labels
* relative to the tick positions on the axis. Overrides the
* `labels.distance` option.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps) The Z index for the axis labels.
*/
zIndex?: number;
}
/**
* (Highcharts, Highstock, Highmaps) A color axis for series. Visually, the
* color axis will appear as a gradient or as separate items inside the legend,
* depending on whether the axis is scalar or based on data classes.
*
* For supported color formats, see the docs article about colors.
*
* A scalar color axis is represented by a gradient. The colors either range
* between the minColor and the maxColor, or for more fine grained control the
* colors can be defined in stops. Often times, the color axis needs to be
* adjusted to get the right color spread for the data. In addition to stops,
* consider using a logarithmic axis type, or setting min and max to avoid the
* colors being determined by outliers.
*
* When dataClasses are used, the ranges are subdivided into separate classes
* like categories based on their values. This can be used for ranges between
* two values, but also for a true category. However, when your data is
* categorized, it may be as convenient to add each category to a separate
* series.
*
* Color axis does not work with: `sankey`, `sunburst`, `dependencywheel`,
* `networkgraph`, `wordcloud`, `venn`, `gauge` and `solidgauge` series types.
*
* Since v7.2.0 `colorAxis` can also be an array of options objects.
*
* See the Axis object for programmatic access to the axis.
*/
export interface ColorAxisOptions {
/**
* (Highcharts, Highstock, Highmaps) Accessibility options for an axis.
* Requires the accessibility module.
*/
accessibility?: AxisAccessibilityOptionsObject;
/**
* (Highcharts, Highstock, Highmaps) Whether to allow decimals on the color
* axis.
*/
allowDecimals?: boolean;
/**
* (Highcharts) In a polar chart, this is the angle of the Y axis in
* degrees, where 0 is up and 90 is right. The angle determines the position
* of the axis line and the labels, though the coordinate system is
* unaffected. Since v8.0.0 this option is also applicable for X axis
* (inverted polar).
*/
angle?: number;
/**
* (Highcharts, Highstock, Gantt) The highest allowed value for
* automatically computed axis extremes.
*/
ceiling?: number;
/**
* (Highcharts, Highstock, Highmaps) 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.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps) 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.
*/
crossing?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines how to set each data class'
* color if no individual color is set. The default value, `tween`, computes
* intermediate colors between `minColor` and `maxColor`. The other possible
* value, `category`, pulls colors from the global or chart specific colors
* array.
*/
dataClassColor?: OptionsDataClassColorValue;
/**
* (Highcharts, Highstock, Highmaps) An array of data classes or ranges for
* the choropleth map. If none given, the color axis is scalar and values
* are distributed as a gradient between the minimum and maximum colors.
*/
dataClasses?: Array<ColorAxisDataClassesOptions>;
/**
* (Highcharts, Highstock, Highmaps) Whether to force the axis to end on a
* tick. Use this option with the maxPadding option to control the axis end.
*/
endOnTick?: boolean;
/**
* (Highcharts, Highstock, Highmaps) Event handlers for the axis.
*/
events?: ColorAxisEventsOptions;
/**
* (Highcharts, Highstock, Gantt) The lowest allowed value for automatically
* computed axis extremes.
*/
floor?: number;
/**
* (Highcharts, Highstock, Highmaps) Color of the grid lines extending from
* the axis across the gradient.
*/
gridLineColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps) The dash or dot style of the grid
* lines. For possible values, see this demonstration.
*/
gridLineDashStyle?: DashStyleValue;
/**
* (Highcharts) Polar charts only. Whether the grid lines should draw as a
* polygon with straight lines between categories, or as circles. Can be
* either `circle` or `polygon`. Since v8.0.0 this option is also applicable
* for X axis (inverted polar).
*/
gridLineInterpolation?: OptionsGridLineInterpolationValue;
/**
* (Highcharts, Highstock, Highmaps) The width of the grid lines extending
* from the axis across the gradient of a scalar color axis.
*/
gridLineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The Z index of the grid lines.
*/
gridZIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) The height of the color axis. If it's a
* number, it is interpreted as pixels.
*
* If it's a percentage string, it is interpreted as percentages of the
* total plot height.
*/
height?: (number|string);
/**
* (Highcharts, Highstock, Highmaps) An id for the axis. This can be used
* after render time to get a pointer to the axis object through
* `chart.get()`.
*/
id?: string;
/**
* (Highcharts, Highstock, Highmaps) The axis labels show the number for
* each tick.
*
* For more live examples on label options, see xAxis.labels in the
* Highcharts API.
*/
labels?: ColorAxisLabelsOptions;
/**
* (Highcharts, Highstock, Highmaps) The layout of the color axis. Can be
* `'horizontal'` or `'vertical'`. If none given, the color axis has the
* same layout as the legend.
*/
layout?: (string|undefined);
/**
* (Highcharts, Highstock, Highmaps) The color of the line marking the axis
* itself.
*
* In styled mode, the line stroke is given in the `.highcharts-axis-line`
* or `.highcharts-xaxis-line` class.
*/
lineColor?: ColorType;
/**
* (Highcharts, Highstock, Highmaps) If there are multiple axes on the same
* side of the chart, the pixel margin between the axes. Defaults to 0 on
* vertical axes, 15 on horizontal axes.
*/
margin?: number;
/**
* (Highcharts, Highstock, Highmaps) The triangular marker on a scalar color
* axis that points to the value of the hovered area. To disable the marker,
* set `marker: null`.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highcharts, Highstock, Highmaps) The maximum value of the axis in terms
* of map point values. If `null`, the max value is automatically
* calculated. If the `endOnTick` option is true, the max value might be
* rounded up.
*/
max?: number;
/**
* (Highcharts, Highstock, Highmaps) The color to represent the maximum of
* the color axis. Unless dataClasses or stops are set, the gradient ends at
* this value.
*
* If dataClasses are set, the color is based on minColor and maxColor
* unless a color is set for each data class, or the dataClassColor is set.
*/
maxColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps) Padding of the max value relative to
* the length of the axis. A padding of 0.05 will make a 100px axis 5px
* longer.
*/
maxPadding?: number;
/**
* (Highstock, Gantt) Maximum range which can be set using the navigator's
* handles. Opposite of xAxis.minRange.
*/
maxRange?: number;
/**
* (Highcharts, Highstock, Highmaps) The minimum value of the axis in terms
* of map point values. If `null`, the min value is automatically
* calculated. If the `startOnTick` option is true, the min value might be
* rounded down.
*/
min?: number;
/**
* (Highcharts, Highstock, Highmaps) The color to represent the minimum of
* the color axis. Unless dataClasses or stops are set, the gradient starts
* at this value.
*
* If dataClasses are set, the color is based on minColor and maxColor
* unless a color is set for each data class, or the dataClassColor is set.
*/
minColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps) Color of the minor, secondary grid
* lines.
*
* In styled mode, the stroke width is given in the
* `.highcharts-minor-grid-line` class.
*/
minorGridLineColor?: ColorType;
/**
* (Highcharts, Highstock, Highmaps) The dash or dot style of the minor grid
* lines. For possible values, see this demonstration.
*/
minorGridLineDashStyle?: DashStyleValue;
/**
* (Highcharts, Highstock, Highmaps) Width of the minor, secondary grid
* lines.
*
* In styled mode, the stroke width is given in the `.highcharts-grid-line`
* class.
*/
minorGridLineWidth?: number;
/**
* (Highcharts, Highstock, Highmaps) Color for the minor tick marks.
*/
minorTickColor?: ColorType;
/**
* (Highcharts, Highstock, Highmaps) 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.
*/
minorTickInterval?: ('auto'|number);
/**
* (Highcharts, Highstock, Highmaps) The pixel length of the minor tick
* marks.
*/
minorTickLength?: number;
/**
* (Highcharts, Highstock, Highmaps) The position of the minor tick marks
* relative to the axis line. Can be one of `inside` and `outside`.
*/
minorTickPosition?: OptionsMinorTickPositionValue;
/**
* (Highcharts, Highstock, Highmaps) Enable or disable minor ticks. The
* interval between the minor ticks can be controlled either by the
* minorTicksPerMajor setting, or as an absolute minorTickInterval value.
*
* On a logarithmic axis, minor ticks are laid out based on a best guess,
* attempting to enter an approximate number of minor ticks between each
* major tick based on minorTicksPerMajor.
*
* Prior to v6.0.0, ticks were enabled in auto layout by setting
* `minorTickInterval` to `"auto"`.
*/
minorTicks?: boolean;
/**
* (Highcharts, Highstock, Highmaps) The number of minor ticks per major
* tick. Works for `linear`, `logarithmic` and `datetime` axes.
*/
minorTicksPerMajor?: number;
/**
* (Highcharts, Highstock, Highmaps) The pixel width of the minor tick mark.
*/
minorTickWidth?: number;
/**
* (Highcharts, Highstock, Highmaps) Padding of the min value relative to
* the length of the axis. A padding of 0.05 will make a 100px axis 5px
* longer.
*/
minPadding?: number;
/**
* (Highstock) In an ordinal axis, the points are equally spaced in the
* chart regardless of the actual time or x distance between them. This
* means that missing data periods (e.g. nights or weekends for a stock
* chart) will not take up space in the chart. Having `ordinal: false` will
* show any gaps created by the `gapSize` setting proportionate to their
* duration.
*
* In stock charts the X axis is ordinal by default, unless the boost module
* is used and at least one of the series' data length exceeds the
* boostThreshold.
*
* For an ordinal axis, `minPadding` and `maxPadding` are ignored. Use
* overscroll instead.
*/
ordinal?: boolean;
/**
* (Highstock) Additional range on the right side of the xAxis. Works
* similar to `xAxis.maxPadding`, but the value is set in terms of axis
* values, percentage or pixels.
*
* If it's a number, it is interpreted as axis values, which in a datetime
* axis equals milliseconds.
*
* If it's a percentage string, is interpreted as percentages of axis
* length. An overscroll of 50% will make a 100px axis 50px longer.
*
* If it's a pixel string, it is interpreted as a fixed pixel value, but
* limited to 90% of the axis length.
*/
overscroll?: (number|string);
/**
* (Highcharts, Highstock, Highmaps) Whether to pan axis. If `chart.panning`
* is enabled, the option allows to disable panning on an individual axis.
*/
panningEnabled?: boolean;
/**
* (Highstock) The zoomed range to display when only defining one or none of
* `min` or `max`. For example, to show the latest month, a range of one
* month can be set.
*/
range?: number;
/**
* (Highcharts, Highstock, Highmaps) Whether to reverse the axis so that the
* highest number is closest to the origin. Defaults to `false` in a
* horizontal legend and `true` in a vertical legend, where the smallest
* value starts on top.
*/
reversed?: boolean;
/**
* (Highcharts, Highstock, Highmaps) Whether to show the first tick label.
*/
showFirstLabel?: boolean;
/**
* (Highcharts, Highstock, Highmaps) Whether to display the colorAxis in the
* legend.
*/
showInLegend?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to show the last tick label.
* Defaults to `true` on cartesian charts, and `false` on polar charts.
*/
showLastLabel?: boolean;
/**
* (Highcharts, Highstock, Gantt) A soft maximum for the axis. If the series
* data maximum is less than this, the axis will stay at this maximum, but
* if the series data maximum is higher, the axis will flex to show all
* data.
*/
softMax?: number;
/**
* (Highcharts, Highstock, Gantt) A soft minimum for the axis. If the series
* data minimum is greater than this, the axis will stay at this minimum,
* but if the series data minimum is lower, the axis will flex to show all
* data.
*/
softMin?: number;
/**
* (Highcharts, Highstock, Gantt) For datetime axes, this decides where to
* put the tick between weeks. 0 = Sunday, 1 = Monday.
*/
startOfWeek?: number;
/**
* (Highcharts, Highstock, Highmaps) Whether to force the axis to start on a
* tick. Use this option with the `maxPadding` option to control the axis
* start.
*/
startOnTick?: boolean;
/**
* (Highcharts, Highstock, Highmaps) Color stops for the gradient of a
* scalar color axis. Use this in cases where a linear gradient between a
* `minColor` and `maxColor` is not sufficient. The stops is an array of
* tuples, where the first item is a float between 0 and 1 assigning the
* relative position in the gradient, and the second item is the color.
*/
stops?: Array<[number, ColorString]>;
/**
* (Highcharts, Highstock, Gantt) The amount of ticks to draw on the axis.
* This opens up for aligning the ticks of multiple charts or panes within a
* chart. This option overrides the `tickPixelInterval` option.
*
* This option only has an effect on linear axes. Datetime, logarithmic or
* category axes are not affected.
*/
tickAmount?: number;
/**
* (Highcharts, Highstock, Highmaps) Color for the main tick marks.
*
* In styled mode, the stroke is given in the `.highcharts-tick` class.
*/
tickColor?: ColorType;
/**
* (Highcharts, Highstock, Highmaps) The interval of the tick marks in axis
* units. When `null`, the tick interval is computed to approximately follow
* the `tickPixelInterval`.
*/
tickInterval?: number;
/**
* (Highcharts, Highstock, Highmaps) The pixel length of the main tick marks
* on the color axis.
*/
tickLength?: number;
/**
* (Highcharts, Gantt) For categorized axes only. If `on` the tick mark is
* placed in the center of the category, if `between` the tick mark is
* placed between categories. The default is `between` if the `tickInterval`
* is 1, else `on`. In order to render tick marks on a category axis it is
* necessary to provide a tickWidth.
*/
tickmarkPlacement?: OptionsTickmarkPlacementValue;
/**
* (Highcharts, Highstock, Highmaps) If tickInterval is `null` this option
* sets the approximate pixel interval of the tick marks.
*/
tickPixelInterval?: number;
/**
* (Highcharts, Highstock, Highmaps) The position of the major tick marks
* relative to the axis line. Can be one of `inside` and `outside`.
*/
tickPosition?: OptionsTickPositionValue;
/**
* (Highcharts, Highstock, Highmaps) A callback function returning array
* defining where the ticks are laid out on the axis. This overrides the
* default behaviour of tickPixelInterval and tickInterval. The automatic
* tick positions are accessible through `this.tickPositions` and can be
* modified by the callback.
*/
tickPositioner?: AxisTickPositionerCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps) An array defining where the ticks are
* laid out on the axis. This overrides the default behaviour of
* tickPixelInterval and tickInterval.
*/
tickPositions?: Array<number>;
/**
* (Highcharts, Highstock, Highmaps) The pixel width of the major tick
* marks. Defaults to 0 on category axes, otherwise 1.
*
* In styled mode, the stroke width is given in the `.highcharts-tick`
* class, but in order for the element to be generated on category axes, the
* option must be explicitly set to 1.
*/
tickWidth?: (number|undefined);
/**
* (Highcharts, Highstock, Highmaps) The type of interpolation to use for
* the color axis. Can be `linear` or `logarithmic`.
*/
type?: ColorAxisTypeValue;
/**
* (Highcharts, Gantt) Applies only when the axis `type` is `category`. When
* `uniqueNames` is true, points are placed on the X axis according to their
* names. If the same point name is repeated in the same or another series,
* the point is placed on the same X position as other points of the same
* name. When `uniqueNames` is false, the points are laid out in increasing
* X positions regardless of their names, and the X axis category will take
* the name of the last point in each position.
*/
uniqueNames?: boolean;
/**
* (Highcharts, Highstock, Gantt) Datetime axis only. An array determining
* what time intervals the ticks are allowed to fall on. Each array item is
* an array where the first value is the time unit and the second value
* another array of allowed multiples.
*
* Defaults to: (see online documentation for example)
*/
units?: Array<[string, (Array<number>|null)]>;
/**
* (Highcharts, Highstock, Gantt) Whether axis, including axis title, line,
* ticks and labels, should be visible.
*/
visible?: boolean;
/**
* (Highcharts, Highstock, Highmaps) The width of the color axis. If it's a
* number, it is interpreted as pixels.
*
* If it's a percentage string, it is interpreted as percentages of the
* total plot width.
*/
width?: (number|string);
/**
* (Highcharts, Highstock, Highmaps) The Z index for the axis group.
*/
zIndex?: number;
}
export interface ConnectorsAnimationOptionsObject {
reversed?: boolean;
}
/**
* (Gantt) Marker options specific to the end markers for this chart's
* Pathfinder connectors. Overrides the generic marker options.
*/
export interface ConnectorsEndMarkerOptions {
/**
* (Gantt) Horizontal alignment of the markers relative to the points.
*/
align?: (string|AlignValue);
/**
* (Gantt) Set the color of the connector markers. By default this is the
* same as the connector color.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Gantt) Enable markers for the connectors.
*/
enabled?: boolean;
/**
* (Gantt) Set the height of the connector markers. If not supplied, this is
* inferred from the marker radius.
*/
height?: number;
/**
* (Gantt) Whether or not to draw the markers inside the points.
*/
inside?: boolean;
/**
* (Gantt) Set the line/border color of the connector markers. By default
* this is the same as the marker color.
*/
lineColor?: ColorString;
/**
* (Gantt) Set the line/border width of the pathfinder markers.
*/
lineWidth?: number;
/**
* (Gantt) Set the radius of the connector markers. The default is
* automatically computed based on the algorithmMargin setting.
*
* Setting marker.width and marker.height will override this setting.
*/
radius?: number;
/**
* (Gantt) Set the symbol of the connector end markers.
*/
symbol?: string;
/**
* (Gantt) Vertical alignment of the markers relative to the points.
*/
verticalAlign?: VerticalAlignValue;
/**
* (Gantt) Set the width of the connector markers. If not supplied, this is
* inferred from the marker radius.
*/
width?: number;
}
/**
* (Gantt) Marker options for this chart's Pathfinder connectors. Note that this
* option is overridden by the `startMarker` and `endMarker` options.
*/
export interface ConnectorsMarkerOptions {
/**
* (Gantt) Horizontal alignment of the markers relative to the points.
*/
align?: AlignValue;
/**
* (Gantt) Set the color of the connector markers. By default this is the
* same as the connector color.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Gantt) Enable markers for the connectors.
*/
enabled?: boolean;
/**
* (Gantt) Set the height of the connector markers. If not supplied, this is
* inferred from the marker radius.
*/
height?: number;
/**
* (Gantt) Whether or not to draw the markers inside the points.
*/
inside?: boolean;
/**
* (Gantt) Set the line/border color of the connector markers. By default
* this is the same as the marker color.
*/
lineColor?: ColorString;
/**
* (Gantt) Set the line/border width of the pathfinder markers.
*/
lineWidth?: number;
/**
* (Gantt) Set the radius of the connector markers. The default is
* automatically computed based on the algorithmMargin setting.
*
* Setting marker.width and marker.height will override this setting.
*/
radius?: number;
/**
* (Gantt) Vertical alignment of the markers relative to the points.
*/
verticalAlign?: VerticalAlignValue;
/**
* (Gantt) Set the width of the connector markers. If not supplied, this is
* inferred from the marker radius.
*/
width?: number;
}
/**
* (Gantt) The Pathfinder module allows you to define connections between any
* two points, represented as lines - optionally with markers for the start
* and/or end points. Multiple algorithms are available for calculating how the
* connecting lines are drawn.
*
* Connector functionality requires Highcharts Gantt to be loaded. In Gantt
* charts, the connectors are used to draw dependencies between tasks.
*/
export interface ConnectorsOptions {
/**
* (Gantt) Set the default pathfinder margin to use, in pixels. Some
* Pathfinder algorithms attempt to avoid obstacles, such as other points in
* the chart. These algorithms use this margin to determine how close lines
* can be to an obstacle. The default is to compute this automatically from
* the size of the obstacles in the chart.
*
* To draw connecting lines close to existing points, set this to a low
* number. For more space around existing points, set this number higher.
*/
algorithmMargin?: number;
/**
* (Gantt) Set the default dash style for this chart's connecting lines.
*/
dashStyle?: string;
/**
* (Gantt) Enable connectors for this chart. Requires Highcharts Gantt.
*/
enabled?: boolean;
/**
* (Gantt) Marker options specific to the end markers for this chart's
* Pathfinder connectors. Overrides the generic marker options.
*/
endMarker?: ConnectorsEndMarkerOptions;
/**
* (Gantt) Set the default color for this chart's Pathfinder connecting
* lines. Defaults to the color of the point being connected.
*/
lineColor?: ColorString;
/**
* (Gantt) Set the default pixel width for this chart's Pathfinder
* connecting lines.
*/
lineWidth?: number;
/**
* (Gantt) Marker options for this chart's Pathfinder connectors. Note that
* this option is overridden by the `startMarker` and `endMarker` options.
*/
marker?: ConnectorsMarkerOptions;
/**
* (Gantt) The corner radius for the connector line.
*/
radius?: number;
/**
* (Gantt) Marker options specific to the start markers for this chart's
* Pathfinder connectors. Overrides the generic marker options.
*/
startMarker?: ConnectorsStartMarkerOptions;
/**
* (Gantt) Set the default pathfinder algorithm to use for this chart. It is
* possible to define your own algorithms by adding them to the
* Highcharts.Pathfinder.prototype.algorithms object before the chart has
* been created.
*
* The default algorithms are as follows:
*
* `straight`: Draws a straight line between the connecting points. Does not
* avoid other points when drawing.
*
* `simpleConnect`: Finds a path between the points using right angles only.
* Takes only starting/ending points into account, and will not avoid other
* points.
*
* `fastAvoid`: Finds a path between the points using right angles only.
* Will attempt to avoid other points, but its focus is performance over
* accuracy. Works well with less dense datasets.
*
* Default value: `straight` is used as default for most series types, while
* `simpleConnect` is used as default for Gantt series, to show dependencies
* between points.
*/
type?: PathfinderTypeValue;
}
/**
* (Gantt) Marker options specific to the start markers for this chart's
* Pathfinder connectors. Overrides the generic marker options.
*/
export interface ConnectorsStartMarkerOptions {
/**
* (Gantt) Horizontal alignment of the markers relative to the points.
*/
align?: (string|AlignValue);
/**
* (Gantt) Set the color of the connector markers. By default this is the
* same as the connector color.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Gantt) Enable markers for the connectors.
*/
enabled?: boolean;
fill?: string;
/**
* (Gantt) Set the height of the connector markers. If not supplied, this is
* inferred from the marker radius.
*/
height?: number;
/**
* (Gantt) Whether or not to draw the markers inside the points.
*/
inside?: boolean;
/**
* (Gantt) Set the line/border color of the connector markers. By default
* this is the same as the marker color.
*/
lineColor?: ColorString;
/**
* (Gantt) Set the line/border width of the pathfinder markers.
*/
lineWidth?: number;
/**
* (Gantt) Set the radius of the connector markers. The default is
* automatically computed based on the algorithmMargin setting.
*
* Setting marker.width and marker.height will override this setting.
*/
radius?: number;
/**
* (Gantt) Set the symbol of the connector start markers.
*/
symbol?: string;
/**
* (Gantt) Vertical alignment of the markers relative to the points.
*/
verticalAlign?: VerticalAlignValue;
/**
* (Gantt) Set the width of the connector markers. If not supplied, this is
* inferred from the marker radius.
*/
width?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Highchart by default puts a credits
* label in the lower right corner of the chart. This can be changed using these
* options.
*/
export interface CreditsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to show the credits
* text.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The URL for the credits label.
*/
href?: string;
/**
* (Highmaps) Credits for map source to be concatenated with conventional
* credit text. By default this is a format string that collects copyright
* information from the map if available.
*/
mapText?: string;
/**
* (Highmaps) Detailed credits for map source to be displayed on hover of
* credits text. By default this is a format string that collects copyright
* information from the map if available.
*/
mapTextFull?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Position configuration for the
* credits label.
*/
position?: AlignObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the credits
* label.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The text for the credits label.
*/
text?: string;
}
/**
* A style object with camel case property names to define visual appearance of
* a SVG element or HTML element. The properties can be whatever styles are
* supported on the given SVG or HTML element.
*/
export interface CSSObject {
[key: string]: (boolean|number|string|undefined);
/**
* Background style for the element.
*/
background?: string;
/**
* Background color of the element.
*/
backgroundColor?: ColorString;
/**
* Border style for the element.
*/
border?: string;
/**
* Radius of the element border.
*/
borderRadius?: number;
/**
* Color used in the element. The 'contrast' option is a Highcharts custom
* property that results in black or white, depending on the background of
* the element.
*/
color?: ('contrast'|ColorString);
/**
* Style of the mouse cursor when resting over the element.
*/
cursor?: CursorValue;
/**
* Font family of the element text. Multiple values have to be in decreasing
* preference order and separated by comma.
*/
fontFamily?: string;
/**
* Font size of the element text.
*/
fontSize?: string;
/**
* Font weight of the element text.
*/
fontWeight?: string;
/**
* Height of the element.
*/
height?: number;
/**
* Width of the element border.
*/
lineWidth?: number;
/**
* Opacity of the element.
*/
opacity?: number;
/**
* Space around the element content.
*/
padding?: string;
/**
* Behaviour of the element when the mouse cursor rests over it.
*/
pointerEvents?: string;
/**
* Positioning of the element.
*/
position?: string;
/**
* Alignment of the element text.
*/
textAlign?: string;
/**
* Additional decoration of the element text.
*/
textDecoration?: string;
/**
* Outline style of the element text.
*/
textOutline?: string;
/**
* Line break style of the element text. Highcharts SVG elements support
* `ellipsis` when a `width` is set.
*/
textOverflow?: string;
/**
* Top spacing of the element relative to the parent element.
*/
top?: string;
/**
* Animated transition of selected element properties.
*/
transition?: string;
/**
* Line break style of the element text.
*/
whiteSpace?: string;
/**
* Width of the element.
*/
width?: number;
}
/**
* (Gantt) Show an indicator on the axis for the current date and time. Can be a
* boolean or a configuration object similar to xAxis.plotLines.
*/
export interface CurrentDateIndicatorOptions {
/**
* (Gantt) A custom class name, in addition to the default
* `highcharts-plot-line`, to apply to each individual line.
*/
className?: string;
/**
* (Gantt) The color of the line.
*/
color?: ColorString;
/**
* (Gantt) The dashing or dot style for the plot line. For possible values
* see this overview.
*/
dashStyle?: DashStyleValue;
/**
* (Gantt) An object defining mouse events for the plot line. Supported
* properties are `click`, `mouseover`, `mouseout`, `mousemove`.
*/
events?: (NavigatorXAxisCurrentDateIndicatorEventsOptions|XAxisCurrentDateIndicatorEventsOptions);
/**
* (Gantt) An id used for identifying the plot line in Axis.removePlotLine.
*/
id?: string;
/**
* (Gantt) Text labels for the plot bands
*/
label?: (NavigatorXAxisCurrentDateIndicatorLabelOptions|XAxisCurrentDateIndicatorLabelOptions);
labels?: (NavigatorXAxisCurrentDateIndicatorLabelsOptions|XAxisCurrentDateIndicatorLabelsOptions);
/**
* (Gantt) The width or thickness of the plot line.
*/
width?: number;
/**
* (Gantt) The z index of the plot line within the chart.
*/
zIndex?: number;
}
/**
* (Highstock) A custom data grouping object for each button.
*/
export interface DataGroupingOptionsObject {
/**
* (Highstock) Specifies how the points should be located on the X axis
* inside the group. Points that are extremes can be set separately.
* Available options:
*
* - `start` places the point at the beginning of the group (e.g. range
* 00:00:00 - 23:59:59 -> 00:00:00)
*
* - `middle` places the point in the middle of the group (e.g. range
* 00:00:00 - 23:59:59 -> 12:00:00)
*
* - `end` places the point at the end of the group (e.g. range 00:00:00 -
* 23:59:59 -> 23:59:59)
*/
anchor?: (string|DataGroupingAnchor);
/**
* (Highstock) The method of approximation inside a group. When for example
* 30 days are grouped into one month, this determines what value should
* represent the group. Possible values are "average", "averages", "open",
* "high", "low", "close" and "sum". For OHLC and candlestick series the
* approximation is "ohlc" by default, which finds the open, high, low and
* close values within all the grouped data. For ranges, the approximation
* is "range", which finds the low and high values. For multi-dimensional
* data, like ranges and OHLC, "averages" will compute the average for each
* dimension.
*
* Custom aggregate methods can be added by assigning a callback function as
* the approximation. This function takes a numeric array as the argument
* and should return a single numeric value or `null`. Note that the numeric
* array will never contain null values, only true numbers. Instead, if null
* values are present in the raw data, the numeric array will have an
* `.hasNulls` property set to `true`. For single-value data sets the data
* is available in the first argument of the callback function. For OHLC
* data sets, all the open values are in the first argument, all high values
* in the second etc.
*
* Since v4.2.7, grouping meta data is available in the approximation
* callback from `this.dataGroupInfo`. It can be used to extract information
* from the raw data.
*
* Defaults to `average` for line-type series, `sum` for columns, `range`
* for range series, `hlc` for HLC, and `ohlc` for OHLC and candlestick.
*/
approximation?: (string|DataGroupingApproximationValue|Function);
/**
* (Highstock) Datetime formats for the header of the tooltip in a stock
* chart. The format can vary within a chart depending on the currently
* selected time range and the current data grouping.
*
* The default formats are: (see online documentation for example)
*
* For each of these array definitions, the first item is the format used
* when the active time span is one unit. For instance, if the current data
* applies to one week, the first item of the week array is used. The second
* and third items are used when the active time span is more than two
* units. For instance, if the current data applies to two weeks, the second
* and third item of the week array are used, and applied to the start and
* end date of the time span.
*/
dateTimeLabelFormats?: object;
/**
* (Highstock) Enable or disable data grouping.
*/
enabled?: boolean;
/**
* (Highstock) Specifies how the first grouped point is positioned on the
* xAxis. If firstAnchor and/or lastAnchor are defined, then those options
* take precedence over anchor for the first and/or last grouped points.
* Available options:
*
* -`start` places the point at the beginning of the group (e.g. range
* 00:00:00 - 23:59:59 -> 00:00:00)
*
* -`middle` places the point in the middle of the group (e.g. range
* 00:00:00 - 23:59:59 -> 12:00:00)
*
* -`end` places the point at the end of the group (e.g. range 00:00:00 -
* 23:59:59 -> 23:59:59)
*
* -`firstPoint` the first point in the group (e.g. points at 00:13, 00:35,
* 00:59 -> 00:13)
*
* -`lastPoint` the last point in the group (e.g. points at 00:13, 00:35,
* 00:59 -> 00:59)
*/
firstAnchor?: (string|DataGroupingAnchorExtremes);
/**
* (Highstock) When data grouping is forced, it runs no matter how small the
* intervals are. This can be handy for example when the sum should be
* calculated for values appearing at random times within each hour.
*/
forced?: boolean;
/**
* (Highstock) By default only points within the visible range are grouped.
* Enabling this option will force data grouping to calculate all grouped
* points for a given dataset. That option prevents for example a column
* series from calculating a grouped point partially. The effect is similar
* to Series.getExtremesFromAll but does not affect yAxis extremes.
*/
groupAll?: boolean;
/**
* (Highstock) The approximate pixel width of each group. If for example a
* series with 30 points is displayed over a 600 pixel wide plot area, no
* grouping is performed. If however the series contains so many points that
* the spacing is less than the groupPixelWidth, Highcharts will try to
* group it into appropriate groups so that each is more or less two pixels
* wide. If multiple series with different group pixel widths are drawn on
* the same x axis, all series will take the greatest width. For example,
* line series have 2px default group width, while column series have 10px.
* If combined, both the line and the column will have 10px by default.
*/
groupPixelWidth?: number;
/**
* (Highstock) Specifies how the last grouped point is positioned on the
* xAxis. If firstAnchor and/or lastAnchor are defined, then those options
* take precedence over anchor for the first and/or last grouped points.
* Available options:
*
* -`start` places the point at the beginning of the group (e.g. range
* 00:00:00 - 23:59:59 -> 00:00:00)
*
* -`middle` places the point in the middle of the group (e.g. range
* 00:00:00 - 23:59:59 -> 12:00:00)
*
* -`end` places the point at the end of the group (e.g. range 00:00:00 -
* 23:59:59 -> 23:59:59)
*
* -`firstPoint` the first point in the group (e.g. points at 00:13, 00:35,
* 00:59 -> 00:13)
*
* -`lastPoint` the last point in the group (e.g. points at 00:13, 00:35,
* 00:59 -> 00:59)
*/
lastAnchor?: (string|DataGroupingAnchorExtremes);
/**
* (Highstock) An array determining what time intervals the data is allowed
* to be grouped to. Each array item is an array where the first value is
* the time unit and the second value another array of allowed multiples.
*
* Defaults to: (see online documentation for example)
*/
units?: Array<[string, (Array<number>|null)]>;
}
/**
* (Highcharts, Highstock, Gantt) A declarative filter to control of which data
* labels to display. The declarative filter is designed for use when callback
* functions are not available, like when the chart options require a pure JSON
* structure or for use with graphical editors. For programmatic control, use
* the `formatter` instead, and return `undefined` to disable a single data
* label.
*/
export interface DataLabelsFilterOptionsObject {
/**
* (Highcharts, Highstock, Gantt) The operator to compare by. Can be one of
* `>`, `<`, `>=`, `<=`, `==`, `===`, `!=` and `!==`.
*/
operator?: OptionsOperatorValue;
/**
* (Highcharts, Highstock, Gantt) The point property to filter by. Point
* options are passed directly to properties, additionally there are `y`
* value, `percentage` and others listed under Highcharts.Point members.
*/
property?: string;
/**
* (Highcharts, Highstock, Gantt) The value to compare against.
*/
value?: number;
}
/**
* (Highcharts, Highstock, Gantt) Individual data label for each point. The
* options are the same as the ones for plotOptions.series.dataLabels.
*/
export interface DataLabelsOptions {
/**
* (Highcharts, Highstock, Gantt) The alignment of the data label compared
* to the point. If `right`, the right side of the label should be touching
* the point. For points with an extent, like columns, the alignments also
* dictates how to align it inside the box, as given with the inside option.
* Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Gantt) Whether to allow data labels to overlap.
* To make the labels less sensitive for overlapping, the dataLabels.padding
* can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Gantt) Enable or disable the initial animation
* when a series is displayed for the `dataLabels`. The animation can also
* be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|SeriesAreaDataDataLabelsAnimationOptions|SeriesArearangeDataDataLabelsAnimationOptions|SeriesAreasplineDataDataLabelsAnimationOptions|
SeriesAreasplinerangeDataDataLabelsAnimationOptions|SeriesBarDataDataLabelsAnimationOptions|SeriesBoxplotDataDataLabelsAnimationOptions|SeriesBubbleDataDataLabelsAnimationOptions|
SeriesBulletDataDataLabelsAnimationOptions|SeriesCandlestickDataDataLabelsAnimationOptions|SeriesColumnDataDataLabelsAnimationOptions|SeriesColumnpyramidDataDataLabelsAnimationOptions|
SeriesColumnrangeDataDataLabelsAnimationOptions|SeriesCylinderDataDataLabelsAnimationOptions|SeriesDumbbellDataDataLabelsAnimationOptions|SeriesFunnel3dDataDataLabelsAnimationOptions|
SeriesFunnelDataDataLabelsAnimationOptions|SeriesGaugeDataDataLabelsAnimationOptions|SeriesHeatmapDataDataLabelsAnimationOptions|SeriesHeikinashiDataDataLabelsAnimationOptions|
SeriesHlcDataDataLabelsAnimationOptions|SeriesHollowcandlestickDataDataLabelsAnimationOptions|SeriesItemDataDataLabelsAnimationOptions|SeriesLineDataDataLabelsAnimationOptions|
SeriesLollipopDataDataLabelsAnimationOptions|SeriesNetworkgraphDataDataLabelsAnimationOptions|SeriesOhlcDataDataLabelsAnimationOptions|SeriesOrganizationDataDataLabelsAnimationOptions|
SeriesPackedbubbleDataDataLabelsAnimationOptions|SeriesParetoDataDataLabelsAnimationOptions|SeriesPictorialDataDataLabelsAnimationOptions|SeriesPieDataDataLabelsAnimationOptions|
SeriesPolygonDataDataLabelsAnimationOptions|SeriesPyramid3dDataDataLabelsAnimationOptions|SeriesPyramidDataDataLabelsAnimationOptions|SeriesSankeyDataDataLabelsAnimationOptions|
SeriesScatter3dDataDataLabelsAnimationOptions|SeriesScatterDataDataLabelsAnimationOptions|SeriesSolidgaugeDataDataLabelsAnimationOptions|SeriesSplineDataDataLabelsAnimationOptions|
SeriesStreamgraphDataDataLabelsAnimationOptions|SeriesSunburstDataDataLabelsAnimationOptions|SeriesTilemapDataDataLabelsAnimationOptions|SeriesTimelineDataDataLabelsAnimationOptions|
SeriesTreegraphDataDataLabelsAnimationOptions|SeriesTreemapDataDataLabelsAnimationOptions|SeriesVariablepieDataDataLabelsAnimationOptions|SeriesVariwideDataDataLabelsAnimationOptions|
SeriesVectorDataDataLabelsAnimationOptions|SeriesVennDataDataLabelsAnimationOptions|SeriesWaterfallDataDataLabelsAnimationOptions|SeriesWindbarbDataDataLabelsAnimationOptions|
SeriesWordcloudDataDataLabelsAnimationOptions|SeriesXrangeDataDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Gantt) The background color or gradient for the
* data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Gantt) The border color for the data label.
* Setting it to `auto` will use the point's color. Defaults to `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Gantt) The border radius in pixels for the data
* label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Gantt) The border width in pixels for the data
* label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Gantt) Whether to hide data labels that are
* outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Gantt) Enable or disable the data labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Gantt) A declarative filter to control of which
* data labels to display. The declarative filter is designed for use when
* callback functions are not available, like when the chart options require
* a pure JSON structure or for use with graphical editors. For programmatic
* control, use the `formatter` instead, and return `undefined` to disable a
* single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Gantt) A format string for the data label.
* Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Gantt) Callback JavaScript function to format the
* data label. Note that if a `format` is defined, the format takes
* precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Gantt) For points with an extent, like columns or
* map areas, whether to align the data label inside the box or to the
* actual value point. Defaults to `false` in most cases, `true` in stacked
* columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Gantt) Format for points with the value of null.
* Works analogously to format. `nullFormat` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Gantt) Callback JavaScript function that defines
* formatting for points with the value of null. Works analogously to
* formatter. `nullFormatter` can be applied only to series which support
* displaying null points i.e `heatmap` or `tilemap`. Does not work with
* series that don't display null points, like `line`, `column`, `bar` or
* `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Gantt) How to handle data labels that flow
* outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Gantt) When either the `borderWidth` or the
* `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Gantt) Aligns data labels relative to points. If
* `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Gantt) Text rotation in degrees. Note that due to
* a more complex structure, backgrounds, borders and padding will be lost
* on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Gantt) The shadow of the box. Works best with
* `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be an object
* configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
* `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Gantt) The name of a symbol to use for the border
* around the label. Symbols are predefined functions on the Renderer
* object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Gantt) Styles for the label. The default `color`
* setting is `"contrast"`, which is a pseudo color that Highcharts picks up
* and applies the maximum contrast to the underlying point item, for
* example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Gantt) Options for a label text which should
* follow marker's shape. Border and background are disabled for a label
* that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Gantt) The vertical alignment of a data label.
* Can be one of `top`, `middle` or `bottom`. The default value depends on
* the data, for instance in a column chart, the label is above positive
* values and below negative values.
*/
verticalAlign?: (VerticalAlignValue|null);
/**
* (Highcharts, Highstock, Gantt) The x position offset of the label
* relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock) X offset of the higher data labels relative to
* the point value.
*/
xHigh?: number;
/**
* (Highcharts, Highstock) X offset of the lower data labels relative to the
* point value.
*/
xLow?: number;
/**
* (Highcharts, Highstock, Gantt) The y position offset of the label
* relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock) Y offset of the higher data labels relative to
* the point value.
*/
yHigh?: number;
/**
* (Highcharts, Highstock) Y offset of the lower data labels relative to the
* point value.
*/
yLow?: number;
/**
* (Highcharts, Highstock, Gantt) The z index of the data labels. Use a
* `zIndex` of 6 to display it above the series, or use a `zIndex` of 2 to
* display it behind the series.
*/
zIndex?: number;
}
/**
* (Highcharts, Highstock, Gantt) Options for a label text which should follow
* marker's shape. Border and background are disabled for a label that follows a
* path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML` to
* true will disable this option.
*/
export interface DataLabelsTextPathOptionsObject {
/**
* (Highcharts, Highstock, Gantt) Presentation attributes for the text path.
*/
attributes?: (PlotDependencywheelDataLabelsTextPathAttributesOptions|PlotTreegraphDataLabelsLinkTextPathAttributesOptions|SVGAttributes);
/**
* (Highcharts, Highstock, Gantt) Enable or disable `textPath` option for
* link's or marker's data labels.
*/
enabled?: boolean;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) The Data module provides a
* simplified interface for adding data to a chart from sources like CVS, HTML
* tables or grid views. See also the tutorial article on the Data module.
*
* It requires the `modules/data.js` file to be loaded.
*
* Please note that the default way of adding data in Highcharts, without the
* need of a module, is through the series._type_.data option.
*/
export interface DataOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) A callback function to modify
* the CSV before parsing it. Return the modified string.
*/
beforeParse?: DataBeforeParseCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A two-dimensional array
* representing the input data on tabular form. This input can be used when
* the data is already parsed, for example from a grid view component. Each
* cell can be a string or number. If not switchRowsAndColumns is set, the
* columns are interpreted as series.
*/
columns?: Array<Array<DataValueType>>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A URL to a remote JSON dataset,
* structured as a column array. Will be fetched when the chart is created
* using Ajax.
*/
columnsURL?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) An array option that specifies
* the data type for each column in the series loaded within the data
* module.
*
* Possible values: `"string"`, `"number"`, `"float"`, `"date"`.
*/
columnTypes?: OptionsColumnTypesValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The callback that is evaluated
* when the data is finished loading, optionally from an external source,
* and parsed. The first argument passed is a finished chart options object,
* containing the series. These options can be extended with additional
* options and passed directly to the chart constructor.
*/
complete?: DataCompleteCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A comma delimited string to be
* parsed. Related options are startRow, endRow, startColumn and endColumn
* to delimit what part of the table is used. The lineDelimiter and
* itemDelimiter options define the CSV delimiter formats.
*
* The built-in CSV parser doesn't support all flavours of CSV, so in some
* cases it may be necessary to use an external CSV parser. See this example
* of parsing CSV through the MIT licensed Papa Parse library.
*/
csv?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) An URL to a remote CSV dataset.
* Will be fetched when the chart is created using Ajax.
*/
csvURL?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Sets the refresh rate for data
* polling when importing remote dataset by setting data.csvURL,
* data.rowsURL, data.columnsURL, or data.googleSpreadsheetKey.
*
* Note that polling must be enabled by setting data.enablePolling to true.
*
* The value is the number of seconds between pollings. It cannot be set to
* less than 1 second.
*/
dataRefreshRate?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Which of the predefined date
* formats in Date.prototype.dateFormats to use to parse date values.
* Defaults to a best guess based on what format gives valid and ordered
* dates. Valid options include: `YYYY/mm/dd`, `dd/mm/YYYY`, `mm/dd/YYYY`,
* `dd/mm/YY`, `mm/dd/YY`.
*/
dateFormat?: OptionsDateFormatValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The decimal point used for
* parsing numbers in the CSV.
*
* If both this and data.delimiter is set to `undefined`, the parser will
* attempt to deduce the decimal point automatically.
*/
decimalPoint?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enables automatic refetching of
* remote datasets every _n_ seconds (defined by setting
* data.dataRefreshRate).
*
* Only works when either data.csvURL, data.rowsURL, data.columnsURL, or
* data.googleSpreadsheetKey.
*/
enablePolling?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) In tabular input data, the last
* column (indexed by 0) to use. Defaults to the last column containing
* data.
*/
endColumn?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) In tabular input data, the last
* row (indexed by 0) to use. Defaults to the last row containing data.
*/
endRow?: number;
/**
* (Highcharts, Highstock, Gantt) Whether to use the first row in the data
* set as series names.
*/
firstRowAsNames?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The Google Spreadsheet API key
* required for access generated at API Services / Credentials. See a
* comprehensive tutorial for setting up the key at the Hands-On Data
* Visualization book website.
*/
googleAPIKey?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The key or `spreadsheetId` value
* for a Google Spreadsheet to load. See developers.google.com for how to
* find the `spreadsheetId`.
*
* In order for Google Sheets to load, a valid googleAPIKey must also be
* given.
*/
googleSpreadsheetKey?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The Google Spreadsheet `range`
* to use in combination with googleSpreadsheetKey. See
* developers.google.com for details.
*
* If given, it takes precedence over `startColumn`, `endColumn`, `startRow`
* and `endRow`.
*/
googleSpreadsheetRange?: (string|undefined);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Item or cell delimiter for
* parsing CSV. Defaults to the tab character `\t` if a tab character is
* found in the CSV string, if not it defaults to `,`.
*
* If this is set to false or undefined, the parser will attempt to deduce
* the delimiter automatically.
*/
itemDelimiter?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Line delimiter for parsing CSV.
*/
lineDelimiter?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A callback function to access
* the parsed columns, the two-dimensional input data array directly, before
* they are interpreted into series data and categories. Return `false` to
* stop completion, or call `this.complete()` to continue async.
*/
parsed?: DataParsedCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A callback function to parse
* string representations of dates into JavaScript timestamps. Should return
* an integer timestamp on success.
*/
parseDate?: DataParseDateCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The same as the columns input
* option, but defining rows instead of columns.
*/
rows?: Array<Array<DataValueType>>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A URL to a remote JSON dataset,
* structured as a row array. Will be fetched when the chart is created
* using Ajax.
*/
rowsURL?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) An array containing dictionaries
* for each series. A dictionary exists of Point property names as the key
* and the CSV column index as the value.
*/
seriesMapping?: Array<Dictionary<number>>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) In tabular input data, the first
* column (indexed by 0) to use.
*/
startColumn?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) In tabular input data, the first
* row (indexed by 0) to use.
*/
startRow?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Switch rows and columns of the
* input data, so that `this.columns` effectively becomes the rows of the
* data set, and the rows are interpreted as series.
*/
switchRowsAndColumns?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) An HTML table or the id of such
* to be parsed as input data. Related options are `startRow`, `endRow`,
* `startColumn` and `endColumn` to delimit what part of the table is used.
*/
table?: (string|HTMLElement);
}
/**
* Options for `dataSorting`.
*/
export interface DataSortingOptionsObject {
/**
* Enable or disable data sorting for the series.
*/
enabled?: boolean;
/**
* Whether to allow matching points by name in an update.
*/
matchByName?: boolean;
/**
* Determines what data value should be used to sort by.
*/
sortKey?: string;
}
export interface DefsArrowAttributesOptions {
id?: string;
markerHeight?: number;
markerWidth?: number;
refX?: number;
refY?: number;
}
export interface DefsArrowOptions {
attributes?: DefsArrowAttributesOptions;
children?: Array<DefsOptions>;
tagName?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for configuring markers for
* annotations.
*
* An example of the arrow marker: (see online documentation for example)
*/
export interface DefsOptions {
arrow?: (ASTNode|DefsArrowOptions);
"reverse-arrow"?: (ASTNode|DefsReverseArrowOptions);
}
export interface DefsReverseArrowAttributesOptions {
id?: string;
markerHeight?: number;
markerWidth?: number;
refX?: number;
refY?: number;
}
export interface DefsReverseArrowOptions {
attributes?: DefsReverseArrowAttributesOptions;
tagName?: string;
}
/**
* Generic dictionary in TypeScript notation. Use the native `AnyRecord`
* instead.
*/
export interface Dictionary<T> {
[key: string]: T;
}
/**
* (Highcharts, Highstock, Gantt) Style options for the guide box default state.
*/
export interface DragDropGuideBoxOptionsObject {
/**
* (Highcharts, Highstock, Gantt) CSS class name of the guide box in this
* state. Defaults to `highcharts-drag-box-default`.
*/
className?: string;
/**
* (Highcharts, Highstock, Gantt) Guide box fill color.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Gantt) Guide box cursor.
*/
cursor?: string;
/**
* (Highcharts, Highstock, Gantt) Color of the border around the guide box.
*/
lineColor?: ColorString;
/**
* (Highcharts, Highstock, Gantt) Width of the line around the guide box.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) Guide box zIndex.
*/
zIndex?: number;
}
/**
* (Highcharts, Highstock, Gantt) Options for the drag handles available in
* column series.
*/
export interface DragDropHandleOptionsObject {
/**
* (Highcharts, Highstock, Gantt) The class name of the drag handles.
* Defaults to `highcharts-drag-handle`.
*/
className?: string;
/**
* (Highcharts, Highstock, Gantt) The fill color of the drag handles.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Gantt) The mouse cursor to use for the drag
* handles. By default this is intelligently switching between `ew-resize`
* and `ns-resize` depending on the direction the point is being dragged.
*/
cursor?: string;
/**
* (Highcharts, Highstock, Gantt) The line color of the drag handles.
*/
lineColor?: ColorString;
/**
* (Highcharts, Highstock, Gantt) The line width for the drag handles.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) Function to define the SVG path to use for
* the drag handles. Takes the point as argument. Should return an SVG path
* in array format. The SVG path is automatically positioned on the point.
*/
pathFormatter?: Function;
/**
* (Highcharts, Highstock, Gantt) The z index for the drag handles.
*/
zIndex?: number;
}
/**
* Current drag and drop position.
*/
export interface DragDropPositionObject {
/**
* Chart x position
*/
chartX: number;
/**
* Chart y position
*/
chartY: number;
/**
* Drag and drop guide box.
*/
guideBox?: BBoxObject;
/**
* Updated point data.
*/
points: Dictionary<Dictionary<number>>;
/**
* Delta of previous x position.
*/
prevdX?: number;
/**
* Delta of previous y position.
*/
prevdY?: number;
}
/**
* (Highcharts, Highmaps) Additional styles to apply to the data label of a
* point that has drilldown data. By default it is underlined and blue to invite
* to interaction.
*
* In styled mode, active data label styles can be applied with the
* `.highcharts-drilldown-data-label` class.
*/
export interface DrilldownActiveDataLabelStyleOptions {
color?: string;
cursor?: string;
fontWeight?: string;
textDecoration?: string;
}
/**
* (Highcharts) A collection of attributes for the buttons. The object takes SVG
* attributes like `fill`, `stroke`, `stroke-width`, as well as `style`, a
* collection of CSS properties for the text.
*
* The object can also be extended with states, so you can set presentational
* options for `hover`, `select` or `disabled` button states.
*/
export interface DrilldownBreadcrumbsButtonThemeOptions {
style?: DrilldownBreadcrumbsButtonThemeStyleOptions;
}
export interface DrilldownBreadcrumbsButtonThemeStyleOptions {
color?: string;
}
export interface DrilldownBreadcrumbsEventsOptions {
/**
* (Highcharts) Fires when clicking on the breadcrumbs button. Two arguments
* are passed to the function. First breadcrumb button as an SVG element.
* Second is the breadcrumbs class, containing reference to the chart,
* series etc. (see online documentation for example)
*
* Return false to stop default buttons click action.
*/
click?: BreadcrumbsClickCallbackFunction;
}
/**
* (Highcharts) Options for the breadcrumbs, the navigation at the top leading
* the way up through the drilldown levels.
*/
export interface DrilldownBreadcrumbsOptions {
/**
* (Highcharts) The default padding for each button and separator in each
* direction.
*/
buttonSpacing?: number;
/**
* (Highcharts) A collection of attributes for the buttons. The object takes
* SVG attributes like `fill`, `stroke`, `stroke-width`, as well as `style`,
* a collection of CSS properties for the text.
*
* The object can also be extended with states, so you can set
* presentational options for `hover`, `select` or `disabled` button states.
*/
buttonTheme?: (DrilldownBreadcrumbsButtonThemeOptions|SVGAttributes);
events?: DrilldownBreadcrumbsEventsOptions;
/**
* (Highcharts) When the breadcrumbs are floating, the plot area will not
* move to make space for it. By default, the chart will not make space for
* the buttons. This property won't work when positioned in the middle.
*/
floating?: boolean;
/**
* (Highcharts) A format string for the breadcrumbs button. Variables are
* enclosed by curly brackets. Available values are passed in the declared
* point options.
*/
format?: (string|undefined);
/**
* (Highcharts) Callback function to format the breadcrumb text from
* scratch.
*/
formatter?: BreadcrumbsFormatterCallbackFunction;
/**
* (Highcharts, Highmaps) Positioning for the button row. The breadcrumbs
* buttons will be aligned properly for the default chart layout (title,
* subtitle, legend, range selector) for the custom chart layout set the
* position properties.
*/
position?: (BreadcrumbsAlignOptions|DrilldownBreadcrumbsPositionOptions);
/**
* (Highcharts, Highmaps) What box to align the button to. Can be either
* `plotBox` or `spacingBox`.
*/
relativeTo?: ButtonRelativeToValue;
/**
* (Highcharts) Whether to reverse the order of buttons. This is common in
* Arabic and Hebrew.
*/
rtl?: boolean;
/**
* (Highcharts) Options object for Breadcrumbs separator.
*/
separator?: DrilldownBreadcrumbsSeparatorOptions;
/**
* (Highcharts) Show full path or only a single button.
*/
showFullPath?: boolean;
/**
* (Highcharts) CSS styles for all breadcrumbs.
*
* In styled mode, the breadcrumbs buttons are styled by the
* `.highcharts-breadcrumbs-buttons .highcharts-button` rule with its
* different states.
*/
style?: SVGAttributes;
/**
* (Highcharts) Whether to use HTML to render the breadcrumbs items texts.
*/
useHTML?: boolean;
/**
* (Highcharts) The z index of the breadcrumbs group.
*/
zIndex?: number;
}
/**
* (Highcharts, Highmaps) Positioning for the button row. The breadcrumbs
* buttons will be aligned properly for the default chart layout (title,
* subtitle, legend, range selector) for the custom chart layout set the
* position properties.
*/
export interface DrilldownBreadcrumbsPositionOptions {
/**
* (Highcharts, Highmaps) Horizontal alignment of the breadcrumbs buttons.
*/
align?: AlignValue;
/**
* (Highcharts, Highmaps) Vertical alignment of the breadcrumbs buttons.
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highcharts, Highmaps) The X offset of the breadcrumbs button group.
*/
x?: number;
/**
* (Highcharts, Highmaps) The Y offset of the breadcrumbs button group. When
* `undefined`, and `floating` is `false`, the `y` position is adapted so
* that the breadcrumbs are rendered outside the target area.
*/
y?: (number|undefined);
}
/**
* (Highcharts) Options object for Breadcrumbs separator.
*/
export interface DrilldownBreadcrumbsSeparatorOptions {
/**
* (Highcharts) CSS styles for the breadcrumbs separator.
*
* In styled mode, the breadcrumbs separators are styled by the
* `.highcharts-separator` rule with its different states.
*/
style?: (CSSObject|DrilldownBreadcrumbsSeparatorStyleOptions);
text?: string;
}
/**
* (Highcharts) CSS styles for the breadcrumbs separator.
*
* In styled mode, the breadcrumbs separators are styled by the
* `.highcharts-separator` rule with its different states.
*/
export interface DrilldownBreadcrumbsSeparatorStyleOptions {
color?: string;
fontSize?: number;
}
/**
* The event arguments when a drilldown point is clicked.
*/
export interface DrilldownEventObject {
/**
* If a category label was clicked, which index.
*/
category?: number;
/**
* The original browser event (usually click) that triggered the drilldown.
*/
originalEvent?: Event;
/**
* The originating point.
*/
point: Point;
/**
* If a category label was clicked, this array holds all points
* corresponding to the category. Otherwise it is set to false.
*/
points?: (boolean|Array<Point>);
/**
* Prevents the default behaviour of the event.
*/
preventDefault: Function;
/**
* Options for the new series. If the event is utilized for async drilldown,
* the seriesOptions are not added, but rather loaded async.
*/
seriesOptions?: SeriesOptionsType;
/**
* The event target.
*/
target: Chart;
/**
* The event type.
*/
type: "drilldown";
}
/**
* (Highcharts, Highmaps) Options for drill down, the concept of inspecting
* increasingly high resolution data through clicking on chart items like
* columns or pie slices.
*
* The drilldown feature requires the drilldown.js file to be loaded, found in
* the modules directory of the download package, or online at
* code.highcharts.com/modules/drilldown.js.
*/
export interface DrilldownOptions {
/**
* (Highcharts, Highmaps) Additional styles to apply to the X axis label for
* a point that has drilldown data. By default it is underlined and blue to
* invite to interaction.
*
* In styled mode, active label styles can be set with the
* `.highcharts-drilldown-axis-label` class.
*/
activeAxisLabelStyle?: CSSObject;
/**
* (Highcharts, Highmaps) Additional styles to apply to the data label of a
* point that has drilldown data. By default it is underlined and blue to
* invite to interaction.
*
* In styled mode, active data label styles can be applied with the
* `.highcharts-drilldown-data-label` class.
*/
activeDataLabelStyle?: (CSSObject|DrilldownActiveDataLabelStyleOptions);
/**
* (Highcharts) When this option is false, clicking a single point will
* drill down all points in the same category, equivalent to clicking the X
* axis label.
*/
allowPointDrilldown?: boolean;
/**
* (Highcharts, Highmaps) Set the animation for all drilldown animations.
* Animation of a drilldown occurs when drilling between a column point and
* a column series, or a pie slice and a full pie series. Drilldown can
* still be used between series and points of different types, but animation
* will not occur.
*
* The animation can either be set as a boolean or a configuration object.
* If `true`, it will use the 'swing' jQuery easing and a duration of 500
* ms. If used as a configuration object, the following properties are
* supported:
*
* - `duration`: The duration of the animation in milliseconds.
*
* - `easing`: A string reference to an easing function set on the `Math`
* object. See the easing demo.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highcharts) Options for the breadcrumbs, the navigation at the top
* leading the way up through the drilldown levels.
*/
breadcrumbs?: DrilldownBreadcrumbsOptions;
/**
* (Highmaps) Enable or disable zooming into a region of clicked map point
* you want to drill into. If mapZooming is set to false the
* drilldown/drillup animations only fade in/fade out without zooming to a
* specific map point.
*/
mapZooming?: boolean;
/**
* (Highcharts, Highmaps) An array of series configurations for the drill
* down. Each series configuration uses the same syntax as the series option
* set. These drilldown series are hidden by default. The drilldown series
* is linked to the parent series' point by its `id`.
*/
series?: Array<SeriesOptionsType>;
}
/**
* The event arguments when all the series have been drilled up.
*/
export interface DrillupAllEventObject {
/**
* Prevents the default behaviour of the event.
*/
preventDefault: Function;
/**
* The event target.
*/
target: Chart;
/**
* The event type.
*/
type: "drillupall";
}
/**
* The event arguments when drilling up from a drilldown series.
*/
export interface DrillupEventObject {
/**
* Prevents the default behaviour of the event.
*/
preventDefault: Function;
/**
* Options for the new series.
*/
seriesOptions?: SeriesOptionsType;
/**
* The event target.
*/
target: Chart;
/**
* The event type.
*/
type: "drillup";
}
/**
* The event options for adding function callback.
*/
export interface EventOptionsObject {
/**
* The order the event handler should be called. This opens for having one
* handler be called before another, independent of in which order they were
* added.
*/
order: number;
/**
* Whether an event should be passive or not. When set to `true`, the
* function specified by listener will never call `preventDefault()`.
*/
passive: boolean;
}
/**
* Contains information about the export data event.
*/
export interface ExportDataEventObject {
/**
* Contains the data rows for the current export task and can be modified.
*/
dataRows: Array<Array<string>>;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for the
* exporting menu. Requires the Accessibility module.
*/
export interface ExportingAccessibilityOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable accessibility support for
* the export menu.
*/
enabled?: boolean;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) A configuration object for the
* button theme. The object accepts SVG properties like `stroke-width`, `stroke`
* and `fill`. Tri-state button styles are supported by the `states.hover` and
* `states.select` objects.
*/
export interface ExportingButtonsContextButtonThemeOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The default fill exists only to
* capture hover events.
*/
fill?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Padding for the button.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Default stroke for the buttons.
*/
stroke?: ColorString;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the export related
* buttons, print and export. In addition to the default buttons listed here,
* custom buttons can be added. See navigation.buttonOptions for general
* options.
*/
export interface ExportingButtonsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the export button.
*
* In styled mode, export button styles can be applied with the
* `.highcharts-contextbutton` class.
*/
contextButton?: ExportingButtonsOptionsObject;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the export button.
*
* In styled mode, export button styles can be applied with the
* `.highcharts-contextbutton` class.
*/
export interface ExportingButtonsOptionsObject {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Alignment for the buttons.
*/
align?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The pixel spacing between
* buttons.
*/
buttonSpacing?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The class name of the context
* button.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to enable buttons.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Pixel height of the buttons.
*/
height?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The class name of the menu
* appearing from the button.
*/
menuClassName?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A collection of strings pointing
* to config options for the menu items. The config options are defined in
* the `menuItemDefinitions` option.
*
* By default, there is the "View in full screen" and "Print" menu items,
* plus one menu item for each of the available export types.
*/
menuItems?: Array<string>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A click handler callback to use
* on the button directly instead of the popup menu.
*/
onclick?: Function;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The symbol for the button.
* Points to a definition function in the `Highcharts.Renderer.symbols`
* collection. The default `menu` function is part of the exporting module.
* Possible values are "circle", "square", "diamond", "triangle",
* "triangle-down", "menu", "menuball" or custom shape.
*/
symbol?: ("menu"|"menuball"|string|SymbolKeyValue);
/**
* (Highcharts, Highstock, Highmaps, Gantt) See
* navigation.buttonOptions.symbolFill.
*/
symbolFill?: ColorString;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The pixel size of the symbol on
* the button.
*/
symbolSize?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The color of the symbol's stroke
* or line.
*/
symbolStroke?: ColorString;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The pixel stroke width of the
* symbol on the button.
*/
symbolStrokeWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position of the center of
* the symbol inside the button.
*/
symbolX?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position of the center of
* the symbol inside the button.
*/
symbolY?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A text string to add to the
* individual button.
*/
text?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A configuration object for the
* button theme. The object accepts SVG properties like `stroke-width`,
* `stroke` and `fill`. Tri-state button styles are supported by the
* `states.hover` and `states.select` objects.
*/
theme?: ExportingButtonsContextButtonThemeOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The key to a lang option setting
* that is used for the button's title tooltip. When the key is
* `contextButtonTitle`, it refers to lang.contextButtonTitle that defaults
* to "Chart context menu".
*/
titleKey?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML for
* rendering the button. HTML allows for things like inline CSS or
* image-based icons.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
* buttons. Can be one of `"top"`, `"middle"` or `"bottom"`.
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the button.
*/
width?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The horizontal position of the
* button relative to the `align` option.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical offset of the
* button's position relative to its `verticalAlign`.
*/
y?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for annotations in the
* export-data table.
*/
export interface ExportingCsvAnnotationsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The way to mark the separator
* for annotations combined in one export-data table cell.
*/
itemDelimiter?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When several labels are assigned
* to a specific point, they will be displayed in one field in the table.
*/
join?: boolean;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for exporting data to CSV or
* ExCel, or displaying the data in a HTML table or a JavaScript structure.
*
* This module adds data export options to the export menu and provides
* functions like `Chart.getCSV`, `Chart.getTable`, `Chart.getDataRows` and
* `Chart.viewData`.
*
* The XLS converter is limited and only creates a HTML string that is passed
* for download, which works but creates a warning before opening. The
* workaround for this is to use a third party XLSX converter, as demonstrated
* in the sample below.
*/
export interface ExportingCsvOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for annotations in the
* export-data table.
*/
annotations?: ExportingCsvAnnotationsOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Formatter callback for the
* column headers. Parameters are:
*
* - `item` - The series or axis object)
*
* - `key` - The point key, for example y or z
*
* - `keyLength` - The amount of value keys for this item, for example a
* range series has the keys `low` and `high` so the key length is 2.
*
* If useMultiLevelHeaders is true, columnHeaderFormatter by default returns
* an object with columnTitle and topLevelColumnTitle for each key. Columns
* with the same topLevelColumnTitle have their titles merged into a single
* cell with colspan for table/Excel export.
*
* If `useMultiLevelHeaders` is false, or for CSV export, it returns the
* series name, followed by the key if there is more than one key.
*
* For the axis it returns the axis title or "Category" or "DateTime" by
* default.
*
* Return `false` to use Highcharts' proposed header.
*/
columnHeaderFormatter?: (Function|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Which date format to use for
* exported dates on a datetime X axis. See `Highcharts.dateFormat`.
*/
dateFormat?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Which decimal point to use for
* exported CSV. Defaults to the same as the browser locale, typically `.`
* (English) or `,` (German, French etc).
*/
decimalPoint?: (string|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The item delimiter in the
* exported data. Use `;` for direct exporting to Excel. Defaults to a best
* guess based on the browser locale. If the locale _decimal point_ is `,`,
* the `itemDelimiter` defaults to `;`, otherwise the `itemDelimiter`
* defaults to `,`.
*/
itemDelimiter?: (string|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The line delimiter in the
* exported data, defaults to a newline.
*/
lineDelimiter?: string;
}
/**
* Definition for a menu item in the context menu.
*/
export interface ExportingMenuObject {
/**
* The click handler for the menu item.
*/
onclick?: EventCallbackFunction<Chart>;
/**
* Indicates a separator line instead of an item.
*/
separator?: boolean;
/**
* The text for the menu item.
*/
text?: string;
/**
* If internationalization is required, the key to a language string.
*/
textKey?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the exporting module.
* For an overview on the matter, see the docs.
*/
export interface ExportingOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for the
* exporting menu. Requires the Accessibility module.
*/
accessibility?: ExportingAccessibilityOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Experimental setting to allow
* HTML inside the chart (added through the `useHTML` options), directly in
* the exported image. This allows you to preserve complicated HTML
* structures like tables or bi-directional text in exported charts.
*
* Disclaimer: The HTML is rendered in a `foreignObject` tag in the
* generated SVG. The official export server is based on PhantomJS, which
* supports this, but other SVG clients, like Batik, does not support it.
* This also applies to downloaded SVG that you want to open in a desktop
* client.
*/
allowHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Allows the end user to sort the
* data table by clicking on column headers.
*/
allowTableSorting?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the export related
* buttons, print and export. In addition to the default buttons listed
* here, custom buttons can be added. See navigation.buttonOptions for
* general options.
*/
buttons?: (ExportingButtonsOptions|Dictionary<ExportingButtonsOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Additional chart options to be
* merged into the chart before exporting to an image format. This does not
* apply to printing the chart via the export menu.
*
* For example, a common use case is to add data labels to improve
* readability of the exported chart, or to add a printer-friendly color
* scheme to exported PDFs.
*/
chartOptions?: Options;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for exporting data to
* CSV or ExCel, or displaying the data in a HTML table or a JavaScript
* structure.
*
* This module adds data export options to the export menu and provides
* functions like `Chart.getCSV`, `Chart.getTable`, `Chart.getDataRows` and
* `Chart.viewData`.
*
* The XLS converter is limited and only creates a HTML string that is
* passed for download, which works but creates a warning before opening.
* The workaround for this is to use a third party XLSX converter, as
* demonstrated in the sample below.
*/
csv?: ExportingCsvOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to enable the exporting
* module. Disabling the module will hide the context button, but API
* methods will still be available.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Function to call if the
* offline-exporting module fails to export a chart on the client side, and
* fallbackToExportServer is disabled. If left undefined, an exception is
* thrown instead. Receives two parameters, the exporting options, and the
* error from the module.
*/
error?: ExportingErrorCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether or not to fall back to
* the export server if the offline-exporting module is unable to export the
* chart on the client side. This happens for certain browsers, and certain
* features (e.g. allowHTML), depending on the image type exporting to. For
* very complex charts, it is possible that export can fail in browsers that
* don't support Blob objects, due to data URL length limits. It is
* recommended to define the exporting.error handler if disabling fallback,
* in order to notify users in case export fails.
*/
fallbackToExportServer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the fetch request
* used when sending the SVG to the export server.
*
* See MDN for more information
*/
fetchOptions?: object;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The filename, without extension,
* to use for the exported chart.
*/
filename?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Path where Highcharts will look
* for export module dependencies to load on demand if they don't already
* exist on `window`. Should currently point to location of CanVG library,
* jsPDF and svg2pdf.js, required for client side export in certain
* browsers.
*/
libURL?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) An object consisting of
* definitions for the menu items in the context menu. Each key value pair
* has a `key` that is referenced in the menuItems setting, and a `value`,
* which is an object with the following properties:
*
* - **onclick:** The click handler for the menu item
*
* - **text:** The text for the menu item
*
* - **textKey:** If internationalization is required, the key to a language
* string
*
* Custom text for the "exitFullScreen" can be set only in lang options (it
* is not a separate button).
*/
menuItemDefinitions?: Dictionary<ExportingMenuObject>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Settings for a custom font for
* the exported PDF, when using the `offline-exporting` module. This is used
* for languages containing non-ASCII characters, like Chinese, Russian,
* Japanese etc.
*
* As described in the jsPDF docs, the 14 standard fonts in PDF are limited
* to the ASCII-codepage. Therefore, in order to support other text in the
* exported PDF, one or more TTF font files have to be passed on to the
* exporting module.
*
* See more in the docs.
*/
pdfFont?: ExportingPdfFontOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When printing the chart from the
* menu item in the burger menu, if the on-screen chart exceeds this width,
* it is resized. After printing or cancelled, it is restored. The default
* width makes the chart fit into typical paper format. Note that this does
* not affect the chart when printing the web page as a whole.
*/
printMaxWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Defines the scale or zoom factor
* for the exported image compared to the on-screen display. While for
* instance a 600px wide chart may look good on a website, it will look bad
* in print. The default scale of 2 makes this chart export to a 1200px PNG
* or JPG.
*/
scale?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Display a message when export is
* in progress. Uses Chart.setLoading()
*
* The message can be altered by changing
* [](#lang.exporting.exportInProgress)
*/
showExportInProgress?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Show a HTML table below the
* chart with the chart's current data.
*/
showTable?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Analogous to sourceWidth.
*/
sourceHeight?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The width of the original chart
* when exported, unless an explicit chart.width is set, or a pixel width is
* set on the container. The width exported raster image is then multiplied
* by scale.
*/
sourceWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Caption for the data table. Same
* as chart title by default. Set to `false` to disable.
*/
tableCaption?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Default MIME type for exporting
* if `chart.exportChart()` is called without specifying a `type` option.
* Possible values are `image/png`, `image/jpeg`, `application/pdf` and
* `image/svg+xml`.
*/
type?: ExportingMimeTypeValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The URL for the server module
* converting the SVG string to an image format. By default this points to
* Highchart's free web service.
*/
url?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Use multi level headers in data
* table. If csv.columnHeaderFormatter is defined, it has to return objects
* in order for multi level headers to work.
*/
useMultiLevelHeaders?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) If using multi level table
* headers, use rowspans for headers that have only one level.
*/
useRowspanHeaders?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The pixel width of charts
* exported to PNG or JPG. As of Highcharts 3.0, the default pixel width is
* a function of the chart.width or exporting.sourceWidth and the
* exporting.scale.
*/
width?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Settings for a custom font for the
* exported PDF, when using the `offline-exporting` module. This is used for
* languages containing non-ASCII characters, like Chinese, Russian, Japanese
* etc.
*
* As described in the jsPDF docs, the 14 standard fonts in PDF are limited to
* the ASCII-codepage. Therefore, in order to support other text in the exported
* PDF, one or more TTF font files have to be passed on to the exporting module.
*
* See more in the docs.
*/
export interface ExportingPdfFontOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The TTF font file for bold text.
*/
bold?: (string|undefined);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The TTF font file for bold and
* italic text.
*/
bolditalic?: (string|undefined);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The TTF font file for italic
* text.
*/
italic?: (string|undefined);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The TTF font file for normal
* `font-style`. If font variations like `bold` or `italic` are not defined,
* the `normal` font will be used for those too.
*/
normal?: (string|undefined);
}
/**
* The returned object literal from the Highcharts.Axis#getExtremes function.
*/
export interface ExtremesObject {
/**
* The maximum value of the axis' associated series.
*/
dataMax: number;
/**
* The minimum value of the axis' associated series.
*/
dataMin: number;
/**
* The maximum axis value, either automatic or set manually. If the `max`
* option is not set, `maxPadding` is 0 and `endOnTick` is false, this value
* will be the same as `dataMax`.
*/
max: number;
/**
* The minimum axis value, either automatic or set manually. If the `min`
* option is not set, `minPadding` is 0 and `startOnTick` is false, this
* value will be the same as `dataMin`.
*/
min: number;
/**
* The user defined maximum, either from the `max` option or from a zoom or
* `setExtremes` action.
*/
userMax?: number;
/**
* The user defined minimum, either from the `min` option or from a zoom or
* `setExtremes` action.
*/
userMin?: number;
}
/**
* The font metrics.
*/
export interface FontMetricsObject {
/**
* The baseline relative to the top of the box.
*/
b: number;
/**
* The font size.
*/
f: number;
/**
* The line height.
*/
h: number;
}
/**
* (Gantt) Data for a Gantt series.
*/
export interface GanttPointOptionsObject {
/**
* (Gantt) Accessibility options for a data point.
*/
accessibility?: PointAccessibilityOptionsObject;
/**
* (Gantt) Whether the grid node belonging to this point should start as
* collapsed. Used in axes of type treegrid.
*/
collapsed?: boolean;
/**
* (Highcharts, Highstock, Gantt) Individual color for the point. By default
* the color is pulled from the global `colors` array.
*
* In styled mode, the `color` option doesn't take effect. Instead, use
* `colorIndex`.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Gantt) A specific color index to use for the point, so its
* graphic representations are given the class name `highcharts-color-{n}`.
* In styled mode this will change the color of the graphic. In non-styled
* mode, the color is set by the `fill` attribute, so the change in class
* name won't have a visual effect by default.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Gantt) Progress indicator, how much of the task completed. If it is a
* number, the `fill` will be applied automatically.
*/
completed?: (number|XrangePointPartialFillOptionsObject);
/**
* (Gantt) A reserved subspace to store options and values for customized
* functionality. Here you can add additional data for your own event
* callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Gantt) The ID of the point (task) that this point depends on in Gantt
* charts. Aliases connect. Can also be an object, specifying further
* connecting options between the points. Multiple connections can be
* specified by providing an array.
*/
dependency?: (string|XrangePointConnectorsOptionsObject|Array<(string|XrangePointConnectorsOptionsObject)>);
/**
* (Gantt) A description of the point to add to the screen reader
* information about the point.
*/
description?: string;
/**
* (Gantt) Point specific options for the draggable-points module. Overrides
* options on `series.dragDrop`.
*/
dragDrop?: SeriesLineDataDragDropOptions;
/**
* (Gantt) The end time of a task.
*/
end?: number;
/**
* (Highcharts, Highstock, Gantt) An id for the point. This can be used
* after render time to get a pointer to the point object through
* `chart.get()`.
*/
id?: string;
/**
* (Gantt) The rank for this point's data label in case of collision. If two
* data labels are about to overlap, only the one with the highest
* `labelrank` will be drawn.
*/
labelrank?: number;
/**
* (Gantt) Whether this point is a milestone. If so, only the `start` option
* is handled, while `end` is ignored.
*/
milestone?: boolean;
/**
* (Gantt) The name of a task. If a `treegrid` y-axis is used (default in
* Gantt charts), this will be picked up automatically, and used to
* calculate the y-value.
*/
name?: string;
/**
* (Gantt) The ID of the parent point (task) of this point in Gantt charts.
*/
parent?: string;
/**
* (Gantt) The start time of a task.
*/
start?: number;
/**
* (Gantt) The Y value of a task.
*/
y?: number;
}
/**
* Represents the loose structure of a geographic JSON file.
*/
export interface GeoJSON {
/**
* Full copyright note of the geographic data.
*/
copyright?: string;
/**
* Short copyright note of the geographic data suitable for watermarks.
*/
copyrightShort?: string;
/**
* Additional meta information based on the coordinate reference system.
*/
crs?: Dictionary<any>;
/**
* Data sets of geographic features.
*/
features: Array<GeoJSONFeature>;
/**
* Map projections and transformations to be used when calculating between
* lat/lon and chart values. Required for lat/lon support on maps. Allows
* resizing, rotating, and moving portions of a map within its projected
* coordinate system while still retaining lat/lon support. If using lat/lon
* on a portion of the map that does not match a `hitZone`, the definition
* with the key `default` is used.
*/
"hc-transform"?: Dictionary<GeoJSONTranslation>;
/**
* Title of the geographic data.
*/
title?: string;
/**
* Type of the geographic data. Type of an optimized map collection is
* `FeatureCollection`.
*/
type?: string;
/**
* Version of the geographic data.
*/
version?: string;
}
/**
* Data set of a geographic feature.
*/
export interface GeoJSONFeature extends Dictionary<any> {
/**
* Data type of the geographic feature.
*/
type: string;
}
/**
* Describes the map projection and transformations applied to a portion of a
* map.
*/
export interface GeoJSONTranslation {
/**
* The coordinate reference system used to generate this portion of the map.
*/
crs: string;
/**
* Define the portion of the map that this definition applies to. Defined as
* a GeoJSON polygon feature object, with `type` and `coordinates`
* properties.
*/
hitZone?: Dictionary<any>;
/**
* Property for internal use for maps generated by Highsoft.
*/
jsonmarginX?: number;
/**
* Property for internal use for maps generated by Highsoft.
*/
jsonmarginY?: number;
/**
* Property for internal use for maps generated by Highsoft.
*/
jsonres?: number;
/**
* Specifies clockwise rotation of the coordinates after the projection, but
* before scaling and panning. Defined in radians, relative to the
* coordinate system origin.
*/
rotation?: number;
/**
* The scaling factor applied to the projected coordinates.
*/
scale?: number;
/**
* Property for internal use for maps generated by Highsoft.
*/
xoffset?: number;
/**
* X offset of projected coordinates after scaling.
*/
xpan?: number;
/**
* Property for internal use for maps generated by Highsoft.
*/
yoffset?: number;
/**
* Y offset of projected coordinates after scaling.
*/
ypan?: number;
}
/**
* Gradient options instead of a solid color.
*/
export interface GradientColorObject {
/**
* Holds an object that defines the start position and the end position
* relative to the shape.
*/
linearGradient?: LinearGradientColorObject;
/**
* Holds an object that defines the center position and the radius.
*/
radialGradient?: RadialGradientColorObject;
/**
* The first item in each tuple is the position in the gradient, where 0 is
* the start of the gradient and 1 is the end of the gradient. Multiple
* stops can be applied. The second item is the color for each stop. This
* color can also be given in the rgba format.
*/
stops: Array<GradientColorStopObject>;
}
/**
* Color stop tuple.
*/
export interface GradientColorStopObject {
0: number;
1: ColorString;
color?: Color;
}
/**
* Detailed options for interpolation object.
*/
export interface InterpolationOptionsObject {
/**
* Represents how much blur should be added to the interpolated image. Works
* best in the range of 0-1, all higher values would need a lot more
* performance of the machine to calculate more detailed interpolation.
*/
blur: number;
/**
* Enable or disable the interpolation.
*/
enabled: boolean;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the focus border drawn
* around elements while navigating through them.
*/
export interface KeyboardNavigationFocusBorderOptionsObject {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable/disable focus border for
* chart.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Hide the browser's default focus
* indicator.
*/
hideBrowserFocusOutline?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Focus border margin around the
* elements.
*/
margin?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Style options for the focus
* border drawn around elements while navigating through them. Note that
* some browsers in addition draw their own borders for focused elements.
* These automatic borders cannot be styled by Highcharts.
*
* In styled mode, the border is given the `.highcharts-focus-border` class.
*/
style?: CSSObject;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for keyboard navigation.
*/
export interface KeyboardNavigationOptionsObject {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable keyboard navigation for
* the chart.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the focus border
* drawn around elements while navigating through them.
*/
focusBorder?: KeyboardNavigationFocusBorderOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Order of tab navigation in the
* chart. Determines which elements are tabbed to first. Available elements
* are: `series`, `zoom`, `rangeSelector`, `navigator`, `chartMenu`,
* `legend` and `container`. In addition, any custom components can be added
* here. Adding `container` first in order will make the keyboard focus stop
* on the chart container first, requiring the user to tab again to enter
* the chart.
*/
order?: Array<string>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the keyboard
* navigation of data points and series.
*/
seriesNavigation?: KeyboardNavigationSeriesNavigationOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether or not to wrap around
* when reaching the end of arrow-key navigation for an element in the
* chart.
*/
wrapAround?: boolean;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the keyboard navigation
* of data points and series.
*/
export interface KeyboardNavigationSeriesNavigationOptionsObject {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Set the keyboard navigation mode
* for the chart. Can be "normal" or "serialize". In normal mode, left/right
* arrow keys move between points in a series, while up/down arrow keys move
* between series. Up/down navigation acts intelligently to figure out which
* series makes sense to move to from any given point.
*
* In "serialize" mode, points are instead navigated as a single list.
* Left/right behaves as in "normal" mode. Up/down arrow keys will behave
* like left/right. This can be useful for unifying navigation behavior
* with/without screen readers enabled.
*/
mode?: OptionsModeValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When a series contains more
* points than this, we no longer allow keyboard navigation for it.
*
* Set to `false` to disable.
*/
pointNavigationEnabledThreshold?: (boolean|number);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Remember which point was focused
* even after navigating away from the series, so that when navigating back
* to the series you start at the last focused point.
*/
rememberPointFocus?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Skip null points when navigating
* through points with the keyboard.
*/
skipNullPoints?: boolean;
}
/**
* Containing the position of a box that should be avoided by labels.
*/
export interface LabelIntersectBoxObject {
bottom: number;
left: number;
right: number;
top: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Default announcement for new data in
* charts. If addPoint or addSeries is used, and only one series/point is added,
* the `newPointAnnounce` and `newSeriesAnnounce` strings are used. The
* `...Single` versions will be used if there is only one chart on the page, and
* the `...Multiple` versions will be used if there are multiple charts on the
* page. For all other new data events, the `newDataAnnounce` string will be
* used.
*/
export interface LangAccessibilityAnnounceNewDataOptions {
newDataAnnounce?: string;
newPointAnnounceMultiple?: string;
newPointAnnounceSingle?: string;
newSeriesAnnounceMultiple?: string;
newSeriesAnnounceSingle?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Axis description format strings.
*/
export interface LangAccessibilityAxisOptions {
rangeCategories?: string;
rangeFromTo?: string;
timeRangeDays?: string;
timeRangeHours?: string;
timeRangeMinutes?: string;
timeRangeSeconds?: string;
xAxisDescriptionPlural?: string;
xAxisDescriptionSingular?: string;
yAxisDescriptionPlural?: string;
yAxisDescriptionSingular?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Chart type description strings. This
* is added to the chart information region.
*
* If there is only a single series type used in the chart, we use the format
* string for the series type, or default if missing. There is one format string
* for cases where there is only a single series in the chart, and one for
* multiple series of the same type.
*/
export interface LangAccessibilityChartTypesOptions {
barMultiple?: string;
barSingle?: string;
boxplotMultiple?: string;
boxplotSingle?: string;
bubbleMultiple?: string;
bubbleSingle?: string;
columnMultiple?: string;
columnSingle?: string;
combinationChart?: string;
defaultMultiple?: string;
defaultSingle?: string;
emptyChart?: string;
lineMultiple?: string;
lineSingle?: string;
mapTypeDescription?: string;
pieMultiple?: string;
pieSingle?: string;
scatterMultiple?: string;
scatterSingle?: string;
splineMultiple?: string;
splineSingle?: string;
unknownMap?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Exporting menu format strings for
* accessibility module.
*/
export interface LangAccessibilityExportingOptions {
chartMenuLabel?: string;
menuButtonLabel?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Language options for accessibility
* of the legend.
*/
export interface LangAccessibilityLegendOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Accessible label for individual
* legend items. `{itemName}` refers to the visual text in the legend for
* that item.
*/
legendItem?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Accessible label for the legend,
* for charts where there is a legend title defined. `{legendTitle}` refers
* to the visual text in the legend title.
*/
legendLabel?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Accessible label for the legend,
* for charts where there is no legend title defined.
*/
legendLabelNoTitle?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Navigator language options for
* accessibility.
*/
export interface LangAccessibilityNavigatorOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Announcement for assistive
* technology when navigator values are changed.
*
* Receives `axisRangeDescription` and `chart` as context.
* `axisRangeDescription` corresponds to the range description defined in
* lang.accessibility.axis
*/
changeAnnouncement?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Label for the navigator region.
*
* Receives `chart` as context.
*/
groupLabel?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Label for the navigator handles.
*
* Receives `handleIx` and `chart` as context. `handleIx` refers to the
* index of the navigator handle.
*/
handleLabel?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Configure the accessibility strings
* in the chart. Requires the accessibility module to be loaded. For a
* description of the module and information on its features, see Highcharts
* Accessibility.
*
* The lang options use Format Strings with variables that are replaced at run
* time. These variables should be used when available, to avoid duplicating
* text that is defined elsewhere.
*
* For more dynamic control over the accessibility functionality, see
* accessibility.point.descriptionFormatter,
* accessibility.series.descriptionFormatter, and
* accessibility.screenReaderSection.beforeChartFormatter.
*/
export interface LangAccessibilityOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Default announcement for new
* data in charts. If addPoint or addSeries is used, and only one
* series/point is added, the `newPointAnnounce` and `newSeriesAnnounce`
* strings are used. The `...Single` versions will be used if there is only
* one chart on the page, and the `...Multiple` versions will be used if
* there are multiple charts on the page. For all other new data events, the
* `newDataAnnounce` string will be used.
*/
announceNewData?: LangAccessibilityAnnounceNewDataOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Axis description format strings.
*/
axis?: LangAccessibilityAxisOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Accessible label for the chart
* container HTML element. `{title}` refers to the chart title.
*/
chartContainerLabel?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Chart type description strings.
* This is added to the chart information region.
*
* If there is only a single series type used in the chart, we use the
* format string for the series type, or default if missing. There is one
* format string for cases where there is only a single series in the chart,
* and one for multiple series of the same type.
*/
chartTypes?: LangAccessibilityChartTypesOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Accessible label for the chart
* credits. `{creditsStr}` refers to the visual text in the credits.
*/
credits?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Default title of the chart for
* assistive technology, for charts without a chart title.
*/
defaultChartTitle?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Accessible label for the
* drill-up button. `{buttonText}` refers to the visual text on the button.
*/
drillUpButton?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Exporting menu format strings
* for accessibility module.
*/
exporting?: LangAccessibilityExportingOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Set a label on the container
* wrapping the SVG.
*/
graphicContainerLabel?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Language options for
* accessibility of the legend.
*/
legend?: LangAccessibilityLegendOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Navigator language options for
* accessibility.
*/
navigator?: LangAccessibilityNavigatorOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Range selector language options
* for accessibility.
*/
rangeSelector?: LangAccessibilityRangeSelectorOptions;
resetZoomButton?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Language options for the screen
* reader information sections added before and after the charts.
*/
screenReaderSection?: LangAccessibilityScreenReaderSectionOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Lang configuration for different
* series types. For more dynamic control over the series element
* descriptions, see accessibility.seriesDescriptionFormatter.
*/
series?: LangAccessibilitySeriesOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Descriptions of lesser known
* series types. The relevant description is added to the screen reader
* information region when these series types are used.
*/
seriesTypeDescriptions?: LangAccessibilitySeriesTypeDescriptionsOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Language options for
* sonification.
*/
sonification?: LangAccessibilitySonificationOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Accessible label for the chart
* SVG element. `{chartTitle}` refers to the chart title.
*/
svgContainerLabel?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Title element text for the chart
* SVG element. Leave this empty to disable adding the title element.
* Browsers will display this content when hovering over elements in the
* chart. Assistive technology may use this element to label the chart.
*/
svgContainerTitle?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Accessibility language options
* for the data table.
*/
table?: LangAccessibilityTableOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Thousands separator to use when
* formatting numbers for screen readers. Note that many screen readers will
* not handle space as a thousands separator, and will consider "11 700" as
* two numbers.
*
* Set to `null` to use the separator defined in lang.thousandsSep.
*/
thousandsSep?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Chart and map zoom accessibility
* language options.
*/
zoom?: LangAccessibilityZoomOptions;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Range selector language options for
* accessibility.
*/
export interface LangAccessibilityRangeSelectorOptions {
clickButtonAnnouncement?: string;
dropdownLabel?: string;
maxInputLabel?: string;
minInputLabel?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Language options for annotation
* descriptions.
*/
export interface LangAccessibilityScreenReaderSectionAnnotationsOptions {
descriptionMultiplePoints?: string;
descriptionNoPoints?: string;
descriptionSinglePoint?: string;
heading?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Language options for the screen
* reader information sections added before and after the charts.
*/
export interface LangAccessibilityScreenReaderSectionOptions {
afterRegionLabel?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Language options for annotation
* descriptions.
*/
annotations?: LangAccessibilityScreenReaderSectionAnnotationsOptions;
beforeRegionLabel?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Label for the end of the chart.
* Announced by screen readers.
*/
endOfChartMarker?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Lang configuration for different
* series types. For more dynamic control over the series element descriptions,
* see accessibility.seriesDescriptionFormatter.
*/
export interface LangAccessibilitySeriesOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) User supplied description text.
* This is added in the point comment description by default if present.
*
* `{description}` refers to the value given in
* point.accessibility.description.
*/
description?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Description for the value of
* null points.
*/
nullPointValue?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Description for annotations on a
* point, as it is made available to assistive technology.
*/
pointAnnotationsDescription?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Lang configuration for the
* series main summary. Each series type has two modes:
*
* 1. This series type is the only series type used in the chart
*
* 2. This is a combination chart with multiple series types
*
* If a definition does not exist for the specific series type and mode, the
* 'default' lang definitions are used.
*
* Chart and its subproperties can be accessed with the `{chart}` variable.
* The series and its subproperties can be accessed with the `{series}`
* variable.
*
* The series index (starting from 1) can be accessed with the
* `{seriesNumber}` variable.
*/
summary?: LangAccessibilitySeriesSummaryOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) X-axis description for series if
* there are multiple xAxes in the chart.
*/
xAxisDescription?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Y-axis description for series if
* there are multiple yAxes in the chart.
*/
yAxisDescription?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Lang configuration for the series
* main summary. Each series type has two modes:
*
* 1. This series type is the only series type used in the chart
*
* 2. This is a combination chart with multiple series types
*
* If a definition does not exist for the specific series type and mode, the
* 'default' lang definitions are used.
*
* Chart and its subproperties can be accessed with the `{chart}` variable. The
* series and its subproperties can be accessed with the `{series}` variable.
*
* The series index (starting from 1) can be accessed with the `{seriesNumber}`
* variable.
*/
export interface LangAccessibilitySeriesSummaryOptions {
bar?: string;
barCombination?: string;
boxplot?: string;
boxplotCombination?: string;
bubble?: string;
bubbleCombination?: string;
column?: string;
columnCombination?: string;
default?: string;
defaultCombination?: string;
line?: string;
lineCombination?: string;
map?: string;
mapbubble?: string;
mapbubbleCombination?: string;
mapCombination?: string;
mapline?: string;
maplineCombination?: string;
pie?: string;
pieCombination?: string;
scatter?: string;
scatterCombination?: string;
spline?: string;
splineCombination?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Descriptions of lesser known series
* types. The relevant description is added to the screen reader information
* region when these series types are used.
*/
export interface LangAccessibilitySeriesTypeDescriptionsOptions {
arearange?: string;
areasplinerange?: string;
boxplot?: string;
bubble?: string;
columnrange?: string;
errorbar?: string;
funnel?: string;
pyramid?: string;
waterfall?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Language options for sonification.
*/
export interface LangAccessibilitySonificationOptions {
playAsSoundButtonText?: string;
playAsSoundClickAnnouncement?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Accessibility language options for
* the data table.
*/
export interface LangAccessibilityTableOptions {
tableSummary?: string;
viewAsDataTableButtonText?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Chart and map zoom accessibility
* language options.
*/
export interface LangAccessibilityZoomOptions {
mapZoomIn?: string;
mapZoomOut?: string;
resetZoomButton?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) The text for exported table.
*/
export interface LangExportDataOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The annotation column title.
*/
annotationHeader?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The category column title when
* axis type set to "datetime".
*/
categoryDatetimeHeader?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The category column title.
*/
categoryHeader?: string;
}
/**
* (Highcharts, Highstock) Configure the Popup strings in the chart. Requires
* the `annotations.js` or `annotations-advanced.src.js` module to be loaded.
*/
export interface LangNavigationOptions {
/**
* (Highcharts, Highstock) Translations for all field names used in popup.
*/
popup?: LangNavigationPopupOptions;
}
/**
* (Highstock) Configure the aliases for indicator names.
*/
export interface LangNavigationPopupIndicatorAliasesOptions {
/**
* (Highstock) Acceleration Bands alias.
*/
abands?: Array<string>;
/**
* (Highstock) Accumulation/Distribution alias.
*/
ad?: Array<string>;
/**
* (Highstock) Awesome oscillator alias.
*/
ao?: Array<string>;
/**
* (Highstock) Absolute price indicator alias.
*/
apo?: Array<string>;
/**
* (Highstock) Aroon alias.
*/
aroon?: Array<string>;
/**
* (Highstock) Aroon oscillator alias.
*/
aroonoscillator?: Array<string>;
/**
* (Highstock) Average True Range alias.
*/
atr?: Array<string>;
/**
* (Highstock) Bollinger Bands alias.
*/
bb?: Array<string>;
/**
* (Highstock) Commodity Channel Index alias.
*/
cci?: Array<string>;
/**
* (Highstock) Chaikin alias.
*/
chaikin?: Array<string>;
/**
* (Highstock) Chaikin Money Flow alias.
*/
cmf?: Array<string>;
/**
* (Highstock) Chande Momentum Oscillator alias.
*/
cmo?: Array<string>;
/**
* (Highstock) Double Exponential Moving Average alias.
*/
dema?: Array<string>;
/**
* (Highstock) Disparity Index alias.
*/
disparityindex?: Array<string>;
/**
* (Highstock) Directional Movement Index alias.
*/
dmi?: Array<string>;
/**
* (Highstock) Detrended price oscillator alias.
*/
dpo?: Array<string>;
/**
* (Highstock) Exponential Moving Average alias.
*/
ema?: Array<string>;
/**
* (Highstock) Ichimoku Kinko Hyo alias.
*/
ikh?: Array<string>;
/**
* (Highstock) Keltner Channels alias.
*/
keltnerchannels?: Array<string>;
/**
* (Highstock) Klinger Oscillator alias.
*/
klinger?: Array<string>;
/**
* (Highstock) Linear Regression alias.
*/
linearRegression?: Array<string>;
/**
* (Highstock) Linear Regression Angle alias.
*/
linearRegressionAngle?: Array<string>;
/**
* (Highstock) Linear Regression Intercept alias.
*/
linearRegressionIntercept?: Array<string>;
/**
* (Highstock) Linear Regression Slope alias.
*/
linearRegressionSlope?: Array<string>;
/**
* (Highstock) Moving Average Convergence Divergence alias.
*/
macd?: Array<string>;
/**
* (Highstock) Money Flow Index alias.
*/
mfi?: Array<string>;
/**
* (Highstock) Momentum alias.
*/
momentum?: Array<string>;
/**
* (Highstock) Normalized Average True Range alias.
*/
natr?: Array<string>;
/**
* (Highstock) On-Balance Volume alias.
*/
obv?: Array<string>;
/**
* (Highstock) Price Channel alias.
*/
pc?: Array<string>;
/**
* (Highstock) Pivot Points alias.
*/
pivotpoints?: Array<string>;
/**
* (Highstock) Percentage Price oscillator alias.
*/
ppo?: Array<string>;
/**
* (Highstock) Price Envelopes alias.
*/
priceenvelopes?: Array<string>;
/**
* (Highstock) Parabolic SAR alias.
*/
psar?: Array<string>;
/**
* (Highstock) Rate of Change alias.
*/
roc?: Array<string>;
/**
* (Highstock) Relative Strength Index alias.
*/
rsi?: Array<string>;
/**
* (Highstock) Slow Stochastic alias.
*/
slowstochastic?: Array<string>;
/**
* (Highstock) Simple Moving Average alias.
*/
sma?: Array<string>;
/**
* (Highstock) Stochastic alias.
*/
stochastic?: Array<string>;
/**
* (Highstock) Super Trend alias.
*/
supertrend?: Array<string>;
/**
* (Highstock) Triple Exponential Moving Average alias.
*/
tema?: Array<string>;
/**
* (Highstock) TRIX alias.
*/
trix?: Array<string>;
/**
* (Highstock) Volume by Price alias.
*/
vbp?: Array<string>;
/**
* (Highstock) Volume Weighted Moving Average alias.
*/
vwap?: Array<string>;
/**
* (Highstock) Williams %R alias.
*/
williamsr?: Array<string>;
/**
* (Highstock) Weighted Moving Average alias.
*/
wma?: Array<string>;
/**
* (Highstock) Zig Zagalias.
*/
zigzag?: Array<string>;
}
/**
* (Highcharts, Highstock) Translations for all field names used in popup.
*/
export interface LangNavigationPopupOptions {
addButton?: string;
algorithm?: string;
arrowInfinityLine?: string;
arrowRay?: string;
arrowSegment?: string;
average?: string;
background?: string;
backgroundColor?: string;
backgroundColors?: string;
borderColor?: string;
borderRadius?: string;
borderWidth?: string;
bottomBand?: string;
circle?: string;
clearFilter?: string;
color?: string;
connector?: string;
crooked3?: string;
crooked5?: string;
crosshairX?: string;
crosshairY?: string;
decimals?: string;
deviation?: string;
editButton?: string;
elliott3?: string;
elliott5?: string;
ellipse?: string;
factor?: string;
fastAvgPeriod?: string;
fibonacci?: string;
fibonacciTimeZones?: string;
fill?: string;
flags?: string;
fontSize?: string;
format?: string;
height?: string;
highIndex?: string;
horizontalLine?: string;
increment?: string;
index?: string;
/**
* (Highstock) Configure the aliases for indicator names.
*/
indicatorAliases?: LangNavigationPopupIndicatorAliasesOptions;
infinityLine?: string;
initialAccelerationFactor?: string;
innerBackground?: string;
label?: string;
labelOptions?: string;
labels?: string;
line?: string;
lines?: string;
longPeriod?: string;
lowIndex?: string;
maxAccelerationFactor?: string;
measure?: string;
measureX?: string;
measureXY?: string;
measureY?: string;
multiplier?: string;
multiplierATR?: string;
name?: string;
noFilterMatch?: string;
outerBackground?: string;
padding?: string;
parallelChannel?: string;
period?: string;
periodATR?: string;
periods?: string;
periodSenkouSpanB?: string;
periodTenkan?: string;
pitchfork?: string;
ranges?: string;
ray?: string;
rectangle?: string;
removeButton?: string;
saveButton?: string;
searchIndicators?: string;
segment?: string;
series?: string;
shapeOptions?: string;
shapes?: string;
shortPeriod?: string;
signalPeriod?: string;
simpleShapes?: string;
slowAvgPeriod?: string;
standardDeviation?: string;
stroke?: string;
strokeWidth?: string;
style?: string;
timeCycles?: string;
title?: string;
topBand?: string;
tunnel?: string;
typeOptions?: string;
verticalArrow?: string;
verticalCounter?: string;
verticalLabel?: string;
verticalLine?: string;
volume?: string;
xAxisUnit?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Language object. The language object
* is global and it can't be set on each chart initialization. Instead, use
* `Highcharts.setOptions` to set it before any chart is initialized. (see
* online documentation for example)
*/
export interface LangOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Configure the accessibility
* strings in the chart. Requires the accessibility module to be loaded. For
* a description of the module and information on its features, see
* Highcharts Accessibility.
*
* The lang options use Format Strings with variables that are replaced at
* run time. These variables should be used when available, to avoid
* duplicating text that is defined elsewhere.
*
* For more dynamic control over the accessibility functionality, see
* accessibility.point.descriptionFormatter,
* accessibility.series.descriptionFormatter, and
* accessibility.screenReaderSection.beforeChartFormatter.
*/
accessibility?: LangAccessibilityOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Exporting module menu. The
* tooltip title for the context menu holding print and export menu items.
*/
contextButtonTitle?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The default decimal point used
* in the `Highcharts.numberFormat` method unless otherwise specified in the
* function arguments.
*/
decimalPoint?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The text for the menu item.
*/
downloadCSV?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Exporting module only. The text
* for the JPEG download menu item.
*/
downloadJPEG?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The text for the MIDI download
* menu item in the export menu.
*/
downloadMIDI?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Exporting module only. The text
* for the PDF download menu item.
*/
downloadPDF?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Exporting module only. The text
* for the PNG download menu item.
*/
downloadPNG?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Exporting module only. The text
* for the SVG download menu item.
*/
downloadSVG?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The text for the menu item.
*/
downloadXLS?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Exporting module only. The text
* for the menu item to exit the chart from full screen.
*/
exitFullscreen?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The text for exported table.
*/
exportData?: LangExportDataOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text to show when export is in
* progress.
*/
exportInProgress?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The text for the menu item.
*/
hideData?: string;
/**
* (Highcharts, Highstock) What to show in a date field for invalid dates.
* Defaults to an empty string.
*/
invalidDate?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The loading text that appears
* when the chart is set into the loading state following a call to
* `chart.showLoading`.
*/
loading?: string;
mainBreadcrumb?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) An array containing the months
* names. Corresponds to the `%B` format in `Highcharts.dateFormat()`.
*/
months?: Array<string>;
/**
* (Highcharts, Highstock) Configure the Popup strings in the chart.
* Requires the `annotations.js` or `annotations-advanced.src.js` module to
* be loaded.
*/
navigation?: LangNavigationOptions;
/**
* (Highcharts, Highstock) The text to display when the chart contains no
* data.
*/
noData?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The magnitude of numericSymbols
* replacements. Use 10000 for Japanese, Korean and various Chinese locales,
* which use symbols for 10^4, 10^8 and 10^12.
*/
numericSymbolMagnitude?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Metric prefixes used to shorten
* high numbers in axis labels. Replacing any of the positions with `null`
* causes the full number to be written. Setting `numericSymbols` to
* `undefined` disables shortening altogether.
*/
numericSymbols?: Array<string>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The text for the Play as sound
* menu item in the export menu.
*/
playAsSound?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Exporting module only. The text
* for the menu item to print the chart.
*/
printChart?: string;
/**
* (Highstock, Gantt) The text for the label for the "from" input box in the
* range selector. Since v9.0, this string is empty as the label is not
* rendered by default.
*/
rangeSelectorFrom?: string;
/**
* (Highstock, Gantt) The text for the label for the "to" input box in the
* range selector.
*/
rangeSelectorTo?: string;
/**
* (Highstock, Gantt) The text for the label for the range selector buttons.
*/
rangeSelectorZoom?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The text for the label appearing
* when a chart is zoomed.
*/
resetZoom?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The tooltip title for the label
* appearing when a chart is zoomed.
*/
resetZoomTitle?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) An array containing the months
* names in abbreviated form. Corresponds to the `%b` format in
* `Highcharts.dateFormat()`.
*/
shortMonths?: Array<string>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Short week days, starting
* Sunday. If not specified, Highcharts uses the first three letters of the
* `lang.weekdays` option.
*/
shortWeekdays?: Array<string>;
/**
* (Highstock) Configure the stockTools GUI titles(hints) in the chart.
* Requires the `stock-tools.js` module to be loaded.
*/
stockTools?: LangStockToolsOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The default thousands separator
* used in the `Highcharts.numberFormat` method unless otherwise specified
* in the function arguments. Defaults to a single space character, which is
* recommended in ISO 31-0 and works across Anglo-American and continental
* European languages.
*/
thousandsSep?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The text for the menu item.
*/
viewData?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Exporting module only. The text
* for the menu item to view the chart in full screen.
*/
viewFullscreen?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) An array containing the weekday
* names.
*/
weekdays?: Array<string>;
/**
* (Highmaps) The title appearing on hovering the zoom in button. The text
* itself defaults to "+" and can be changed in the button options.
*/
zoomIn?: string;
/**
* (Highmaps) The title appearing on hovering the zoom out button. The text
* itself defaults to "-" and can be changed in the button options.
*/
zoomOut?: string;
}
export interface LangStockToolsGuiOptions {
advanced?: string;
arrowInfinityLine?: string;
arrowRay?: string;
arrowSegment?: string;
circle?: string;
crooked3?: string;
crooked5?: string;
crookedLines?: string;
currentPriceIndicator?: string;
elliott3?: string;
elliott5?: string;
ellipse?: string;
fibonacci?: string;
fibonacciTimeZones?: string;
flagCirclepin?: string;
flagDiamondpin?: string;
flags?: string;
flagSimplepin?: string;
flagSquarepin?: string;
fullScreen?: string;
horizontalLine?: string;
indicators?: string;
infinityLine?: string;
label?: string;
line?: string;
lines?: string;
measure?: string;
measureX?: string;
measureXY?: string;
measureY?: string;
parallelChannel?: string;
pitchfork?: string;
ray?: string;
rectangle?: string;
saveChart?: string;
segment?: string;
simpleShapes?: string;
timeCycles?: string;
toggleAnnotations?: string;
typeCandlestick?: string;
typeChange?: string;
typeHeikinAshi?: string;
typeHLC?: string;
typeHollowCandlestick?: string;
typeLine?: string;
typeOHLC?: string;
verticalArrow?: string;
verticalCounter?: string;
verticalLabel?: string;
verticalLabels?: string;
verticalLine?: string;
zoomChange?: string;
zoomX?: string;
zoomXY?: string;
zoomY?: string;
}
/**
* (Highstock) Configure the stockTools GUI titles(hints) in the chart. Requires
* the `stock-tools.js` module to be loaded.
*/
export interface LangStockToolsOptions {
gui?: LangStockToolsGuiOptions;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for keyboard navigation for
* the legend.
*/
export interface LegendAccessibilityKeyboardNavigationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable keyboard navigation for
* the legend.
*/
enabled?: boolean;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for the
* legend. Requires the Accessibility module.
*/
export interface LegendAccessibilityOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable accessibility support for
* the legend.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for keyboard navigation
* for the legend.
*/
keyboardNavigation?: LegendAccessibilityKeyboardNavigationOptions;
}
/**
* (Highcharts, Highstock, Highmaps) Options for the bubble legend labels.
*/
export interface LegendBubbleLegendLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps) The alignment of the labels compared to
* the bubble legend. Can be one of `left`, `center` or `right`.
*/
align?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps) Whether to allow data labels to
* overlap.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps) An additional class name to apply to
* the bubble legend label graphical elements. This option does not replace
* default class names of the graphical element.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps) A format string for the bubble legend
* labels. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps) Available `this` properties are:
*
* - `this.value`: The bubble value.
*
* - `this.radius`: The radius of the bubble range.
*
* - `this.center`: The center y position of the range.
*/
formatter?: FormatterCallbackFunction<BubbleLegendFormatterContextObject>;
/**
* (Highcharts, Highstock, Highmaps) CSS styles for the labels.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps) The x position offset of the label
* relative to the connector.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps) The y position offset of the label
* relative to the connector.
*/
y?: number;
}
/**
* (Highcharts, Highstock, Highmaps) The bubble legend is an additional element
* in legend which presents the scale of the bubble series. Individual bubble
* ranges can be defined by user or calculated from series. In the case of
* automatically calculated ranges, a 1px margin of error is permitted.
*/
export interface LegendBubbleLegendOptions {
/**
* (Highcharts, Highstock, Highmaps) The color of the ranges borders, can be
* also defined for an individual range.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps) The width of the ranges borders in
* pixels, can be also defined for an individual range.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps) An additional class name to apply to
* the bubble legend' circle graphical elements. This option does not
* replace default class names of the graphical element.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps) The main color of the bubble legend.
* Applies to ranges, if individual color is not defined.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps) An additional class name to apply to
* the bubble legend's connector graphical elements. This option does not
* replace default class names of the graphical element.
*/
connectorClassName?: string;
/**
* (Highcharts, Highstock, Highmaps) The color of the connector, can be also
* defined for an individual range.
*/
connectorColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps) The length of the connectors in pixels.
* If labels are centered, the distance is reduced to 0.
*/
connectorDistance?: number;
/**
* (Highcharts, Highstock, Highmaps) The width of the connectors in pixels.
*/
connectorWidth?: number;
/**
* (Highcharts, Highstock, Highmaps) Enable or disable the bubble legend.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps) Options for the bubble legend labels.
*/
labels?: LegendBubbleLegendLabelsOptions;
/**
* (Highcharts, Highstock, Highmaps) The position of the bubble legend in
* the legend.
*/
legendIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Maximum bubble legend range size. If
* values for ranges are not specified, the `minSize` and the `maxSize` are
* calculated from bubble series.
*/
maxSize?: number;
/**
* (Highcharts, Highstock, Highmaps) Minimum bubble legend range size. If
* values for ranges are not specified, the `minSize` and the `maxSize` are
* calculated from bubble series.
*/
minSize?: number;
/**
* (Highcharts, Highstock, Highmaps) Options for specific range. One range
* consists of bubble, label and connector.
*/
ranges?: Array<LegendBubbleLegendRangesOptions>;
/**
* (Highcharts, Highstock, Highmaps) Whether the bubble legend range value
* should be represented by the area or the width of the bubble. The
* default, area, corresponds best to the human perception of the size of
* each bubble.
*/
sizeBy?: BubbleSizeByValue;
/**
* (Highcharts, Highstock, Highmaps) When this is true, the absolute value
* of z determines the size of the bubble. This means that with the default
* zThreshold of 0, a bubble of value -1 will have the same size as a bubble
* of value 1, while a bubble of value 0 will have a smaller size according
* to minSize.
*/
sizeByAbsoluteValue?: boolean;
/**
* (Highcharts, Highstock, Highmaps) Define the visual z index of the bubble
* legend.
*/
zIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Ranges with lower value than zThreshold
* are skipped.
*/
zThreshold?: number;
}
/**
* (Highcharts, Highstock, Highmaps) Options for specific range. One range
* consists of bubble, label and connector.
*/
export interface LegendBubbleLegendRangesOptions {
/**
* (Highcharts, Highstock, Highmaps) The color of the border for individual
* range.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps) The color of the bubble for individual
* range.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps) The color of the connector for
* individual range.
*/
connectorColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps) Range size value, similar to bubble Z
* data.
*/
value?: number;
}
export interface LegendItemObject {
item?: SVGElement;
line?: SVGElement;
symbol?: SVGElement;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the paging or navigation
* appearing when the legend is overflown. Navigation works well on screen, but
* not in static exported images. One way of working around that is to increase
* the chart height in export.
*/
export interface LegendNavigationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The color for the active up or
* down arrow in the legend page navigation.
*/
activeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to animate the pages when
* navigating up or down. A value of `true` applies the default navigation
* given in the `chart.animation` option. Additional options can be given as
* an object containing values for easing and duration.
*/
animation?: (boolean|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The pixel size of the up and
* down arrows in the legend paging navigation.
*/
arrowSize?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to enable the legend
* navigation. In most cases, disabling the navigation results in an
* unwanted overflow.
*
* See also the adapt chart to legend plugin for a solution to extend the
* chart height to make room for the legend, optionally in exported charts
* only.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The color of the inactive up or
* down arrow in the legend page navigation. .
*/
inactiveColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text styles for the legend page
* navigation.
*/
style?: CSSObject;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) The legend is a box containing a
* symbol and name for each series item or point item in the chart. Each series
* (or points in case of pie charts) is represented by a symbol and its name in
* the legend.
*
* It is possible to override the symbol creator function and create custom
* legend symbols.
*/
export interface LegendOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for the
* legend. Requires the Accessibility module.
*/
accessibility?: LegendAccessibilityOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The horizontal alignment of the
* legend box within the chart area. Valid values are `left`, `center` and
* `right`.
*
* In the case that the legend is aligned in a corner position, the `layout`
* option will determine whether to place it above/below or on the side of
* the plot area.
*/
align?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) If the layout is `horizontal`
* and the legend items span over two lines or more, whether to align the
* items into vertical columns. Setting this to `false` makes room for more
* items, but will look more messy.
*/
alignColumns?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color of the
* legend.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The color of the drawn border
* around the legend.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border corner radius of the
* legend.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The width of the drawn border
* around the legend.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps) The bubble legend is an additional
* element in legend which presents the scale of the bubble series.
* Individual bubble ranges can be defined by user or calculated from
* series. In the case of automatically calculated ranges, a 1px margin of
* error is permitted.
*/
bubbleLegend?: LegendBubbleLegendOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A CSS class name to apply to the
* legend group.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the legend.
* There is also a series-specific option, showInLegend, that can hide the
* series from the legend. In some series types this is `false` by default,
* so it must set to `true` in order to show the legend for the series.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When the legend is floating, the
* plot area ignores it and is allowed to be placed below it.
*/
floating?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Default styling for the checkbox
* next to a legend item when `showCheckbox` is true.
*/
itemCheckboxStyle?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) In a legend with horizontal
* layout, the itemDistance defines the pixel distance between each item.
*/
itemDistance?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) CSS styles for each legend item
* when the corresponding series or point is hidden. Only a subset of CSS is
* supported, notably those options related to text. Properties are
* inherited from `style` unless overridden here.
*/
itemHiddenStyle?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) CSS styles for each legend item
* in hover mode. Only a subset of CSS is supported, notably those options
* related to text. Properties are inherited from `style` unless overridden
* here.
*/
itemHoverStyle?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The pixel bottom margin for each
* legend item.
*/
itemMarginBottom?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The pixel top margin for each
* legend item.
*/
itemMarginTop?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) CSS styles for each legend item.
* Only a subset of CSS is supported, notably those options related to text.
* The default `textOverflow` property makes long texts truncate. Set it to
* `undefined` to wrap text instead. A `width` property can be added to
* control the text width.
*/
itemStyle?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The width for each legend item.
* By default the items are laid out successively. In a horizontal layout,
* if the items are laid out across two rows or more, they will be
* vertically aligned depending on the legend.alignColumns option.
*/
itemWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for each legend
* label. Available variables relates to properties on the series, or the
* point in case of pies.
*/
labelFormat?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback function to format each
* of the series' labels. The `this` keyword refers to the series object, or
* the point object in case of pie charts. By default the series or point
* name is printed.
*/
labelFormatter?: FormatterCallbackFunction<(Point|Series)>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The layout of the legend items.
* Can be one of `horizontal` or `vertical` or `proximate`. When
* `proximate`, the legend items will be placed as close as possible to the
* graphs they're representing, except in inverted charts or when the legend
* position doesn't allow it.
*/
layout?: OptionsLayoutValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) If the plot area sized is
* calculated automatically and the legend is not floating, the legend
* margin is the space between the legend and the axis labels or plot area.
*/
margin?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Maximum pixel height for the
* legend. When the maximum height is extended, navigation will show.
*/
maxHeight?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the paging or
* navigation appearing when the legend is overflown. Navigation works well
* on screen, but not in static exported images. One way of working around
* that is to increase the chart height in export.
*/
navigation?: LegendNavigationOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The inner padding of the legend
* box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to reverse the order of
* the legend items compared to the order of the series or points as defined
* in the configuration object.
*/
reversed?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to show the symbol on
* the right side of the text rather than the left side. This is common in
* Arabic and Hebrew.
*/
rtl?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to apply a drop shadow
* to the legend. A `backgroundColor` also needs to be applied for this to
* take effect. The shadow can be an object configuration containing
* `color`, `offsetX`, `offsetY`, `opacity` and `width`.
*/
shadow?: (boolean|CSSObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) When this is true, the legend
* symbol width will be the same as the symbol height, which in turn
* defaults to the font size of the legend items.
*/
squareSymbol?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The pixel height of the symbol
* for series types that use a rectangle in the legend. Defaults to the font
* size of legend items.
*
* Note: This option is a default source of color axis height, if the
* colorAxis.height option is not set.
*/
symbolHeight?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The pixel padding between the
* legend item symbol and the legend item text.
*/
symbolPadding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius of the symbol
* for series types that use a rectangle in the legend. Defaults to half the
* `symbolHeight`, effectively creating a circle.
*
* For color axis scales, it defaults to 3.
*/
symbolRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the legend
* item symbol. When the `squareSymbol` option is set, this defaults to the
* `symbolHeight`, otherwise 16.
*
* Note: This option is a default source of color axis width, if the
* colorAxis.width option is not set.
*/
symbolWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A title to be added on top of
* the legend.
*/
title?: LegendTitleOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the legend item texts.
*
* Prior to 4.1.7, when using HTML, legend.navigation was disabled.
*/
useHTML?: boolean;
/**
* (Highcharts, Highmaps) For a color axis with data classes, how many
* decimals to render in the legend. The default preserves the decimals of
* the range numbers.
*/
valueDecimals?: number;
/**
* (Highcharts, Highmaps) For a color axis with data classes, a suffix for
* the range numbers in the legend.
*/
valueSuffix?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
* legend box. Can be one of `top`, `middle` or `bottom`. Vertical position
* can be further determined by the `y` option.
*
* In the case that the legend is aligned in a corner position, the `layout`
* option will determine whether to place it above/below or on the side of
* the plot area.
*
* When the layout option is `proximate`, the `verticalAlign` option doesn't
* apply.
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The width of the legend box. If
* a number is set, it translates to pixels. Since v7.0.2 it allows setting
* a percent string of the full chart width, for example `40%`.
*
* Defaults to the full chart width for legends below or above the chart,
* half the chart width for legends to the left and right.
*/
width?: (number|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x offset of the legend
* relative to its horizontal alignment `align` within chart.spacingLeft and
* chart.spacingRight. Negative x moves it to the left, positive x moves it
* to the right.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical offset of the
* legend relative to it's vertical alignment `verticalAlign` within
* chart.spacingTop and chart.spacingBottom. Negative y moves it up,
* positive y moves it down.
*/
y?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) A title to be added on top of the
* legend.
*/
export interface LegendTitleOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Generic CSS styles for the
* legend title.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A text or HTML string for the
* title.
*/
text?: string;
}
/**
* Defines the start position and the end position for a gradient relative to
* the shape. Start position (x1, y1) and end position (x2, y2) are relative to
* the shape, where 0 means top/left and 1 is bottom/right.
*/
export interface LinearGradientColorObject {
/**
* Start horizontal position of the gradient. Float ranges 0-1.
*/
x1: number;
/**
* End horizontal position of the gradient. Float ranges 0-1.
*/
x2: number;
/**
* Start vertical position of the gradient. Float ranges 0-1.
*/
y1: number;
/**
* End vertical position of the gradient. Float ranges 0-1.
*/
y2: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) The loading options control the
* appearance of the loading screen that covers the plot area on chart
* operations. This screen only appears after an explicit call to
* `chart.showLoading()`. It is a utility for developers to communicate to the
* end user that something is going on, for example while retrieving new data
* via an XHR connection. The "Loading..." text itself is not part of this
* configuration object, but part of the `lang` object.
*/
export interface LoadingOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The duration in milliseconds of
* the fade out effect.
*/
hideDuration?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the loading label
* `span`.
*/
labelStyle?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The duration in milliseconds of
* the fade in effect.
*/
showDuration?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the loading
* screen that covers the plot area.
*
* In styled mode, the loading label is styled with the
* `.highcharts-loading` class.
*/
style?: CSSObject;
}
/**
* A latitude/longitude object.
*/
export interface MapLonLatObject {
/**
* The latitude.
*/
lat: number;
/**
* The longitude.
*/
lon: number;
}
/**
* (Highmaps) General options for the map navigation buttons. Individual options
* can be given from the mapNavigation.buttons option set.
*/
export interface MapNavigationButtonOptions {
/**
* (Highmaps) The alignment of the navigation buttons.
*/
align?: AlignValue;
/**
* (Highmaps) What box to align the buttons to. Possible values are
* `plotBox` and `spacingBox`.
*/
alignTo?: ButtonRelativeToValue;
/**
* (Highmaps) The pixel height of the map navigation buttons.
*/
height?: number;
/**
* (Highmaps) Padding for the navigation buttons.
*/
padding?: number;
/**
* (Highmaps) Text styles for the map navigation buttons.
*/
style?: CSSObject;
/**
* (Highmaps) A configuration object for the button theme. The object
* accepts SVG properties like `stroke-width`, `stroke` and `fill`.
* Tri-state button styles are supported by the `states.hover` and
* `states.select` objects.
*/
theme?: SVGAttributes;
/**
* (Highmaps) The vertical alignment of the buttons. Individual alignment
* can be adjusted by each button's `y` offset.
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highmaps) The width of the map navigation buttons.
*/
width?: number;
/**
* (Highmaps) The X offset of the buttons relative to its `align` setting.
*/
x?: number;
}
/**
* (Highmaps) The individual buttons for the map navigation. This usually
* includes the zoom in and zoom out buttons. Properties for each button is
* inherited from mapNavigation.buttonOptions, while individual options can be
* overridden. But default, the `onclick`, `text` and `y` options are
* individual.
*/
export interface MapNavigationButtonsOptions {
/**
* (Highmaps) Options for the zoom in button. Properties for the zoom in and
* zoom out buttons are inherited from mapNavigation.buttonOptions, while
* individual options can be overridden. By default, the `onclick`, `text`
* and `y` options are individual.
*/
zoomIn?: MapNavigationButtonsZoomInOptions;
/**
* (Highmaps) Options for the zoom out button. Properties for the zoom in
* and zoom out buttons are inherited from mapNavigation.buttonOptions,
* while individual options can be overridden. By default, the `onclick`,
* `text` and `y` options are individual.
*/
zoomOut?: MapNavigationButtonsZoomOutOptions;
}
/**
* (Highmaps) Options for the zoom in button. Properties for the zoom in and
* zoom out buttons are inherited from mapNavigation.buttonOptions, while
* individual options can be overridden. By default, the `onclick`, `text` and
* `y` options are individual.
*/
export interface MapNavigationButtonsZoomInOptions {
/**
* (Highmaps) The alignment of the navigation buttons.
*/
align?: AlignValue;
/**
* (Highmaps) What box to align the buttons to. Possible values are
* `plotBox` and `spacingBox`.
*/
alignTo?: ButtonRelativeToValue;
/**
* (Highmaps) The pixel height of the map navigation buttons.
*/
height?: number;
/**
* (Highmaps) Click handler for the button.
*/
onclick?: Function;
/**
* (Highmaps) Padding for the navigation buttons.
*/
padding?: number;
/**
* (Highmaps) Text styles for the map navigation buttons.
*/
style?: CSSObject;
/**
* (Highmaps) The text for the button. The tooltip (title) is a language
* option given by lang.zoomIn.
*/
text?: string;
/**
* (Highmaps) A configuration object for the button theme. The object
* accepts SVG properties like `stroke-width`, `stroke` and `fill`.
* Tri-state button styles are supported by the `states.hover` and
* `states.select` objects.
*/
theme?: SVGAttributes;
/**
* (Highmaps) The vertical alignment of the buttons. Individual alignment
* can be adjusted by each button's `y` offset.
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highmaps) The width of the map navigation buttons.
*/
width?: number;
/**
* (Highmaps) The X offset of the buttons relative to its `align` setting.
*/
x?: number;
/**
* (Highmaps) The position of the zoomIn button relative to the vertical
* alignment.
*/
y?: number;
}
/**
* (Highmaps) Options for the zoom out button. Properties for the zoom in and
* zoom out buttons are inherited from mapNavigation.buttonOptions, while
* individual options can be overridden. By default, the `onclick`, `text` and
* `y` options are individual.
*/
export interface MapNavigationButtonsZoomOutOptions {
/**
* (Highmaps) The alignment of the navigation buttons.
*/
align?: AlignValue;
/**
* (Highmaps) What box to align the buttons to. Possible values are
* `plotBox` and `spacingBox`.
*/
alignTo?: ButtonRelativeToValue;
/**
* (Highmaps) The pixel height of the map navigation buttons.
*/
height?: number;
/**
* (Highmaps) Click handler for the button.
*/
onclick?: Function;
/**
* (Highmaps) Padding for the navigation buttons.
*/
padding?: number;
/**
* (Highmaps) Text styles for the map navigation buttons.
*/
style?: CSSObject;
/**
* (Highmaps) The text for the button. The tooltip (title) is a language
* option given by lang.zoomOut.
*/
text?: string;
/**
* (Highmaps) A configuration object for the button theme. The object
* accepts SVG properties like `stroke-width`, `stroke` and `fill`.
* Tri-state button styles are supported by the `states.hover` and
* `states.select` objects.
*/
theme?: SVGAttributes;
/**
* (Highmaps) The vertical alignment of the buttons. Individual alignment
* can be adjusted by each button's `y` offset.
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highmaps) The width of the map navigation buttons.
*/
width?: number;
/**
* (Highmaps) The X offset of the buttons relative to its `align` setting.
*/
x?: number;
/**
* (Highmaps) The position of the zoomOut button relative to the vertical
* alignment.
*/
y?: number;
}
/**
* (Highmaps) The `mapNavigation` option handles buttons for navigation in
* addition to `mousewheel` and `doubleclick` handlers for map zooming.
*/
export interface MapNavigationOptions {
/**
* (Highmaps) General options for the map navigation buttons. Individual
* options can be given from the mapNavigation.buttons option set.
*/
buttonOptions?: MapNavigationButtonOptions;
/**
* (Highmaps) The individual buttons for the map navigation. This usually
* includes the zoom in and zoom out buttons. Properties for each button is
* inherited from mapNavigation.buttonOptions, while individual options can
* be overridden. But default, the `onclick`, `text` and `y` options are
* individual.
*/
buttons?: MapNavigationButtonsOptions;
/**
* (Highmaps) Whether to enable navigation buttons. By default it inherits
* the enabled setting.
*/
enableButtons?: boolean;
/**
* (Highmaps) Whether to enable map navigation. The default is not to enable
* navigation, as many choropleth maps are simple and don't need it.
* Additionally, when touch zoom and mouse wheel zoom is enabled, it breaks
* the default behaviour of these interactions in the website, and the
* implementer should be aware of this.
*
* Individual interactions can be enabled separately, namely buttons,
* multitouch zoom, double click zoom, double click zoom to element and
* mouse wheel zoom.
*/
enabled?: boolean;
/**
* (Highmaps) Enables zooming in on an area on double clicking in the map.
* By default it inherits the enabled setting.
*/
enableDoubleClickZoom?: boolean;
/**
* (Highmaps) Whether to zoom in on an area when that area is double
* clicked.
*/
enableDoubleClickZoomTo?: boolean;
/**
* (Highmaps) Enables zooming by mouse wheel. By default it inherits the
* enabled setting.
*/
enableMouseWheelZoom?: boolean;
/**
* (Highmaps) Whether to enable multitouch zooming. Note that if the chart
* covers the viewport, this prevents the user from using multitouch and
* touchdrag on the web page, so you should make sure the user is not
* trapped inside the chart. By default it inherits the enabled setting.
*/
enableTouchZoom?: boolean;
/**
* (Highmaps) Sensitivity of mouse wheel or trackpad scrolling. 1 is no
* sensitivity, while with 2, one mouse wheel delta will zoom in 50%.
*/
mouseWheelSensitivity?: number;
}
/**
* (Highmaps) Generic options for the placement and appearance of map insets
* like non-contiguous territories.
*/
export interface MapViewInsetOptions {
/**
* (Highmaps) The border color of the insets.
*/
borderColor?: ColorType;
/**
* (Highmaps) The pixel border width of the insets.
*/
borderWidth?: number;
/**
* (Highmaps) The padding of the insets. Can be either a number of pixels, a
* percentage string, or an array of either. If an array is given, it sets
* the top, right, bottom, left paddings respectively.
*/
padding?: (number|string|Array<(number|string)>);
/**
* (Highmaps) What coordinate system the `field` and `borderPath` should
* relate to. If `plotBox`, they will be fixed to the plot box and
* responsively move in relation to the main map. If `mapBoundingBox`, they
* will be fixed to the map bounding box, which is constant and centered in
* different chart sizes and ratios.
*/
relativeTo?: OptionsRelativeToValue;
/**
* (Highmaps) What units to use for the `field` and `borderPath` geometries.
* If `percent` (default), they relate to the box given in `relativeTo`. If
* `pixels`, they are absolute values.
*/
units?: OptionsUnitsValue;
}
/**
* (Highmaps) The individual MapView insets, typically used for non-contiguous
* areas of a country. Each item inherits from the generic `insetOptions`.
*
* Some of the TopoJSON files of the Highcharts Map Collection include a
* property called `hc-recommended-mapview`, and some of these include insets.
* In order to override the recommended inset options, an inset option with a
* matching id can be applied, and it will be merged into the embedded settings.
*/
export interface MapViewInsetsOptions {
/**
* (Highmaps) The border color of the insets.
*/
borderColor?: ColorType;
/**
* (Highmaps) A geometry object of type `MultiLineString` defining the
* border path of the inset in terms of `units`. If undefined, a border is
* rendered around the `field` geometry. It is recommended that the
* `borderPath` partly follows the outline of the `field` in order to make
* pointer positioning consistent.
*/
borderPath?: (object|undefined);
/**
* (Highmaps) The pixel border width of the insets.
*/
borderWidth?: number;
/**
* (Highmaps) A geometry object of type `Polygon` defining where in the
* chart the inset should be rendered, in terms of `units` and relative to
* the `relativeTo` setting. If a `borderPath` is omitted, a border is
* rendered around the field. If undefined, the inset is rendered in the
* full plot area.
*/
field?: (object|undefined);
/**
* (Highmaps) A geometry object of type `Polygon` encircling the shapes that
* should be rendered in the inset, in terms of geographic coordinates.
* Geometries within this geometry are removed from the default map view and
* rendered in the inset.
*/
geoBounds?: object;
/**
* (Highmaps) The id of the inset, used for internal reference.
*/
id?: string;
/**
* (Highmaps) The padding of the insets. Can be either a number of pixels, a
* percentage string, or an array of either. If an array is given, it sets
* the top, right, bottom, left paddings respectively.
*/
padding?: (number|string|Array<(number|string)>);
/**
* (Highmaps) The projection options for the inset.
*/
projection?: (object|MapViewInsetsProjectionOptions);
/**
* (Highmaps) What coordinate system the `field` and `borderPath` should
* relate to. If `plotBox`, they will be fixed to the plot box and
* responsively move in relation to the main map. If `mapBoundingBox`, they
* will be fixed to the map bounding box, which is constant and centered in
* different chart sizes and ratios.
*/
relativeTo?: OptionsRelativeToValue;
/**
* (Highmaps) What units to use for the `field` and `borderPath` geometries.
* If `percent` (default), they relate to the box given in `relativeTo`. If
* `pixels`, they are absolute values.
*/
units?: OptionsUnitsValue;
}
/**
* (Highmaps) The projection options for the inset.
*/
export interface MapViewInsetsProjectionOptions {
/**
* (Highmaps) Projection name. Built-in projections are `EqualEarth`,
* `LambertConformalConic`, `Miller`, `Orthographic` and `WebMercator`.
*/
name?: string;
/**
* (Highmaps) The two standard parallels that define the map layout in conic
* projections, like the LambertConformalConic projection. If only one
* number is given, the second parallel will be the same as the first.
*/
parallels?: Array<number>;
/**
* (Highmaps) Rotation of the projection in terms of degrees `[lambda, phi,
* gamma]`. When given, a three-axis spherical rotation is be applied to the
* globe prior to the projection.
*
* * `lambda` shifts the longitudes by the given value.
*
* * `phi` shifts the latitudes by the given value. Can be omitted.
*
* * `gamma` applies a _roll_. Can be omitted.
*/
rotation?: string;
}
/**
* (Highmaps) The `mapView` options control the initial view of the chart, and
* how projection is set up for raw geoJSON maps (beta as of v9.3).
*
* To set the view dynamically after chart generation, see mapView.setView.
*/
export interface MapViewOptions {
/**
* (Highmaps) The center of the map in terms of longitude and latitude. For
* preprojected maps (like the GeoJSON files in Map Collection v1.x), the
* units are projected x and y units.
*/
center?: LonLatArray;
/**
* (Highmaps) Fit the map to a geometry object consisting of individual
* points or polygons. This is practical for responsive maps where we want
* to focus on a specific area regardless of map size - unlike setting
* `center` and `zoom`, where the view doesn't scale with different map
* sizes.
*
* The geometry can be combined with the padding option to avoid touching
* the edges of the chart.
*/
fitToGeometry?: object;
/**
* (Highmaps) Generic options for the placement and appearance of map insets
* like non-contiguous territories.
*/
insetOptions?: MapViewInsetOptions;
/**
* (Highmaps) The individual MapView insets, typically used for
* non-contiguous areas of a country. Each item inherits from the generic
* `insetOptions`.
*
* Some of the TopoJSON files of the Highcharts Map Collection include a
* property called `hc-recommended-mapview`, and some of these include
* insets. In order to override the recommended inset options, an inset
* option with a matching id can be applied, and it will be merged into the
* embedded settings.
*/
insets?: (MapViewInsetsOptions|Array<object>);
/**
* (Highmaps) Prevents the end user from zooming too far in on the map. See
* zoom.
*/
maxZoom?: (number|undefined);
/**
* (Highmaps) The padding inside the plot area when auto fitting to the map
* bounds. A number signifies pixels, and a percentage is relative to the
* plot area size.
*
* An array sets individual padding for the sides in the order [top, right,
* bottom, left].
*/
padding?: (number|string|Array<(number|string)>);
/**
* (Highmaps) The projection options allow applying client side projection
* to a map given in geographic coordinates, typically from TopoJSON or
* GeoJSON.
*/
projection?: (object|MapViewProjectionOptions);
/**
* (Highmaps) The zoom level of a map. Higher zoom levels means more zoomed
* in. An increase of 1 zooms in to a quarter of the viewed area (half the
* width and height). Defaults to fitting to the map bounds.
*
* In a `WebMercator` projection, a zoom level of 0 represents the world in
* a 256x256 pixel square. This is a common concept for WMS tiling software.
*/
zoom?: number;
}
/**
* (Highmaps) The projection options allow applying client side projection to a
* map given in geographic coordinates, typically from TopoJSON or GeoJSON.
*/
export interface MapViewProjectionOptions {
/**
* (Highmaps) Projection name. Built-in projections are `EqualEarth`,
* `LambertConformalConic`, `Miller`, `Orthographic` and `WebMercator`.
*/
name?: string;
/**
* (Highmaps) The two standard parallels that define the map layout in conic
* projections, like the LambertConformalConic projection. If only one
* number is given, the second parallel will be the same as the first.
*/
parallels?: Array<number>;
/**
* (Highmaps) Rotation of the projection in terms of degrees `[lambda, phi,
* gamma]`. When given, a three-axis spherical rotation is be applied to the
* globe prior to the projection.
*
* * `lambda` shifts the longitudes by the given value.
*
* * `phi` shifts the latitudes by the given value. Can be omitted.
*
* * `gamma` applies a _roll_. Can be omitted.
*/
rotation?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `annotation`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation. For other animations, see chart.animation
* and the animation parameter under the API methods. The following properties
* are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface NavigationAnnotationsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` renders annotation immediately. As `undefined`
* inherits defer time from the series.animation.defer.
*/
defer?: number;
}
export interface NavigationAnnotationsControlPointStyleOptions {
cursor?: string;
fill?: string;
stroke?: string;
"stroke-width"?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Events available in annotations.
*/
export interface NavigationAnnotationsEventsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Event callback when annotation
* is added to the chart.
*/
add?: EventCallbackFunction<Annotation>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Event callback when annotation
* is updated (e.g. drag and dropped or resized by control points).
*/
afterUpdate?: EventCallbackFunction<Annotation>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Fires when the annotation is
* clicked.
*/
click?: EventCallbackFunction<Annotation>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Fires when the annotation is
* dragged.
*/
drag?: EventCallbackFunction<Annotation>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Event callback when annotation
* is removed from the chart.
*/
remove?: EventCallbackFunction<Annotation>;
}
export interface NavigationAnnotationsFibonacciTimeZonesControlPointOptions {
events?: any;
}
/**
* (Highstock) Options for annotation's labels. Each label inherits options from
* the labelOptions object. An option from the labelOptions can be overwritten
* by config for a specific label.
*/
export interface NavigationAnnotationsFibonacciTimeZonesLabelOptions {
/**
* (Highstock) Accessibility options for an annotation label.
*/
accessibility?: AnnotationLabelAccessibilityOptionsObject;
/**
* (Highstock) The alignment of the annotation's label. If right, the right
* side of the label should be touching the point.
*/
align?: AlignValue;
/**
* (Highstock) Whether to allow the annotation's labels to overlap. To make
* the labels less sensitive for overlapping, the can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highstock) The background color or gradient for the annotation's label.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The border color for the annotation's label.
*/
borderColor?: ColorString;
/**
* (Highstock) The border radius in pixels for the annotation's label.
*/
borderRadius?: number;
/**
* (Highstock) The border width in pixels for the annotation's label
*/
borderWidth?: number;
/**
* (Highstock) A class name for styling by CSS.
*/
className?: string;
/**
* (Highstock) Whether to hide the annotation's label that is outside the
* plot area.
*/
crop?: boolean;
/**
* (Highstock) The label's pixel distance from the point.
*/
distance?: number;
/**
* (Highstock) A format string for the data label.
*/
format?: string;
/**
* (Highstock) Callback JavaScript function to format the annotation's
* label. Note that if a `format` or `text` are defined, the format or text
* take precedence and the formatter is ignored. `This` refers to a point
* object.
*/
formatter?: FormatterCallbackFunction<Point>;
/**
* (Highstock) Whether the annotation is visible in the exported data table.
*/
includeInDataExport?: boolean;
/**
* (Highstock) How to handle the annotation's label that flow outside the
* plot area. The justify option aligns the label inside the plot area.
*/
overflow?: OptionsOverflowValue;
/**
* (Highstock) When either the borderWidth or the backgroundColor is set,
* this is the padding within the box.
*/
padding?: number;
/**
* (Highstock) The shadow of the box. The shadow can be an object
* configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
* `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) The name of a symbol to use for the border around the label.
* Symbols are predefined functions on the Renderer object.
*/
shape?: string;
/**
* (Highstock) Styles for the annotation's label.
*/
style?: CSSObject;
/**
* (Highstock) Alias for the format option.
*/
text?: string;
/**
* (Highstock) Whether to use HTML to render the annotation's label.
*/
useHTML?: boolean;
/**
* (Highstock) The vertical alignment of the annotation's label.
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highstock) The x position offset of the label relative to the point.
* Note that if a `distance` is defined, the distance takes precedence over
* `x` and `y` options.
*/
x?: number;
/**
* (Highstock) The y position offset of the label relative to the point.
* Note that if a `distance` is defined, the distance takes precedence over
* `x` and `y` options.
*/
y?: number;
}
/**
* (Highstock) The Fibonacci Time Zones annotation.
*/
export interface NavigationAnnotationsFibonacciTimeZonesOptions {
controlPointOptions?: NavigationAnnotationsFibonacciTimeZonesControlPointOptions;
/**
* (Highstock) Options for annotation's labels. Each label inherits options
* from the labelOptions object. An option from the labelOptions can be
* overwritten by config for a specific label.
*/
labelOptions?: NavigationAnnotationsFibonacciTimeZonesLabelOptions;
/**
* (Highstock) Options for annotation's shapes. Each shape inherits options
* from the shapeOptions object. An option from the shapeOptions can be
* overwritten by config for a specific shape.
*/
shapeOptions?: NavigationAnnotationsFibonacciTimeZonesShapeOptions;
/**
* (Highstock) Additional options for an annotation with the type.
*/
typeOptions?: NavigationAnnotationsFibonacciTimeZonesTypeOptions;
}
/**
* (Highstock) Options for annotation's shapes. Each shape inherits options from
* the shapeOptions object. An option from the shapeOptions can be overwritten
* by config for a specific shape.
*/
export interface NavigationAnnotationsFibonacciTimeZonesShapeOptions {
/**
* (Highstock) Name of the dash style to use for the shape's stroke.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) The color of the shape's fill.
*/
fill?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The height of the shape.
*/
height?: number;
/**
* (Highstock) The radius of the shape.
*/
r?: number;
/**
* (Highstock) The radius of the shape in y direction. Used for the ellipse.
*/
ry?: number;
/**
* (Highstock) Defines additional snapping area around an annotation making
* this annotation to focus. Defined in pixels.
*/
snap?: number;
/**
* (Highstock) The URL for an image to use as the annotation shape. Note,
* type has to be set to `'image'`.
*/
src?: string;
/**
* (Highstock) The color of the shape's stroke.
*/
stroke?: ColorString;
/**
* (Highstock) The pixel stroke width of the shape.
*/
strokeWidth?: number;
/**
* (Highstock) The type of the shape. Available options are circle, rect and
* ellipse.
*/
type?: string;
/**
* (Highstock) The width of the shape.
*/
width?: number;
/**
* (Highstock) The xAxis index to which the points should be attached. Used
* for the ellipse.
*/
xAxis?: number;
/**
* (Highstock) The yAxis index to which the points should be attached. Used
* for the ellipse.
*/
yAxis?: number;
}
export interface NavigationAnnotationsFibonacciTimeZonesTypeControlPointOptions {
events?: any;
}
/**
* (Highstock) Line options.
*/
export interface NavigationAnnotationsFibonacciTimeZonesTypeLineOptions {
fill?: string;
/**
* (Highstock) The color of the lines.
*/
stroke?: string;
/**
* (Highstock) The width of the lines.
*/
strokeWidth?: number;
}
/**
* (Highstock) Additional options for an annotation with the type.
*/
export interface NavigationAnnotationsFibonacciTimeZonesTypeOptions {
controlPointOptions?: NavigationAnnotationsFibonacciTimeZonesTypeControlPointOptions;
/**
* (Highstock) Line options.
*/
line?: NavigationAnnotationsFibonacciTimeZonesTypeLineOptions;
points?: Array<NavigationAnnotationsFibonacciTimeZonesTypePointsOptions>;
/**
* (Highstock) This number defines which xAxis the point is connected to. It
* refers to either the axis id or the index of the axis in the xAxis array.
*/
xAxis?: number;
/**
* (Highstock) This number defines which yAxis the point is connected to. It
* refers to either the axis id or the index of the axis in the xAxis array.
*/
yAxis?: number;
}
export interface NavigationAnnotationsFibonacciTimeZonesTypePointsOptions {
controlPoint?: number;
/**
* (Highstock) The x position of the point.
*/
x?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's labels.
* Each label inherits options from the labelOptions object. An option from the
* labelOptions can be overwritten by config for a specific label.
*/
export interface NavigationAnnotationsLabelOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for an
* annotation label.
*/
accessibility?: AnnotationLabelAccessibilityOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the
* annotation's label. If right, the right side of the label should be
* touching the point.
*/
align?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow the
* annotation's labels to overlap. To make the labels less sensitive for
* overlapping, the can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the annotation's label.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the
* annotation's label.
*/
borderColor?: ColorString;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the annotation's label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the annotation's label
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for styling by CSS.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide the annotation's
* label that is outside the plot area.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The label's pixel distance from
* the point.
*/
distance?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the annotation's label. Note that if a `format` or `text` are
* defined, the format or text take precedence and the formatter is ignored.
* `This` refers to a point object.
*/
formatter?: FormatterCallbackFunction<Point>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether the annotation is
* visible in the exported data table.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle the annotation's
* label that flow outside the plot area. The justify option aligns the
* label inside the plot area.
*/
overflow?: OptionsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the borderWidth or
* the backgroundColor is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. The
* shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the annotation's
* label.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Alias for the format option.
*/
text?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the annotation's label.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
* annotation's label.
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point. Note that if a `distance` is defined, the
* distance takes precedence over `x` and `y` options.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point. Note that if a `distance` is defined, the
* distance takes precedence over `x` and `y` options.
*/
y?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) An array of labels for the
* annotation. For options that apply to multiple labels, they can be added to
* the labelOptions.
*/
export interface NavigationAnnotationsLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for an
* annotation label.
*/
accessibility?: AnnotationLabelAccessibilityOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the
* annotation's label. If right, the right side of the label should be
* touching the point.
*/
align?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow the
* annotation's labels to overlap. To make the labels less sensitive for
* overlapping, the can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the annotation's label.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the
* annotation's label.
*/
borderColor?: ColorString;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the annotation's label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the annotation's label
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for styling by CSS.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide the annotation's
* label that is outside the plot area.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The label's pixel distance from
* the point.
*/
distance?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the annotation's label. Note that if a `format` or `text` are
* defined, the format or text take precedence and the formatter is ignored.
* `This` refers to a point object.
*/
formatter?: FormatterCallbackFunction<Point>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether the annotation is
* visible in the exported data table.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle the annotation's
* label that flow outside the plot area. The justify option aligns the
* label inside the plot area.
*/
overflow?: OptionsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the borderWidth or
* the backgroundColor is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This option defines the point to
* which the label will be connected. It can be either the point which
* exists in the series - it is referenced by the point's id - or a new
* point with defined x, y properties and optionally axes.
*/
point?: (string|AnnotationMockPointFunction|AnnotationMockPointOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. The
* shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the annotation's
* label.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Alias for the format option.
*/
text?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the annotation's label.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
* annotation's label.
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point. Note that if a `distance` is defined, the
* distance takes precedence over `x` and `y` options.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point. Note that if a `distance` is defined, the
* distance takes precedence over `x` and `y` options.
*/
y?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Additional options to be merged into
* all annotations.
*/
export interface NavigationAnnotationsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `annotation`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation. For other animations, see
* chart.animation and the animation parameter under the API methods. The
* following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|NavigationAnnotationsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's control
* points. Each control point inherits options from controlPointOptions
* object. Options from the controlPointOptions can be overwritten by
* options in a specific control point.
*/
controlPointOptions?: AnnotationControlPointOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide the part of the
* annotation that is outside the plot area.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Allow an annotation to be
* draggable by a user. Possible values are `'x'`, `'xy'`, `'y'` and `''`
* (disabled).
*/
draggable?: AnnotationDraggableValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Events available in annotations.
*/
events?: NavigationAnnotationsEventsOptions;
/**
* (Highstock) The Fibonacci Time Zones annotation.
*/
fibonacciTimeZones?: NavigationAnnotationsFibonacciTimeZonesOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Sets an ID for an annotation.
* Can be user later when removing an annotation in
* Chart.removeAnnotation(id) method.
*/
id?: (number|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's labels.
* Each label inherits options from the labelOptions object. An option from
* the labelOptions can be overwritten by config for a specific label.
*/
labelOptions?: NavigationAnnotationsLabelOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) An array of labels for the
* annotation. For options that apply to multiple labels, they can be added
* to the labelOptions.
*/
labels?: Array<NavigationAnnotationsLabelsOptions>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's shapes.
* Each shape inherits options from the shapeOptions object. An option from
* the shapeOptions can be overwritten by config for a specific shape.
*/
shapeOptions?: NavigationAnnotationsShapeOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) An array of shapes for the
* annotation. For options that apply to multiple shapes, then can be added
* to the shapeOptions.
*/
shapes?: Array<NavigationAnnotationsShapesOptions>;
/**
* (Highstock) The TimeCycles Annotation
*/
timeCycles?: NavigationAnnotationsTimeCyclesOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether the annotation is
* visible.
*/
visible?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The Z index of the annotation.
*/
zIndex?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for annotation's shapes.
* Each shape inherits options from the shapeOptions object. An option from the
* shapeOptions can be overwritten by config for a specific shape.
*/
export interface NavigationAnnotationsShapeOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Name of the dash style to use
* for the shape's stroke.
*/
dashStyle?: DashStyleValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's fill.
*/
fill?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The height of the shape.
*/
height?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The radius of the shape.
*/
r?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The radius of the shape in y
* direction. Used for the ellipse.
*/
ry?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Defines additional snapping area
* around an annotation making this annotation to focus. Defined in pixels.
*/
snap?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The URL for an image to use as
* the annotation shape. Note, type has to be set to `'image'`.
*/
src?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's stroke.
*/
stroke?: ColorString;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The pixel stroke width of the
* shape.
*/
strokeWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The type of the shape. Available
* options are circle, rect and ellipse.
*/
type?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The width of the shape.
*/
width?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The xAxis index to which the
* points should be attached. Used for the ellipse.
*/
xAxis?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The yAxis index to which the
* points should be attached. Used for the ellipse.
*/
yAxis?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) An array of shapes for the
* annotation. For options that apply to multiple shapes, then can be added to
* the shapeOptions.
*/
export interface NavigationAnnotationsShapesOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Name of the dash style to use
* for the shape's stroke.
*/
dashStyle?: DashStyleValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's fill.
*/
fill?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The height of the shape.
*/
height?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Id of the marker which will be
* drawn at the final vertex of the path. Custom markers can be defined in
* defs property.
*/
markerEnd?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Id of the marker which will be
* drawn at the first vertex of the path. Custom markers can be defined in
* defs property.
*/
markerStart?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This option defines the point to
* which the shape will be connected. It can be either the point which
* exists in the series - it is referenced by the point's id - or a new
* point with defined x, y properties and optionally axes.
*/
point?: (string|AnnotationMockPointFunction|AnnotationMockPointOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) An array of points for the shape
* or a callback function that returns that shape point.
*
* This option is available for shapes which can use multiple points such as
* path. A point can be either a point object or a point's id.
*/
points?: Array<AnnotationShapePointOptions>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The radius of the shape.
*/
r?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The radius of the shape in y
* direction. Used for the ellipse.
*/
ry?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Defines additional snapping area
* around an annotation making this annotation to focus. Defined in pixels.
*/
snap?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The URL for an image to use as
* the annotation shape. Note, type has to be set to `'image'`.
*/
src?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The color of the shape's stroke.
*/
stroke?: ColorString;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The pixel stroke width of the
* shape.
*/
strokeWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The type of the shape. Available
* options are circle, rect and ellipse.
*/
type?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The width of the shape.
*/
width?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The xAxis index to which the
* points should be attached. Used for the ellipse.
*/
xAxis?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The yAxis index to which the
* points should be attached. Used for the ellipse.
*/
yAxis?: number;
}
export interface NavigationAnnotationsTimeCyclesControlPointOptions {
events?: any;
}
/**
* (Highstock) The TimeCycles Annotation
*/
export interface NavigationAnnotationsTimeCyclesOptions {
controlPointOptions?: NavigationAnnotationsTimeCyclesControlPointOptions;
/**
* (Highstock) Options for annotation's shapes. Each shape inherits options
* from the shapeOptions object. An option from the shapeOptions can be
* overwritten by config for a specific shape.
*/
shapeOptions?: NavigationAnnotationsTimeCyclesShapeOptions;
/**
* (Highstock) Additional options for an annotation with the type.
*/
typeOptions?: NavigationAnnotationsTimeCyclesTypeOptions;
}
/**
* (Highstock) Options for annotation's shapes. Each shape inherits options from
* the shapeOptions object. An option from the shapeOptions can be overwritten
* by config for a specific shape.
*/
export interface NavigationAnnotationsTimeCyclesShapeOptions {
/**
* (Highstock) Name of the dash style to use for the shape's stroke.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) The color of the shape's fill.
*/
fill?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The height of the shape.
*/
height?: number;
/**
* (Highstock) The radius of the shape.
*/
r?: number;
/**
* (Highstock) The radius of the shape in y direction. Used for the ellipse.
*/
ry?: number;
/**
* (Highstock) Defines additional snapping area around an annotation making
* this annotation to focus. Defined in pixels.
*/
snap?: number;
/**
* (Highstock) The URL for an image to use as the annotation shape. Note,
* type has to be set to `'image'`.
*/
src?: string;
/**
* (Highstock) The color of the shape's stroke.
*/
stroke?: ColorString;
/**
* (Highstock) The pixel stroke width of the shape.
*/
strokeWidth?: number;
/**
* (Highstock) The type of the shape. Available options are circle, rect and
* ellipse.
*/
type?: string;
/**
* (Highstock) The width of the shape.
*/
width?: number;
/**
* (Highstock) The xAxis index to which the points should be attached. Used
* for the ellipse.
*/
xAxis?: number;
/**
* (Highstock) The yAxis index to which the points should be attached. Used
* for the ellipse.
*/
yAxis?: number;
}
/**
* (Highstock) Line options.
*/
export interface NavigationAnnotationsTimeCyclesTypeLineOptions {
fill?: string;
}
/**
* (Highstock) Additional options for an annotation with the type.
*/
export interface NavigationAnnotationsTimeCyclesTypeOptions {
/**
* (Highstock) Line options.
*/
line?: NavigationAnnotationsTimeCyclesTypeLineOptions;
points?: Array<NavigationAnnotationsTimeCyclesTypePointsOptions>;
/**
* (Highstock) This number defines which xAxis the point is connected to. It
* refers to either the axis id or the index of the axis in the xAxis array.
*/
xAxis?: number;
/**
* (Highstock) This number defines which yAxis the point is connected to. It
* refers to either the axis id or the index of the axis in the xAxis array.
*/
yAxis?: number;
}
export interface NavigationAnnotationsTimeCyclesTypePointsOptions {
controlPoint?: number;
/**
* (Highstock) The x position of the point.
*/
x?: number;
}
/**
* (Highcharts, Highstock) A ellipse annotation bindings. Includes `start` and
* two events in `steps` array. First updates the second point, responsible for
* a rx width, and second updates the ry width.
*/
export interface NavigationBindingsEllipseAnnotationOptions {
className?: string;
}
/**
* (Highstock) A fibonacci annotation bindings. Includes `start` and two events
* in `steps` array (updates second point, then height).
*/
export interface NavigationBindingsFibonacciOptions {
className?: string;
}
/**
* (Highstock) Displays chart in fullscreen.
*
* **Note**: Fullscreen is not supported on iPhone due to iOS limitations.
*/
export interface NavigationBindingsFullScreenOptions {
noDataState?: string;
}
/**
* (Highcharts, Highstock) Bindings definitions for custom HTML buttons. Each
* binding implements simple event-driven interface:
*
* - `className`: classname used to bind event to
*
* - `init`: initial event, fired on button click
*
* - `start`: fired on first click on a chart
*
* - `steps`: array of sequential events fired one after another on each of
* users clicks
*
* - `end`: last event to be called after last step event
*/
export interface NavigationBindingsOptions {
/**
* (Highstock) A line with arrow annotation. Includes `start` and one event
* in `steps` array.
*/
arrowInfinityLine?: NavigationBindingsOptionsObject;
/**
* (Highstock) A ray with an arrow annotation bindings. Includes `start` and
* one event in `steps` array.
*/
arrowRay?: NavigationBindingsOptionsObject;
/**
* (Highstock) A segment with an arrow annotation bindings. Includes `start`
* and one event in `steps` array.
*/
arrowSegment?: NavigationBindingsOptionsObject;
/**
* (Highcharts, Highstock) A circle annotation bindings. Includes `start`
* and one event in `steps` array.
*/
circleAnnotation?: NavigationBindingsOptionsObject;
/**
* (Highstock) Crooked line (three points) annotation bindings. Includes
* `start` and two events in `steps` (for second and third points in crooked
* line) array.
*/
crooked3?: NavigationBindingsOptionsObject;
/**
* (Highstock) Crooked line (five points) annotation bindings. Includes
* `start` and four events in `steps` (for all consequent points in crooked
* line) array.
*/
crooked5?: NavigationBindingsOptionsObject;
/**
* (Highstock) Hides/shows two price indicators:
*
* - last price in the dataset
*
* - last price in the selected range
*/
currentPriceIndicator?: NavigationBindingsOptionsObject;
/**
* (Highstock) Elliott wave (three points) annotation bindings. Includes
* `start` and two events in `steps` (for second and third points) array.
*/
elliott3?: NavigationBindingsOptionsObject;
/**
* (Highstock) Elliott wave (five points) annotation bindings. Includes
* `start` and four event in `steps` (for all consequent points in Elliott
* wave) array.
*/
elliott5?: NavigationBindingsOptionsObject;
/**
* (Highcharts, Highstock) A ellipse annotation bindings. Includes `start`
* and two events in `steps` array. First updates the second point,
* responsible for a rx width, and second updates the ry width.
*/
ellipseAnnotation?: (NavigationBindingsEllipseAnnotationOptions|NavigationBindingsOptionsObject);
/**
* (Highstock) A fibonacci annotation bindings. Includes `start` and two
* events in `steps` array (updates second point, then height).
*/
fibonacci?: (NavigationBindingsFibonacciOptions|NavigationBindingsOptionsObject);
/**
* (Highstock) The Fibonacci Time Zones annotation bindings. Includes
* `start` and one event in `steps` array.
*/
fibonacciTimeZones?: NavigationBindingsOptionsObject;
/**
* (Highstock) A flag series bindings. Includes `start` event. On click,
* finds the closest point and marks it with a flag with `'circlepin'`
* shape.
*/
flagCirclepin?: NavigationBindingsOptionsObject;
/**
* (Highstock) A flag series bindings. Includes `start` event. On click,
* finds the closest point and marks it with a flag with `'diamondpin'`
* shape.
*/
flagDiamondpin?: NavigationBindingsOptionsObject;
/**
* (Highstock) A flag series bindings. Includes `start` event. On click,
* finds the closest point and marks it with a flag without pin shape.
*/
flagSimplepin?: NavigationBindingsOptionsObject;
/**
* (Highstock) A flag series bindings. Includes `start` event. On click,
* finds the closest point and marks it with a flag with `'squarepin'`
* shape.
*/
flagSquarepin?: NavigationBindingsOptionsObject;
/**
* (Highstock) Displays chart in fullscreen.
*
* **Note**: Fullscreen is not supported on iPhone due to iOS limitations.
*/
fullScreen?: (NavigationBindingsFullScreenOptions|NavigationBindingsOptionsObject);
/**
* (Highstock) A horizontal line annotation. Includes `start` event.
*/
horizontalLine?: NavigationBindingsOptionsObject;
/**
* (Highstock) Indicators bindings. Includes `init` event to show a popup.
*
* Note: In order to show base series from the chart in the popup's dropdown
* each series requires series.id to be defined.
*/
indicators?: NavigationBindingsOptionsObject;
/**
* (Highstock) A line annotation. Includes `start` and one event in `steps`
* array.
*/
infinityLine?: NavigationBindingsOptionsObject;
/**
* (Highcharts, Highstock) A label annotation bindings. Includes `start`
* event only.
*/
labelAnnotation?: NavigationBindingsOptionsObject;
/**
* (Highstock) A measure (x-dimension) annotation bindings. Includes `start`
* and one event in `steps` array.
*/
measureX?: NavigationBindingsOptionsObject;
/**
* (Highstock) A measure (xy-dimension) annotation bindings. Includes
* `start` and one event in `steps` array.
*/
measureXY?: NavigationBindingsOptionsObject;
/**
* (Highstock) A measure (y-dimension) annotation bindings. Includes `start`
* and one event in `steps` array.
*/
measureY?: NavigationBindingsOptionsObject;
/**
* (Highstock) A parallel channel (tunnel) annotation bindings. Includes
* `start` and two events in `steps` array (updates second point, then
* height).
*/
parallelChannel?: NavigationBindingsOptionsObject;
/**
* (Highstock) An Andrew's pitchfork annotation bindings. Includes `start`
* and two events in `steps` array (sets second and third control points).
*/
pitchfork?: NavigationBindingsOptionsObject;
/**
* (Highstock) A ray annotation bindings. Includes `start` and one event in
* `steps` array.
*/
ray?: NavigationBindingsOptionsObject;
/**
* (Highcharts, Highstock) A rectangle annotation bindings. Includes `start`
* and one event in `steps` array.
*/
rectangleAnnotation?: NavigationBindingsOptionsObject;
/**
* (Highstock) Save a chart in localStorage under `highcharts-chart` key.
* Stored items:
*
* - annotations
*
* - indicators (with yAxes)
*
* - flags
*/
saveChart?: (NavigationBindingsOptionsObject|NavigationBindingsSaveChartOptions);
/**
* (Highstock) A segment annotation bindings. Includes `start` and one event
* in `steps` array.
*/
segment?: NavigationBindingsOptionsObject;
/**
* (Highstock) Changes main series to `'candlestick'` type.
*/
seriesTypeCandlestick?: NavigationBindingsOptionsObject;
/**
* (Highstock) Changes main series to `'heikinashi'` type.
*/
seriesTypeHeikinAshi?: NavigationBindingsOptionsObject;
/**
* (Highstock) Change main series to `'hlc'` type.
*/
seriesTypeHLC?: (NavigationBindingsOptionsObject|NavigationBindingsSeriesTypeHLCOptions);
/**
* (Highstock) Changes main series to `'hollowcandlestick'` type.
*/
seriesTypeHollowCandlestick?: NavigationBindingsOptionsObject;
/**
* (Highstock) Changes main series to `'line'` type.
*/
seriesTypeLine?: NavigationBindingsOptionsObject;
/**
* (Highstock) Changes main series to `'ohlc'` type.
*/
seriesTypeOhlc?: NavigationBindingsOptionsObject;
/**
* (Highstock) A time cycles annotation bindings. Includes `start` event and
* 1 `step` event. first click marks the beginning of the circle, and the
* second one sets its diameter.
*/
timeCycles?: (NavigationBindingsOptionsObject|NavigationBindingsTimeCyclesOptions);
/**
* (Highstock) Hides/shows all annotations on a chart.
*/
toggleAnnotations?: NavigationBindingsOptionsObject;
/**
* (Highstock) A vertical arrow annotation bindings. Includes `start` event.
* On click, finds the closest point and marks it with an arrow. `#06b535`
* is the color of the arrow when pointing from above and `#f21313` when
* pointing from below the point.
*/
verticalArrow?: NavigationBindingsOptionsObject;
/**
* (Highstock) A vertical counter annotation bindings. Includes `start`
* event. On click, finds the closest point and marks it with a numeric
* annotation - incrementing counter on each add.
*/
verticalCounter?: NavigationBindingsOptionsObject;
/**
* (Highstock) A vertical line annotation. Includes `start` event.
*/
verticalLine?: NavigationBindingsOptionsObject;
/**
* (Highstock) Enables zooming in xAxis on a chart. Includes `start` event
* which changes chart.zoomType.
*/
zoomX?: NavigationBindingsOptionsObject;
/**
* (Highstock) Enables zooming in xAxis and yAxis on a chart. Includes
* `start` event which changes chart.zoomType.
*/
zoomXY?: NavigationBindingsOptionsObject;
/**
* (Highstock) Enables zooming in yAxis on a chart. Includes `start` event
* which changes chart.zoomType.
*/
zoomY?: NavigationBindingsOptionsObject;
}
/**
* A config object for navigation bindings in annotations.
*/
export interface NavigationBindingsOptionsObject {
/**
* ClassName of the element for a binding.
*/
className?: string;
/**
* Last event to be fired after last step event.
*/
end?: Function;
/**
* Initial event, fired on a button click.
*/
init?: Function;
/**
* Event fired on first click on a chart.
*/
start?: Function;
/**
* Last event to be fired after last step event. Array of step events to be
* called sequentially after each user click.
*/
steps?: Array<Function>;
}
/**
* (Highstock) Save a chart in localStorage under `highcharts-chart` key. Stored
* items:
*
* - annotations
*
* - indicators (with yAxes)
*
* - flags
*/
export interface NavigationBindingsSaveChartOptions {
noDataState?: string;
}
/**
* (Highstock) Change main series to `'hlc'` type.
*/
export interface NavigationBindingsSeriesTypeHLCOptions {
className?: string;
}
/**
* (Highstock) A time cycles annotation bindings. Includes `start` event and 1
* `step` event. first click marks the beginning of the circle, and the second
* one sets its diameter.
*/
export interface NavigationBindingsTimeCyclesOptions {
className?: string;
}
/**
* (Highcharts) A collection of attributes for the buttons. The object takes SVG
* attributes like `fill`, `stroke`, `stroke-width`, as well as `style`, a
* collection of CSS properties for the text.
*
* The object can also be extended with states, so you can set presentational
* options for `hover`, `select` or `disabled` button states.
*/
export interface NavigationBreadcrumbsButtonThemeOptions {
style?: NavigationBreadcrumbsButtonThemeStyleOptions;
}
export interface NavigationBreadcrumbsButtonThemeStyleOptions {
color?: string;
}
export interface NavigationBreadcrumbsEventsOptions {
/**
* (Highcharts) Fires when clicking on the breadcrumbs button. Two arguments
* are passed to the function. First breadcrumb button as an SVG element.
* Second is the breadcrumbs class, containing reference to the chart,
* series etc. (see online documentation for example)
*
* Return false to stop default buttons click action.
*/
click?: BreadcrumbsClickCallbackFunction;
}
/**
* (Highcharts) Options for breadcrumbs. Breadcrumbs general options are defined
* in `navigation.breadcrumbs`. Specific options for drilldown are set in
* `drilldown.breadcrumbs` and for tree-like series traversing, in
* `plotOptions[series].breadcrumbs`.
*/
export interface NavigationBreadcrumbsOptions {
/**
* (Highcharts) The default padding for each button and separator in each
* direction.
*/
buttonSpacing?: number;
/**
* (Highcharts) A collection of attributes for the buttons. The object takes
* SVG attributes like `fill`, `stroke`, `stroke-width`, as well as `style`,
* a collection of CSS properties for the text.
*
* The object can also be extended with states, so you can set
* presentational options for `hover`, `select` or `disabled` button states.
*/
buttonTheme?: (NavigationBreadcrumbsButtonThemeOptions|SVGAttributes);
events?: NavigationBreadcrumbsEventsOptions;
/**
* (Highcharts) When the breadcrumbs are floating, the plot area will not
* move to make space for it. By default, the chart will not make space for
* the buttons. This property won't work when positioned in the middle.
*/
floating?: boolean;
/**
* (Highcharts) A format string for the breadcrumbs button. Variables are
* enclosed by curly brackets. Available values are passed in the declared
* point options.
*/
format?: (string|undefined);
/**
* (Highcharts) Callback function to format the breadcrumb text from
* scratch.
*/
formatter?: BreadcrumbsFormatterCallbackFunction;
/**
* (Highcharts, Highmaps) Positioning for the button row. The breadcrumbs
* buttons will be aligned properly for the default chart layout (title,
* subtitle, legend, range selector) for the custom chart layout set the
* position properties.
*/
position?: (BreadcrumbsAlignOptions|NavigationBreadcrumbsPositionOptions);
/**
* (Highcharts, Highmaps) What box to align the button to. Can be either
* `plotBox` or `spacingBox`.
*/
relativeTo?: ButtonRelativeToValue;
/**
* (Highcharts) Whether to reverse the order of buttons. This is common in
* Arabic and Hebrew.
*/
rtl?: boolean;
/**
* (Highcharts) Options object for Breadcrumbs separator.
*/
separator?: NavigationBreadcrumbsSeparatorOptions;
/**
* (Highcharts) Show full path or only a single button.
*/
showFullPath?: boolean;
/**
* (Highcharts) CSS styles for all breadcrumbs.
*
* In styled mode, the breadcrumbs buttons are styled by the
* `.highcharts-breadcrumbs-buttons .highcharts-button` rule with its
* different states.
*/
style?: SVGAttributes;
/**
* (Highcharts) Whether to use HTML to render the breadcrumbs items texts.
*/
useHTML?: boolean;
/**
* (Highcharts) The z index of the breadcrumbs group.
*/
zIndex?: number;
}
/**
* (Highcharts, Highmaps) Positioning for the button row. The breadcrumbs
* buttons will be aligned properly for the default chart layout (title,
* subtitle, legend, range selector) for the custom chart layout set the
* position properties.
*/
export interface NavigationBreadcrumbsPositionOptions {
/**
* (Highcharts, Highmaps) Horizontal alignment of the breadcrumbs buttons.
*/
align?: AlignValue;
/**
* (Highcharts, Highmaps) Vertical alignment of the breadcrumbs buttons.
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highcharts, Highmaps) The X offset of the breadcrumbs button group.
*/
x?: number;
/**
* (Highcharts, Highmaps) The Y offset of the breadcrumbs button group. When
* `undefined`, and `floating` is `false`, the `y` position is adapted so
* that the breadcrumbs are rendered outside the target area.
*/
y?: (number|undefined);
}
/**
* (Highcharts) Options object for Breadcrumbs separator.
*/
export interface NavigationBreadcrumbsSeparatorOptions {
/**
* (Highcharts) CSS styles for the breadcrumbs separator.
*
* In styled mode, the breadcrumbs separators are styled by the
* `.highcharts-separator` rule with its different states.
*/
style?: (CSSObject|NavigationBreadcrumbsSeparatorStyleOptions);
text?: string;
}
/**
* (Highcharts) CSS styles for the breadcrumbs separator.
*
* In styled mode, the breadcrumbs separators are styled by the
* `.highcharts-separator` rule with its different states.
*/
export interface NavigationBreadcrumbsSeparatorStyleOptions {
color?: string;
fontSize?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) A collection of options for buttons
* appearing in the exporting module.
*
* In styled mode, the buttons are styled with the `.highcharts-contextbutton`
* and `.highcharts-button-symbol` classes.
*/
export interface NavigationButtonOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Alignment for the buttons.
*/
align?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The pixel spacing between
* buttons.
*/
buttonSpacing?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to enable buttons.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Pixel height of the buttons.
*/
height?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Fill color for the symbol within
* the button.
*/
symbolFill?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The pixel size of the symbol on
* the button.
*/
symbolSize?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The color of the symbol's stroke
* or line.
*/
symbolStroke?: ColorString;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The pixel stroke width of the
* symbol on the button.
*/
symbolStrokeWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position of the center of
* the symbol inside the button.
*/
symbolX?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position of the center of
* the symbol inside the button.
*/
symbolY?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A text string to add to the
* individual button.
*/
text?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A configuration object for the
* button theme. The object accepts SVG properties like `stroke-width`,
* `stroke` and `fill`. Tri-state button styles are supported by the
* `states.hover` and `states.select` objects.
*/
theme?: NavigationButtonThemeOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML for
* rendering the button. HTML allows for things like inline CSS or
* image-based icons.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
* buttons. Can be one of `"top"`, `"middle"` or `"bottom"`.
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the button.
*/
width?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical offset of the
* button's position relative to its `verticalAlign`.
*/
y?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) A configuration object for the
* button theme. The object accepts SVG properties like `stroke-width`, `stroke`
* and `fill`. Tri-state button styles are supported by the `states.hover` and
* `states.select` objects.
*/
export interface NavigationButtonThemeOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The default fill exists only to
* capture hover events.
*/
fill?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Padding for the button.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Default stroke for the buttons.
*/
stroke?: ColorString;
}
/**
* (Highcharts, Highstock) Events to communicate between Stock Tools and custom
* GUI.
*/
export interface NavigationEventsOptions {
/**
* (Highcharts, Highstock) A `closePopup` event. Fired when Popup should be
* hidden, for example when clicking on an annotation again.
*/
closePopup?: Function;
/**
* (Highcharts, Highstock) Event fired when button state should change, for
* example after adding an annotation.
*/
deselectButton?: Function;
/**
* (Highcharts, Highstock) Event fired on a button click.
*/
selectButton?: Function;
/**
* (Highcharts, Highstock) A `showPopup` event. Fired when selecting for
* example an annotation.
*/
showPopup?: Function;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) A collection of options for buttons
* and menus appearing in the exporting module or in Stock Tools.
*/
export interface NavigationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Additional options to be merged
* into all annotations.
*/
annotationsOptions?: (AnnotationsOptions|NavigationAnnotationsOptions);
/**
* (Highcharts, Highstock) Bindings definitions for custom HTML buttons.
* Each binding implements simple event-driven interface:
*
* - `className`: classname used to bind event to
*
* - `init`: initial event, fired on button click
*
* - `start`: fired on first click on a chart
*
* - `steps`: array of sequential events fired one after another on each of
* users clicks
*
* - `end`: last event to be called after last step event
*/
bindings?: (NavigationBindingsOptions|Dictionary<NavigationBindingsOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) A CSS class name where all
* bindings will be attached to. Multiple charts on the same page should
* have separate class names to prevent duplicating events.
*
* Default value of versions < 7.0.4 `highcharts-bindings-wrapper`
*/
bindingsClassName?: string;
/**
* (Highcharts) Options for breadcrumbs. Breadcrumbs general options are
* defined in `navigation.breadcrumbs`. Specific options for drilldown are
* set in `drilldown.breadcrumbs` and for tree-like series traversing, in
* `plotOptions[series].breadcrumbs`.
*/
breadcrumbs?: NavigationBreadcrumbsOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A collection of options for
* buttons appearing in the exporting module.
*
* In styled mode, the buttons are styled with the
* `.highcharts-contextbutton` and `.highcharts-button-symbol` classes.
*/
buttonOptions?: NavigationButtonOptions;
/**
* (Highcharts, Highstock) Events to communicate between Stock Tools and
* custom GUI.
*/
events?: NavigationEventsOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Path where Highcharts will look
* for icons. Change this to use icons from a different server.
*/
iconsURL?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the hover state
* of the individual items within the popup menu appearing by default when
* the export icon is clicked. The menu items are rendered in HTML.
*/
menuItemHoverStyle?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the individual
* items within the popup menu appearing by default when the export icon is
* clicked. The menu items are rendered in HTML. Font size defaults to
* `11px` on desktop and `14px` on touch devices.
*/
menuItemStyle?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the popup menu
* appearing by default when the export icon is clicked. This menu is
* rendered in HTML.
*/
menuStyle?: CSSObject;
}
/**
* (Highstock, Gantt) Accessibility options for the navigator. Requires the
* Accessibility module.
*/
export interface NavigatorAccessibilityOptions {
/**
* (Highstock, Gantt) Enable accessibility support for the navigator.
*/
enabled?: boolean;
}
/**
* (Highstock, Gantt) Options for the handles for dragging the zoomed area.
*/
export interface NavigatorHandlesOptions {
/**
* (Highstock, Gantt) The fill for the handle.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock, Gantt) The stroke for the handle border and the stripes
* inside.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock, Gantt) Allows to enable/disable handles.
*/
enabled?: boolean;
/**
* (Highstock, Gantt) Height for handles.
*/
height?: number;
/**
* (Highstock, Gantt) The width for the handle border and the stripes
* inside.
*/
lineWidth?: number;
/**
* (Highstock, Gantt) Array to define shapes of handles. 0-index for left,
* 1-index for right.
*
* Additionally, the URL to a graphic can be given on this form:
* `url(graphic.png)`. Note that for the image to be applied to exported
* charts, its URL needs to be accessible by the export server.
*
* Custom callbacks for symbol path generation can also be added to
* `Highcharts.SVGRenderer.prototype.symbols`. The callback is then used by
* its method name, as shown in the demo.
*/
symbols?: Array<string>;
/**
* (Highstock, Gantt) Width for handles.
*/
width?: number;
}
/**
* (Highstock, Gantt) The navigator is a small series below the main series,
* displaying a view of the entire data set. It provides tools to zoom in and
* out on parts of the data as well as panning across the dataset.
*/
export interface NavigatorOptions {
/**
* (Highstock, Gantt) Accessibility options for the navigator. Requires the
* Accessibility module.
*/
accessibility?: NavigatorAccessibilityOptions;
/**
* (Highstock, Gantt) Whether the navigator and scrollbar should adapt to
* updated data in the base X axis. When loading data async, as in the demo
* below, this should be `false`. Otherwise new data will trigger navigator
* redraw, which will cause unwanted looping. In the demo below, the data in
* the navigator is set only once. On navigating, only the main chart
* content is updated.
*/
adaptToUpdatedData?: boolean;
/**
* (Highstock, Gantt) Enable or disable the navigator.
*/
enabled?: boolean;
/**
* (Highstock, Gantt) Options for the handles for dragging the zoomed area.
*/
handles?: NavigatorHandlesOptions;
/**
* (Highstock, Gantt) The height of the navigator.
*/
height?: number;
/**
* (Highstock, Gantt) The distance from the nearest element, the X axis or X
* axis labels.
*/
margin?: number;
/**
* (Highstock, Gantt) The color of the mask covering the areas of the
* navigator series that are currently not visible in the main series. The
* default color is bluish with an opacity of 0.3 to see the series below.
*/
maskFill?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock, Gantt) Whether the mask should be inside the range marking
* the zoomed range, or outside. In Highcharts Stock 1.x it was always
* `false`.
*/
maskInside?: boolean;
/**
* (Highstock, Gantt) When the chart is inverted, whether to draw the
* navigator on the opposite side.
*/
opposite?: boolean;
/**
* (Highstock, Gantt) The color of the line marking the currently zoomed
* area in the navigator.
*/
outlineColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock, Gantt) The width of the line marking the currently zoomed
* area in the navigator.
*/
outlineWidth?: number;
/**
* (Highstock, Gantt) Options for the navigator series. Available options
* are the same as any series, documented at plotOptions and series.
*
* Unless data is explicitly defined on navigator.series, the data is
* borrowed from the first series in the chart.
*
* Default series options for the navigator series are: (see online
* documentation for example)
*/
series?: (NavigatorSeriesOptions|SeriesOptionsType|Array<NavigatorSeriesOptions>|Array<SeriesOptionsType>);
/**
* (Highstock, Gantt) Enable or disable navigator sticking to right, while
* adding new points. If `undefined`, the navigator sticks to the axis
* maximum only if it was already at the maximum prior to adding points.
*/
stickToMax?: boolean;
/**
* (Highstock, Gantt) Options for the navigator X axis. Default series
* options for the navigator xAxis are: (see online documentation for
* example)
*/
xAxis?: (NavigatorXAxisOptions|Array<NavigatorXAxisOptions>);
/**
* (Highstock, Gantt) Options for the navigator Y axis. Default series
* options for the navigator yAxis are: (see online documentation for
* example)
*/
yAxis?: (NavigatorYAxisOptions|Array<NavigatorYAxisOptions>);
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface NavigatorSeriesDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Data label options for the navigator
* series. Data labels are disabled by default on the navigator series.
*/
export interface NavigatorSeriesDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|NavigatorSeriesDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: (VerticalAlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
export interface NavigatorSeriesMarkerOptions {
enabled?: boolean;
}
/**
* (Highstock, Gantt) Options for the navigator series. Available options are
* the same as any series, documented at plotOptions and series.
*
* Unless data is explicitly defined on navigator.series, the data is borrowed
* from the first series in the chart.
*
* Default series options for the navigator series are: (see online
* documentation for example)
*/
export interface NavigatorSeriesOptions {
className?: string;
/**
* (Highstock, Gantt) Sets the fill color of the navigator series.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Unless data is explicitly defined, the data is borrowed from
* the first series in the chart.
*/
data?: Array<(number|Array<(number|string|null)>|object|null)>;
/**
* (Highstock) Data grouping options for the navigator series.
*/
dataGrouping?: DataGroupingOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Data label options for the
* navigator series. Data labels are disabled by default on the navigator
* series.
*/
dataLabels?: (NavigatorSeriesDataLabelsOptions|Array<NavigatorSeriesDataLabelsOptions>);
/**
* (Highstock, Gantt) The fill opacity of the navigator series.
*/
fillOpacity?: number;
id?: string;
/**
* (Highstock, Gantt) Line color for the navigator series. Allows setting
* the color while disallowing the default candlestick setting.
*/
lineColor?: (ColorString|null);
/**
* (Highstock, Gantt) The pixel line width of the navigator series.
*/
lineWidth?: number;
marker?: NavigatorSeriesMarkerOptions;
/**
* (Highstock) Since Highcharts Stock v8, default value is the same as
* default `pointRange` defined for a specific type (e.g. `null` for column
* type).
*
* In Highcharts Stock version < 8, defaults to 0.
*/
pointRange?: (number|null);
/**
* (Highstock, Gantt) The threshold option. Setting it to 0 will make the
* default navigator area series draw its area from the 0 value and up.
*/
threshold?: (number|null);
/**
* (Highstock, Gantt) The type of the navigator series.
*
* Heads up: In column-type navigator, zooming is limited to at least one
* point with its `pointRange`.
*/
type?: string;
}
/**
* (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
* sections defined will be left out and all the points shifted closer to each
* other.
*/
export interface NavigatorXAxisBreaksOptions {
/**
* (Highcharts, Highstock, Gantt) 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.
*/
breakSize?: number;
/**
* (Highcharts, Highstock, Gantt) The point where the break starts.
*/
from?: number;
/**
* (Highcharts, Highstock, Gantt) Defines an interval after which the break
* appears again. By default the breaks do not repeat.
*/
repeat?: number;
/**
* (Highcharts, Highstock, Gantt) The point where the break ends.
*/
to?: number;
}
/**
* (Gantt) An object defining mouse events for the plot line. Supported
* properties are `click`, `mouseover`, `mouseout`, `mousemove`.
*/
export interface NavigatorXAxisCurrentDateIndicatorEventsOptions {
/**
* (Gantt) Click event on a plot band.
*/
click?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Gantt) Mouse move event on a plot band.
*/
mousemove?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Gantt) Mouse out event on the corner of a plot band.
*/
mouseout?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Gantt) Mouse over event on a plot band.
*/
mouseover?: EventCallbackFunction<PlotLineOrBand>;
}
/**
* (Gantt) Text labels for the plot bands
*/
export interface NavigatorXAxisCurrentDateIndicatorLabelOptions {
/**
* (Gantt) Horizontal alignment of the label. Can be one of "left", "center"
* or "right".
*/
align?: AlignValue;
/**
* (Gantt) Format of the label. This options is passed as the fist argument
* to dateFormat function.
*/
format?: string;
/**
* (Gantt) Callback JavaScript function to format the label. Useful
* properties like the value of plot line or the range of plot band (`from`
* & `to` properties) can be found in `this.options` object.
*/
formatter?: FormatterCallbackFunction<PlotLineOrBand>;
/**
* (Gantt) Rotation of the text label in degrees. Defaults to 0 for
* horizontal plot lines and 90 for vertical lines.
*/
rotation?: number;
/**
* (Gantt) CSS styles for the text label.
*
* In styled mode, the labels are styled by the
* `.highcharts-plot-line-label` class.
*/
style?: CSSObject;
/**
* (Gantt) The text itself. A subset of HTML is supported.
*/
text?: string;
/**
* (Gantt) The text alignment for the label. While `align` determines where
* the texts anchor point is placed within the plot band, `textAlign`
* determines how the text is aligned against its anchor point. Possible
* values are "left", "center" and "right". Defaults to the same as the
* `align` option.
*/
textAlign?: AlignValue;
/**
* (Gantt) Whether to use HTML to render the labels.
*/
useHTML?: boolean;
/**
* (Gantt) Vertical alignment of the label relative to the plot line. Can be
* one of "top", "middle" or "bottom".
*/
verticalAlign?: VerticalAlignValue;
/**
* (Gantt) Horizontal position relative the alignment. Default varies by
* orientation.
*/
x?: number;
/**
* (Gantt) Vertical position of the text baseline relative to the alignment.
* Default varies by orientation.
*/
y?: number;
}
export interface NavigatorXAxisCurrentDateIndicatorLabelsOptions {
/**
* (Gantt) Whether to hide labels that are outside the plot area.
*/
clip?: boolean;
}
/**
* (Highstock, Gantt) Event handlers for the axis.
*/
export interface NavigatorXAxisEventsOptions {
/**
* (Highcharts, Gantt) An event fired after the breaks have rendered.
*/
afterBreaks?: AxisEventCallbackFunction;
/**
* (Highstock, Gantt) 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`.
*/
afterSetExtremes?: AxisSetExtremesEventCallbackFunction;
/**
* (Highcharts, Gantt) An event fired when a break from this axis occurs on
* a point.
*/
pointBreak?: AxisPointBreakEventCallbackFunction;
/**
* (Highcharts, Highstock, Gantt) An event fired when a point is outside a
* break after zoom.
*/
pointBreakOut?: AxisPointBreakEventCallbackFunction;
/**
* (Highcharts, Highstock, Gantt) An event fired when a point falls inside a
* break from this axis.
*/
pointInBreak?: AxisPointBreakEventCallbackFunction;
/**
* (Highstock, Gantt) 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`.
*/
setExtremes?: AxisSetExtremesEventCallbackFunction;
}
/**
* (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
*/
export interface NavigatorXAxisGridOptions {
/**
* (Gantt) Set border color for the label grid lines.
*/
borderColor?: ColorString;
/**
* (Gantt) Set border width of the label grid lines.
*/
borderWidth?: number;
/**
* (Gantt) Set cell height for grid axis labels. By default this is
* calculated from font size. This option only applies to horizontal axes.
* For vertical axes, check the .yAxis.staticScale option.
*/
cellHeight?: number;
/**
* (Gantt) Set specific options for each column (or row for horizontal axes)
* in the grid. Each extra column/row is its own axis, and the axis options
* can be set here.
*/
columns?: Array<XAxisOptions>;
/**
* (Gantt) Enable grid on the axis labels. Defaults to true for Gantt
* charts.
*/
enabled?: boolean;
}
/**
* (Highstock, Gantt) 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.
*/
export interface NavigatorXAxisLabelsOptions {
/**
* (Highstock, Gantt) 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.
*/
align?: string;
/**
* (Highstock, Gantt) Whether to allow the axis labels to overlap. When
* false, overlapping labels are hidden.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Gantt) 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.
*/
autoRotation?: Array<number>;
/**
* (Highcharts, Gantt) 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.
*/
autoRotationLimit?: number;
/**
* (Highcharts, Gantt) 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.
*/
distance?: number;
/**
* (Highstock, Gantt) Enable or disable the axis labels.
*/
enabled?: boolean;
/**
* (Highstock, Gantt) 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 for more examples of formatting.
*
* The default value is not specified due to the dynamic nature of the
* default implementation.
*/
format?: string;
/**
* (Highstock, Gantt) 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.
*/
formatter?: AxisLabelsFormatterCallbackFunction;
/**
* (Gantt) The number of pixels to indent the labels per level in a treegrid
* axis.
*/
indentation?: number;
/**
* (Highstock, Gantt) 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.
*/
overflow?: OptionsOverflowValue;
/**
* (Highcharts, Gantt) The pixel padding for axis labels, to ensure white
* space between them.
*/
padding?: number;
/**
* (Highcharts, Highstock, Gantt) 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.
*/
reserveSpace?: boolean;
/**
* (Highstock, Gantt) Rotation of the labels in degrees. When `undefined`,
* the `autoRotation` option takes precedence.
*/
rotation?: number;
/**
* (Highstock, Gantt) Horizontal axes only. The number of lines to spread
* the labels over to make room or tighter labels. 0 disables staggering.
*/
staggerLines?: number;
/**
* (Highstock, Gantt) 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 => What axis should I use?
*/
step?: number;
/**
* (Highstock, Gantt) CSS styles for the label. Use `whiteSpace: 'nowrap'`
* to prevent wrapping of category labels. Use `textOverflow: 'none'` to
* prevent ellipsis (dots).
*
* In styled mode, the labels are styled with the `.highcharts-axis-labels`
* class.
*/
style?: CSSObject;
/**
* (Highstock, Gantt) Whether to use HTML to render the labels.
*/
useHTML?: boolean;
/**
* (Highstock, Gantt) The x position offset of all labels relative to the
* tick positions on the axis. Overrides the `labels.distance` option.
*/
x?: number;
/**
* (Highstock, Gantt) The y position offset of all labels relative to the
* tick positions on the axis. Overrides the `labels.distance` option.
*/
y?: number;
/**
* (Highstock, Gantt) The Z index for the axis labels.
*/
zIndex?: number;
}
/**
* (Highstock, Gantt) Options for the navigator X axis. Default series options
* for the navigator xAxis are: (see online documentation for example)
*/
export interface NavigatorXAxisOptions {
/**
* (Highstock, Gantt) Accessibility options for an axis. Requires the
* accessibility module.
*/
accessibility?: AxisAccessibilityOptionsObject;
/**
* (Highcharts, Highstock, Gantt) 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.
*/
alignTicks?: boolean;
/**
* (Highstock, Gantt) 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.
*/
allowDecimals?: (boolean|undefined);
/**
* (Highstock, Gantt) When using an alternate grid color, a band is painted
* across the plot area between every other grid line.
*/
alternateGridColor?: ColorType;
/**
* (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
* sections defined will be left out and all the points shifted closer to
* each other.
*/
breaks?: Array<NavigatorXAxisBreaksOptions>;
/**
* (Highcharts, Gantt) 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 and setting axis type to `category`. However, if you have
* multiple series, best practice remains defining the `categories` array.
*
* Example: `categories: ['Apples', 'Bananas', 'Oranges']`
*/
categories?: Array<string>;
/**
* (Highcharts, Highstock, Gantt) The highest allowed value for
* automatically computed axis extremes.
*/
ceiling?: number;
/**
* (Highstock, Gantt) 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.
*/
className?: string;
/**
* (Highstock, Gantt) 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.
*/
crosshair?: (boolean|AxisCrosshairOptions);
/**
* (Highstock, Gantt) 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.
*/
crossing?: number;
/**
* (Gantt) Show an indicator on the axis for the current date and time. Can
* be a boolean or a configuration object similar to xAxis.plotLines.
*/
currentDateIndicator?: (boolean|CurrentDateIndicatorOptions|CurrentDateIndicatorOptions);
/**
* (Highcharts, Highstock, Gantt) 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 replacement codes, see dateFormat.
*
* Defaults to: (see online documentation for example)
*/
dateTimeLabelFormats?: AxisDateTimeLabelFormatsOptions;
/**
* (Highstock, Gantt) Whether to force the axis to end on a tick. Use this
* option with the `maxPadding` option to control the axis end.
*/
endOnTick?: boolean;
/**
* (Highstock, Gantt) Event handlers for the axis.
*/
events?: NavigatorXAxisEventsOptions;
/**
* (Highcharts, Highstock, Gantt) The lowest allowed value for automatically
* computed axis extremes.
*/
floor?: number;
/**
* (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
*/
grid?: NavigatorXAxisGridOptions;
/**
* (Highstock, Gantt) Color of the grid lines extending the ticks across the
* plot area.
*
* In styled mode, the stroke is given in the `.highcharts-grid-line` class.
*/
gridLineColor?: string;
/**
* (Highstock, Gantt) The dash or dot style of the grid lines. For possible
* values, see this demonstration.
*/
gridLineDashStyle?: DashStyleValue;
/**
* (Highstock, Gantt) The width of the grid lines extending the ticks across
* the plot area. Defaults to 1 on the Y axis and 0 on the X axis, except
* for 3d charts.
*
* In styled mode, the stroke width is given in the `.highcharts-grid-line`
* class.
*/
gridLineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The Z index of the grid lines.
*/
gridZIndex?: number;
/**
* (Highcharts, Highstock) The height as the vertical axis. If it's a
* number, it is interpreted as pixels.
*
* Since Highcharts 2: If it's a percentage string, it is interpreted as
* percentages of the total plot height.
*/
height?: (number|string);
/**
* (Highstock, Gantt) An id for the axis. This can be used after render time
* to get a pointer to the axis object through `chart.get()`.
*/
id?: string;
/**
* (Highstock, Gantt) 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.
*/
labels?: NavigatorXAxisLabelsOptions;
/**
* (Highcharts, Highstock) 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.
*/
left?: (number|string);
/**
* (Highstock, Gantt) The color of the line marking the axis itself.
*
* In styled mode, the line stroke is given in the `.highcharts-axis-line`
* or `.highcharts-xaxis-line` class.
*/
lineColor?: ColorType;
/**
* (Highstock, Gantt) The width of the line marking the axis itself.
*
* In styled mode, the stroke width is given in the `.highcharts-axis-line`
* or `.highcharts-xaxis-line` class.
*/
lineWidth?: number;
/**
* (Highstock, Gantt) If there are multiple axes on the same side of the
* chart, the pixel margin between the axes. Defaults to 0 on vertical axes,
* 15 on horizontal axes.
*/
margin?: number;
/**
* (Highstock, Gantt) The maximum value of the axis. If `null`, the max
* value is automatically calculated.
*
* If the endOnTick option is true, the `max` value might be rounded up.
*
* If a 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, where a `tickAmount`
* is applied internally.
*/
max?: (number|null);
/**
* (Highstock, Gantt) 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.
*/
maxPadding?: number;
/**
* (Highstock, Gantt) The minimum value of the axis. If `null` the min value
* is automatically calculated.
*
* If the startOnTick option is true (default), the `min` value might be
* rounded down.
*
* The automatically calculated minimum value is also affected by floor,
* softMin, minPadding, minRange as well as series.threshold and
* series.softThreshold.
*/
min?: (number|null);
/**
* (Highstock, Gantt) Color of the minor, secondary grid lines.
*
* In styled mode, the stroke width is given in the
* `.highcharts-minor-grid-line` class.
*/
minorGridLineColor?: ColorType;
/**
* (Highstock, Gantt) The dash or dot style of the minor grid lines. For
* possible values, see this demonstration.
*/
minorGridLineDashStyle?: DashStyleValue;
/**
* (Highstock, Gantt) Width of the minor, secondary grid lines.
*
* In styled mode, the stroke width is given in the `.highcharts-grid-line`
* class.
*/
minorGridLineWidth?: number;
/**
* (Highstock, Gantt) Color for the minor tick marks.
*/
minorTickColor?: ColorType;
/**
* (Highstock, Gantt) 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.
*/
minorTickInterval?: ('auto'|number);
/**
* (Highstock, Gantt) The pixel length of the minor tick marks.
*/
minorTickLength?: number;
/**
* (Highstock, Gantt) The position of the minor tick marks relative to the
* axis line. Can be one of `inside` and `outside`.
*/
minorTickPosition?: OptionsMinorTickPositionValue;
/**
* (Highstock, Gantt) Enable or disable minor ticks. The interval between
* the minor ticks can be controlled either by the minorTicksPerMajor
* setting, or as an absolute minorTickInterval value.
*
* On a logarithmic axis, minor ticks are laid out based on a best guess,
* attempting to enter an approximate number of minor ticks between each
* major tick based on minorTicksPerMajor.
*
* Prior to v6.0.0, ticks were enabled in auto layout by setting
* `minorTickInterval` to `"auto"`.
*/
minorTicks?: boolean;
/**
* (Highstock, Gantt) The number of minor ticks per major tick. Works for
* `linear`, `logarithmic` and `datetime` axes.
*/
minorTicksPerMajor?: number;
/**
* (Highstock, Gantt) The pixel width of the minor tick mark.
*/
minorTickWidth?: number;
/**
* (Highcharts, Highstock, Gantt) Padding of the min 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 lowest data value to appear on the
* edge of the plot area. When the axis' `min` option is set or a min
* extreme is set using `axis.setExtremes()`, the minPadding will be
* ignored.
*/
minPadding?: number;
/**
* (Highstock, Gantt) The minimum tick interval allowed in axis values. For
* example on zooming in on an axis with daily data, this can be used to
* prevent the axis from showing hours. Defaults to the closest distance
* between two points on the axis.
*/
minTickInterval?: number;
/**
* (Highstock, Gantt) The distance in pixels from the plot area to the axis
* line. A positive offset moves the axis with it's line, labels and ticks
* away from the plot area. This is typically used when two or more axes are
* displayed on the same side of the plot. With multiple axes the offset is
* dynamically adjusted to avoid collision, this can be overridden by
* setting offset explicitly.
*/
offset?: number;
/**
* (Highstock) In an ordinal axis, the points are equally spaced in the
* chart regardless of the actual time or x distance between them. This
* means that missing data periods (e.g. nights or weekends for a stock
* chart) will not take up space in the chart. Having `ordinal: false` will
* show any gaps created by the `gapSize` setting proportionate to their
* duration.
*
* In stock charts the X axis is ordinal by default, unless the boost module
* is used and at least one of the series' data length exceeds the
* boostThreshold.
*
* For an ordinal axis, `minPadding` and `maxPadding` are ignored. Use
* overscroll instead.
*/
ordinal?: boolean;
/**
* (Highstock) Additional range on the right side of the xAxis. Works
* similar to `xAxis.maxPadding`, but the value is set in terms of axis
* values, percentage or pixels.
*
* If it's a number, it is interpreted as axis values, which in a datetime
* axis equals milliseconds.
*
* If it's a percentage string, is interpreted as percentages of the axis
* length. An overscroll of 50% will make a 100px axis 50px longer.
*
* If it's a pixel string, it is interpreted as a fixed pixel value, but
* limited to 90% of the axis length.
*
* If it's undefined, the value is inherited from `xAxis.overscroll`.
*
* Can be set for both, main xAxis and navigator's xAxis.
*/
overscroll?: (number|string|undefined);
/**
* (Highstock, Gantt) Whether to pan axis. If `chart.panning` is enabled,
* the option allows to disable panning on an individual axis.
*/
panningEnabled?: boolean;
/**
* (Highcharts, Highstock, Gantt) An array of colored bands stretching
* across the plot area marking an interval on the axis.
*
* In styled mode, the plot bands are styled by the `.highcharts-plot-band`
* class in addition to the `className` option.
*/
plotBands?: Array<NavigatorXAxisPlotBandsOptions>;
/**
* (Highcharts, Highstock, Gantt) An array of lines stretching across the
* plot area, marking a specific value on one of the axes.
*
* In styled mode, the plot lines are styled by the `.highcharts-plot-line`
* class in addition to the `className` option.
*/
plotLines?: Array<NavigatorXAxisPlotLinesOptions>;
/**
* (Highstock, Gantt) Whether to reverse the axis so that the highest number
* is closest to the origin. If the chart is inverted, the x axis is
* reversed by default.
*/
reversed?: boolean;
/**
* (Highcharts, Highstock) This option determines how stacks should be
* ordered within a group. For example reversed xAxis also reverses stacks,
* so first series comes last in a group. To keep order like for
* non-reversed xAxis enable this option.
*/
reversedStacks?: boolean;
/**
* (Highstock, Gantt) Whether to show the first tick label.
*/
showFirstLabel?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to show the last tick label.
* Defaults to `true` on cartesian charts, and `false` on polar charts.
*/
showLastLabel?: boolean;
/**
* (Highcharts, Highstock, Gantt) A soft maximum for the axis. If the series
* data maximum is less than this, the axis will stay at this maximum, but
* if the series data maximum is higher, the axis will flex to show all
* data.
*/
softMax?: number;
/**
* (Highcharts, Highstock, Gantt) A soft minimum for the axis. If the series
* data minimum is greater than this, the axis will stay at this minimum,
* but if the series data minimum is lower, the axis will flex to show all
* data.
*/
softMin?: number;
/**
* (Highcharts, Highstock, Gantt) For datetime axes, this decides where to
* put the tick between weeks. 0 = Sunday, 1 = Monday.
*/
startOfWeek?: number;
/**
* (Highstock, Gantt) Whether to force the axis to start on a tick. Use this
* option with the `minPadding` option to control the axis start.
*/
startOnTick?: boolean;
/**
* (Highcharts, Highstock, Gantt) The amount of ticks to draw on the axis.
* This opens up for aligning the ticks of multiple charts or panes within a
* chart. This option overrides the `tickPixelInterval` option.
*
* This option only has an effect on linear axes. Datetime, logarithmic or
* category axes are not affected.
*/
tickAmount?: number;
/**
* (Highstock, Gantt) Color for the main tick marks.
*
* In styled mode, the stroke is given in the `.highcharts-tick` class.
*/
tickColor?: ColorType;
/**
* (Highstock, Gantt) The interval of the tick marks in axis units. When
* `undefined`, the tick interval is computed to approximately follow the
* tickPixelInterval on linear and datetime axes. On categorized axes, a
* `undefined` tickInterval will default to 1, one category. Note that
* datetime axes are based on milliseconds, so for example an interval of
* one day is expressed as `24 * 3600 * 1000`.
*
* On logarithmic axes, the tickInterval is based on powers, so a
* tickInterval of 1 means one tick on each of 0.1, 1, 10, 100 etc. A
* tickInterval of 2 means a tick of 0.1, 10, 1000 etc. A tickInterval of
* 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20, 40
* etc.
*
* If the tickInterval is too dense for labels to be drawn, Highcharts may
* remove ticks.
*
* If the chart has multiple axes, the alignTicks option may interfere with
* the `tickInterval` setting.
*/
tickInterval?: number;
/**
* (Highstock, Gantt) The pixel length of the main tick marks.
*/
tickLength?: number;
/**
* (Highcharts, Gantt) For categorized axes only. If `on` the tick mark is
* placed in the center of the category, if `between` the tick mark is
* placed between categories. The default is `between` if the `tickInterval`
* is 1, else `on`. In order to render tick marks on a category axis it is
* necessary to provide a tickWidth.
*/
tickmarkPlacement?: OptionsTickmarkPlacementValue;
/**
* (Highstock, Gantt) If tickInterval is `null` this option sets the
* approximate pixel interval of the tick marks. Not applicable to
* categorized axis.
*
* The tick interval is also influenced by the minTickInterval option, that,
* by default prevents ticks from being denser than the data points.
*/
tickPixelInterval?: number;
/**
* (Highstock, Gantt) The position of the major tick marks relative to the
* axis line. Can be one of `inside` and `outside`.
*/
tickPosition?: OptionsTickPositionValue;
/**
* (Highstock, Gantt) A callback function returning array defining where the
* ticks are laid out on the axis. This overrides the default behaviour of
* tickPixelInterval and tickInterval. The automatic tick positions are
* accessible through `this.tickPositions` and can be modified by the
* callback.
*/
tickPositioner?: AxisTickPositionerCallbackFunction;
/**
* (Highstock, Gantt) An array defining where the ticks are laid out on the
* axis. This overrides the default behaviour of tickPixelInterval and
* tickInterval.
*/
tickPositions?: Array<number>;
/**
* (Highstock, Gantt) The pixel width of the major tick marks. Defaults to 0
* on category axes, otherwise 1.
*
* In styled mode, the stroke width is given in the `.highcharts-tick`
* class, but in order for the element to be generated on category axes, the
* option must be explicitly set to 1.
*/
tickWidth?: (number|undefined);
/**
* (Highstock, Gantt) The axis title, showing next to the axis line.
*/
title?: NavigatorXAxisTitleOptions;
/**
* (Highcharts, Highstock) 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.
*/
top?: (number|string);
/**
* (Highcharts, Gantt) The type of axis. Can be one of `linear`,
* `logarithmic`, `datetime` or `category`. In a datetime axis, the numbers
* are given in milliseconds, and tick marks are placed on appropriate
* values like full hours or days. In a category axis, the point names of
* the chart's series are used for categories, if not a categories array is
* defined.
*/
type?: AxisTypeValue;
/**
* (Highcharts, Gantt) Applies only when the axis `type` is `category`. When
* `uniqueNames` is true, points are placed on the X axis according to their
* names. If the same point name is repeated in the same or another series,
* the point is placed on the same X position as other points of the same
* name. When `uniqueNames` is false, the points are laid out in increasing
* X positions regardless of their names, and the X axis category will take
* the name of the last point in each position.
*/
uniqueNames?: boolean;
/**
* (Highcharts, Highstock, Gantt) Datetime axis only. An array determining
* what time intervals the ticks are allowed to fall on. Each array item is
* an array where the first value is the time unit and the second value
* another array of allowed multiples.
*
* Defaults to: (see online documentation for example)
*/
units?: Array<[string, (Array<number>|null)]>;
/**
* (Highcharts, Highstock, Gantt) Whether axis, including axis title, line,
* ticks and labels, should be visible.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) The width as the horizontal axis. If it's a
* number, it is interpreted as pixels.
*
* Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
* as percentages of the total plot width.
*/
width?: (number|string);
/**
* (Highstock, Gantt) The Z index for the axis group.
*/
zIndex?: number;
/**
* (Highstock, Gantt) Whether to zoom axis. If `chart.zoomType` is set, the
* option allows to disable zooming on an individual axis.
*/
zoomEnabled?: boolean;
}
/**
* (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
* band. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
*/
export interface NavigatorXAxisPlotBandsEventsOptions {
/**
* (Highcharts, Highstock, Gantt) Click event on a plot band.
*/
click?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
*/
mousemove?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
* band.
*/
mouseout?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
*/
mouseover?: EventCallbackFunction<PlotLineOrBand>;
}
/**
* (Highcharts, Highstock, Gantt) Text labels for the plot bands
*/
export interface NavigatorXAxisPlotBandsLabelOptions {
/**
* (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
* one of "left", "center" or "right".
*/
align?: AlignValue;
/**
* (Highcharts, Highstock, Gantt) Rotation of the text label in degrees .
*/
rotation?: number;
/**
* (Highcharts, Highstock, Gantt) CSS styles for the text label.
*
* In styled mode, the labels are styled by the
* `.highcharts-plot-band-label` class.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Gantt) The string text itself. A subset of HTML
* is supported.
*/
text?: string;
/**
* (Highcharts, Highstock, Gantt) The text alignment for the label. While
* `align` determines where the texts anchor point is placed within the plot
* band, `textAlign` determines how the text is aligned against its anchor
* point. Possible values are "left", "center" and "right". Defaults to the
* same as the `align` option.
*/
textAlign?: AlignValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
* to the plot band. Can be one of "top", "middle" or "bottom".
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highcharts, Highstock, Gantt) Horizontal position relative the
* alignment. Default varies by orientation.
*/
x?: number;
/**
* (Highcharts, Highstock, Gantt) Vertical position of the text baseline
* relative to the alignment. Default varies by orientation.
*/
y?: number;
}
/**
* (Highcharts, Highstock, Gantt) An array of colored bands stretching across
* the plot area marking an interval on the axis.
*
* In styled mode, the plot bands are styled by the `.highcharts-plot-band`
* class in addition to the `className` option.
*/
export interface NavigatorXAxisPlotBandsOptions {
/**
* (Highstock) Flag to decide if plotBand should be rendered across all
* panes.
*/
acrossPanes?: boolean;
/**
* (Highcharts, Highstock, Gantt) Border color for the plot band. Also
* requires `borderWidth` to be set.
*/
borderColor?: ColorString;
/**
* (Highcharts, Highstock, Gantt) Border width for the plot band. Also
* requires `borderColor` to be set.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Gantt) A custom class name, in addition to the
* default `highcharts-plot-band`, to apply to each individual band.
*/
className?: string;
/**
* (Highcharts, Highstock, Gantt) The color of the plot band.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Gantt) An object defining mouse events for the
* plot band. Supported properties are `click`, `mouseover`, `mouseout`,
* `mousemove`.
*/
events?: NavigatorXAxisPlotBandsEventsOptions;
/**
* (Highcharts, Highstock, Gantt) The start position of the plot band in
* axis units.
*/
from?: number;
/**
* (Highcharts, Highstock, Gantt) An id used for identifying the plot band
* in Axis.removePlotBand.
*/
id?: string;
/**
* (Highcharts, Highstock, Gantt) Text labels for the plot bands
*/
label?: NavigatorXAxisPlotBandsLabelOptions;
/**
* (Highcharts, Highstock, Gantt) The end position of the plot band in axis
* units.
*/
to?: number;
/**
* (Highcharts, Highstock, Gantt) The z index of the plot band within the
* chart, relative to other elements. Using the same z index as another
* element may give unpredictable results, as the last rendered element will
* be on top. Values from 0 to 20 make sense.
*/
zIndex?: number;
}
/**
* (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
* line. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
*/
export interface NavigatorXAxisPlotLinesEventsOptions {
/**
* (Highcharts, Highstock, Gantt) Click event on a plot band.
*/
click?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
*/
mousemove?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
* band.
*/
mouseout?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
*/
mouseover?: EventCallbackFunction<PlotLineOrBand>;
}
/**
* (Highcharts, Highstock, Gantt) Text labels for the plot bands
*/
export interface NavigatorXAxisPlotLinesLabelOptions {
/**
* (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
* one of "left", "center" or "right".
*/
align?: AlignValue;
/**
* (Highcharts, Highstock, Gantt) Callback JavaScript function to format the
* label. Useful properties like the value of plot line or the range of plot
* band (`from` & `to` properties) can be found in `this.options` object.
*/
formatter?: FormatterCallbackFunction<PlotLineOrBand>;
/**
* (Highcharts, Highstock, Gantt) Rotation of the text label in degrees.
* Defaults to 0 for horizontal plot lines and 90 for vertical lines.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Gantt) CSS styles for the text label.
*
* In styled mode, the labels are styled by the
* `.highcharts-plot-line-label` class.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Gantt) The text itself. A subset of HTML is
* supported.
*/
text?: string;
/**
* (Highcharts, Highstock, Gantt) The text alignment for the label. While
* `align` determines where the texts anchor point is placed within the plot
* band, `textAlign` determines how the text is aligned against its anchor
* point. Possible values are "left", "center" and "right". Defaults to the
* same as the `align` option.
*/
textAlign?: AlignValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
* to the plot line. Can be one of "top", "middle" or "bottom".
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highcharts, Highstock, Gantt) Horizontal position relative the
* alignment. Default varies by orientation.
*/
x?: number;
/**
* (Highcharts, Highstock, Gantt) Vertical position of the text baseline
* relative to the alignment. Default varies by orientation.
*/
y?: number;
}
export interface NavigatorXAxisPlotLinesLabelsOptions {
/**
* (Highcharts, Highstock, Gantt) Whether to hide labels that are outside
* the plot area.
*/
clip?: boolean;
}
/**
* (Highcharts, Highstock, Gantt) An array of lines stretching across the plot
* area, marking a specific value on one of the axes.
*
* In styled mode, the plot lines are styled by the `.highcharts-plot-line`
* class in addition to the `className` option.
*/
export interface NavigatorXAxisPlotLinesOptions {
/**
* (Highstock) Flag to decide if plotLine should be rendered across all
* panes.
*/
acrossPanes?: boolean;
/**
* (Highcharts, Highstock, Gantt) A custom class name, in addition to the
* default `highcharts-plot-line`, to apply to each individual line.
*/
className?: string;
/**
* (Highcharts, Highstock, Gantt) The color of the line.
*/
color?: ColorString;
/**
* (Highcharts, Highstock, Gantt) The dashing or dot style for the plot
* line. For possible values see this overview.
*/
dashStyle?: DashStyleValue;
/**
* (Highcharts, Highstock, Gantt) An object defining mouse events for the
* plot line. Supported properties are `click`, `mouseover`, `mouseout`,
* `mousemove`.
*/
events?: NavigatorXAxisPlotLinesEventsOptions;
/**
* (Highcharts, Highstock, Gantt) An id used for identifying the plot line
* in Axis.removePlotLine.
*/
id?: string;
/**
* (Highcharts, Highstock, Gantt) Text labels for the plot bands
*/
label?: NavigatorXAxisPlotLinesLabelOptions;
labels?: NavigatorXAxisPlotLinesLabelsOptions;
/**
* (Highcharts, Highstock, Gantt) The position of the line in axis units.
*/
value?: number;
/**
* (Highcharts, Highstock, Gantt) The width or thickness of the plot line.
*/
width?: number;
/**
* (Highcharts, Highstock, Gantt) The z index of the plot line within the
* chart.
*/
zIndex?: number;
}
/**
* (Highstock, Gantt) The axis title, showing next to the axis line.
*/
export interface NavigatorXAxisTitleOptions {
/**
* (Highstock, Gantt) Alignment of the title relative to the axis values.
* Possible values are "low", "middle" or "high".
*/
align?: AxisTitleAlignValue;
/**
* (Highstock, Gantt) The pixel distance between the axis labels or line and
* the title. Defaults to 0 for horizontal axes, 10 for vertical
*/
margin?: number;
/**
* (Highstock, Gantt) The distance of the axis title from the axis line. By
* default, this distance is computed from the offset width of the labels,
* the labels' distance from the axis and the title's margin. However when
* the offset option is set, it overrides all this.
*/
offset?: number;
/**
* (Highcharts, Highstock, Gantt) Whether to reserve space for the title
* when laying out the axis.
*/
reserveSpace?: boolean;
/**
* (Highstock, Gantt) The rotation of the text in degrees. 0 is horizontal,
* 270 is vertical reading from bottom to top. Defaults to 0 for horizontal
* axes, 270 for left-side axes and 90 for right-side axes.
*/
rotation?: number;
/**
* (Highstock, Gantt) CSS styles for the title. If the title text is longer
* than the axis length, it will wrap to multiple lines by default. This can
* be customized by setting `textOverflow: 'ellipsis'`, by setting a
* specific `width` or by setting `whiteSpace: 'nowrap'`.
*
* In styled mode, the stroke width is given in the `.highcharts-axis-title`
* class.
*/
style?: CSSObject;
/**
* (Highstock, Gantt) The actual text of the axis title. It can contain
* basic HTML tags like `b`, `i` and `span` with style.
*/
text?: (string|null);
/**
* (Highstock, Gantt) Alignment of the text, can be `"left"`, `"right"` or
* `"center"`. Default alignment depends on the title.align:
*
* Horizontal axes:
*
* - for `align` = `"low"`, `textAlign` is set to `left`
*
* - for `align` = `"middle"`, `textAlign` is set to `center`
*
* - for `align` = `"high"`, `textAlign` is set to `right`
*
* Vertical axes:
*
* - for `align` = `"low"` and `opposite` = `true`, `textAlign` is set to
* `right`
*
* - for `align` = `"low"` and `opposite` = `false`, `textAlign` is set to
* `left`
*
* - for `align` = `"middle"`, `textAlign` is set to `center`
*
* - for `align` = `"high"` and `opposite` = `true` `textAlign` is set to
* `left`
*
* - for `align` = `"high"` and `opposite` = `false` `textAlign` is set to
* `right`
*/
textAlign?: AlignValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use HTML to render the axis
* title.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Gantt) Horizontal pixel offset of the title
* position.
*/
x?: number;
/**
* (Highcharts, Highstock, Gantt) Vertical pixel offset of the title
* position.
*/
y?: number;
}
/**
* (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
* sections defined will be left out and all the points shifted closer to each
* other.
*/
export interface NavigatorYAxisBreaksOptions {
/**
* (Highcharts, Highstock, Gantt) 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.
*/
breakSize?: number;
/**
* (Highcharts, Highstock, Gantt) The point where the break starts.
*/
from?: number;
/**
* (Highcharts, Highstock, Gantt) Defines an interval after which the break
* appears again. By default the breaks do not repeat.
*/
repeat?: number;
/**
* (Highcharts, Highstock, Gantt) The point where the break ends.
*/
to?: number;
}
/**
* (Highstock, Gantt) Event handlers for the axis.
*/
export interface NavigatorYAxisEventsOptions {
/**
* (Highcharts, Gantt) An event fired after the breaks have rendered.
*/
afterBreaks?: AxisEventCallbackFunction;
/**
* (Highstock, Gantt) 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`.
*/
afterSetExtremes?: AxisSetExtremesEventCallbackFunction;
/**
* (Highcharts, Gantt) An event fired when a break from this axis occurs on
* a point.
*/
pointBreak?: AxisPointBreakEventCallbackFunction;
/**
* (Highcharts, Highstock, Gantt) An event fired when a point is outside a
* break after zoom.
*/
pointBreakOut?: AxisPointBreakEventCallbackFunction;
/**
* (Highcharts, Highstock, Gantt) An event fired when a point falls inside a
* break from this axis.
*/
pointInBreak?: AxisPointBreakEventCallbackFunction;
/**
* (Highstock, Gantt) 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`.
*/
setExtremes?: AxisSetExtremesEventCallbackFunction;
}
/**
* (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
*/
export interface NavigatorYAxisGridOptions {
/**
* (Gantt) Set border color for the label grid lines.
*/
borderColor?: ColorString;
/**
* (Gantt) Set border width of the label grid lines.
*/
borderWidth?: number;
/**
* (Gantt) Set cell height for grid axis labels. By default this is
* calculated from font size. This option only applies to horizontal axes.
* For vertical axes, check the .yAxis.staticScale option.
*/
cellHeight?: number;
/**
* (Gantt) Set specific options for each column (or row for horizontal axes)
* in the grid. Each extra column/row is its own axis, and the axis options
* can be set here.
*/
columns?: Array<XAxisOptions>;
/**
* (Gantt) Enable grid on the axis labels. Defaults to true for Gantt
* charts.
*/
enabled?: boolean;
}
/**
* (Gantt) Set options on specific levels in a tree grid axis. Takes precedence
* over labels options.
*/
export interface NavigatorYAxisLabelsLevelsOptions {
/**
* (Gantt) Specify the level which the options within this object applies
* to.
*/
level?: number;
style?: CSSObject;
}
/**
* (Highstock, Gantt) 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.
*/
export interface NavigatorYAxisLabelsOptions {
/**
* (Highstock, Gantt) What part of the string the given position is anchored
* to. Can be one of `"left"`, `"center"` or `"right"`. The exact position
* also depends on the `labels.x` setting.
*
* Angular gauges and solid gauges defaults to `"center"`. Solid gauges with
* two labels have additional option `"auto"` for automatic horizontal and
* vertical alignment.
*/
align?: AlignValue;
/**
* (Highstock, Gantt) Whether to allow the axis labels to overlap. When
* false, overlapping labels are hidden.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Gantt) 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.
*/
autoRotation?: Array<number>;
/**
* (Highcharts, Gantt) 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.
*/
autoRotationLimit?: number;
/**
* (Highstock, Gantt) Enable or disable the axis labels.
*/
enabled?: boolean;
/**
* (Highstock, Gantt) 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 for more examples of formatting.
*
* The default value is not specified due to the dynamic nature of the
* default implementation.
*/
format?: string;
/**
* (Highstock, Gantt) 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.
*/
formatter?: AxisLabelsFormatterCallbackFunction;
/**
* (Gantt) The number of pixels to indent the labels per level in a treegrid
* axis.
*/
indentation?: number;
/**
* (Gantt) Set options on specific levels in a tree grid axis. Takes
* precedence over labels options.
*/
levels?: Array<NavigatorYAxisLabelsLevelsOptions>;
/**
* (Highstock, Gantt) 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.
*/
overflow?: OptionsOverflowValue;
/**
* (Highcharts, Gantt) The pixel padding for axis labels, to ensure white
* space between them.
*/
padding?: number;
/**
* (Highcharts, Highstock, Gantt) 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.
*/
reserveSpace?: boolean;
/**
* (Highstock, Gantt) Rotation of the labels in degrees. When `undefined`,
* the `autoRotation` option takes precedence.
*/
rotation?: number;
/**
* (Highstock, Gantt) Horizontal axes only. The number of lines to spread
* the labels over to make room or tighter labels. 0 disables staggering.
*/
staggerLines?: number;
/**
* (Highstock, Gantt) 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 => What axis should I use?
*/
step?: number;
/**
* (Highstock, Gantt) CSS styles for the label. Use `whiteSpace: 'nowrap'`
* to prevent wrapping of category labels. Use `textOverflow: 'none'` to
* prevent ellipsis (dots).
*
* In styled mode, the labels are styled with the `.highcharts-axis-labels`
* class.
*/
style?: CSSObject;
/**
* (Gantt) The symbol for the collapse and expand icon in a treegrid.
*/
symbol?: NavigatorYAxisLabelsSymbolOptions;
/**
* (Highstock, Gantt) Whether to use HTML to render the labels.
*/
useHTML?: boolean;
/**
* (Highstock, Gantt) The x position offset of all labels relative to the
* tick positions on the axis. Defaults to -15 for left axis, 15 for right
* axis.
*/
x?: number;
/**
* (Highstock, Gantt) The y position offset of all labels relative to the
* tick positions on the axis. For polar and radial axis consider the use of
* the distance option.
*/
y?: number;
/**
* (Highstock, Gantt) The Z index for the axis labels.
*/
zIndex?: number;
}
/**
* (Gantt) The symbol for the collapse and expand icon in a treegrid.
*/
export interface NavigatorYAxisLabelsSymbolOptions {
height?: number;
/**
* (Gantt) The symbol type. Points to a definition function in the
* `Highcharts.Renderer.symbols` collection.
*/
type?: SymbolKeyValue;
width?: number;
x?: number;
y?: number;
}
/**
* (Highstock, Gantt) Options for the navigator Y axis. Default series options
* for the navigator yAxis are: (see online documentation for example)
*/
export interface NavigatorYAxisOptions {
/**
* (Highstock, Gantt) Accessibility options for an axis. Requires the
* accessibility module.
*/
accessibility?: AxisAccessibilityOptionsObject;
/**
* (Highcharts, Highstock, Gantt) 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.
*/
alignTicks?: boolean;
/**
* (Highstock, Gantt) 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.
*/
allowDecimals?: (boolean|undefined);
/**
* (Highstock, Gantt) When using an alternate grid color, a band is painted
* across the plot area between every other grid line.
*/
alternateGridColor?: ColorType;
/**
* (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
* sections defined will be left out and all the points shifted closer to
* each other.
*/
breaks?: Array<NavigatorYAxisBreaksOptions>;
/**
* (Highcharts, Gantt) 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 and setting axis type to `category`. However, if you have
* multiple series, best practice remains defining the `categories` array.
*
* Example: `categories: ['Apples', 'Bananas', 'Oranges']`
*/
categories?: Array<string>;
/**
* (Highcharts, Highstock, Gantt) The highest allowed value for
* automatically computed axis extremes.
*/
ceiling?: number;
/**
* (Highstock, Gantt) 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.
*/
className?: string;
/**
* (Highstock, Gantt) 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.
*/
crosshair?: (boolean|AxisCrosshairOptions);
/**
* (Highstock, Gantt) 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.
*/
crossing?: number;
/**
* (Highcharts, Highstock, Gantt) 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 replacement codes, see dateFormat.
*
* Defaults to: (see online documentation for example)
*/
dateTimeLabelFormats?: AxisDateTimeLabelFormatsOptions;
/**
* (Highstock, Gantt) Whether to force the axis to end on a tick. Use this
* option with the `maxPadding` option to control the axis end.
*
* This option is always disabled, when panning type is either `y` or `xy`.
*/
endOnTick?: boolean;
/**
* (Highstock, Gantt) Event handlers for the axis.
*/
events?: NavigatorYAxisEventsOptions;
/**
* (Highcharts, Highstock, Gantt) The lowest allowed value for automatically
* computed axis extremes.
*/
floor?: number;
/**
* (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
*/
grid?: NavigatorYAxisGridOptions;
/**
* (Highstock, Gantt) Color of the grid lines extending the ticks across the
* plot area.
*
* In styled mode, the stroke is given in the `.highcharts-grid-line` class.
*/
gridLineColor?: ColorType;
/**
* (Highstock, Gantt) The dash or dot style of the grid lines. For possible
* values, see this demonstration.
*/
gridLineDashStyle?: DashStyleValue;
/**
* (Highstock, Gantt) The width of the grid lines extending the ticks across
* the plot area. Defaults to 1 on the Y axis and 0 on the X axis, except
* for 3d charts.
*
* In styled mode, the stroke width is given in the `.highcharts-grid-line`
* class.
*/
gridLineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The Z index of the grid lines.
*/
gridZIndex?: number;
/**
* (Highstock, Gantt) An id for the axis. This can be used after render time
* to get a pointer to the axis object through `chart.get()`.
*/
id?: string;
/**
* (Highstock, Gantt) 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.
*/
labels?: NavigatorYAxisLabelsOptions;
/**
* (Highcharts, Highstock) 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.
*/
left?: (number|string);
/**
* (Highstock, Gantt) The color of the line marking the axis itself.
*
* In styled mode, the line stroke is given in the `.highcharts-axis-line`
* or `.highcharts-xaxis-line` class.
*/
lineColor?: ColorType;
/**
* (Highstock, Gantt) The width of the line marking the axis itself.
*
* In styled mode, the stroke width is given in the `.highcharts-axis-line`
* or `.highcharts-xaxis-line` class.
*/
lineWidth?: number;
/**
* (Highstock, Gantt) If there are multiple axes on the same side of the
* chart, the pixel margin between the axes. Defaults to 0 on vertical axes,
* 15 on horizontal axes.
*/
margin?: number;
/**
* (Highstock, Gantt) The maximum value of the axis. If `null`, the max
* value is automatically calculated.
*
* If the endOnTick option is true, the `max` value might be rounded up.
*
* If a 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, where a `tickAmount`
* is applied internally.
*/
max?: (number|null);
/**
* (Highcharts, Highstock, Gantt) 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.
*
* Also the `softThreshold` option takes precedence over `maxPadding`, so if
* the data is tangent to the threshold, `maxPadding` may not apply unless
* `softThreshold` is set to false.
*/
maxPadding?: number;
/**
* (Highstock, Gantt) The minimum value of the axis. If `null` the min value
* is automatically calculated.
*
* If the startOnTick option is true (default), the `min` value might be
* rounded down.
*
* The automatically calculated minimum value is also affected by floor,
* softMin, minPadding, minRange as well as series.threshold and
* series.softThreshold.
*/
min?: (number|null);
/**
* (Highstock, Gantt) Color of the minor, secondary grid lines.
*
* In styled mode, the stroke width is given in the
* `.highcharts-minor-grid-line` class.
*/
minorGridLineColor?: ColorType;
/**
* (Highstock, Gantt) The dash or dot style of the minor grid lines. For
* possible values, see this demonstration.
*/
minorGridLineDashStyle?: DashStyleValue;
/**
* (Highstock, Gantt) Width of the minor, secondary grid lines.
*
* In styled mode, the stroke width is given in the `.highcharts-grid-line`
* class.
*/
minorGridLineWidth?: number;
/**
* (Highstock, Gantt) Color for the minor tick marks.
*/
minorTickColor?: ColorType;
/**
* (Highstock, Gantt) 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.
*/
minorTickInterval?: ('auto'|number);
/**
* (Highstock, Gantt) The pixel length of the minor tick marks.
*/
minorTickLength?: number;
/**
* (Highstock, Gantt) The position of the minor tick marks relative to the
* axis line. Can be one of `inside` and `outside`.
*/
minorTickPosition?: OptionsMinorTickPositionValue;
/**
* (Highstock, Gantt) Enable or disable minor ticks. The interval between
* the minor ticks can be controlled either by the minorTicksPerMajor
* setting, or as an absolute minorTickInterval value.
*
* On a logarithmic axis, minor ticks are laid out based on a best guess,
* attempting to enter an approximate number of minor ticks between each
* major tick based on minorTicksPerMajor.
*
* Prior to v6.0.0, ticks were enabled in auto layout by setting
* `minorTickInterval` to `"auto"`.
*/
minorTicks?: boolean;
/**
* (Highstock, Gantt) The number of minor ticks per major tick. Works for
* `linear`, `logarithmic` and `datetime` axes.
*/
minorTicksPerMajor?: number;
/**
* (Highstock, Gantt) The pixel width of the minor tick mark.
*/
minorTickWidth?: number;
/**
* (Highcharts, Highstock, Gantt) Padding of the min 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 lowest data value to appear on the
* edge of the plot area. When the axis' `min` option is set or a max
* extreme is set using `axis.setExtremes()`, the maxPadding will be
* ignored.
*
* Also the `softThreshold` option takes precedence over `minPadding`, so if
* the data is tangent to the threshold, `minPadding` may not apply unless
* `softThreshold` is set to false.
*/
minPadding?: number;
/**
* (Highstock, Gantt) The minimum tick interval allowed in axis values. For
* example on zooming in on an axis with daily data, this can be used to
* prevent the axis from showing hours. Defaults to the closest distance
* between two points on the axis.
*/
minTickInterval?: number;
/**
* (Highstock, Gantt) The distance in pixels from the plot area to the axis
* line. A positive offset moves the axis with it's line, labels and ticks
* away from the plot area. This is typically used when two or more axes are
* displayed on the same side of the plot. With multiple axes the offset is
* dynamically adjusted to avoid collision, this can be overridden by
* setting offset explicitly.
*/
offset?: number;
/**
* (Highstock, Highcharts, Gantt) Whether to display the axis on the
* opposite side of the normal. The normal is on the left side for vertical
* axes and bottom for horizontal, so the opposite sides will be right and
* top respectively. This is typically used with dual or multiple axes.
*/
opposite?: boolean;
/**
* (Highstock, Gantt) Whether to pan axis. If `chart.panning` is enabled,
* the option allows to disable panning on an individual axis.
*/
panningEnabled?: boolean;
/**
* (Highcharts, Highstock, Gantt) An array of colored bands stretching
* across the plot area marking an interval on the axis.
*
* In styled mode, the plot bands are styled by the `.highcharts-plot-band`
* class in addition to the `className` option.
*/
plotBands?: Array<NavigatorYAxisPlotBandsOptions>;
/**
* (Highcharts, Highstock, Gantt) An array of lines stretching across the
* plot area, marking a specific value on one of the axes.
*
* In styled mode, the plot lines are styled by the `.highcharts-plot-line`
* class in addition to the `className` option.
*/
plotLines?: Array<NavigatorYAxisPlotLinesOptions>;
/**
* (Highstock, Gantt) Whether to reverse the axis so that the highest number
* is closest to the origin.
*/
reversed?: boolean;
/**
* (Highcharts, Highstock) If `true`, the first series in a stack will be
* drawn on top in a positive, non-reversed Y axis. If `false`, the first
* series is in the base of the stack.
*/
reversedStacks?: boolean;
/**
* (Highstock, Gantt) Whether to show the first tick label.
*/
showFirstLabel?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to show the last tick label.
*/
showLastLabel?: boolean;
/**
* (Highcharts, Highstock, Gantt) A soft maximum for the axis. If the series
* data maximum is less than this, the axis will stay at this maximum, but
* if the series data maximum is higher, the axis will flex to show all
* data.
*
* **Note**: The series.softThreshold option takes precedence over this
* option.
*/
softMax?: number;
/**
* (Highcharts, Highstock, Gantt) A soft minimum for the axis. If the series
* data minimum is greater than this, the axis will stay at this minimum,
* but if the series data minimum is lower, the axis will flex to show all
* data.
*
* **Note**: The series.softThreshold option takes precedence over this
* option.
*/
softMin?: number;
/**
* (Highcharts, Highstock, Gantt) For datetime axes, this decides where to
* put the tick between weeks. 0 = Sunday, 1 = Monday.
*/
startOfWeek?: number;
/**
* (Highcharts, Highstock, Gantt) Whether to force the axis to start on a
* tick. Use this option with the `maxPadding` option to control the axis
* start.
*
* This option is always disabled, when panning type is either `y` or `xy`.
*/
startOnTick?: boolean;
/**
* (Gantt) For vertical axes only. Setting the static scale ensures that
* each tick unit is translated into a fixed pixel height. For example,
* setting the static scale to 24 results in each Y axis category taking up
* 24 pixels, and the height of the chart adjusts. Adding or removing items
* will make the chart resize.
*/
staticScale?: number;
/**
* (Highcharts, Highstock, Gantt) The amount of ticks to draw on the axis.
* This opens up for aligning the ticks of multiple charts or panes within a
* chart. This option overrides the `tickPixelInterval` option.
*
* This option only has an effect on linear axes. Datetime, logarithmic or
* category axes are not affected.
*/
tickAmount?: number;
/**
* (Highstock, Gantt) Color for the main tick marks.
*
* In styled mode, the stroke is given in the `.highcharts-tick` class.
*/
tickColor?: ColorType;
/**
* (Highstock, Gantt) The interval of the tick marks in axis units. When
* `undefined`, the tick interval is computed to approximately follow the
* tickPixelInterval on linear and datetime axes. On categorized axes, a
* `undefined` tickInterval will default to 1, one category. Note that
* datetime axes are based on milliseconds, so for example an interval of
* one day is expressed as `24 * 3600 * 1000`.
*
* On logarithmic axes, the tickInterval is based on powers, so a
* tickInterval of 1 means one tick on each of 0.1, 1, 10, 100 etc. A
* tickInterval of 2 means a tick of 0.1, 10, 1000 etc. A tickInterval of
* 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20, 40
* etc.
*
* If the tickInterval is too dense for labels to be drawn, Highcharts may
* remove ticks.
*
* If the chart has multiple axes, the alignTicks option may interfere with
* the `tickInterval` setting.
*/
tickInterval?: number;
/**
* (Highstock, Gantt) The pixel length of the main tick marks.
*/
tickLength?: number;
/**
* (Highcharts, Gantt) For categorized axes only. If `on` the tick mark is
* placed in the center of the category, if `between` the tick mark is
* placed between categories. The default is `between` if the `tickInterval`
* is 1, else `on`. In order to render tick marks on a category axis it is
* necessary to provide a tickWidth.
*/
tickmarkPlacement?: OptionsTickmarkPlacementValue;
/**
* (Highstock, Gantt) If tickInterval is `null` this option sets the
* approximate pixel interval of the tick marks. Not applicable to
* categorized axis.
*
* The tick interval is also influenced by the minTickInterval option, that,
* by default prevents ticks from being denser than the data points.
*/
tickPixelInterval?: number;
/**
* (Highstock, Gantt) The position of the major tick marks relative to the
* axis line. Can be one of `inside` and `outside`.
*/
tickPosition?: OptionsTickPositionValue;
/**
* (Highstock, Gantt) A callback function returning array defining where the
* ticks are laid out on the axis. This overrides the default behaviour of
* tickPixelInterval and tickInterval. The automatic tick positions are
* accessible through `this.tickPositions` and can be modified by the
* callback.
*/
tickPositioner?: AxisTickPositionerCallbackFunction;
/**
* (Highstock, Gantt) An array defining where the ticks are laid out on the
* axis. This overrides the default behaviour of tickPixelInterval and
* tickInterval.
*/
tickPositions?: Array<number>;
/**
* (Highcharts, Highstock, Gantt) The pixel width of the major tick marks.
*/
tickWidth?: number;
/**
* (Highstock, Gantt) The axis title, showing next to the axis line.
*/
title?: NavigatorYAxisTitleOptions;
/**
* (Highcharts, Gantt) The type of axis. Can be one of `linear`,
* `logarithmic`, `datetime`, `category` or `treegrid`. Defaults to
* `treegrid` for Gantt charts, `linear` for other chart types.
*
* In a datetime axis, the numbers are given in milliseconds, and tick marks
* are placed on appropriate values, like full hours or days. In a category
* or treegrid axis, the point names of the chart's series are used for
* categories, if a categories array is not defined.
*/
type?: AxisTypeValue;
/**
* (Highcharts, Gantt) Applies only when the axis `type` is `category`. When
* `uniqueNames` is true, points are placed on the X axis according to their
* names. If the same point name is repeated in the same or another series,
* the point is placed on the same X position as other points of the same
* name. When `uniqueNames` is false, the points are laid out in increasing
* X positions regardless of their names, and the X axis category will take
* the name of the last point in each position.
*/
uniqueNames?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether axis, including axis title, line,
* ticks and labels, should be visible.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) The width as the horizontal axis. If it's a
* number, it is interpreted as pixels.
*
* Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
* as percentages of the total plot width.
*/
width?: (number|string);
/**
* (Highstock, Gantt) The Z index for the axis group.
*/
zIndex?: number;
/**
* (Highstock, Gantt) Whether to zoom axis. If `chart.zoomType` is set, the
* option allows to disable zooming on an individual axis.
*/
zoomEnabled?: boolean;
}
/**
* (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
* band. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
*/
export interface NavigatorYAxisPlotBandsEventsOptions {
/**
* (Highcharts, Highstock, Gantt) Click event on a plot band.
*/
click?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
*/
mousemove?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
* band.
*/
mouseout?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
*/
mouseover?: EventCallbackFunction<PlotLineOrBand>;
}
/**
* (Highcharts, Highstock, Gantt) Text labels for the plot bands
*/
export interface NavigatorYAxisPlotBandsLabelOptions {
/**
* (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
* one of "left", "center" or "right".
*/
align?: AlignValue;
/**
* (Highcharts, Highstock, Gantt) Rotation of the text label in degrees .
*/
rotation?: number;
/**
* (Highcharts, Highstock, Gantt) CSS styles for the text label.
*
* In styled mode, the labels are styled by the
* `.highcharts-plot-band-label` class.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Gantt) The string text itself. A subset of HTML
* is supported.
*/
text?: string;
/**
* (Highcharts, Highstock, Gantt) The text alignment for the label. While
* `align` determines where the texts anchor point is placed within the plot
* band, `textAlign` determines how the text is aligned against its anchor
* point. Possible values are "left", "center" and "right". Defaults to the
* same as the `align` option.
*/
textAlign?: AlignValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
* to the plot band. Can be one of "top", "middle" or "bottom".
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highcharts, Highstock, Gantt) Horizontal position relative the
* alignment. Default varies by orientation.
*/
x?: number;
/**
* (Highcharts, Highstock, Gantt) Vertical position of the text baseline
* relative to the alignment. Default varies by orientation.
*/
y?: number;
}
/**
* (Highcharts, Highstock, Gantt) An array of colored bands stretching across
* the plot area marking an interval on the axis.
*
* In styled mode, the plot bands are styled by the `.highcharts-plot-band`
* class in addition to the `className` option.
*/
export interface NavigatorYAxisPlotBandsOptions {
/**
* (Highstock) Flag to decide if plotBand should be rendered across all
* panes.
*/
acrossPanes?: boolean;
/**
* (Highcharts, Highstock, Gantt) Border color for the plot band. Also
* requires `borderWidth` to be set.
*/
borderColor?: ColorString;
/**
* (Highcharts, Highstock, Gantt) Border width for the plot band. Also
* requires `borderColor` to be set.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Gantt) A custom class name, in addition to the
* default `highcharts-plot-band`, to apply to each individual band.
*/
className?: string;
/**
* (Highcharts, Highstock, Gantt) The color of the plot band.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Gantt) An object defining mouse events for the
* plot band. Supported properties are `click`, `mouseover`, `mouseout`,
* `mousemove`.
*/
events?: NavigatorYAxisPlotBandsEventsOptions;
/**
* (Highcharts, Highstock, Gantt) The start position of the plot band in
* axis units.
*/
from?: number;
/**
* (Highcharts, Highstock, Gantt) An id used for identifying the plot band
* in Axis.removePlotBand.
*/
id?: string;
/**
* (Highcharts) In a gauge chart, this option determines the inner radius of
* the plot band that stretches along the perimeter. It can be given as a
* percentage string, like `"100%"`, or as a pixel number, like `100`. By
* default, the inner radius is controlled by the thickness option.
*/
innerRadius?: (number|string);
/**
* (Highcharts, Highstock, Gantt) Text labels for the plot bands
*/
label?: NavigatorYAxisPlotBandsLabelOptions;
/**
* (Highcharts) In a gauge chart, this option determines the outer radius of
* the plot band that stretches along the perimeter. It can be given as a
* percentage string, like `"100%"`, or as a pixel number, like `100`.
*/
outerRadius?: (number|string);
/**
* (Highcharts) In a gauge chart, this option sets the width of the plot
* band stretching along the perimeter. It can be given as a percentage
* string, like `"10%"`, or as a pixel number, like `10`. The default value
* 10 is the same as the default tickLength, thus making the plot band act
* as a background for the tick markers.
*/
thickness?: (number|string);
/**
* (Highcharts, Highstock, Gantt) The end position of the plot band in axis
* units.
*/
to?: number;
/**
* (Highcharts, Highstock, Gantt) The z index of the plot band within the
* chart, relative to other elements. Using the same z index as another
* element may give unpredictable results, as the last rendered element will
* be on top. Values from 0 to 20 make sense.
*/
zIndex?: number;
}
/**
* (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
* line. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
*/
export interface NavigatorYAxisPlotLinesEventsOptions {
/**
* (Highcharts, Highstock, Gantt) Click event on a plot band.
*/
click?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
*/
mousemove?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
* band.
*/
mouseout?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
*/
mouseover?: EventCallbackFunction<PlotLineOrBand>;
}
/**
* (Highcharts, Highstock, Gantt) Text labels for the plot bands
*/
export interface NavigatorYAxisPlotLinesLabelOptions {
/**
* (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
* one of "left", "center" or "right".
*/
align?: AlignValue;
/**
* (Highcharts, Highstock, Gantt) Callback JavaScript function to format the
* label. Useful properties like the value of plot line or the range of plot
* band (`from` & `to` properties) can be found in `this.options` object.
*/
formatter?: FormatterCallbackFunction<PlotLineOrBand>;
/**
* (Highcharts, Highstock, Gantt) Rotation of the text label in degrees.
* Defaults to 0 for horizontal plot lines and 90 for vertical lines.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Gantt) CSS styles for the text label.
*
* In styled mode, the labels are styled by the
* `.highcharts-plot-line-label` class.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Gantt) The text itself. A subset of HTML is
* supported.
*/
text?: string;
/**
* (Highcharts, Highstock, Gantt) The text alignment for the label. While
* `align` determines where the texts anchor point is placed within the plot
* band, `textAlign` determines how the text is aligned against its anchor
* point. Possible values are "left", "center" and "right". Defaults to the
* same as the `align` option.
*/
textAlign?: AlignValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
* to the plot line. Can be one of "top", "middle" or "bottom".
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highcharts, Highstock, Gantt) Horizontal position relative the
* alignment. Default varies by orientation.
*/
x?: number;
/**
* (Highcharts, Highstock, Gantt) Vertical position of the text baseline
* relative to the alignment. Default varies by orientation.
*/
y?: number;
}
export interface NavigatorYAxisPlotLinesLabelsOptions {
/**
* (Highcharts, Highstock, Gantt) Whether to hide labels that are outside
* the plot area.
*/
clip?: boolean;
}
/**
* (Highcharts, Highstock, Gantt) An array of lines stretching across the plot
* area, marking a specific value on one of the axes.
*
* In styled mode, the plot lines are styled by the `.highcharts-plot-line`
* class in addition to the `className` option.
*/
export interface NavigatorYAxisPlotLinesOptions {
/**
* (Highstock) Flag to decide if plotLine should be rendered across all
* panes.
*/
acrossPanes?: boolean;
/**
* (Highcharts, Highstock, Gantt) A custom class name, in addition to the
* default `highcharts-plot-line`, to apply to each individual line.
*/
className?: string;
/**
* (Highcharts, Highstock, Gantt) The color of the line.
*/
color?: ColorString;
/**
* (Highcharts, Highstock, Gantt) The dashing or dot style for the plot
* line. For possible values see this overview.
*/
dashStyle?: DashStyleValue;
/**
* (Highcharts, Highstock, Gantt) An object defining mouse events for the
* plot line. Supported properties are `click`, `mouseover`, `mouseout`,
* `mousemove`.
*/
events?: NavigatorYAxisPlotLinesEventsOptions;
/**
* (Highcharts, Highstock, Gantt) An id used for identifying the plot line
* in Axis.removePlotLine.
*/
id?: string;
/**
* (Highcharts, Highstock, Gantt) Text labels for the plot bands
*/
label?: NavigatorYAxisPlotLinesLabelOptions;
labels?: NavigatorYAxisPlotLinesLabelsOptions;
/**
* (Highcharts, Highstock, Gantt) The position of the line in axis units.
*/
value?: number;
/**
* (Highcharts, Highstock, Gantt) The width or thickness of the plot line.
*/
width?: number;
/**
* (Highcharts, Highstock, Gantt) The z index of the plot line within the
* chart.
*/
zIndex?: number;
}
/**
* (Highstock, Gantt) The axis title, showing next to the axis line.
*/
export interface NavigatorYAxisTitleOptions {
/**
* (Highstock, Gantt) Alignment of the title relative to the axis values.
* Possible values are "low", "middle" or "high".
*/
align?: AxisTitleAlignValue;
/**
* (Highstock, Gantt) The pixel distance between the axis labels and the
* title. Positive values are outside the axis line, negative are inside.
*/
margin?: number;
/**
* (Highstock, Gantt) The distance of the axis title from the axis line. By
* default, this distance is computed from the offset width of the labels,
* the labels' distance from the axis and the title's margin. However when
* the offset option is set, it overrides all this.
*/
offset?: number;
/**
* (Highcharts, Highstock, Gantt) Whether to reserve space for the title
* when laying out the axis.
*/
reserveSpace?: boolean;
/**
* (Highstock, Gantt) The rotation of the text in degrees. 0 is horizontal,
* 270 is vertical reading from bottom to top. Defaults to 0 for horizontal
* axes, 270 for left-side axes and 90 for right-side axes.
*/
rotation?: number;
/**
* (Highstock, Gantt) CSS styles for the title. If the title text is longer
* than the axis length, it will wrap to multiple lines by default. This can
* be customized by setting `textOverflow: 'ellipsis'`, by setting a
* specific `width` or by setting `whiteSpace: 'nowrap'`.
*
* In styled mode, the stroke width is given in the `.highcharts-axis-title`
* class.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Gantt) The actual text of the axis title.
* Horizontal texts can contain HTML, but rotated texts are painted using
* vector techniques and must be clean text. The Y axis title is disabled by
* setting the `text` option to `undefined`.
*/
text?: (string|null);
/**
* (Highstock, Gantt) Alignment of the text, can be `"left"`, `"right"` or
* `"center"`. Default alignment depends on the title.align:
*
* Horizontal axes:
*
* - for `align` = `"low"`, `textAlign` is set to `left`
*
* - for `align` = `"middle"`, `textAlign` is set to `center`
*
* - for `align` = `"high"`, `textAlign` is set to `right`
*
* Vertical axes:
*
* - for `align` = `"low"` and `opposite` = `true`, `textAlign` is set to
* `right`
*
* - for `align` = `"low"` and `opposite` = `false`, `textAlign` is set to
* `left`
*
* - for `align` = `"middle"`, `textAlign` is set to `center`
*
* - for `align` = `"high"` and `opposite` = `true` `textAlign` is set to
* `left`
*
* - for `align` = `"high"` and `opposite` = `false` `textAlign` is set to
* `right`
*/
textAlign?: AlignValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use HTML to render the axis
* title.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Gantt) Horizontal pixel offset of the title
* position.
*/
x?: number;
/**
* (Highcharts, Highstock, Gantt) Vertical pixel offset of the title
* position.
*/
y?: number;
}
/**
* (Highcharts, Highstock, Gantt) Options for displaying a message like "No data
* to display". This feature requires the file no-data-to-display.js to be
* loaded in the page. The actual text to display is set in the lang.noData
* option.
*/
export interface NoDataOptions {
/**
* (Highcharts, Highstock, Gantt) An object of additional SVG attributes for
* the no-data label.
*/
attr?: SVGAttributes;
/**
* (Highcharts, Highstock, Gantt) The position of the no-data label,
* relative to the plot area.
*/
position?: (AlignObject|NoDataPositionOptions);
/**
* (Highcharts, Highstock, Gantt) CSS styles for the no-data label.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Gantt) Whether to insert the label as HTML, or as
* pseudo-HTML rendered with SVG.
*/
useHTML?: boolean;
}
/**
* (Highcharts, Highstock, Gantt) The position of the no-data label, relative to
* the plot area.
*/
export interface NoDataPositionOptions {
/**
* (Highcharts, Highstock, Gantt) Horizontal alignment of the label.
*/
align?: AlignValue;
/**
* (Highcharts, Highstock, Gantt) Vertical alignment of the label.
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highcharts, Highstock, Gantt) Horizontal offset of the label, in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Gantt) Vertical offset of the label, in pixels.
*/
y?: number;
}
/**
* An object containing `left` and `top` properties for the position in the
* page.
*/
export interface OffsetObject {
/**
* Left distance to the page border.
*/
left: number;
/**
* Top distance to the page border.
*/
top: number;
}
export interface Options {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for configuring
* accessibility for the chart. Requires the accessibility module to be
* loaded. For a description of the module and information on its features,
* see Highcharts Accessibility.
*/
accessibility?: AccessibilityOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A basic type of an annotation.
* It allows to add custom labels or shapes. The items can be tied to
* points, axis coordinates or chart pixel coordinates.
*/
annotations?: Array<AnnotationsOptions>;
/**
* (Highcharts, Highstock) Options for the Boost module. The Boost module
* allows certain series types to be rendered by WebGL instead of the
* default SVG. This allows hundreds of thousands of data points to be
* rendered in milliseconds. In addition to the WebGL rendering it saves
* time by skipping processing and inspection of the data wherever possible.
* This introduces some limitations to what features are available in boost
* mode. See the docs for details.
*
* In addition to the global `boost` option, each series has a
* boostThreshold that defines when the boost should kick in.
*
* Requires the `modules/boost.js` module.
*/
boost?: BoostOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The chart's caption, which will
* render below the chart and will be part of exported charts. The caption
* can be updated after chart initialization through the `Chart.update` or
* `Chart.caption.update` methods.
*/
caption?: CaptionOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) General options for the chart.
*/
chart?: ChartOptions;
/**
* (Highcharts, Highstock, Highmaps) A color axis for series. Visually, the
* color axis will appear as a gradient or as separate items inside the
* legend, depending on whether the axis is scalar or based on data classes.
*
* For supported color formats, see the docs article about colors.
*
* A scalar color axis is represented by a gradient. The colors either range
* between the minColor and the maxColor, or for more fine grained control
* the colors can be defined in stops. Often times, the color axis needs to
* be adjusted to get the right color spread for the data. In addition to
* stops, consider using a logarithmic axis type, or setting min and max to
* avoid the colors being determined by outliers.
*
* When dataClasses are used, the ranges are subdivided into separate
* classes like categories based on their values. This can be used for
* ranges between two values, but also for a true category. However, when
* your data is categorized, it may be as convenient to add each category to
* a separate series.
*
* Color axis does not work with: `sankey`, `sunburst`, `dependencywheel`,
* `networkgraph`, `wordcloud`, `venn`, `gauge` and `solidgauge` series
* types.
*
* Since v7.2.0 `colorAxis` can also be an array of options objects.
*
* See the Axis object for programmatic access to the axis.
*/
colorAxis?: (ColorAxisOptions|Array<ColorAxisOptions>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) An array containing the default
* colors for the chart's series. When all colors are used, new colors are
* pulled from the start again.
*
* Default colors can also be set on a series or series.type basis, see
* column.colors, pie.colors.
*
* In styled mode, the colors option doesn't exist. Instead, colors are
* defined in CSS and applied either through series or point class names, or
* through the chart.colorCount option.
*/
colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
/**
* (Gantt) The Pathfinder module allows you to define connections between
* any two points, represented as lines - optionally with markers for the
* start and/or end points. Multiple algorithms are available for
* calculating how the connecting lines are drawn.
*
* Connector functionality requires Highcharts Gantt to be loaded. In Gantt
* charts, the connectors are used to draw dependencies between tasks.
*/
connectors?: ConnectorsOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Highchart by default puts a
* credits label in the lower right corner of the chart. This can be changed
* using these options.
*/
credits?: CreditsOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The Data module provides a
* simplified interface for adding data to a chart from sources like CVS,
* HTML tables or grid views. See also the tutorial article on the Data
* module.
*
* It requires the `modules/data.js` file to be loaded.
*
* Please note that the default way of adding data in Highcharts, without
* the need of a module, is through the series._type_.data option.
*/
data?: DataOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for configuring markers
* for annotations.
*
* An example of the arrow marker: (see online documentation for example)
*/
defs?: (DefsOptions|Dictionary<ASTNode>);
/**
* (Highcharts, Highmaps) Options for drill down, the concept of inspecting
* increasingly high resolution data through clicking on chart items like
* columns or pie slices.
*
* The drilldown feature requires the drilldown.js file to be loaded, found
* in the modules directory of the download package, or online at
* code.highcharts.com/modules/drilldown.js.
*/
drilldown?: DrilldownOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the exporting
* module. For an overview on the matter, see the docs.
*/
exporting?: ExportingOptions;
global?: any;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Language object. The language
* object is global and it can't be set on each chart initialization.
* Instead, use `Highcharts.setOptions` to set it before any chart is
* initialized. (see online documentation for example)
*/
lang?: LangOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The legend is a box containing a
* symbol and name for each series item or point item in the chart. Each
* series (or points in case of pie charts) is represented by a symbol and
* its name in the legend.
*
* It is possible to override the symbol creator function and create custom
* legend symbols.
*/
legend?: LegendOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The loading options control the
* appearance of the loading screen that covers the plot area on chart
* operations. This screen only appears after an explicit call to
* `chart.showLoading()`. It is a utility for developers to communicate to
* the end user that something is going on, for example while retrieving new
* data via an XHR connection. The "Loading..." text itself is not part of
* this configuration object, but part of the `lang` object.
*/
loading?: LoadingOptions;
/**
* (Highmaps) The `mapNavigation` option handles buttons for navigation in
* addition to `mousewheel` and `doubleclick` handlers for map zooming.
*/
mapNavigation?: MapNavigationOptions;
/**
* (Highmaps) The `mapView` options control the initial view of the chart,
* and how projection is set up for raw geoJSON maps (beta as of v9.3).
*
* To set the view dynamically after chart generation, see mapView.setView.
*/
mapView?: MapViewOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A collection of options for
* buttons and menus appearing in the exporting module or in Stock Tools.
*/
navigation?: NavigationOptions;
/**
* (Highstock, Gantt) The navigator is a small series below the main series,
* displaying a view of the entire data set. It provides tools to zoom in
* and out on parts of the data as well as panning across the dataset.
*/
navigator?: NavigatorOptions;
/**
* (Highcharts, Highstock, Gantt) Options for displaying a message like "No
* data to display". This feature requires the file no-data-to-display.js to
* be loaded in the page. The actual text to display is set in the
* lang.noData option.
*/
noData?: NoDataOptions;
/**
* (Highcharts) The pane serves as a container for axes and backgrounds for
* circular gauges and polar charts.
*/
pane?: PaneOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The plotOptions is a wrapper
* object for config objects for each series type. The config objects for
* each series can also be overridden for each series item as given in the
* series array.
*
* Configuration options for the series are given in three levels. Options
* for all series in a chart are given in the plotOptions.series object.
* Then options for all series of a specific type are given in the
* plotOptions of that type, for example `plotOptions.line`. Next, options
* for one single series are given in the series array.
*/
plotOptions?: PlotOptions;
/**
* (Highstock, Gantt) The range selector is a tool for selecting ranges to
* display within the chart. It provides buttons to select preconfigured
* ranges in the chart, like 1 day, 1 week, 1 month etc. It also provides
* input boxes where min and max dates can be manually input.
*/
rangeSelector?: RangeSelectorOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Allows setting a set of rules to
* apply for different screen or chart sizes. Each rule specifies additional
* chart options.
*/
responsive?: ResponsiveOptions;
/**
* (Highstock, Gantt) The scrollbar is a means of panning over the X axis of
* a stock chart. Scrollbars can also be applied to other types of axes.
*
* Another approach to scrollable charts is the chart.scrollablePlotArea
* option that is especially suitable for simpler cartesian charts on
* mobile.
*
* In styled mode, all the presentational options for the scrollbar are
* replaced by the classes `.highcharts-scrollbar-thumb`,
* `.highcharts-scrollbar-arrow`, `.highcharts-scrollbar-button`,
* `.highcharts-scrollbar-rifles` and `.highcharts-scrollbar-track`.
*/
scrollbar?: ScrollbarOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Series options for specific data
* and the data itself. In TypeScript you have to cast the series options to
* specific series types, to get all possible options for a series.
*/
series?: Array<SeriesOptionsType>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for configuring
* sonification and audio charts. Requires the sonification module to be
* loaded.
*/
sonification?: SonificationOptions;
/**
* (Highstock) Configure the stockTools gui strings in the chart. Requires
* the [stockTools module]() to be loaded. For a description of the module
* and information on its features, see [Highcharts StockTools]().
*/
stockTools?: StockToolsOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The chart's subtitle. This can
* be used both to display a subtitle below the main title, and to display
* random text anywhere in the chart. The subtitle can be updated after
* chart initialization through the `Chart.setTitle` method.
*/
subtitle?: SubtitleOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Time options that can apply
* globally or to individual charts. These settings affect how `datetime`
* axes are laid out, how tooltips are formatted, how series
* pointIntervalUnit works and how the Highcharts Stock range selector
* handles time.
*
* The common use case is that all charts in the same Highcharts object
* share the same time settings, in which case the global settings are set
* using `setOptions`. (see online documentation for example)
*
* Since v6.0.5, the time options were moved from the `global` object to the
* `time` object, and time options can be set on each individual chart.
*/
time?: TimeOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The chart's main title.
*/
title?: TitleOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the tooltip that
* appears when the user hovers over a series or point.
*/
tooltip?: TooltipOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) 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 for programmatic access to the axis.
*/
xAxis?: (XAxisOptions|Array<XAxisOptions>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The Y axis or value axis.
* Normally this is the vertical axis, though if the chart is inverted this
* is the horizontal axis. In case of multiple axes, the yAxis node is an
* array of configuration objects.
*
* See the Axis object for programmatic access to the axis.
*/
yAxis?: (YAxisOptions|Array<YAxisOptions>);
/**
* (Highcharts) The Z axis or depth axis for 3D plots.
*
* See the Axis class for programmatic access to the axis.
*/
zAxis?: (ZAxisOptions|Array<ZAxisOptions>);
}
/**
* (Highcharts) An array of background items for the pane.
*/
export interface PaneBackgroundOptions {
/**
* (Highcharts) The background color or gradient for the pane.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) The pane background border color.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) The pixel border width of the pane background.
*/
borderWidth?: number;
/**
* (Highcharts) The class name for this background.
*/
className?: string;
/**
* (Highcharts) The inner radius of the pane background. Can be either
* numeric (pixels) or a percentage string.
*/
innerRadius?: (number|string);
/**
* (Highcharts) The outer radius of the circular pane background. Can be
* either numeric (pixels) or a percentage string.
*/
outerRadius?: (number|string);
/**
* (Highcharts) The shape of the pane background. When `solid`, the
* background is circular. When `arc`, the background extends only from the
* min to the max of the value axis.
*/
shape?: PaneBackgroundShapeValue;
}
/**
* (Highcharts) The pane serves as a container for axes and backgrounds for
* circular gauges and polar charts.
*/
export interface PaneOptions {
/**
* (Highcharts) An array of background items for the pane.
*/
background?: Array<PaneBackgroundOptions>;
/**
* (Highcharts) The center of a polar chart or angular gauge, given as an
* array of [x, y] positions. Positions can be given as integers that
* transform to pixels, or as percentages of the plot area size.
*/
center?: Array<(string|number)>;
/**
* (Highcharts) The end angle of the polar X axis or gauge value axis, given
* in degrees where 0 is north. Defaults to startAngle
*
* + 360.
*/
endAngle?: number;
/**
* (Highcharts) The inner size of the pane, either as a number defining
* pixels, or a percentage defining a percentage of the pane's size.
*/
innerSize?: (number|string);
/**
* (Highcharts) The size of the pane, either as a number defining pixels, or
* a percentage defining a percentage of the available plot area (the
* smallest of the plot height or plot width).
*/
size?: (number|string);
/**
* (Highcharts) The start angle of the polar X axis or gauge axis, given in
* degrees where 0 is north. Defaults to 0.
*/
startAngle?: number;
}
/**
* Holds a pattern definition.
*/
export interface PatternObject {
/**
* Animation options for the image pattern loading.
*/
animation?: (boolean|Partial<AnimationOptionsObject>);
/**
* Pattern options
*/
pattern: PatternOptionsObject;
/**
* Optionally an index referencing which pattern to use. Highcharts adds 10
* default patterns to the `Highcharts.patterns` array. Additional pattern
* definitions can be pushed to this array if desired. This option is an
* index into this array.
*/
patternIndex?: number;
}
/**
* Pattern options
*/
export interface PatternOptionsObject {
/**
* For automatically calculated width and height on images, it is possible
* to set an aspect ratio. The image will be zoomed to fill the bounding
* box, maintaining the aspect ratio defined.
*/
aspectRatio?: number;
/**
* Background color for the pattern if a `path` is set (not images).
*/
backgroundColor?: ColorString;
/**
* Pattern color, used as default path stroke.
*/
color?: ColorString;
/**
* Analogous to pattern.width.
*/
height?: number;
/**
* ID to assign to the pattern. This is automatically computed if not added,
* and identical patterns are reused. To refer to an existing pattern for a
* Highcharts color, use `color: "url(#pattern-id)"`.
*/
id?: string;
/**
* URL to an image to use as the pattern.
*/
image?: string;
/**
* Opacity of the pattern as a float value from 0 to 1.
*/
opacity?: number;
/**
* Either an SVG path as string, or an object. As an object, supply the path
* string in the `path.d` property. Other supported properties are standard
* SVG attributes like `path.stroke` and `path.fill`. If a path is supplied
* for the pattern, the `image` property is ignored.
*/
path?: (string|SVGAttributes);
/**
* SVG `patternTransform` to apply to the entire pattern.
*/
patternTransform?: string;
/**
* Width of the pattern. For images this is automatically set to the width
* of the element bounding box if not supplied. For non-image patterns the
* default is 32px. Note that automatic resizing of image patterns to fill a
* bounding box dynamically is only supported for patterns with an
* automatically calculated ID.
*/
width?: number;
/**
* Horizontal offset of the pattern. Defaults to 0.
*/
x?: number;
/**
* Vertical offset of the pattern. Defaults to 0.
*/
y?: number;
}
export interface PlotAbandsBottomLineOptions {
styles?: PlotAbandsBottomLineStylesOptions;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotAbandsDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotAbandsDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotAbandsOnPointOptions {
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotAbandsOnPointConnectorOptions|SVGAttributes);
/**
* (Highstock) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highstock) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotAbandsOnPointPositionOptions);
}
/**
* (Highstock) Acceleration bands (ABANDS). This series requires the `linkedTo`
* option to be set and should be loaded after the
* `stock/indicators/indicators.js`.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `abands` series are defined in plotOptions.abands.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotAbandsOptions {
/**
* (Highstock) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highstock) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highstock) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highstock) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highstock) Sets the color blending in the boost module.
*/
boostBlending?: OptionsBoostBlendingValue;
/**
* (Highstock) Set the point threshold for when a series should enter boost
* mode.
*
* Setting it to e.g. 2000 will cause the series to enter boost mode when
* there are 2000 or more points in the series.
*
* To disable boosting on the series, set the `boostThreshold` to 0. Setting
* it to 1 will force boosting.
*
* Note that the cropThreshold also affects this setting. When zooming in on
* a series that has fewer points than the `cropThreshold`, all points are
* rendered although outside the visible plot area, and the `boostThreshold`
* won't take effect.
*/
boostThreshold?: number;
bottomLine?: PlotAbandsBottomLineOptions;
/**
* (Highstock) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highstock) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highstock) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highstock) Defines if comparison should start from the first point
* within the visible range or should start from the first point **before**
* the range.
*
* In other words, this flag determines if first point within the visible
* range will have 0% (`compareStart=true`) or should have been already
* calculated according to the previous point (`compareStart=false`).
*/
compareStart?: boolean;
/**
* (Highstock) Whether to compare indicator to the main series values or
* indicator values.
*/
compareToMain?: boolean;
/**
* (Highcharts, Highstock) Whether to connect a graph line across null
* points, or render a gap between the two points on either side of the
* null.
*
* In stacked area chart, if `connectNulls` is set to true, null points are
* interpreted as 0.
*/
connectNulls?: boolean;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highstock) When the series contains less points than the
* crop threshold, all points are drawn, even if the points fall outside the
* visible plot area at the current zoom. The advantage of drawing all
* points (including markers and columns), is that animation is performed on
* updates. On the other hand, when the series contains more points than the
* crop threshold, the series data is cropped to only contain points that
* fall within the plot area. The advantage of cropping away invisible
* points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highstock) Cumulative Sum feature replaces points' values with the
* following formula: `sum of all previous points' values + current point's
* value`. Works only for points in a visible range. Adds the
* `cumulativeSum` field to each point object that can be accessed e.g. in
* the tooltip.pointFormat.
*
* With `dataGrouping` enabled, default grouping approximation is set to
* `sum`.
*/
cumulative?: boolean;
/**
* (Highstock) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highstock) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highstock) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) Data grouping is the concept of sampling the data values into
* larger blocks in order to ease readability and increase performance of
* the JavaScript charts. Highcharts Stock by default applies data grouping
* when the points become closer than a certain pixel value, determined by
* the `groupPixelWidth` option.
*
* If data grouping is applied, the grouping information of grouped points
* can be read from the Point.dataGroup. If point options other than the
* data itself are set, for example `name` or `color` or custom properties,
* the grouping logic doesn't know how to group it. In this case the options
* of the first point instance are copied over to the group point. This can
* be altered through a custom `approximation` callback function.
*/
dataGrouping?: DataGroupingOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotAbandsDataLabelsOptions|Array<PlotAbandsDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotAbandsDataSortingOptions);
/**
* (Highstock) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highstock) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highstock) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highstock) Option for fill color between lines in Accelleration bands
* Indicator.
*/
fillColor?: Color;
/**
* (Highstock) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highstock) Defines when to display a gap in the graph, together with the
* gapUnit option.
*
* In case when `dataGrouping` is enabled, points can be grouped into a
* larger time span. This can make the grouped points to have a greater
* distance than the absolute value of `gapSize` property, which will result
* in disappearing graph completely. To prevent this situation the mentioned
* distance between grouped points is used instead of previously defined
* `gapSize`.
*
* In practice, this option is most often used to visualize gaps in time
* series. In a stock chart, intraday data is available for daytime hours,
* while gaps will appear in nights and weekends.
*/
gapSize?: number;
/**
* (Highstock) Together with gapSize, this option defines where to draw gaps
* in the graph.
*
* When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
* if the distance between two points is greater than 5 times that of the
* two closest points, the graph will be broken.
*
* When the `gapUnit` is `"value"`, the gap is based on absolute axis
* values, which on a datetime axis is milliseconds. This also applies to
* the navigator series that inherits gap options from the base series.
*/
gapUnit?: OptionsGapUnitValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highstock) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highstock) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highstock) The line marks the last price from all points.
*/
lastPrice?: SeriesLastPriceOptionsObject;
/**
* (Highstock) The line marks the last price from visible range of points.
*/
lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
/**
* (Highstock) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
* `stroke-linejoin` of a line graph. Round means that lines are rounded in
* the ends and bends.
*/
linecap?: SeriesLinecapValue;
/**
* (Highcharts, Highstock) Pixel width of the graph line.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The main series ID that indicator will be
* based on. Required for this indicator.
*/
linkedTo?: string;
/**
* (Highstock) Options for the point markers of line and scatter-like
* series. Properties like `fillColor`, `lineColor` and `lineWidth` define
* the visual appearance of the markers. The `symbol` option defines the
* shape. Other series types, like column series, don't have markers, but
* have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highstock) The name of the series as shown in the legend, tooltip etc.
* If not set, it will be based on a technical indicator type and default
* params.
*/
name?: string;
/**
* (Highstock) The color for the parts of the graph or points that are below
* the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotAbandsOnPointOptions);
/**
* (Highstock) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
params?: PlotAbandsParamsOptions;
/**
* (Highstock) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highstock) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highstock) Same as accessibility.series.descriptionFormatter, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highstock) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highstock) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highstock) If set to `true`, the accessibility module will skip past the
* points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highstock) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock) Whether to apply steps to the line. Possible
* values are `left`, `center` and `right`.
*/
step?: OptionsStepValue;
/**
* (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock) The threshold, also called zero level or base
* level. For line type series this is only used in conjunction with
* negativeColor.
*/
threshold?: (number|null);
/**
* (Highstock) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
topLine?: PlotAbandsTopLineOptions;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highstock) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
export interface PlotAbandsTopLineOptions {
styles?: PlotAbandsTopLineStylesOptions;
}
/**
* (Highstock) Point accessibility options for a series.
*/
export interface PlotAdAccessibilityPointOptions {
/**
* (Highstock) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highstock) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highstock) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highstock) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highstock) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highstock) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highstock) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotAdDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotAdDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: (VerticalAlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotAdOnPointConnectorOptions {
/**
* (Highstock) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highstock) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highstock) Options allowing to set a position and an offset of the series in
* the _Series on point_ feature.
*/
export interface PlotAdOnPointPositionOptions {
/**
* (Highstock) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highstock) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highstock) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highstock) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
export interface PlotAdParamsOptions {
index?: string;
/**
* (Highstock) The base period for indicator calculations. This is the
* number of data points which are taken into account for the indicator
* calculations.
*/
period?: number;
/**
* (Highstock) The id of volume series which is mandatory. For example using
* OHLC data, volumeSeriesID='volume' means the indicator will be calculated
* using OHLC and volume values.
*/
volumeSeriesID?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotAoDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotAoDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotAoOnPointOptions {
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotAoOnPointConnectorOptions|SVGAttributes);
/**
* (Highstock) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highstock) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotAoOnPointPositionOptions);
}
/**
* (Highstock) Awesome Oscillator. This series requires the `linkedTo` option to
* be set and should be loaded after the `stock/indicators/indicators.js`
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `ao` series are defined in plotOptions.ao.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotAoOptions {
/**
* (Highstock) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highstock) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highstock) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highstock) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highstock) Sets the color blending in the boost module.
*/
boostBlending?: OptionsBoostBlendingValue;
/**
* (Highstock) Set the point threshold for when a series should enter boost
* mode.
*
* Setting it to e.g. 2000 will cause the series to enter boost mode when
* there are 2000 or more points in the series.
*
* To disable boosting on the series, set the `boostThreshold` to 0. Setting
* it to 1 will force boosting.
*
* Note that the cropThreshold also affects this setting. When zooming in on
* a series that has fewer points than the `cropThreshold`, all points are
* rendered although outside the visible plot area, and the `boostThreshold`
* won't take effect.
*/
boostThreshold?: number;
/**
* (Highstock) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highstock) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highstock) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highstock) Compare the values of the series against the first non-null,
* non- zero value in the visible range. The y axis will show percentage or
* absolute change depending on whether `compare` is set to `"percent"` or
* `"value"`. When this is applied to multiple series, it allows comparing
* the development of the series against each other. Adds a `change` field
* to every point object.
*/
compare?: OptionsCompareValue;
/**
* (Highstock) When compare is `percent`, this option dictates whether to
* use 0 or 100 as the base of comparison.
*/
compareBase?: (0|100);
/**
* (Highstock) Defines if comparison should start from the first point
* within the visible range or should start from the first point **before**
* the range.
*
* In other words, this flag determines if first point within the visible
* range will have 0% (`compareStart=true`) or should have been already
* calculated according to the previous point (`compareStart=false`).
*/
compareStart?: boolean;
/**
* (Highstock) Whether to compare indicator to the main series values or
* indicator values.
*/
compareToMain?: boolean;
/**
* (Highcharts, Highstock) Whether to connect a graph line across null
* points, or render a gap between the two points on either side of the
* null.
*
* In stacked area chart, if `connectNulls` is set to true, null points are
* interpreted as 0.
*/
connectNulls?: boolean;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highstock) When the series contains less points than the
* crop threshold, all points are drawn, even if the points fall outside the
* visible plot area at the current zoom. The advantage of drawing all
* points (including markers and columns), is that animation is performed on
* updates. On the other hand, when the series contains more points than the
* crop threshold, the series data is cropped to only contain points that
* fall within the plot area. The advantage of cropping away invisible
* points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highstock) Cumulative Sum feature replaces points' values with the
* following formula: `sum of all previous points' values + current point's
* value`. Works only for points in a visible range. Adds the
* `cumulativeSum` field to each point object that can be accessed e.g. in
* the tooltip.pointFormat.
*
* With `dataGrouping` enabled, default grouping approximation is set to
* `sum`.
*/
cumulative?: boolean;
/**
* (Highstock) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highstock) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highstock) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) Data grouping is the concept of sampling the data values into
* larger blocks in order to ease readability and increase performance of
* the JavaScript charts. Highcharts Stock by default applies data grouping
* when the points become closer than a certain pixel value, determined by
* the `groupPixelWidth` option.
*
* If data grouping is applied, the grouping information of grouped points
* can be read from the Point.dataGroup. If point options other than the
* data itself are set, for example `name` or `color` or custom properties,
* the grouping logic doesn't know how to group it. In this case the options
* of the first point instance are copied over to the group point. This can
* be altered through a custom `approximation` callback function.
*/
dataGrouping?: DataGroupingOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotAoDataLabelsOptions|Array<PlotAoDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotAoDataSortingOptions);
/**
* (Highstock) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highstock) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highstock) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highstock) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highstock) Defines when to display a gap in the graph, together with the
* gapUnit option.
*
* In case when `dataGrouping` is enabled, points can be grouped into a
* larger time span. This can make the grouped points to have a greater
* distance than the absolute value of `gapSize` property, which will result
* in disappearing graph completely. To prevent this situation the mentioned
* distance between grouped points is used instead of previously defined
* `gapSize`.
*
* In practice, this option is most often used to visualize gaps in time
* series. In a stock chart, intraday data is available for daytime hours,
* while gaps will appear in nights and weekends.
*/
gapSize?: number;
/**
* (Highstock) Together with gapSize, this option defines where to draw gaps
* in the graph.
*
* When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
* if the distance between two points is greater than 5 times that of the
* two closest points, the graph will be broken.
*
* When the `gapUnit` is `"value"`, the gap is based on absolute axis
* values, which on a datetime axis is milliseconds. This also applies to
* the navigator series that inherits gap options from the base series.
*/
gapUnit?: OptionsGapUnitValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highstock) Color of the Awesome oscillator series bar that is greater
* than the previous one. Note that if a `color` is defined, the `color`
* takes precedence and the `greaterBarColor` is ignored.
*/
greaterBarColor?: (ColorString|GradientColorObject|PatternObject);
groupPadding?: number;
/**
* (Highstock) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highstock) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highstock) The line marks the last price from all points.
*/
lastPrice?: SeriesLastPriceOptionsObject;
/**
* (Highstock) The line marks the last price from visible range of points.
*/
lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
/**
* (Highstock) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
* `stroke-linejoin` of a line graph. Round means that lines are rounded in
* the ends and bends.
*/
linecap?: SeriesLinecapValue;
/**
* (Highcharts, Highstock) Pixel width of the graph line.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The main series ID that indicator will be
* based on. Required for this indicator.
*/
linkedTo?: string;
/**
* (Highstock) Color of the Awesome oscillator series bar that is lower than
* the previous one. Note that if a `color` is defined, the `color` takes
* precedence and the `lowerBarColor` is ignored.
*/
lowerBarColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Options for the point markers of line and scatter-like
* series. Properties like `fillColor`, `lineColor` and `lineWidth` define
* the visual appearance of the markers. The `symbol` option defines the
* shape. Other series types, like column series, don't have markers, but
* have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highstock) The name of the series as shown in the legend, tooltip etc.
* If not set, it will be based on a technical indicator type and default
* params.
*/
name?: string;
/**
* (Highstock) The color for the parts of the graph or points that are below
* the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotAoOnPointOptions);
/**
* (Highstock) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
params?: PlotAoParamsOptions;
/**
* (Highstock) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highstock) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highstock) Same as accessibility.series.descriptionFormatter, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
pointPadding?: number;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highstock) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highstock) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highstock) If set to `true`, the accessibility module will skip past the
* points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highstock) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock) Whether to apply steps to the line. Possible
* values are `left`, `center` and `right`.
*/
step?: OptionsStepValue;
/**
* (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock) The threshold, also called zero level or base
* level. For line type series this is only used in conjunction with
* negativeColor.
*/
threshold?: number;
/**
* (Highstock) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highstock) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highstock) Point accessibility options for a series.
*/
export interface PlotApoAccessibilityPointOptions {
/**
* (Highstock) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highstock) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highstock) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highstock) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highstock) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highstock) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highstock) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotApoDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotApoDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: (VerticalAlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotApoOnPointConnectorOptions {
/**
* (Highstock) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highstock) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highstock) Options allowing to set a position and an offset of the series in
* the _Series on point_ feature.
*/
export interface PlotApoOnPointPositionOptions {
/**
* (Highstock) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highstock) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highstock) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highstock) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Parameters used in calculation of Absolute Price Oscillator
* series points.
*/
export interface PlotApoParamsOptions {
/**
* (Highstock) The point index which indicator calculations will base. For
* example using OHLC data, index=2 means the indicator will be calculated
* using Low values.
*
* By default index value used to be set to 0. Since Highcharts Stock 7 by
* default index is set to 3 which means that the ema indicator will be
* calculated using Close values.
*/
index?: number;
period?: string;
/**
* (Highstock) Periods for Absolute Price Oscillator calculations.
*/
periods?: Array<number>;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotArcdiagramDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts) Set options on specific levels. Takes precedence over series
* options, but not node and link options.
*/
export interface PlotArcdiagramLevelsOptions {
/**
* (Highcharts) Can set `borderColor` on all nodes which lay on the same
* level.
*/
borderColor?: ColorString;
/**
* (Highcharts) Can set `borderWidth` on all nodes which lay on the same
* level.
*/
borderWidth?: number;
/**
* (Highcharts) Can set `color` on all nodes which lay on the same level.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) Can set `colorByPoint` on all nodes which lay on the same
* level.
*/
colorByPoint?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Can set `dataLabels` on all
* points which lay on the same level.
*/
dataLabels?: (SeriesSankeyDataLabelsOptionsObject|Array<SeriesSankeyDataLabelsOptionsObject>);
/**
* (Highcharts) Decides which level takes effect from the options set in the
* levels object.
*/
level?: number;
/**
* (Highcharts) Can set `linkOpacity` on all points which lay on the same
* level.
*/
linkOpacity?: number;
/**
* (Highcharts) Can set `states` on all nodes and points which lay on the
* same level.
*/
states?: SeriesStatesOptionsObject;
}
/**
* (Highcharts) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotArcdiagramOnPointOptions {
/**
* (Highcharts) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotArcdiagramOnPointConnectorOptions|SVGAttributes);
/**
* (Highcharts) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highcharts) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotArcdiagramOnPointPositionOptions);
}
/**
* (Highcharts) Arc diagram series is a chart drawing style in which the
* vertices of the chart are positioned along a line on the Euclidean plane and
* the edges are drawn as a semicircle in one of the two half-planes delimited
* by the line, or as smooth curves formed by sequences of semicircles.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `arcdiagram` series are defined in plotOptions.arcdiagram.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotArcdiagramOptions {
/**
* (Highcharts) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highcharts) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highcharts) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highcharts, Highstock, Gantt) The color of the border surrounding each
* column or bar.
*
* In styled mode, the border stroke can be set with the `.highcharts-point`
* rule.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Gantt) The width of the border surrounding each
* column or bar. Defaults to `1` when there is room for a border, but to
* `0` when the columns are so dense that a border would cover the next
* column.
*
* In styled mode, the stroke width can be set with the `.highcharts-point`
* rule.
*/
borderWidth?: number;
/**
* (Highcharts) The option to center links rather than position them one
* after another
*/
centeredLinks?: boolean;
/**
* (Highcharts) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highcharts) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highcharts) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Gantt) When using automatic point colors pulled
* from the global colors or series-specific plotOptions.column.colors
* collections, this option determines whether the chart should receive one
* color per series or one color per point.
*
* In styled mode, the `colors` or `series.colors` arrays are not supported,
* and instead this option gives the points individual color class names on
* the form `highcharts-color-{n}`.
*/
colorByPoint?: boolean;
/**
* (Highcharts) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Gantt) A series specific or series type specific
* color set to apply instead of the global colors when colorByPoint is
* true.
*/
colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
/**
* (Highcharts) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highcharts) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highcharts) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the data labels
* appearing on top of the nodes and links. For arc diagram charts, data
* labels are visible for the nodes by default, but hidden for links. This
* is controlled by modifying the `nodeFormat`, and the `format` that
* applies to links and is an empty string by default.
*/
dataLabels?: (SeriesArcDiagramDataLabelsOptionsObject|Array<SeriesArcDiagramDataLabelsOptionsObject>);
/**
* (Highcharts) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highcharts) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highcharts) Whether nodes with different values should have the same
* size. If set to true, all nodes are calculated based on the `nodePadding`
* and current `plotArea`. It is possible to override it using the
* `marker.radius` option.
*/
equalNodes?: boolean;
/**
* (Highcharts) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highcharts) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highcharts) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts) An array specifying which option maps to which key in the
* data point array. This makes it convenient to work with unstructured data
* arrays from different sources.
*/
keys?: Array<string>;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highcharts) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts) Set options on specific levels. Takes precedence over series
* options, but not node and link options.
*/
levels?: Array<PlotArcdiagramLevelsOptions>;
/**
* (Highcharts) Determines color mode for sankey links. Available options:
*
* - `from` color of the sankey link will be the same as the 'from node'
*
* - `gradient` color of the sankey link will be set to gradient between
* colors of 'from node' and 'to node'
*
* - `to` color of the sankey link will be same as the 'to node'.
*/
linkColorMode?: ('from'|'gradient'|'to');
/**
* (Highcharts, Highstock, Gantt) The id of another series to link to.
* Additionally, the value can be ":previous" to link to the previous
* series. When two series are linked, only the first one appears in the
* legend. Toggling the visibility of this also toggles the linked series.
*
* If master series uses data sorting and linked series does not have its
* own sorting definition, the linked series will be sorted in the same
* order as the master one.
*/
linkedTo?: string;
/**
* (Highcharts) Opacity for the links between nodes in the sankey diagram.
*/
linkOpacity?: number;
/**
* (Highcharts) Options for the point markers of line and scatter-like
* series. Properties like `fillColor`, `lineColor` and `lineWidth` define
* the visual appearance of the markers. The `symbol` option defines the
* shape. Other series types, like column series, don't have markers, but
* have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highcharts) The minimal width for a line of a sankey. By default, 0
* values are not shown.
*/
minLinkWidth?: number;
/**
* (Highcharts) The distance between nodes in a sankey diagram in the
* longitudinal direction. The longitudinal direction means the direction
* that the chart flows - in a horizontal chart the distance is horizontal,
* in an inverted chart (vertical), the distance is vertical.
*
* If a number is given, it denotes pixels. If a percentage string is given,
* the distance is a percentage of the rendered node width. A `nodeDistance`
* of `100%` will render equal widths for the nodes and the gaps between
* them.
*
* This option applies only when the `nodeWidth` option is `auto`, making
* the node width respond to the number of columns.
*/
nodeDistance?: (number|string);
/**
* (Highcharts) The pixel width of each node in a sankey diagram or
* dependency wheel, or the height in case the chart is inverted.
*
* Can be a number or a percentage string.
*
* Sankey series also support setting it to `auto`. With this setting, the
* nodes are sized to fill up the plot area in the longitudinal direction,
* regardless of the number of levels.
*/
nodeWidth?: (number|string);
/**
* (Highcharts) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotArcdiagramOnPointOptions);
/**
* (Highcharts) Opacity for the nodes in the sankey diagram.
*/
opacity?: number;
/**
* (Highcharts) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highcharts) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highcharts) Same as accessibility.series.descriptionFormatter, but for
* an individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts) Whether the series should be placed on the other side of the
* `plotArea`.
*/
reversed?: boolean;
/**
* (Highcharts) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highcharts) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highcharts) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highcharts) If set to `true`, the accessibility module will skip past
* the points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highcharts) Set the initial visibility of the series.
*/
visible?: boolean;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotAreaDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotAreaDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highcharts, Highstock) Options for the _Series on point_ feature. Only `pie`
* and `sunburst` series are supported at this moment.
*/
export interface PlotAreaOnPointOptions {
/**
* (Highcharts, Highstock) Options for the connector in the _Series on
* point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotAreaOnPointConnectorOptions|SVGAttributes);
/**
* (Highcharts, Highstock) The `id` of the point that we connect the series
* to. Only points with a given `plotX` and `plotY` values and map points
* are valid.
*/
id?: string;
/**
* (Highcharts, Highstock) Options allowing to set a position and an offset
* of the series in the _Series on point_ feature.
*/
position?: (object|PlotAreaOnPointPositionOptions);
}
/**
* (Highcharts, Highstock) The area series type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `area` series are defined in plotOptions.area.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotAreaOptions {
/**
* (Highcharts, Highstock) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highcharts, Highstock) Allow this series' points to be selected by
* clicking on the graphic (columns, point markers, pie slices, map areas
* etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highcharts, Highstock) Enable or disable the initial animation when a
* series is displayed. The animation can also be set as a configuration
* object. Please note that this option only applies to the initial
* animation of the series itself. For other animations, see chart.animation
* and the animation parameter under the API methods. The following
* properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highcharts, Highstock) For some series, there is a limit that shuts down
* animation by default when the total number of points in the chart is too
* high. For example, for a column chart and its derivatives, animation does
* not run if there is more than 250 points totally. To disable this cap,
* set `animationLimit` to `Infinity`. This option works if animation is
* fired on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highcharts, Highstock) Sets the color blending in the boost module.
*/
boostBlending?: OptionsBoostBlendingValue;
/**
* (Highcharts, Highstock) Set the point threshold for when a series should
* enter boost mode.
*
* Setting it to e.g. 2000 will cause the series to enter boost mode when
* there are 2000 or more points in the series.
*
* To disable boosting on the series, set the `boostThreshold` to 0. Setting
* it to 1 will force boosting.
*
* Note that the cropThreshold also affects this setting. When zooming in on
* a series that has fewer points than the `cropThreshold`, all points are
* rendered although outside the visible plot area, and the `boostThreshold`
* won't take effect.
*/
boostThreshold?: number;
/**
* (Highcharts, Highstock) An additional class name to apply to the series'
* graphical elements. This option does not replace default class names of
* the graphical element. Changes to the series' color will also be
* reflected in a chart's legend and tooltip.
*/
className?: string;
/**
* (Highcharts, Highstock) Disable this option to allow series rendering in
* the whole plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highcharts, Highstock) The main color of the series. In line type series
* it applies to the line and the point markers unless otherwise specified.
* In bar type series it applies to the bars unless a color is specified per
* point. The default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
* this number defines which colorAxis the particular series is connected
* to. It refers to either the axis id or the index of the axis in the
* colorAxis array, with 0 being the first. Set this option to false to
* prevent a series from connecting to the default color axis.
*
* Since v7.2.0 the option can also be an axis id or an axis index instead
* of a boolean flag.
*/
colorAxis?: (boolean|number|string);
/**
* (Highcharts, Highstock) Styled mode only. A specific color index to use
* for the series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highstock) Compare the values of the series against the first non-null,
* non- zero value in the visible range. The y axis will show percentage or
* absolute change depending on whether `compare` is set to `"percent"` or
* `"value"`. When this is applied to multiple series, it allows comparing
* the development of the series against each other. Adds a `change` field
* to every point object.
*/
compare?: OptionsCompareValue;
/**
* (Highstock) When compare is `percent`, this option dictates whether to
* use 0 or 100 as the base of comparison.
*/
compareBase?: (0|100);
/**
* (Highstock) Defines if comparison should start from the first point
* within the visible range or should start from the first point **before**
* the range.
*
* In other words, this flag determines if first point within the visible
* range will have 0% (`compareStart=true`) or should have been already
* calculated according to the previous point (`compareStart=false`).
*/
compareStart?: boolean;
/**
* (Highcharts) Polar charts only. Whether to connect the ends of a line
* series plot across the extremes.
*/
connectEnds?: boolean;
/**
* (Highcharts, Highstock) Whether to connect a graph line across null
* points, or render a gap between the two points on either side of the
* null.
*
* In stacked area chart, if `connectNulls` is set to true, null points are
* interpreted as 0.
*/
connectNulls?: boolean;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highstock) When the series contains less points than the
* crop threshold, all points are drawn, even if the points fall outside the
* visible plot area at the current zoom. The advantage of drawing all
* points (including markers and columns), is that animation is performed on
* updates. On the other hand, when the series contains more points than the
* crop threshold, the series data is cropped to only contain points that
* fall within the plot area. The advantage of cropping away invisible
* points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highstock) Cumulative Sum feature replaces points' values with the
* following formula: `sum of all previous points' values + current point's
* value`. Works only for points in a visible range. Adds the
* `cumulativeSum` field to each point object that can be accessed e.g. in
* the tooltip.pointFormat.
*
* With `dataGrouping` enabled, default grouping approximation is set to
* `sum`.
*/
cumulative?: boolean;
/**
* (Highcharts, Highstock) You can set the cursor to "pointer" if you have
* click events attached to the series, to signal to the user that the
* points and lines can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highcharts, Highstock) A reserved subspace to store options and values
* for customized functionality. Here you can add additional data for your
* own event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highcharts, Highstock) Name of the dash style to use for the graph, or
* for some series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) Data grouping is the concept of sampling the data values into
* larger blocks in order to ease readability and increase performance of
* the JavaScript charts. Highcharts Stock by default applies data grouping
* when the points become closer than a certain pixel value, determined by
* the `groupPixelWidth` option.
*
* If data grouping is applied, the grouping information of grouped points
* can be read from the Point.dataGroup. If point options other than the
* data itself are set, for example `name` or `color` or custom properties,
* the grouping logic doesn't know how to group it. In this case the options
* of the first point instance are copied over to the group point. This can
* be altered through a custom `approximation` callback function.
*/
dataGrouping?: DataGroupingOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotAreaDataLabelsOptions|Array<PlotAreaDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotAreaDataSortingOptions);
/**
* (Highcharts, Highstock) A description of the series to add to the screen
* reader information about the series.
*/
description?: string;
/**
* (Highcharts, Highstock) The draggable-points module allows points to be
* moved around or modified in the chart. In addition to the options
* mentioned under the `dragDrop` API structure, the module fires three
* events, point.dragStart, point.drag and point.drop.
*/
dragDrop?: SeriesDragDropOptionsObject;
/**
* (Highcharts, Highstock) Enable or disable the mouse tracking for a
* specific series. This includes point tooltips and click events on graphs
* and points. For large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highcharts, Highstock) General event handlers for the series items.
* These event hooks can also be attached to the series at run time using
* the `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highcharts, Highstock) Fill color or gradient for the area. When
* `undefined`, the series' `color` is used with the series' `fillOpacity`.
*
* In styled mode, the fill color can be set with the `.highcharts-area`
* class name.
*/
fillColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock) Fill opacity for the area. When you set an
* explicit `fillColor`, the `fillOpacity` is not applied. Instead, you
* should define the opacity in the `fillColor` with an rgba color
* definition. The `fillOpacity` setting, also the default setting,
* overrides the alpha component of the `color` setting.
*
* In styled mode, the fill opacity can be set with the `.highcharts-area`
* class name.
*/
fillOpacity?: number;
/**
* (Highcharts, Highstock) Determines whether the series should look for the
* nearest point in both dimensions or just the x-dimension when hovering
* the series. Defaults to `'xy'` for scatter series and `'x'` for most
* other series. If the data has duplicate x-values, it is recommended to
* set this to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highstock) Defines when to display a gap in the graph, together with the
* gapUnit option.
*
* In case when `dataGrouping` is enabled, points can be grouped into a
* larger time span. This can make the grouped points to have a greater
* distance than the absolute value of `gapSize` property, which will result
* in disappearing graph completely. To prevent this situation the mentioned
* distance between grouped points is used instead of previously defined
* `gapSize`.
*
* In practice, this option is most often used to visualize gaps in time
* series. In a stock chart, intraday data is available for daytime hours,
* while gaps will appear in nights and weekends.
*/
gapSize?: number;
/**
* (Highstock) Together with gapSize, this option defines where to draw gaps
* in the graph.
*
* When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
* if the distance between two points is greater than 5 times that of the
* two closest points, the graph will be broken.
*
* When the `gapUnit` is `"value"`, the gap is based on absolute axis
* values, which on a datetime axis is milliseconds. This also applies to
* the navigator series that inherits gap options from the base series.
*/
gapUnit?: OptionsGapUnitValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highcharts, Highstock) Highlight only the hovered point and fade the
* remaining points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highcharts, Highstock) When set to `false` will prevent the series data
* from being included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highstock) An array specifying which option maps to which
* key in the data point array. This makes it convenient to work with
* unstructured data arrays from different sources.
*/
keys?: Array<string>;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highstock) The line marks the last price from all points.
*/
lastPrice?: SeriesLastPriceOptionsObject;
/**
* (Highstock) The line marks the last price from visible range of points.
*/
lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
/**
* (Highcharts, Highstock) What type of legend symbol to render for this
* series. Can be one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
* `stroke-linejoin` of a line graph. Round means that lines are rounded in
* the ends and bends.
*/
linecap?: SeriesLinecapValue;
/**
* (Highcharts, Highstock) A separate color for the graph line. By default
* the line takes the `color` of the series, but the lineColor setting
* allows setting a separate color for the line without altering the
* `fillColor`.
*
* In styled mode, the line stroke can be set with the `.highcharts-graph`
* class name.
*/
lineColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock) Pixel width of the graph line.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The id of another series to link to.
* Additionally, the value can be ":previous" to link to the previous
* series. When two series are linked, only the first one appears in the
* legend. Toggling the visibility of this also toggles the linked series.
*
* If master series uses data sorting and linked series does not have its
* own sorting definition, the linked series will be sorted in the same
* order as the master one.
*/
linkedTo?: string;
/**
* (Highcharts, Highstock) Options for the point markers of line and
* scatter-like series. Properties like `fillColor`, `lineColor` and
* `lineWidth` define the visual appearance of the markers. The `symbol`
* option defines the shape. Other series types, like column series, don't
* have markers, but have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highstock) Options for the corresponding navigator series if
* `showInNavigator` is `true` for this series. Available options are the
* same as any series, documented at plotOptions and series.
*
* These options are merged with options in navigator.series, and will take
* precedence if the same option is defined both places.
*/
navigatorOptions?: PlotSeriesOptions;
/**
* (Highcharts, Highstock) The color for the parts of the graph or points
* that are below the threshold. Note that `zones` takes precedence over the
* negative color. Using `negativeColor` is equivalent to applying a zone
* with value of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) A separate color for the negative part of the area.
*
* In styled mode, a negative color is set with the `.highcharts-negative`
* class name.
*/
negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock) Options for the _Series on point_ feature. Only
* `pie` and `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotAreaOnPointOptions);
/**
* (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
* and dataLabels.
*/
opacity?: number;
/**
* (Highcharts, Highstock) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highcharts, Highstock) Same as accessibility.point.descriptionFormat,
* but for an individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highcharts, Highstock) Same as
* accessibility.series.descriptionFormatter, but for an individual series.
* Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock, Gantt) If no x values are given for the points in
* a series, `pointInterval` defines the interval of the x values. For
* example, if a series contains one value every decade starting from year
* 0, set `pointInterval` to `10`. In true `datetime` axes, the
* `pointInterval` is set in milliseconds.
*
* It can be also be combined with `pointIntervalUnit` to draw irregular
* time intervals.
*
* If combined with `relativeXValue`, an x value can be set on each point,
* and the `pointInterval` is added x times to the `pointStart` setting.
*
* Please note that this options applies to the _series data_, not the
* interval of the axis ticks, which is independent.
*/
pointInterval?: number;
/**
* (Highcharts, Highstock, Gantt) On datetime series, this allows for
* setting the pointInterval to irregular time units, `day`, `month` and
* `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
* also takes the DST crossover into consideration when dealing with local
* time. Combine this option with `pointInterval` to draw weeks, quarters, 6
* months, 10 years etc.
*
* Please note that this options applies to the _series data_, not the
* interval of the axis ticks, which is independent.
*/
pointIntervalUnit?: OptionsPointIntervalUnitValue;
/**
* (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
* `number`.
*
* In a column chart, when pointPlacement is `"on"`, the point will not
* create any padding of the X axis. In a polar column chart this means that
* the first column points directly north. If the pointPlacement is
* `"between"`, the columns will be laid out between ticks. This is useful
* for example for visualising an amount between two points in time or in a
* certain sector of a polar chart.
*
* Since Highcharts 3.0.2, the point placement can also be numeric, where 0
* is on the axis value, -0.5 is between this value and the previous, and
* 0.5 is between this value and the next. Unlike the textual options,
* numeric point placement options won't affect axis padding.
*
* Note that pointPlacement needs a pointRange to work. For column series
* this is computed, but for line-type series it needs to be set.
*
* For the `xrange` series type and gantt charts, if the Y axis is a
* category axis, the `pointPlacement` applies to the Y axis rather than the
* (typically datetime) X axis.
*
* Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
*/
pointPlacement?: (number|string);
/**
* (Highstock) The width of each point on the x axis. For example in a
* column chart with one value each day, the pointRange would be 1 day (= 24
* * 3600
*
* * 1000 milliseconds). This is normally computed automatically, but this
* option can be used to override the automatic value.
*/
pointRange?: number;
/**
* (Highcharts, Highstock, Gantt) If no x values are given for the points in
* a series, pointStart defines on what value to start. For example, if a
* series contains one yearly value starting from 1945, set pointStart to
* 1945.
*
* If combined with `relativeXValue`, an x value can be set on each point.
* The x value from the point options is multiplied by `pointInterval` and
* added to `pointStart` to produce a modified x value.
*/
pointStart?: number;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highcharts, Highstock) Whether to select the series initially. If
* `showCheckbox` is true, the checkbox next to the series name in the
* legend will be checked for a selected series.
*/
selected?: boolean;
/**
* (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
* Since 2.3 the shadow can be an object configuration containing `color`,
* `offsetX`, `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock) If true, a checkbox is displayed next to the
* legend item to allow selecting the series. The state of the checkbox is
* determined by the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highcharts, Highstock) Whether to display this particular series or
* series type in the legend. Standalone series are shown in legend by
* default, and linked series are not. Since v7.2.0 it is possible to show
* series that use colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highstock) Whether or not to show the series in the navigator. Takes
* precedence over navigator.baseSeries if defined.
*/
showInNavigator?: boolean;
/**
* (Highcharts, Highstock) If set to `true`, the accessibility module will
* skip past the points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highcharts, Highstock) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
/**
* (Highcharts, Highstock) Whether to stack the values of each series on top
* of each other. Possible values are `undefined` to disable, `"normal"` to
* stack by value or `"percent"`.
*
* When stacking is enabled, data must be sorted in ascending X order.
*
* Some stacking options are related to specific series types. In the
* streamgraph series type, the stacking option is set to `"stream"`. The
* second one is `"overlap"`, which only applies to waterfall series.
*/
stacking?: OptionsStackingValue;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock) Whether to apply steps to the line. Possible
* values are `left`, `center` and `right`.
*/
step?: OptionsStepValue;
/**
* (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
* `mouseOut` event on a series isn't triggered until the mouse moves over
* another series, or out of the plot area. When false, the `mouseOut` event
* on a series is triggered when the mouse leaves the area around the
* series' graph or markers. This also implies the tooltip when not shared.
* When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
* will be hidden when moving the mouse between series. Defaults to true for
* line and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock) The Y axis value to serve as the base for the
* area, for distinguishing between values above and below a threshold. The
* area between the graph and the threshold is filled.
*
* * If a number is given, the Y axis will scale to the threshold.
*
* * If `null`, the scaling behaves like a line series with fill between the
* graph and the Y axis minimum.
*
* * If `Infinity` or `-Infinity`, the area between the graph and the
* corresponding Y axis extreme is filled (since v6.1.0).
*/
threshold?: (number|null);
/**
* (Highcharts, Highstock) A configuration object for the tooltip rendering
* of each single series. Properties are inherited from tooltip, but only
* the following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock) Whether the whole area or just the line should
* respond to mouseover tooltips and other mouse or touch events.
*/
trackByArea?: boolean;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highcharts, Highstock) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highcharts, Highstock) Enable or disable the initial animation when a series
* is displayed for the `dataLabels`. The animation can also be set as a
* configuration object. Please note that this option only applies to the
* initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotArearangeDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock) The animation delay time in milliseconds. Set to
* `0` to render the data labels immediately. As `undefined` inherits defer
* time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the connector in the _Series on point_
* feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotArearangeOnPointConnectorOptions {
/**
* (Highcharts, Highstock) A name for the dash style to use for the
* connector.
*/
dashstyle?: string;
/**
* (Highcharts, Highstock) Color of the connector line. By default it's the
* series' color.
*/
stroke?: string;
/**
* (Highcharts, Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highcharts, Highstock) Options allowing to set a position and an offset of
* the series in the _Series on point_ feature.
*/
export interface PlotArearangeOnPointPositionOptions {
/**
* (Highcharts, Highstock) Series center offset from the original x
* position. If defined, the connector line is drawn connecting original
* position with new position.
*/
offsetX?: number;
/**
* (Highcharts, Highstock) Series center offset from the original y
* position. If defined, the connector line is drawn from original position
* to a new position.
*/
offsetY?: number;
/**
* (Highcharts, Highstock) X position of the series center. By default, the
* series is displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highcharts, Highstock) Y position of the series center. By default, the
* series is displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highcharts, Highstock) Point accessibility options for a series.
*/
export interface PlotAreasplineAccessibilityPointOptions {
/**
* (Highcharts, Highstock) Date format to use for points on datetime axes
* when describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highcharts, Highstock) Formatter function to determine the date/time
* format used with points on datetime axes when describing them to screen
* reader users. Receives one argument, `point`, referring to the point to
* describe. Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts, Highstock) Whether or not to describe points with the value
* `null` to assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highcharts, Highstock) A format string to use instead of the default for
* point descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highcharts, Highstock) Formatter function to use instead of the default
* for point descriptions. Same as
* `accessibility.point.descriptionFormatter`, but applies to a series
* instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts, Highstock) Decimals to use for the values in the point
* descriptions. Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highcharts, Highstock) Format to use for describing the values of data
* points to assistive technology - including screen readers. The point
* context is available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highcharts, Highstock) Prefix to add to the values in the point
* descriptions. Uses tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highcharts, Highstock) Suffix to add to the values in the point
* descriptions. Uses tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotAreasplineDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotAreasplineDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: (VerticalAlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highcharts, Highstock) Options for the connector in the _Series on point_
* feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotAreasplineOnPointConnectorOptions {
/**
* (Highcharts, Highstock) A name for the dash style to use for the
* connector.
*/
dashstyle?: string;
/**
* (Highcharts, Highstock) Color of the connector line. By default it's the
* series' color.
*/
stroke?: string;
/**
* (Highcharts, Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highcharts, Highstock) Options allowing to set a position and an offset of
* the series in the _Series on point_ feature.
*/
export interface PlotAreasplineOnPointPositionOptions {
/**
* (Highcharts, Highstock) Series center offset from the original x
* position. If defined, the connector line is drawn connecting original
* position with new position.
*/
offsetX?: number;
/**
* (Highcharts, Highstock) Series center offset from the original y
* position. If defined, the connector line is drawn from original position
* to a new position.
*/
offsetY?: number;
/**
* (Highcharts, Highstock) X position of the series center. By default, the
* series is displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highcharts, Highstock) Y position of the series center. By default, the
* series is displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highcharts, Highstock) Point accessibility options for a series.
*/
export interface PlotAreasplinerangeAccessibilityPointOptions {
/**
* (Highcharts, Highstock) Date format to use for points on datetime axes
* when describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highcharts, Highstock) Formatter function to determine the date/time
* format used with points on datetime axes when describing them to screen
* reader users. Receives one argument, `point`, referring to the point to
* describe. Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts, Highstock) Whether or not to describe points with the value
* `null` to assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highcharts, Highstock) A format string to use instead of the default for
* point descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highcharts, Highstock) Formatter function to use instead of the default
* for point descriptions. Same as
* `accessibility.point.descriptionFormatter`, but applies to a series
* instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts, Highstock) Decimals to use for the values in the point
* descriptions. Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highcharts, Highstock) Format to use for describing the values of data
* points to assistive technology - including screen readers. The point
* context is available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highcharts, Highstock) Prefix to add to the values in the point
* descriptions. Uses tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highcharts, Highstock) Suffix to add to the values in the point
* descriptions. Uses tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotAreasplinerangeDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highcharts, Highstock) Options for the _Series on point_ feature. Only `pie`
* and `sunburst` series are supported at this moment.
*/
export interface PlotAreasplinerangeOnPointOptions {
/**
* (Highcharts, Highstock) Options for the connector in the _Series on
* point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotAreasplinerangeOnPointConnectorOptions|SVGAttributes);
/**
* (Highcharts, Highstock) The `id` of the point that we connect the series
* to. Only points with a given `plotX` and `plotY` values and map points
* are valid.
*/
id?: string;
/**
* (Highcharts, Highstock) Options allowing to set a position and an offset
* of the series in the _Series on point_ feature.
*/
position?: (object|PlotAreasplinerangeOnPointPositionOptions);
}
/**
* (Highcharts, Highstock) The area spline range is a cartesian series type with
* higher and lower Y values along an X axis. The area inside the range is
* colored, and the graph outlining the area is a smoothed spline.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `areasplinerange` series are defined in
* plotOptions.areasplinerange.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotAreasplinerangeOptions {
/**
* (Highcharts, Highstock) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highcharts, Highstock) Allow this series' points to be selected by
* clicking on the graphic (columns, point markers, pie slices, map areas
* etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highcharts, Highstock) Enable or disable the initial animation when a
* series is displayed. The animation can also be set as a configuration
* object. Please note that this option only applies to the initial
* animation of the series itself. For other animations, see chart.animation
* and the animation parameter under the API methods. The following
* properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highcharts, Highstock) For some series, there is a limit that shuts down
* animation by default when the total number of points in the chart is too
* high. For example, for a column chart and its derivatives, animation does
* not run if there is more than 250 points totally. To disable this cap,
* set `animationLimit` to `Infinity`. This option works if animation is
* fired on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highcharts, Highstock) An additional class name to apply to the series'
* graphical elements. This option does not replace default class names of
* the graphical element. Changes to the series' color will also be
* reflected in a chart's legend and tooltip.
*/
className?: string;
/**
* (Highcharts, Highstock) Disable this option to allow series rendering in
* the whole plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highcharts, Highstock) The main color of the series. In line type series
* it applies to the line and the point markers unless otherwise specified.
* In bar type series it applies to the bars unless a color is specified per
* point. The default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
* this number defines which colorAxis the particular series is connected
* to. It refers to either the axis id or the index of the axis in the
* colorAxis array, with 0 being the first. Set this option to false to
* prevent a series from connecting to the default color axis.
*
* Since v7.2.0 the option can also be an axis id or an axis index instead
* of a boolean flag.
*/
colorAxis?: (boolean|number|string);
/**
* (Highcharts, Highstock) Styled mode only. A specific color index to use
* for the series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highstock) Compare the values of the series against the first non-null,
* non- zero value in the visible range. The y axis will show percentage or
* absolute change depending on whether `compare` is set to `"percent"` or
* `"value"`. When this is applied to multiple series, it allows comparing
* the development of the series against each other. Adds a `change` field
* to every point object.
*/
compare?: OptionsCompareValue;
/**
* (Highstock) When compare is `percent`, this option dictates whether to
* use 0 or 100 as the base of comparison.
*/
compareBase?: (0|100);
/**
* (Highstock) Defines if comparison should start from the first point
* within the visible range or should start from the first point **before**
* the range.
*
* In other words, this flag determines if first point within the visible
* range will have 0% (`compareStart=true`) or should have been already
* calculated according to the previous point (`compareStart=false`).
*/
compareStart?: boolean;
/**
* (Highcharts) Polar charts only. Whether to connect the ends of a line
* series plot across the extremes.
*/
connectEnds?: boolean;
/**
* (Highcharts, Highstock) Whether to connect a graph line across null
* points, or render a gap between the two points on either side of the
* null.
*
* In stacked area chart, if `connectNulls` is set to true, null points are
* interpreted as 0.
*/
connectNulls?: boolean;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highstock) When the series contains less points than the
* crop threshold, all points are drawn, even if the points fall outside the
* visible plot area at the current zoom. The advantage of drawing all
* points (including markers and columns), is that animation is performed on
* updates. On the other hand, when the series contains more points than the
* crop threshold, the series data is cropped to only contain points that
* fall within the plot area. The advantage of cropping away invisible
* points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highstock) Cumulative Sum feature replaces points' values with the
* following formula: `sum of all previous points' values + current point's
* value`. Works only for points in a visible range. Adds the
* `cumulativeSum` field to each point object that can be accessed e.g. in
* the tooltip.pointFormat.
*
* With `dataGrouping` enabled, default grouping approximation is set to
* `sum`.
*/
cumulative?: boolean;
/**
* (Highcharts, Highstock) You can set the cursor to "pointer" if you have
* click events attached to the series, to signal to the user that the
* points and lines can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highcharts, Highstock) A reserved subspace to store options and values
* for customized functionality. Here you can add additional data for your
* own event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highcharts, Highstock) Name of the dash style to use for the graph, or
* for some series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) Data grouping is the concept of sampling the data values into
* larger blocks in order to ease readability and increase performance of
* the JavaScript charts. Highcharts Stock by default applies data grouping
* when the points become closer than a certain pixel value, determined by
* the `groupPixelWidth` option.
*
* If data grouping is applied, the grouping information of grouped points
* can be read from the Point.dataGroup. If point options other than the
* data itself are set, for example `name` or `color` or custom properties,
* the grouping logic doesn't know how to group it. In this case the options
* of the first point instance are copied over to the group point. This can
* be altered through a custom `approximation` callback function.
*/
dataGrouping?: DataGroupingOptionsObject;
/**
* (Highcharts, Highstock) Extended data labels for range series types.
* Range series data labels use no `x` and `y` options. Instead, they have
* `xLow`, `xHigh`, `yLow` and `yHigh` options to allow the higher and lower
* data label sets individually.
*/
dataLabels?: (SeriesAreaRangeDataLabelsOptionsObject|Array<SeriesAreaRangeDataLabelsOptionsObject>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotAreasplinerangeDataSortingOptions);
/**
* (Highcharts, Highstock) A description of the series to add to the screen
* reader information about the series.
*/
description?: string;
/**
* (Highcharts, Highstock) The draggable-points module allows points to be
* moved around or modified in the chart. In addition to the options
* mentioned under the `dragDrop` API structure, the module fires three
* events, point.dragStart, point.drag and point.drop.
*/
dragDrop?: SeriesDragDropOptionsObject;
/**
* (Highcharts, Highstock) Enable or disable the mouse tracking for a
* specific series. This includes point tooltips and click events on graphs
* and points. For large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highcharts, Highstock) General event handlers for the series items.
* These event hooks can also be attached to the series at run time using
* the `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highcharts, Highstock) Fill color or gradient for the area. When
* `undefined`, the series' `color` is used with the series' `fillOpacity`.
*
* In styled mode, the fill color can be set with the `.highcharts-area`
* class name.
*/
fillColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock) Fill opacity for the area. When you set an
* explicit `fillColor`, the `fillOpacity` is not applied. Instead, you
* should define the opacity in the `fillColor` with an rgba color
* definition. The `fillOpacity` setting, also the default setting,
* overrides the alpha component of the `color` setting.
*
* In styled mode, the fill opacity can be set with the `.highcharts-area`
* class name.
*/
fillOpacity?: number;
/**
* (Highcharts, Highstock) Determines whether the series should look for the
* nearest point in both dimensions or just the x-dimension when hovering
* the series. Defaults to `'xy'` for scatter series and `'x'` for most
* other series. If the data has duplicate x-values, it is recommended to
* set this to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highstock) Defines when to display a gap in the graph, together with the
* gapUnit option.
*
* In case when `dataGrouping` is enabled, points can be grouped into a
* larger time span. This can make the grouped points to have a greater
* distance than the absolute value of `gapSize` property, which will result
* in disappearing graph completely. To prevent this situation the mentioned
* distance between grouped points is used instead of previously defined
* `gapSize`.
*
* In practice, this option is most often used to visualize gaps in time
* series. In a stock chart, intraday data is available for daytime hours,
* while gaps will appear in nights and weekends.
*/
gapSize?: number;
/**
* (Highstock) Together with gapSize, this option defines where to draw gaps
* in the graph.
*
* When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
* if the distance between two points is greater than 5 times that of the
* two closest points, the graph will be broken.
*
* When the `gapUnit` is `"value"`, the gap is based on absolute axis
* values, which on a datetime axis is milliseconds. This also applies to
* the navigator series that inherits gap options from the base series.
*/
gapUnit?: OptionsGapUnitValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highcharts, Highstock) Highlight only the hovered point and fade the
* remaining points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highcharts, Highstock) When set to `false` will prevent the series data
* from being included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highstock) An array specifying which option maps to which
* key in the data point array. This makes it convenient to work with
* unstructured data arrays from different sources.
*/
keys?: Array<string>;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highstock) The line marks the last price from all points.
*/
lastPrice?: SeriesLastPriceOptionsObject;
/**
* (Highstock) The line marks the last price from visible range of points.
*/
lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
/**
* (Highcharts, Highstock) What type of legend symbol to render for this
* series. Can be one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
* `stroke-linejoin` of a line graph. Round means that lines are rounded in
* the ends and bends.
*/
linecap?: SeriesLinecapValue;
/**
* (Highcharts, Highstock) A separate color for the graph line. By default
* the line takes the `color` of the series, but the lineColor setting
* allows setting a separate color for the line without altering the
* `fillColor`.
*
* In styled mode, the line stroke can be set with the `.highcharts-graph`
* class name.
*/
lineColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock) Pixel width of the arearange graph line.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The id of another series to link to.
* Additionally, the value can be ":previous" to link to the previous
* series. When two series are linked, only the first one appears in the
* legend. Toggling the visibility of this also toggles the linked series.
*
* If master series uses data sorting and linked series does not have its
* own sorting definition, the linked series will be sorted in the same
* order as the master one.
*/
linkedTo?: string;
/**
* (Highcharts, Highstock) Options for the lower markers of the
* arearange-like series. When `lowMarker` is not defined, options inherit
* form the marker.
*/
lowMarker?: PointMarkerOptionsObject;
/**
* (Highcharts, Highstock) Options for the point markers of line and
* scatter-like series. Properties like `fillColor`, `lineColor` and
* `lineWidth` define the visual appearance of the markers. The `symbol`
* option defines the shape. Other series types, like column series, don't
* have markers, but have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highstock) Options for the corresponding navigator series if
* `showInNavigator` is `true` for this series. Available options are the
* same as any series, documented at plotOptions and series.
*
* These options are merged with options in navigator.series, and will take
* precedence if the same option is defined both places.
*/
navigatorOptions?: PlotSeriesOptions;
/**
* (Highcharts, Highstock) The color for the parts of the graph or points
* that are below the threshold. Note that `zones` takes precedence over the
* negative color. Using `negativeColor` is equivalent to applying a zone
* with value of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) A separate color for the negative part of the area.
*
* In styled mode, a negative color is set with the `.highcharts-negative`
* class name.
*/
negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock) Options for the _Series on point_ feature. Only
* `pie` and `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotAreasplinerangeOnPointOptions);
/**
* (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
* and dataLabels.
*/
opacity?: number;
/**
* (Highcharts, Highstock) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highcharts, Highstock) Same as accessibility.point.descriptionFormat,
* but for an individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highcharts, Highstock) Same as
* accessibility.series.descriptionFormatter, but for an individual series.
* Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock, Gantt) If no x values are given for the points in
* a series, `pointInterval` defines the interval of the x values. For
* example, if a series contains one value every decade starting from year
* 0, set `pointInterval` to `10`. In true `datetime` axes, the
* `pointInterval` is set in milliseconds.
*
* It can be also be combined with `pointIntervalUnit` to draw irregular
* time intervals.
*
* If combined with `relativeXValue`, an x value can be set on each point,
* and the `pointInterval` is added x times to the `pointStart` setting.
*
* Please note that this options applies to the _series data_, not the
* interval of the axis ticks, which is independent.
*/
pointInterval?: number;
/**
* (Highcharts, Highstock, Gantt) On datetime series, this allows for
* setting the pointInterval to irregular time units, `day`, `month` and
* `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
* also takes the DST crossover into consideration when dealing with local
* time. Combine this option with `pointInterval` to draw weeks, quarters, 6
* months, 10 years etc.
*
* Please note that this options applies to the _series data_, not the
* interval of the axis ticks, which is independent.
*/
pointIntervalUnit?: OptionsPointIntervalUnitValue;
/**
* (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
* `number`.
*
* In a column chart, when pointPlacement is `"on"`, the point will not
* create any padding of the X axis. In a polar column chart this means that
* the first column points directly north. If the pointPlacement is
* `"between"`, the columns will be laid out between ticks. This is useful
* for example for visualising an amount between two points in time or in a
* certain sector of a polar chart.
*
* Since Highcharts 3.0.2, the point placement can also be numeric, where 0
* is on the axis value, -0.5 is between this value and the previous, and
* 0.5 is between this value and the next. Unlike the textual options,
* numeric point placement options won't affect axis padding.
*
* Note that pointPlacement needs a pointRange to work. For column series
* this is computed, but for line-type series it needs to be set.
*
* For the `xrange` series type and gantt charts, if the Y axis is a
* category axis, the `pointPlacement` applies to the Y axis rather than the
* (typically datetime) X axis.
*
* Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
*/
pointPlacement?: (number|string);
/**
* (Highstock) The width of each point on the x axis. For example in a
* column chart with one value each day, the pointRange would be 1 day (= 24
* * 3600
*
* * 1000 milliseconds). This is normally computed automatically, but this
* option can be used to override the automatic value.
*/
pointRange?: number;
/**
* (Highcharts, Highstock, Gantt) If no x values are given for the points in
* a series, pointStart defines on what value to start. For example, if a
* series contains one yearly value starting from 1945, set pointStart to
* 1945.
*
* If combined with `relativeXValue`, an x value can be set on each point.
* The x value from the point options is multiplied by `pointInterval` and
* added to `pointStart` to produce a modified x value.
*/
pointStart?: number;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highcharts, Highstock) Whether to select the series initially. If
* `showCheckbox` is true, the checkbox next to the series name in the
* legend will be checked for a selected series.
*/
selected?: boolean;
/**
* (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock) If true, a checkbox is displayed next to the
* legend item to allow selecting the series. The state of the checkbox is
* determined by the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highcharts, Highstock) Whether to display this particular series or
* series type in the legend. Standalone series are shown in legend by
* default, and linked series are not. Since v7.2.0 it is possible to show
* series that use colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highstock) Whether or not to show the series in the navigator. Takes
* precedence over navigator.baseSeries if defined.
*/
showInNavigator?: boolean;
/**
* (Highcharts, Highstock) If set to `true`, the accessibility module will
* skip past the points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highcharts, Highstock) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
* `mouseOut` event on a series isn't triggered until the mouse moves over
* another series, or out of the plot area. When false, the `mouseOut` event
* on a series is triggered when the mouse leaves the area around the
* series' graph or markers. This also implies the tooltip when not shared.
* When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
* will be hidden when moving the mouse between series. Defaults to true for
* line and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock) The Y axis value to serve as the base for the
* area, for distinguishing between values above and below a threshold. The
* area between the graph and the threshold is filled.
*
* * If a number is given, the Y axis will scale to the threshold.
*
* * If `null`, the scaling behaves like a line series with fill between the
* graph and the Y axis minimum.
*
* * If `Infinity` or `-Infinity`, the area between the graph and the
* corresponding Y axis extreme is filled (since v6.1.0).
*/
threshold?: (number|null);
/**
* (Highcharts, Highstock) A configuration object for the tooltip rendering
* of each single series. Properties are inherited from tooltip, but only
* the following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock) Whether the whole area or just the line should
* respond to mouseover tooltips and other mouse or touch events.
*/
trackByArea?: boolean;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highcharts, Highstock) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highstock) AroonDown line options.
*/
export interface PlotAroonAroonDownOptions {
/**
* (Highstock) Styles for an aroonDown line.
*/
styles?: PlotAroonAroonDownStylesOptions;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotAroonDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotAroonDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotAroonOnPointOptions {
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotAroonOnPointConnectorOptions|SVGAttributes);
/**
* (Highstock) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highstock) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotAroonOnPointPositionOptions);
}
/**
* (Highstock) Aroon. This series requires the `linkedTo` option to be set and
* should be loaded after the `stock/indicators/indicators.js`.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `aroon` series are defined in plotOptions.aroon.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotAroonOptions {
/**
* (Highstock) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highstock) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highstock) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highstock) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highstock) AroonDown line options.
*/
aroonDown?: PlotAroonAroonDownOptions;
/**
* (Highstock) Sets the color blending in the boost module.
*/
boostBlending?: OptionsBoostBlendingValue;
/**
* (Highstock) Set the point threshold for when a series should enter boost
* mode.
*
* Setting it to e.g. 2000 will cause the series to enter boost mode when
* there are 2000 or more points in the series.
*
* To disable boosting on the series, set the `boostThreshold` to 0. Setting
* it to 1 will force boosting.
*
* Note that the cropThreshold also affects this setting. When zooming in on
* a series that has fewer points than the `cropThreshold`, all points are
* rendered although outside the visible plot area, and the `boostThreshold`
* won't take effect.
*/
boostThreshold?: number;
/**
* (Highstock) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highstock) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highstock) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highstock) Defines if comparison should start from the first point
* within the visible range or should start from the first point **before**
* the range.
*
* In other words, this flag determines if first point within the visible
* range will have 0% (`compareStart=true`) or should have been already
* calculated according to the previous point (`compareStart=false`).
*/
compareStart?: boolean;
/**
* (Highstock) Whether to compare indicator to the main series values or
* indicator values.
*/
compareToMain?: boolean;
/**
* (Highcharts, Highstock) Whether to connect a graph line across null
* points, or render a gap between the two points on either side of the
* null.
*
* In stacked area chart, if `connectNulls` is set to true, null points are
* interpreted as 0.
*/
connectNulls?: boolean;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highstock) When the series contains less points than the
* crop threshold, all points are drawn, even if the points fall outside the
* visible plot area at the current zoom. The advantage of drawing all
* points (including markers and columns), is that animation is performed on
* updates. On the other hand, when the series contains more points than the
* crop threshold, the series data is cropped to only contain points that
* fall within the plot area. The advantage of cropping away invisible
* points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highstock) Cumulative Sum feature replaces points' values with the
* following formula: `sum of all previous points' values + current point's
* value`. Works only for points in a visible range. Adds the
* `cumulativeSum` field to each point object that can be accessed e.g. in
* the tooltip.pointFormat.
*
* With `dataGrouping` enabled, default grouping approximation is set to
* `sum`.
*/
cumulative?: boolean;
/**
* (Highstock) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highstock) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highstock) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) Data grouping is the concept of sampling the data values into
* larger blocks in order to ease readability and increase performance of
* the JavaScript charts. Highcharts Stock by default applies data grouping
* when the points become closer than a certain pixel value, determined by
* the `groupPixelWidth` option.
*
* If data grouping is applied, the grouping information of grouped points
* can be read from the Point.dataGroup. If point options other than the
* data itself are set, for example `name` or `color` or custom properties,
* the grouping logic doesn't know how to group it. In this case the options
* of the first point instance are copied over to the group point. This can
* be altered through a custom `approximation` callback function.
*/
dataGrouping?: DataGroupingOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotAroonDataLabelsOptions|Array<PlotAroonDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotAroonDataSortingOptions);
/**
* (Highstock) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highstock) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highstock) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highstock) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highstock) Defines when to display a gap in the graph, together with the
* gapUnit option.
*
* In case when `dataGrouping` is enabled, points can be grouped into a
* larger time span. This can make the grouped points to have a greater
* distance than the absolute value of `gapSize` property, which will result
* in disappearing graph completely. To prevent this situation the mentioned
* distance between grouped points is used instead of previously defined
* `gapSize`.
*
* In practice, this option is most often used to visualize gaps in time
* series. In a stock chart, intraday data is available for daytime hours,
* while gaps will appear in nights and weekends.
*/
gapSize?: number;
/**
* (Highstock) Together with gapSize, this option defines where to draw gaps
* in the graph.
*
* When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
* if the distance between two points is greater than 5 times that of the
* two closest points, the graph will be broken.
*
* When the `gapUnit` is `"value"`, the gap is based on absolute axis
* values, which on a datetime axis is milliseconds. This also applies to
* the navigator series that inherits gap options from the base series.
*/
gapUnit?: OptionsGapUnitValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highstock) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highstock) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highstock) The line marks the last price from all points.
*/
lastPrice?: SeriesLastPriceOptionsObject;
/**
* (Highstock) The line marks the last price from visible range of points.
*/
lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
/**
* (Highstock) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
* `stroke-linejoin` of a line graph. Round means that lines are rounded in
* the ends and bends.
*/
linecap?: SeriesLinecapValue;
/**
* (Highcharts, Highstock) Pixel width of the graph line.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The main series ID that indicator will be
* based on. Required for this indicator.
*/
linkedTo?: string;
/**
* (Highstock) Options for the point markers of line and scatter-like
* series. Properties like `fillColor`, `lineColor` and `lineWidth` define
* the visual appearance of the markers. The `symbol` option defines the
* shape. Other series types, like column series, don't have markers, but
* have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highstock) The name of the series as shown in the legend, tooltip etc.
* If not set, it will be based on a technical indicator type and default
* params.
*/
name?: string;
/**
* (Highstock) The color for the parts of the graph or points that are below
* the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotAroonOnPointOptions);
/**
* (Highstock) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highstock) Parameters used in calculation of aroon series points.
*/
params?: PlotAroonParamsOptions;
/**
* (Highstock) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highstock) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highstock) Same as accessibility.series.descriptionFormatter, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highstock) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highstock) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highstock) If set to `true`, the accessibility module will skip past the
* points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highstock) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock) Whether to apply steps to the line. Possible
* values are `left`, `center` and `right`.
*/
step?: OptionsStepValue;
/**
* (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock) The threshold, also called zero level or base
* level. For line type series this is only used in conjunction with
* negativeColor.
*/
threshold?: (number|null);
/**
* (Highstock) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highstock) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotAroonoscillatorDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotAroonoscillatorDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotAroonoscillatorOnPointOptions {
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotAroonoscillatorOnPointConnectorOptions|SVGAttributes);
/**
* (Highstock) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highstock) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotAroonoscillatorOnPointPositionOptions);
}
/**
* (Highstock) Aroon Oscillator. This series requires the `linkedTo` option to
* be set and should be loaded after the `stock/indicators/indicators.js` and
* `stock/indicators/aroon.js`.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `aroonoscillator` series are defined in
* plotOptions.aroonoscillator.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotAroonoscillatorOptions {
/**
* (Highstock) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highstock) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highstock) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highstock) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highstock) Sets the color blending in the boost module.
*/
boostBlending?: OptionsBoostBlendingValue;
/**
* (Highstock) Set the point threshold for when a series should enter boost
* mode.
*
* Setting it to e.g. 2000 will cause the series to enter boost mode when
* there are 2000 or more points in the series.
*
* To disable boosting on the series, set the `boostThreshold` to 0. Setting
* it to 1 will force boosting.
*
* Note that the cropThreshold also affects this setting. When zooming in on
* a series that has fewer points than the `cropThreshold`, all points are
* rendered although outside the visible plot area, and the `boostThreshold`
* won't take effect.
*/
boostThreshold?: number;
/**
* (Highstock) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highstock) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highstock) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highstock) Defines if comparison should start from the first point
* within the visible range or should start from the first point **before**
* the range.
*
* In other words, this flag determines if first point within the visible
* range will have 0% (`compareStart=true`) or should have been already
* calculated according to the previous point (`compareStart=false`).
*/
compareStart?: boolean;
/**
* (Highstock) Whether to compare indicator to the main series values or
* indicator values.
*/
compareToMain?: boolean;
/**
* (Highcharts, Highstock) Whether to connect a graph line across null
* points, or render a gap between the two points on either side of the
* null.
*
* In stacked area chart, if `connectNulls` is set to true, null points are
* interpreted as 0.
*/
connectNulls?: boolean;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highstock) When the series contains less points than the
* crop threshold, all points are drawn, even if the points fall outside the
* visible plot area at the current zoom. The advantage of drawing all
* points (including markers and columns), is that animation is performed on
* updates. On the other hand, when the series contains more points than the
* crop threshold, the series data is cropped to only contain points that
* fall within the plot area. The advantage of cropping away invisible
* points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highstock) Cumulative Sum feature replaces points' values with the
* following formula: `sum of all previous points' values + current point's
* value`. Works only for points in a visible range. Adds the
* `cumulativeSum` field to each point object that can be accessed e.g. in
* the tooltip.pointFormat.
*
* With `dataGrouping` enabled, default grouping approximation is set to
* `sum`.
*/
cumulative?: boolean;
/**
* (Highstock) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highstock) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highstock) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) Data grouping is the concept of sampling the data values into
* larger blocks in order to ease readability and increase performance of
* the JavaScript charts. Highcharts Stock by default applies data grouping
* when the points become closer than a certain pixel value, determined by
* the `groupPixelWidth` option.
*
* If data grouping is applied, the grouping information of grouped points
* can be read from the Point.dataGroup. If point options other than the
* data itself are set, for example `name` or `color` or custom properties,
* the grouping logic doesn't know how to group it. In this case the options
* of the first point instance are copied over to the group point. This can
* be altered through a custom `approximation` callback function.
*/
dataGrouping?: DataGroupingOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotAroonoscillatorDataLabelsOptions|Array<PlotAroonoscillatorDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotAroonoscillatorDataSortingOptions);
/**
* (Highstock) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highstock) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highstock) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highstock) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highstock) Defines when to display a gap in the graph, together with the
* gapUnit option.
*
* In case when `dataGrouping` is enabled, points can be grouped into a
* larger time span. This can make the grouped points to have a greater
* distance than the absolute value of `gapSize` property, which will result
* in disappearing graph completely. To prevent this situation the mentioned
* distance between grouped points is used instead of previously defined
* `gapSize`.
*
* In practice, this option is most often used to visualize gaps in time
* series. In a stock chart, intraday data is available for daytime hours,
* while gaps will appear in nights and weekends.
*/
gapSize?: number;
/**
* (Highstock) Together with gapSize, this option defines where to draw gaps
* in the graph.
*
* When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
* if the distance between two points is greater than 5 times that of the
* two closest points, the graph will be broken.
*
* When the `gapUnit` is `"value"`, the gap is based on absolute axis
* values, which on a datetime axis is milliseconds. This also applies to
* the navigator series that inherits gap options from the base series.
*/
gapUnit?: OptionsGapUnitValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highstock) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highstock) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highstock) The line marks the last price from all points.
*/
lastPrice?: SeriesLastPriceOptionsObject;
/**
* (Highstock) The line marks the last price from visible range of points.
*/
lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
/**
* (Highstock) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
* `stroke-linejoin` of a line graph. Round means that lines are rounded in
* the ends and bends.
*/
linecap?: SeriesLinecapValue;
/**
* (Highcharts, Highstock) Pixel width of the graph line.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The main series ID that indicator will be
* based on. Required for this indicator.
*/
linkedTo?: string;
/**
* (Highstock) Options for the point markers of line and scatter-like
* series. Properties like `fillColor`, `lineColor` and `lineWidth` define
* the visual appearance of the markers. The `symbol` option defines the
* shape. Other series types, like column series, don't have markers, but
* have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highstock) The name of the series as shown in the legend, tooltip etc.
* If not set, it will be based on a technical indicator type and default
* params.
*/
name?: string;
/**
* (Highstock) The color for the parts of the graph or points that are below
* the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotAroonoscillatorOnPointOptions);
/**
* (Highstock) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highstock) Parameters used in calculation of aroon series points.
*/
params?: PlotAroonoscillatorParamsOptions;
/**
* (Highstock) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highstock) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highstock) Same as accessibility.series.descriptionFormatter, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highstock) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highstock) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highstock) If set to `true`, the accessibility module will skip past the
* points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highstock) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock) Whether to apply steps to the line. Possible
* values are `left`, `center` and `right`.
*/
step?: OptionsStepValue;
/**
* (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock) The threshold, also called zero level or base
* level. For line type series this is only used in conjunction with
* negativeColor.
*/
threshold?: (number|null);
/**
* (Highstock) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highstock) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highstock) Parameters used in calculation of aroon series points.
*/
export interface PlotAroonParamsOptions {
index?: string;
/**
* (Highstock) The base period for indicator calculations. This is the
* number of data points which are taken into account for the indicator
* calculations.
*/
period?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotAtrDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotAtrDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotAtrOnPointOptions {
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotAtrOnPointConnectorOptions|SVGAttributes);
/**
* (Highstock) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highstock) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotAtrOnPointPositionOptions);
}
/**
* (Highstock) Average true range indicator (ATR). This series requires
* `linkedTo` option to be set.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `atr` series are defined in plotOptions.atr.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotAtrOptions {
/**
* (Highstock) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highstock) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highstock) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highstock) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highstock) Sets the color blending in the boost module.
*/
boostBlending?: OptionsBoostBlendingValue;
/**
* (Highstock) Set the point threshold for when a series should enter boost
* mode.
*
* Setting it to e.g. 2000 will cause the series to enter boost mode when
* there are 2000 or more points in the series.
*
* To disable boosting on the series, set the `boostThreshold` to 0. Setting
* it to 1 will force boosting.
*
* Note that the cropThreshold also affects this setting. When zooming in on
* a series that has fewer points than the `cropThreshold`, all points are
* rendered although outside the visible plot area, and the `boostThreshold`
* won't take effect.
*/
boostThreshold?: number;
/**
* (Highstock) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highstock) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highstock) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highstock) Compare the values of the series against the first non-null,
* non- zero value in the visible range. The y axis will show percentage or
* absolute change depending on whether `compare` is set to `"percent"` or
* `"value"`. When this is applied to multiple series, it allows comparing
* the development of the series against each other. Adds a `change` field
* to every point object.
*/
compare?: OptionsCompareValue;
/**
* (Highstock) When compare is `percent`, this option dictates whether to
* use 0 or 100 as the base of comparison.
*/
compareBase?: (0|100);
/**
* (Highstock) Defines if comparison should start from the first point
* within the visible range or should start from the first point **before**
* the range.
*
* In other words, this flag determines if first point within the visible
* range will have 0% (`compareStart=true`) or should have been already
* calculated according to the previous point (`compareStart=false`).
*/
compareStart?: boolean;
/**
* (Highstock) Whether to compare indicator to the main series values or
* indicator values.
*/
compareToMain?: boolean;
/**
* (Highcharts, Highstock) Whether to connect a graph line across null
* points, or render a gap between the two points on either side of the
* null.
*
* In stacked area chart, if `connectNulls` is set to true, null points are
* interpreted as 0.
*/
connectNulls?: boolean;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highstock) When the series contains less points than the
* crop threshold, all points are drawn, even if the points fall outside the
* visible plot area at the current zoom. The advantage of drawing all
* points (including markers and columns), is that animation is performed on
* updates. On the other hand, when the series contains more points than the
* crop threshold, the series data is cropped to only contain points that
* fall within the plot area. The advantage of cropping away invisible
* points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highstock) Cumulative Sum feature replaces points' values with the
* following formula: `sum of all previous points' values + current point's
* value`. Works only for points in a visible range. Adds the
* `cumulativeSum` field to each point object that can be accessed e.g. in
* the tooltip.pointFormat.
*
* With `dataGrouping` enabled, default grouping approximation is set to
* `sum`.
*/
cumulative?: boolean;
/**
* (Highstock) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highstock) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highstock) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) Data grouping is the concept of sampling the data values into
* larger blocks in order to ease readability and increase performance of
* the JavaScript charts. Highcharts Stock by default applies data grouping
* when the points become closer than a certain pixel value, determined by
* the `groupPixelWidth` option.
*
* If data grouping is applied, the grouping information of grouped points
* can be read from the Point.dataGroup. If point options other than the
* data itself are set, for example `name` or `color` or custom properties,
* the grouping logic doesn't know how to group it. In this case the options
* of the first point instance are copied over to the group point. This can
* be altered through a custom `approximation` callback function.
*/
dataGrouping?: DataGroupingOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotAtrDataLabelsOptions|Array<PlotAtrDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotAtrDataSortingOptions);
/**
* (Highstock) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highstock) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highstock) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highstock) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highstock) Defines when to display a gap in the graph, together with the
* gapUnit option.
*
* In case when `dataGrouping` is enabled, points can be grouped into a
* larger time span. This can make the grouped points to have a greater
* distance than the absolute value of `gapSize` property, which will result
* in disappearing graph completely. To prevent this situation the mentioned
* distance between grouped points is used instead of previously defined
* `gapSize`.
*
* In practice, this option is most often used to visualize gaps in time
* series. In a stock chart, intraday data is available for daytime hours,
* while gaps will appear in nights and weekends.
*/
gapSize?: number;
/**
* (Highstock) Together with gapSize, this option defines where to draw gaps
* in the graph.
*
* When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
* if the distance between two points is greater than 5 times that of the
* two closest points, the graph will be broken.
*
* When the `gapUnit` is `"value"`, the gap is based on absolute axis
* values, which on a datetime axis is milliseconds. This also applies to
* the navigator series that inherits gap options from the base series.
*/
gapUnit?: OptionsGapUnitValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highstock) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highstock) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highstock) The line marks the last price from all points.
*/
lastPrice?: SeriesLastPriceOptionsObject;
/**
* (Highstock) The line marks the last price from visible range of points.
*/
lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
/**
* (Highstock) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
* `stroke-linejoin` of a line graph. Round means that lines are rounded in
* the ends and bends.
*/
linecap?: SeriesLinecapValue;
/**
* (Highcharts, Highstock) Pixel width of the graph line.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The main series ID that indicator will be
* based on. Required for this indicator.
*/
linkedTo?: string;
/**
* (Highstock) Options for the point markers of line and scatter-like
* series. Properties like `fillColor`, `lineColor` and `lineWidth` define
* the visual appearance of the markers. The `symbol` option defines the
* shape. Other series types, like column series, don't have markers, but
* have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highstock) The name of the series as shown in the legend, tooltip etc.
* If not set, it will be based on a technical indicator type and default
* params.
*/
name?: string;
/**
* (Highstock) The color for the parts of the graph or points that are below
* the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotAtrOnPointOptions);
/**
* (Highstock) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
params?: PlotAtrParamsOptions;
/**
* (Highstock) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highstock) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highstock) Same as accessibility.series.descriptionFormatter, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highstock) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highstock) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highstock) If set to `true`, the accessibility module will skip past the
* points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highstock) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock) Whether to apply steps to the line. Possible
* values are `left`, `center` and `right`.
*/
step?: OptionsStepValue;
/**
* (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock) The threshold, also called zero level or base
* level. For line type series this is only used in conjunction with
* negativeColor.
*/
threshold?: (number|null);
/**
* (Highstock) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highstock) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highcharts) Point accessibility options for a series.
*/
export interface PlotBarAccessibilityPointOptions {
/**
* (Highcharts) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highcharts) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highcharts) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highcharts) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highcharts) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highcharts) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highcharts) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotBarDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotBarDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highcharts) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotBarOnPointConnectorOptions {
/**
* (Highcharts) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highcharts) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highcharts) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highcharts) Options allowing to set a position and an offset of the series
* in the _Series on point_ feature.
*/
export interface PlotBarOnPointPositionOptions {
/**
* (Highcharts) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highcharts) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highcharts) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highcharts) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Point accessibility options for a series.
*/
export interface PlotBbAccessibilityPointOptions {
/**
* (Highstock) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highstock) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highstock) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highstock) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highstock) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highstock) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highstock) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highstock) Styles for the bottom line.
*/
export interface PlotBbBottomLineStylesOptions {
/**
* (Highstock) Color of the line. If not set, it's inherited from
* plotOptions.bb.color.
*/
lineColor?: ColorString;
/**
* (Highstock) Pixel width of the line.
*/
lineWidth?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotBbDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotBbDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: (VerticalAlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotBbOnPointConnectorOptions {
/**
* (Highstock) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highstock) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highstock) Options allowing to set a position and an offset of the series in
* the _Series on point_ feature.
*/
export interface PlotBbOnPointPositionOptions {
/**
* (Highstock) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highstock) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highstock) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highstock) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Parameters used in calculation of the regression points.
*/
export interface PlotBbParamsOptions {
/**
* (Highstock) The point index which indicator calculations will base. For
* example using OHLC data, index=2 means the indicator will be calculated
* using Low values.
*/
index?: number;
/**
* (Highstock) The base period for indicator calculations. This is the
* number of data points which are taken into account for the indicator
* calculations.
*/
period?: number;
/**
* (Highstock) Standard deviation for top and bottom bands.
*/
standardDeviation?: number;
}
/**
* (Highstock) Styles for the top line.
*/
export interface PlotBbTopLineStylesOptions {
/**
* (Highstock) Color of the line. If not set, it's inherited from
* plotOptions.bb.color.
*/
lineColor?: ColorString;
/**
* (Highstock) Pixel width of the line.
*/
lineWidth?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotBellcurveDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotBellcurveDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highcharts) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotBellcurveOnPointOptions {
/**
* (Highcharts) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotBellcurveOnPointConnectorOptions|SVGAttributes);
/**
* (Highcharts) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highcharts) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotBellcurveOnPointPositionOptions);
}
/**
* (Highcharts) A bell curve is an areaspline series which represents the
* probability density function of the normal distribution. It calculates mean
* and standard deviation of the base series data and plots the curve according
* to the calculated parameters.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `bellcurve` series are defined in plotOptions.bellcurve.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotBellcurveOptions {
/**
* (Highcharts) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highcharts) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highcharts) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highcharts) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highcharts) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highcharts) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highcharts) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
* this number defines which colorAxis the particular series is connected
* to. It refers to either the axis id or the index of the axis in the
* colorAxis array, with 0 being the first. Set this option to false to
* prevent a series from connecting to the default color axis.
*
* Since v7.2.0 the option can also be an axis id or an axis index instead
* of a boolean flag.
*/
colorAxis?: (boolean|number|string);
/**
* (Highcharts) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highcharts) Polar charts only. Whether to connect the ends of a line
* series plot across the extremes.
*/
connectEnds?: boolean;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highstock) When the series contains less points than the
* crop threshold, all points are drawn, even if the points fall outside the
* visible plot area at the current zoom. The advantage of drawing all
* points (including markers and columns), is that animation is performed on
* updates. On the other hand, when the series contains more points than the
* crop threshold, the series data is cropped to only contain points that
* fall within the plot area. The advantage of cropping away invisible
* points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highcharts) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highcharts) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highcharts) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotBellcurveDataLabelsOptions|Array<PlotBellcurveDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotBellcurveDataSortingOptions);
/**
* (Highcharts) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highcharts) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highcharts) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highcharts, Highstock) Fill color or gradient for the area. When
* `undefined`, the series' `color` is used with the series' `fillOpacity`.
*
* In styled mode, the fill color can be set with the `.highcharts-area`
* class name.
*/
fillColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock) Fill opacity for the area. When you set an
* explicit `fillColor`, the `fillOpacity` is not applied. Instead, you
* should define the opacity in the `fillColor` with an rgba color
* definition. The `fillOpacity` setting, also the default setting,
* overrides the alpha component of the `color` setting.
*
* In styled mode, the fill opacity can be set with the `.highcharts-area`
* class name.
*/
fillOpacity?: number;
/**
* (Highcharts) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highcharts) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highcharts) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts) This option allows to define the length of the bell curve. A
* unit of the length of the bell curve is standard deviation.
*/
intervals?: number;
/**
* (Highcharts) An array specifying which option maps to which key in the
* data point array. This makes it convenient to work with unstructured data
* arrays from different sources.
*/
keys?: Array<string>;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highcharts) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
* `stroke-linejoin` of a line graph. Round means that lines are rounded in
* the ends and bends.
*/
linecap?: SeriesLinecapValue;
/**
* (Highcharts, Highstock) A separate color for the graph line. By default
* the line takes the `color` of the series, but the lineColor setting
* allows setting a separate color for the line without altering the
* `fillColor`.
*
* In styled mode, the line stroke can be set with the `.highcharts-graph`
* class name.
*/
lineColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock) Pixel width of the graph line.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The id of another series to link to.
* Additionally, the value can be ":previous" to link to the previous
* series. When two series are linked, only the first one appears in the
* legend. Toggling the visibility of this also toggles the linked series.
*
* If master series uses data sorting and linked series does not have its
* own sorting definition, the linked series will be sorted in the same
* order as the master one.
*/
linkedTo?: string;
/**
* (Highcharts) Options for the point markers of line and scatter-like
* series. Properties like `fillColor`, `lineColor` and `lineWidth` define
* the visual appearance of the markers. The `symbol` option defines the
* shape. Other series types, like column series, don't have markers, but
* have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highcharts) The color for the parts of the graph or points that are
* below the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) A separate color for the negative part of the area.
*
* In styled mode, a negative color is set with the `.highcharts-negative`
* class name.
*/
negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotBellcurveOnPointOptions);
/**
* (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highcharts) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highcharts) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highcharts) Same as accessibility.series.descriptionFormatter, but for
* an individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
* `number`.
*
* In a column chart, when pointPlacement is `"on"`, the point will not
* create any padding of the X axis. In a polar column chart this means that
* the first column points directly north. If the pointPlacement is
* `"between"`, the columns will be laid out between ticks. This is useful
* for example for visualising an amount between two points in time or in a
* certain sector of a polar chart.
*
* Since Highcharts 3.0.2, the point placement can also be numeric, where 0
* is on the axis value, -0.5 is between this value and the previous, and
* 0.5 is between this value and the next. Unlike the textual options,
* numeric point placement options won't affect axis padding.
*
* Note that pointPlacement needs a pointRange to work. For column series
* this is computed, but for line-type series it needs to be set.
*
* For the `xrange` series type and gantt charts, if the Y axis is a
* category axis, the `pointPlacement` applies to the Y axis rather than the
* (typically datetime) X axis.
*
* Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
*/
pointPlacement?: (number|string);
/**
* (Highcharts) Defines how many points should be plotted within 1 interval.
* See `plotOptions.bellcurve.intervals`.
*/
pointsInInterval?: number;
/**
* (Highcharts, Highstock, Gantt) If no x values are given for the points in
* a series, pointStart defines on what value to start. For example, if a
* series contains one yearly value starting from 1945, set pointStart to
* 1945.
*
* If combined with `relativeXValue`, an x value can be set on each point.
* The x value from the point options is multiplied by `pointInterval` and
* added to `pointStart` to produce a modified x value.
*/
pointStart?: number;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highcharts) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highcharts) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highcharts) If set to `true`, the accessibility module will skip past
* the points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highcharts) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock) The Y axis value to serve as the base for the
* area, for distinguishing between values above and below a threshold. The
* area between the graph and the threshold is filled.
*
* * If a number is given, the Y axis will scale to the threshold.
*
* * If `null`, the scaling behaves like a line series with fill between the
* graph and the Y axis minimum.
*
* * If `Infinity` or `-Infinity`, the area between the graph and the
* corresponding Y axis extreme is filled (since v6.1.0).
*/
threshold?: (number|null);
/**
* (Highcharts) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock) Whether the whole area or just the line should
* respond to mouseover tooltips and other mouse or touch events.
*/
trackByArea?: boolean;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highcharts) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotBoxplotDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotBoxplotDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highcharts) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotBoxplotOnPointOptions {
/**
* (Highcharts) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotBoxplotOnPointConnectorOptions|SVGAttributes);
/**
* (Highcharts) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highcharts) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotBoxplotOnPointPositionOptions);
}
/**
* (Highcharts) A box plot is a convenient way of depicting groups of data
* through their five-number summaries: the smallest observation (sample
* minimum), lower quartile (Q1), median (Q2), upper quartile (Q3), and largest
* observation (sample maximum).
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `boxplot` series are defined in plotOptions.boxplot.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotBoxplotOptions {
/**
* (Highcharts) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highcharts) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highcharts) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highcharts) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highcharts) The dash style of the box.
*/
boxDashStyle?: DashStyleValue;
/**
* (Highcharts, Highstock, Gantt) When `true`, the columns will center in
* the category, ignoring null or missing points. When `false`, space will
* be reserved for null or missing points.
*/
centerInCategory?: boolean;
/**
* (Highcharts) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highcharts) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highcharts) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
* this number defines which colorAxis the particular series is connected
* to. It refers to either the axis id or the index of the axis in the
* colorAxis array, with 0 being the first. Set this option to false to
* prevent a series from connecting to the default color axis.
*
* Since v7.2.0 the option can also be an axis id or an axis index instead
* of a boolean flag.
*/
colorAxis?: (boolean|number|string);
/**
* (Highcharts, Highstock, Gantt) When using automatic point colors pulled
* from the global colors or series-specific plotOptions.column.colors
* collections, this option determines whether the chart should receive one
* color per series or one color per point.
*
* In styled mode, the `colors` or `series.colors` arrays are not supported,
* and instead this option gives the points individual color class names on
* the form `highcharts-color-{n}`.
*/
colorByPoint?: boolean;
/**
* (Highcharts) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highcharts, Highstock, Gantt) A series specific or series type specific
* color set to apply instead of the global colors when colorByPoint is
* true.
*/
colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highstock, Gantt) When the series contains less points than
* the crop threshold, all points are drawn, event if the points fall
* outside the visible plot area at the current zoom. The advantage of
* drawing all points (including markers and columns), is that animation is
* performed on updates. On the other hand, when the series contains more
* points than the crop threshold, the series data is cropped to only
* contain points that fall within the plot area. The advantage of cropping
* away invisible points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highcharts) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highcharts) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highcharts) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotBoxplotDataLabelsOptions|Array<PlotBoxplotDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotBoxplotDataSortingOptions);
/**
* (Highcharts) Depth of the columns in a 3D column chart.
*/
depth?: number;
/**
* (Highcharts) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highcharts) The draggable-points module allows points to be moved around
* or modified in the chart. In addition to the options mentioned under the
* `dragDrop` API structure, the module fires three events, point.dragStart,
* point.drag and point.drop.
*/
dragDrop?: SeriesDragDropOptionsObject;
/**
* (Highcharts) 3D columns only. The color of the edges. Similar to
* `borderColor`, except it defaults to the same color as the column.
*/
edgeColor?: ColorString;
/**
* (Highcharts) 3D columns only. The width of the colored edges.
*/
edgeWidth?: number;
/**
* (Highcharts) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highcharts) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highcharts) The fill color of the box.
*
* In styled mode, the fill color can be set with the
* `.highcharts-boxplot-box` class.
*/
fillColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
* let them render independent of each other. Non-grouped columns will be
* laid out individually and overlap each other.
*/
grouping?: boolean;
/**
* (Highcharts, Highstock, Gantt) Padding between each value groups, in x
* axis units.
*/
groupPadding?: number;
/**
* (Highcharts) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highcharts) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts) An array specifying which option maps to which key in the
* data point array. This makes it convenient to work with unstructured data
* arrays from different sources.
*/
keys?: Array<string>;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highcharts) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts) The width of the line surrounding the box. If any of
* stemWidth, medianWidth or whiskerWidth are `null`, the lineWidth also
* applies to these lines.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The id of another series to link to.
* Additionally, the value can be ":previous" to link to the previous
* series. When two series are linked, only the first one appears in the
* legend. Toggling the visibility of this also toggles the linked series.
*
* If master series uses data sorting and linked series does not have its
* own sorting definition, the linked series will be sorted in the same
* order as the master one.
*/
linkedTo?: string;
/**
* (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
* column, translated to the height of a bar in a bar chart. This prevents
* the columns from becoming too wide when there is a small number of points
* in the chart.
*/
maxPointWidth?: number;
/**
* (Highcharts) The color of the median line. If `undefined`, the general
* series color applies.
*
* In styled mode, the median stroke width can be set with the
* `.highcharts-boxplot-median` class.
*/
medianColor?: (ColorString|GradientColorObject);
/**
* (Highcharts) The dash style of the median.
*/
medianDashStyle?: DashStyleValue;
/**
* (Highcharts) The pixel width of the median line. If `null`, the lineWidth
* is used.
*
* In styled mode, the median stroke width can be set with the
* `.highcharts-boxplot-median` class.
*/
medianWidth?: (number|null);
/**
* (Highcharts, Highstock, Gantt) The minimal height for a column or width
* for a bar. By default, 0 values are not shown. To visualize a 0 (or close
* to zero) point, set the minimal point length to a pixel value like 3\. In
* stacked column charts, minPointLength might not be respected for tightly
* packed values.
*/
minPointLength?: number;
/**
* (Highcharts) The color for the parts of the graph or points that are
* below the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotBoxplotOnPointOptions);
/**
* (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highcharts) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highcharts) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highcharts) Same as accessibility.series.descriptionFormatter, but for
* an individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock, Gantt) If no x values are given for the points in
* a series, `pointInterval` defines the interval of the x values. For
* example, if a series contains one value every decade starting from year
* 0, set `pointInterval` to `10`. In true `datetime` axes, the
* `pointInterval` is set in milliseconds.
*
* It can be also be combined with `pointIntervalUnit` to draw irregular
* time intervals.
*
* If combined with `relativeXValue`, an x value can be set on each point,
* and the `pointInterval` is added x times to the `pointStart` setting.
*
* Please note that this options applies to the _series data_, not the
* interval of the axis ticks, which is independent.
*/
pointInterval?: number;
/**
* (Highcharts, Highstock, Gantt) On datetime series, this allows for
* setting the pointInterval to irregular time units, `day`, `month` and
* `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
* also takes the DST crossover into consideration when dealing with local
* time. Combine this option with `pointInterval` to draw weeks, quarters, 6
* months, 10 years etc.
*
* Please note that this options applies to the _series data_, not the
* interval of the axis ticks, which is independent.
*/
pointIntervalUnit?: OptionsPointIntervalUnitValue;
/**
* (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
* axis units.
*/
pointPadding?: number;
/**
* (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
* `number`.
*
* In a column chart, when pointPlacement is `"on"`, the point will not
* create any padding of the X axis. In a polar column chart this means that
* the first column points directly north. If the pointPlacement is
* `"between"`, the columns will be laid out between ticks. This is useful
* for example for visualising an amount between two points in time or in a
* certain sector of a polar chart.
*
* Since Highcharts 3.0.2, the point placement can also be numeric, where 0
* is on the axis value, -0.5 is between this value and the previous, and
* 0.5 is between this value and the next. Unlike the textual options,
* numeric point placement options won't affect axis padding.
*
* Note that pointPlacement needs a pointRange to work. For column series
* this is computed, but for line-type series it needs to be set.
*
* For the `xrange` series type and gantt charts, if the Y axis is a
* category axis, the `pointPlacement` applies to the Y axis rather than the
* (typically datetime) X axis.
*
* Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
*/
pointPlacement?: (number|string);
/**
* (Highcharts, Highstock, Gantt) The X axis range that each point is valid
* for. This determines the width of the column. On a categorized axis, the
* range will be 1 by default (one category unit). On linear and datetime
* axes, the range will be computed as the distance between the two closest
* data points.
*
* The default `null` means it is computed automatically, but this option
* can be used to override the automatic value.
*
* This option is set by default to 1 if data sorting is enabled.
*/
pointRange?: (number|null);
/**
* (Highcharts, Highstock, Gantt) If no x values are given for the points in
* a series, pointStart defines on what value to start. For example, if a
* series contains one yearly value starting from 1945, set pointStart to
* 1945.
*
* If combined with `relativeXValue`, an x value can be set on each point.
* The x value from the point options is multiplied by `pointInterval` and
* added to `pointStart` to produce a modified x value.
*/
pointStart?: number;
/**
* (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
* each column or bar point. When set to `undefined`, the width is
* calculated from the `pointPadding` and `groupPadding`. The width effects
* the dimension that is not based on the point value. For column series it
* is the horizontal length and for bar series it is the vertical length.
*/
pointWidth?: number;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highcharts) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highcharts) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highcharts) If set to `true`, the accessibility module will skip past
* the points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highcharts) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
/**
* (Highcharts, Highstock) Whether to stack the values of each series on top
* of each other. Possible values are `undefined` to disable, `"normal"` to
* stack by value or `"percent"`.
*
* When stacking is enabled, data must be sorted in ascending X order.
*
* Some stacking options are related to specific series types. In the
* streamgraph series type, the stacking option is set to `"stream"`. The
* second one is `"overlap"`, which only applies to waterfall series.
*/
stacking?: OptionsStackingValue;
/**
* (Highcharts) The color of the stem, the vertical line extending from the
* box to the whiskers. If `undefined`, the series color is used.
*
* In styled mode, the stem stroke can be set with the
* `.highcharts-boxplot-stem` class.
*/
stemColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) The dash style of the stem, the vertical line extending from
* the box to the whiskers.
*/
stemDashStyle?: DashStyleValue;
/**
* (Highcharts) The width of the stem, the vertical line extending from the
* box to the whiskers. If `undefined`, the width is inherited from the
* lineWidth option.
*
* In styled mode, the stem stroke width can be set with the
* `.highcharts-boxplot-stem` class.
*/
stemWidth?: number;
/**
* (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts) The Y axis value to serve as the base for the columns, for
* distinguishing between values above and below a threshold. If `null`, the
* columns extend from the padding Y axis minimum.
*/
threshold?: (number|null);
/**
* (Highcharts) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highcharts) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts) The color of the whiskers, the horizontal lines marking low
* and high values. When `undefined`, the general series color is used.
*
* In styled mode, the whisker stroke can be set with the
* `.highcharts-boxplot-whisker` class .
*/
whiskerColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) The dash style of the whiskers.
*/
whiskerDashStyle?: DashStyleValue;
/**
* (Highcharts) The length of the whiskers, the horizontal lines marking low
* and high values. It can be a numerical pixel value, or a percentage value
* of the box width. Set `0` to disable whiskers.
*/
whiskerLength?: (number|string);
/**
* (Highcharts) The line width of the whiskers, the horizontal lines marking
* low and high values. When `undefined`, the general lineWidth applies.
*
* In styled mode, the whisker stroke width can be set with the
* `.highcharts-boxplot-whisker` class.
*/
whiskerWidth?: number;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotBubbleDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotBubbleDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highcharts, Highstock) Options for the connector in the _Series on point_
* feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotBubbleOnPointConnectorOptions {
/**
* (Highcharts, Highstock) A name for the dash style to use for the
* connector.
*/
dashstyle?: string;
/**
* (Highcharts, Highstock) Color of the connector line. By default it's the
* series' color.
*/
stroke?: string;
/**
* (Highcharts, Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highcharts, Highstock) Options allowing to set a position and an offset of
* the series in the _Series on point_ feature.
*/
export interface PlotBubbleOnPointPositionOptions {
/**
* (Highcharts, Highstock) Series center offset from the original x
* position. If defined, the connector line is drawn connecting original
* position with new position.
*/
offsetX?: number;
/**
* (Highcharts, Highstock) Series center offset from the original y
* position. If defined, the connector line is drawn from original position
* to a new position.
*/
offsetY?: number;
/**
* (Highcharts, Highstock) X position of the series center. By default, the
* series is displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highcharts, Highstock) Y position of the series center. By default, the
* series is displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highcharts) Point accessibility options for a series.
*/
export interface PlotBulletAccessibilityPointOptions {
/**
* (Highcharts) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highcharts) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highcharts) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highcharts) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highcharts) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highcharts) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highcharts) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotBulletDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotBulletDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highcharts) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotBulletOnPointOptions {
/**
* (Highcharts) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotBulletOnPointConnectorOptions|SVGAttributes);
/**
* (Highcharts) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highcharts) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotBulletOnPointPositionOptions);
}
/**
* (Highcharts) A bullet graph is a variation of a bar graph. The bullet graph
* features a single measure, compares it to a target, and displays it in the
* context of qualitative ranges of performance that could be set using
* plotBands on yAxis.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `bullet` series are defined in plotOptions.bullet.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotBulletOptions {
/**
* (Highcharts) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highcharts) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highcharts) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highcharts) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highcharts, Highstock, Gantt) The color of the border surrounding each
* column or bar.
*
* In styled mode, the border stroke can be set with the `.highcharts-point`
* rule.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Gantt) The corner radius of the border
* surrounding each column or bar. A number signifies pixels. A percentage
* string, like for example `50%`, signifies a relative size. For columns
* this is relative to the column width, for pies it is relative to the
* radius and the inner radius.
*/
borderRadius?: (number|string|BorderRadiusOptionsObject);
/**
* (Highcharts, Highstock, Gantt) The width of the border surrounding each
* column or bar. Defaults to `1` when there is room for a border, but to
* `0` when the columns are so dense that a border would cover the next
* column.
*
* In styled mode, the stroke width can be set with the `.highcharts-point`
* rule.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Gantt) When `true`, the columns will center in
* the category, ignoring null or missing points. When `false`, space will
* be reserved for null or missing points.
*/
centerInCategory?: boolean;
/**
* (Highcharts) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highcharts) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highcharts) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Gantt) When using automatic point colors pulled
* from the global colors or series-specific plotOptions.column.colors
* collections, this option determines whether the chart should receive one
* color per series or one color per point.
*
* In styled mode, the `colors` or `series.colors` arrays are not supported,
* and instead this option gives the points individual color class names on
* the form `highcharts-color-{n}`.
*/
colorByPoint?: boolean;
/**
* (Highcharts) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highcharts, Highstock, Gantt) A series specific or series type specific
* color set to apply instead of the global colors when colorByPoint is
* true.
*/
colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highstock, Gantt) When the series contains less points than
* the crop threshold, all points are drawn, event if the points fall
* outside the visible plot area at the current zoom. The advantage of
* drawing all points (including markers and columns), is that animation is
* performed on updates. On the other hand, when the series contains more
* points than the crop threshold, the series data is cropped to only
* contain points that fall within the plot area. The advantage of cropping
* away invisible points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highcharts) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highcharts) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highcharts) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotBulletDataLabelsOptions|Array<PlotBulletDataLabelsOptions>);
/**
* (Highcharts) Depth of the columns in a 3D column chart.
*/
depth?: number;
/**
* (Highcharts) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highcharts) The draggable-points module allows points to be moved around
* or modified in the chart. In addition to the options mentioned under the
* `dragDrop` API structure, the module fires three events, point.dragStart,
* point.drag and point.drop.
*/
dragDrop?: SeriesDragDropOptionsObject;
/**
* (Highcharts) 3D columns only. The color of the edges. Similar to
* `borderColor`, except it defaults to the same color as the column.
*/
edgeColor?: ColorString;
/**
* (Highcharts) 3D columns only. The width of the colored edges.
*/
edgeWidth?: number;
/**
* (Highcharts) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highcharts) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highcharts) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
* let them render independent of each other. Non-grouped columns will be
* laid out individually and overlap each other.
*/
grouping?: boolean;
/**
* (Highcharts, Highstock, Gantt) Padding between each value groups, in x
* axis units.
*/
groupPadding?: number;
/**
* (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
*/
groupZPadding?: number;
/**
* (Highcharts) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highcharts) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts) An array specifying which option maps to which key in the
* data point array. This makes it convenient to work with unstructured data
* arrays from different sources.
*/
keys?: Array<string>;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highcharts) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock, Gantt) The id of another series to link to.
* Additionally, the value can be ":previous" to link to the previous
* series. When two series are linked, only the first one appears in the
* legend. Toggling the visibility of this also toggles the linked series.
*
* If master series uses data sorting and linked series does not have its
* own sorting definition, the linked series will be sorted in the same
* order as the master one.
*/
linkedTo?: string;
/**
* (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
* column, translated to the height of a bar in a bar chart. This prevents
* the columns from becoming too wide when there is a small number of points
* in the chart.
*/
maxPointWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The minimal height for a column or width
* for a bar. By default, 0 values are not shown. To visualize a 0 (or close
* to zero) point, set the minimal point length to a pixel value like 3\. In
* stacked column charts, minPointLength might not be respected for tightly
* packed values.
*/
minPointLength?: number;
/**
* (Highcharts) The color for the parts of the graph or points that are
* below the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotBulletOnPointOptions);
/**
* (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highcharts) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highcharts) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highcharts) Same as accessibility.series.descriptionFormatter, but for
* an individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock, Gantt) If no x values are given for the points in
* a series, `pointInterval` defines the interval of the x values. For
* example, if a series contains one value every decade starting from year
* 0, set `pointInterval` to `10`. In true `datetime` axes, the
* `pointInterval` is set in milliseconds.
*
* It can be also be combined with `pointIntervalUnit` to draw irregular
* time intervals.
*
* If combined with `relativeXValue`, an x value can be set on each point,
* and the `pointInterval` is added x times to the `pointStart` setting.
*
* Please note that this options applies to the _series data_, not the
* interval of the axis ticks, which is independent.
*/
pointInterval?: number;
/**
* (Highcharts, Highstock, Gantt) On datetime series, this allows for
* setting the pointInterval to irregular time units, `day`, `month` and
* `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
* also takes the DST crossover into consideration when dealing with local
* time. Combine this option with `pointInterval` to draw weeks, quarters, 6
* months, 10 years etc.
*
* Please note that this options applies to the _series data_, not the
* interval of the axis ticks, which is independent.
*/
pointIntervalUnit?: OptionsPointIntervalUnitValue;
/**
* (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
* axis units.
*/
pointPadding?: number;
/**
* (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
* `number`.
*
* In a column chart, when pointPlacement is `"on"`, the point will not
* create any padding of the X axis. In a polar column chart this means that
* the first column points directly north. If the pointPlacement is
* `"between"`, the columns will be laid out between ticks. This is useful
* for example for visualising an amount between two points in time or in a
* certain sector of a polar chart.
*
* Since Highcharts 3.0.2, the point placement can also be numeric, where 0
* is on the axis value, -0.5 is between this value and the previous, and
* 0.5 is between this value and the next. Unlike the textual options,
* numeric point placement options won't affect axis padding.
*
* Note that pointPlacement needs a pointRange to work. For column series
* this is computed, but for line-type series it needs to be set.
*
* For the `xrange` series type and gantt charts, if the Y axis is a
* category axis, the `pointPlacement` applies to the Y axis rather than the
* (typically datetime) X axis.
*
* Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
*/
pointPlacement?: (number|string);
/**
* (Highcharts, Highstock, Gantt) The X axis range that each point is valid
* for. This determines the width of the column. On a categorized axis, the
* range will be 1 by default (one category unit). On linear and datetime
* axes, the range will be computed as the distance between the two closest
* data points.
*
* The default `null` means it is computed automatically, but this option
* can be used to override the automatic value.
*
* This option is set by default to 1 if data sorting is enabled.
*/
pointRange?: (number|null);
/**
* (Highcharts, Highstock, Gantt) If no x values are given for the points in
* a series, pointStart defines on what value to start. For example, if a
* series contains one yearly value starting from 1945, set pointStart to
* 1945.
*
* If combined with `relativeXValue`, an x value can be set on each point.
* The x value from the point options is multiplied by `pointInterval` and
* added to `pointStart` to produce a modified x value.
*/
pointStart?: number;
/**
* (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
* each column or bar point. When set to `undefined`, the width is
* calculated from the `pointPadding` and `groupPadding`. The width effects
* the dimension that is not based on the point value. For column series it
* is the horizontal length and for bar series it is the vertical length.
*/
pointWidth?: number;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highcharts) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highcharts) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highcharts) If set to `true`, the accessibility module will skip past
* the points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highcharts) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
/**
* (Highcharts, Highstock) Whether to stack the values of each series on top
* of each other. Possible values are `undefined` to disable, `"normal"` to
* stack by value or `"percent"`.
*
* When stacking is enabled, data must be sorted in ascending X order.
*
* Some stacking options are related to specific series types. In the
* streamgraph series type, the stacking option is set to `"stream"`. The
* second one is `"overlap"`, which only applies to waterfall series.
*/
stacking?: OptionsStackingValue;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts) All options related with look and positioning of targets.
*/
targetOptions?: PlotBulletTargetOptions;
/**
* (Highcharts) The Y axis value to serve as the base for the columns, for
* distinguishing between values above and below a threshold. If `null`, the
* columns extend from the padding Y axis minimum.
*/
threshold?: (number|null);
/**
* (Highcharts) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highcharts) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highstock) Point accessibility options for a series.
*/
export interface PlotCandlestickAccessibilityPointOptions {
/**
* (Highstock) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highstock) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highstock) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highstock) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highstock) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highstock) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highstock) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotCandlestickDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotCandlestickDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotCandlestickOnPointConnectorOptions {
/**
* (Highstock) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highstock) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highstock) Options allowing to set a position and an offset of the series in
* the _Series on point_ feature.
*/
export interface PlotCandlestickOnPointPositionOptions {
/**
* (Highstock) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highstock) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highstock) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highstock) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Point accessibility options for a series.
*/
export interface PlotCciAccessibilityPointOptions {
/**
* (Highstock) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highstock) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highstock) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highstock) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highstock) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highstock) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highstock) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotCciDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotCciDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: (VerticalAlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotCciOnPointConnectorOptions {
/**
* (Highstock) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highstock) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highstock) Options allowing to set a position and an offset of the series in
* the _Series on point_ feature.
*/
export interface PlotCciOnPointPositionOptions {
/**
* (Highstock) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highstock) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highstock) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highstock) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
export interface PlotCciParamsOptions {
index?: string;
/**
* (Highstock) The base period for indicator calculations. This is the
* number of data points which are taken into account for the indicator
* calculations.
*/
period?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotChaikinDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotChaikinDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotChaikinOnPointOptions {
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotChaikinOnPointConnectorOptions|SVGAttributes);
/**
* (Highstock) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highstock) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotChaikinOnPointPositionOptions);
}
/**
* (Highstock) Chaikin Oscillator. This series requires the `linkedTo` option to
* be set and should be loaded after the `stock/indicators/indicators.js`.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `chaikin` series are defined in plotOptions.chaikin.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotChaikinOptions {
/**
* (Highstock) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highstock) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highstock) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highstock) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highstock) Sets the color blending in the boost module.
*/
boostBlending?: OptionsBoostBlendingValue;
/**
* (Highstock) Set the point threshold for when a series should enter boost
* mode.
*
* Setting it to e.g. 2000 will cause the series to enter boost mode when
* there are 2000 or more points in the series.
*
* To disable boosting on the series, set the `boostThreshold` to 0. Setting
* it to 1 will force boosting.
*
* Note that the cropThreshold also affects this setting. When zooming in on
* a series that has fewer points than the `cropThreshold`, all points are
* rendered although outside the visible plot area, and the `boostThreshold`
* won't take effect.
*/
boostThreshold?: number;
/**
* (Highstock) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highstock) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highstock) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highstock) Compare the values of the series against the first non-null,
* non- zero value in the visible range. The y axis will show percentage or
* absolute change depending on whether `compare` is set to `"percent"` or
* `"value"`. When this is applied to multiple series, it allows comparing
* the development of the series against each other. Adds a `change` field
* to every point object.
*/
compare?: OptionsCompareValue;
/**
* (Highstock) When compare is `percent`, this option dictates whether to
* use 0 or 100 as the base of comparison.
*/
compareBase?: (0|100);
/**
* (Highstock) Defines if comparison should start from the first point
* within the visible range or should start from the first point **before**
* the range.
*
* In other words, this flag determines if first point within the visible
* range will have 0% (`compareStart=true`) or should have been already
* calculated according to the previous point (`compareStart=false`).
*/
compareStart?: boolean;
/**
* (Highstock) Whether to compare indicator to the main series values or
* indicator values.
*/
compareToMain?: boolean;
/**
* (Highcharts, Highstock) Whether to connect a graph line across null
* points, or render a gap between the two points on either side of the
* null.
*
* In stacked area chart, if `connectNulls` is set to true, null points are
* interpreted as 0.
*/
connectNulls?: boolean;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highstock) When the series contains less points than the
* crop threshold, all points are drawn, even if the points fall outside the
* visible plot area at the current zoom. The advantage of drawing all
* points (including markers and columns), is that animation is performed on
* updates. On the other hand, when the series contains more points than the
* crop threshold, the series data is cropped to only contain points that
* fall within the plot area. The advantage of cropping away invisible
* points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highstock) Cumulative Sum feature replaces points' values with the
* following formula: `sum of all previous points' values + current point's
* value`. Works only for points in a visible range. Adds the
* `cumulativeSum` field to each point object that can be accessed e.g. in
* the tooltip.pointFormat.
*
* With `dataGrouping` enabled, default grouping approximation is set to
* `sum`.
*/
cumulative?: boolean;
/**
* (Highstock) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highstock) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highstock) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) Data grouping is the concept of sampling the data values into
* larger blocks in order to ease readability and increase performance of
* the JavaScript charts. Highcharts Stock by default applies data grouping
* when the points become closer than a certain pixel value, determined by
* the `groupPixelWidth` option.
*
* If data grouping is applied, the grouping information of grouped points
* can be read from the Point.dataGroup. If point options other than the
* data itself are set, for example `name` or `color` or custom properties,
* the grouping logic doesn't know how to group it. In this case the options
* of the first point instance are copied over to the group point. This can
* be altered through a custom `approximation` callback function.
*/
dataGrouping?: DataGroupingOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotChaikinDataLabelsOptions|Array<PlotChaikinDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotChaikinDataSortingOptions);
/**
* (Highstock) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highstock) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highstock) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highstock) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highstock) Defines when to display a gap in the graph, together with the
* gapUnit option.
*
* In case when `dataGrouping` is enabled, points can be grouped into a
* larger time span. This can make the grouped points to have a greater
* distance than the absolute value of `gapSize` property, which will result
* in disappearing graph completely. To prevent this situation the mentioned
* distance between grouped points is used instead of previously defined
* `gapSize`.
*
* In practice, this option is most often used to visualize gaps in time
* series. In a stock chart, intraday data is available for daytime hours,
* while gaps will appear in nights and weekends.
*/
gapSize?: number;
/**
* (Highstock) Together with gapSize, this option defines where to draw gaps
* in the graph.
*
* When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
* if the distance between two points is greater than 5 times that of the
* two closest points, the graph will be broken.
*
* When the `gapUnit` is `"value"`, the gap is based on absolute axis
* values, which on a datetime axis is milliseconds. This also applies to
* the navigator series that inherits gap options from the base series.
*/
gapUnit?: OptionsGapUnitValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highstock) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highstock) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highstock) The line marks the last price from all points.
*/
lastPrice?: SeriesLastPriceOptionsObject;
/**
* (Highstock) The line marks the last price from visible range of points.
*/
lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
/**
* (Highstock) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
* `stroke-linejoin` of a line graph. Round means that lines are rounded in
* the ends and bends.
*/
linecap?: SeriesLinecapValue;
/**
* (Highcharts, Highstock) Pixel width of the graph line.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The main series ID that indicator will be
* based on. Required for this indicator.
*/
linkedTo?: string;
/**
* (Highstock) Options for the point markers of line and scatter-like
* series. Properties like `fillColor`, `lineColor` and `lineWidth` define
* the visual appearance of the markers. The `symbol` option defines the
* shape. Other series types, like column series, don't have markers, but
* have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highstock) The name of the series as shown in the legend, tooltip etc.
* If not set, it will be based on a technical indicator type and default
* params.
*/
name?: string;
/**
* (Highstock) The color for the parts of the graph or points that are below
* the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotChaikinOnPointOptions);
/**
* (Highstock) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highstock) Parameters used in calculation of Chaikin Oscillator series
* points.
*/
params?: PlotChaikinParamsOptions;
/**
* (Highstock) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highstock) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highstock) Same as accessibility.series.descriptionFormatter, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highstock) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highstock) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highstock) If set to `true`, the accessibility module will skip past the
* points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highstock) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock) Whether to apply steps to the line. Possible
* values are `left`, `center` and `right`.
*/
step?: OptionsStepValue;
/**
* (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock) The threshold, also called zero level or base
* level. For line type series this is only used in conjunction with
* negativeColor.
*/
threshold?: (number|null);
/**
* (Highstock) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highstock) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highstock) Point accessibility options for a series.
*/
export interface PlotCmfAccessibilityPointOptions {
/**
* (Highstock) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highstock) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highstock) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highstock) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highstock) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highstock) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highstock) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotCmfDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotCmfDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: (VerticalAlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotCmfOnPointConnectorOptions {
/**
* (Highstock) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highstock) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highstock) Options allowing to set a position and an offset of the series in
* the _Series on point_ feature.
*/
export interface PlotCmfOnPointPositionOptions {
/**
* (Highstock) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highstock) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highstock) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highstock) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
export interface PlotCmfParamsOptions {
index?: string;
/**
* (Highstock) The base period for indicator calculations. This is the
* number of data points which are taken into account for the indicator
* calculations.
*/
period?: number;
/**
* (Highstock) The id of another series to use its data as volume data for
* the indicator calculation.
*/
volumeSeriesID?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotCmoDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotCmoDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotCmoOnPointOptions {
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotCmoOnPointConnectorOptions|SVGAttributes);
/**
* (Highstock) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highstock) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotCmoOnPointPositionOptions);
}
/**
* (Highstock) Chande Momentum Oscilator (CMO) technical indicator. This series
* requires the `linkedTo` option to be set and should be loaded after the
* `stock/indicators/indicators.js` file.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `cmo` series are defined in plotOptions.cmo.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotCmoOptions {
/**
* (Highstock) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highstock) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highstock) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highstock) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highstock) Sets the color blending in the boost module.
*/
boostBlending?: OptionsBoostBlendingValue;
/**
* (Highstock) Set the point threshold for when a series should enter boost
* mode.
*
* Setting it to e.g. 2000 will cause the series to enter boost mode when
* there are 2000 or more points in the series.
*
* To disable boosting on the series, set the `boostThreshold` to 0. Setting
* it to 1 will force boosting.
*
* Note that the cropThreshold also affects this setting. When zooming in on
* a series that has fewer points than the `cropThreshold`, all points are
* rendered although outside the visible plot area, and the `boostThreshold`
* won't take effect.
*/
boostThreshold?: number;
/**
* (Highstock) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highstock) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highstock) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highstock) Compare the values of the series against the first non-null,
* non- zero value in the visible range. The y axis will show percentage or
* absolute change depending on whether `compare` is set to `"percent"` or
* `"value"`. When this is applied to multiple series, it allows comparing
* the development of the series against each other. Adds a `change` field
* to every point object.
*/
compare?: OptionsCompareValue;
/**
* (Highstock) When compare is `percent`, this option dictates whether to
* use 0 or 100 as the base of comparison.
*/
compareBase?: (0|100);
/**
* (Highstock) Defines if comparison should start from the first point
* within the visible range or should start from the first point **before**
* the range.
*
* In other words, this flag determines if first point within the visible
* range will have 0% (`compareStart=true`) or should have been already
* calculated according to the previous point (`compareStart=false`).
*/
compareStart?: boolean;
/**
* (Highstock) Whether to compare indicator to the main series values or
* indicator values.
*/
compareToMain?: boolean;
/**
* (Highcharts, Highstock) Whether to connect a graph line across null
* points, or render a gap between the two points on either side of the
* null.
*
* In stacked area chart, if `connectNulls` is set to true, null points are
* interpreted as 0.
*/
connectNulls?: boolean;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highstock) When the series contains less points than the
* crop threshold, all points are drawn, even if the points fall outside the
* visible plot area at the current zoom. The advantage of drawing all
* points (including markers and columns), is that animation is performed on
* updates. On the other hand, when the series contains more points than the
* crop threshold, the series data is cropped to only contain points that
* fall within the plot area. The advantage of cropping away invisible
* points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highstock) Cumulative Sum feature replaces points' values with the
* following formula: `sum of all previous points' values + current point's
* value`. Works only for points in a visible range. Adds the
* `cumulativeSum` field to each point object that can be accessed e.g. in
* the tooltip.pointFormat.
*
* With `dataGrouping` enabled, default grouping approximation is set to
* `sum`.
*/
cumulative?: boolean;
/**
* (Highstock) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highstock) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highstock) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) Data grouping is the concept of sampling the data values into
* larger blocks in order to ease readability and increase performance of
* the JavaScript charts. Highcharts Stock by default applies data grouping
* when the points become closer than a certain pixel value, determined by
* the `groupPixelWidth` option.
*
* If data grouping is applied, the grouping information of grouped points
* can be read from the Point.dataGroup. If point options other than the
* data itself are set, for example `name` or `color` or custom properties,
* the grouping logic doesn't know how to group it. In this case the options
* of the first point instance are copied over to the group point. This can
* be altered through a custom `approximation` callback function.
*/
dataGrouping?: DataGroupingOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotCmoDataLabelsOptions|Array<PlotCmoDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotCmoDataSortingOptions);
/**
* (Highstock) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highstock) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highstock) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highstock) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highstock) Defines when to display a gap in the graph, together with the
* gapUnit option.
*
* In case when `dataGrouping` is enabled, points can be grouped into a
* larger time span. This can make the grouped points to have a greater
* distance than the absolute value of `gapSize` property, which will result
* in disappearing graph completely. To prevent this situation the mentioned
* distance between grouped points is used instead of previously defined
* `gapSize`.
*
* In practice, this option is most often used to visualize gaps in time
* series. In a stock chart, intraday data is available for daytime hours,
* while gaps will appear in nights and weekends.
*/
gapSize?: number;
/**
* (Highstock) Together with gapSize, this option defines where to draw gaps
* in the graph.
*
* When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
* if the distance between two points is greater than 5 times that of the
* two closest points, the graph will be broken.
*
* When the `gapUnit` is `"value"`, the gap is based on absolute axis
* values, which on a datetime axis is milliseconds. This also applies to
* the navigator series that inherits gap options from the base series.
*/
gapUnit?: OptionsGapUnitValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highstock) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highstock) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highstock) The line marks the last price from all points.
*/
lastPrice?: SeriesLastPriceOptionsObject;
/**
* (Highstock) The line marks the last price from visible range of points.
*/
lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
/**
* (Highstock) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
* `stroke-linejoin` of a line graph. Round means that lines are rounded in
* the ends and bends.
*/
linecap?: SeriesLinecapValue;
/**
* (Highcharts, Highstock) Pixel width of the graph line.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The main series ID that indicator will be
* based on. Required for this indicator.
*/
linkedTo?: string;
/**
* (Highstock) Options for the point markers of line and scatter-like
* series. Properties like `fillColor`, `lineColor` and `lineWidth` define
* the visual appearance of the markers. The `symbol` option defines the
* shape. Other series types, like column series, don't have markers, but
* have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highstock) The name of the series as shown in the legend, tooltip etc.
* If not set, it will be based on a technical indicator type and default
* params.
*/
name?: string;
/**
* (Highstock) The color for the parts of the graph or points that are below
* the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotCmoOnPointOptions);
/**
* (Highstock) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
params?: PlotCmoParamsOptions;
/**
* (Highstock) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highstock) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highstock) Same as accessibility.series.descriptionFormatter, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highstock) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highstock) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highstock) If set to `true`, the accessibility module will skip past the
* points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highstock) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock) Whether to apply steps to the line. Possible
* values are `left`, `center` and `right`.
*/
step?: OptionsStepValue;
/**
* (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock) The threshold, also called zero level or base
* level. For line type series this is only used in conjunction with
* negativeColor.
*/
threshold?: (number|null);
/**
* (Highstock) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highstock) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highcharts, Highstock) Point accessibility options for a series.
*/
export interface PlotColumnAccessibilityPointOptions {
/**
* (Highcharts, Highstock) Date format to use for points on datetime axes
* when describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highcharts, Highstock) Formatter function to determine the date/time
* format used with points on datetime axes when describing them to screen
* reader users. Receives one argument, `point`, referring to the point to
* describe. Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts, Highstock) Whether or not to describe points with the value
* `null` to assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highcharts, Highstock) A format string to use instead of the default for
* point descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highcharts, Highstock) Formatter function to use instead of the default
* for point descriptions. Same as
* `accessibility.point.descriptionFormatter`, but applies to a series
* instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts, Highstock) Decimals to use for the values in the point
* descriptions. Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highcharts, Highstock) Format to use for describing the values of data
* points to assistive technology - including screen readers. The point
* context is available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highcharts, Highstock) Prefix to add to the values in the point
* descriptions. Uses tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highcharts, Highstock) Suffix to add to the values in the point
* descriptions. Uses tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotColumnDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotColumnDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highcharts, Highstock) Options for the connector in the _Series on point_
* feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotColumnOnPointConnectorOptions {
/**
* (Highcharts, Highstock) A name for the dash style to use for the
* connector.
*/
dashstyle?: string;
/**
* (Highcharts, Highstock) Color of the connector line. By default it's the
* series' color.
*/
stroke?: string;
/**
* (Highcharts, Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highcharts, Highstock) Options allowing to set a position and an offset of
* the series in the _Series on point_ feature.
*/
export interface PlotColumnOnPointPositionOptions {
/**
* (Highcharts, Highstock) Series center offset from the original x
* position. If defined, the connector line is drawn connecting original
* position with new position.
*/
offsetX?: number;
/**
* (Highcharts, Highstock) Series center offset from the original y
* position. If defined, the connector line is drawn from original position
* to a new position.
*/
offsetY?: number;
/**
* (Highcharts, Highstock) X position of the series center. By default, the
* series is displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highcharts, Highstock) Y position of the series center. By default, the
* series is displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highcharts, Highstock) Point accessibility options for a series.
*/
export interface PlotColumnpyramidAccessibilityPointOptions {
/**
* (Highcharts, Highstock) Date format to use for points on datetime axes
* when describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highcharts, Highstock) Formatter function to determine the date/time
* format used with points on datetime axes when describing them to screen
* reader users. Receives one argument, `point`, referring to the point to
* describe. Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts, Highstock) Whether or not to describe points with the value
* `null` to assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highcharts, Highstock) A format string to use instead of the default for
* point descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highcharts, Highstock) Formatter function to use instead of the default
* for point descriptions. Same as
* `accessibility.point.descriptionFormatter`, but applies to a series
* instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts, Highstock) Decimals to use for the values in the point
* descriptions. Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highcharts, Highstock) Format to use for describing the values of data
* points to assistive technology - including screen readers. The point
* context is available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highcharts, Highstock) Prefix to add to the values in the point
* descriptions. Uses tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highcharts, Highstock) Suffix to add to the values in the point
* descriptions. Uses tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotColumnpyramidDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotColumnpyramidDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highcharts, Highstock) Options for the connector in the _Series on point_
* feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotColumnpyramidOnPointConnectorOptions {
/**
* (Highcharts, Highstock) A name for the dash style to use for the
* connector.
*/
dashstyle?: string;
/**
* (Highcharts, Highstock) Color of the connector line. By default it's the
* series' color.
*/
stroke?: string;
/**
* (Highcharts, Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highcharts, Highstock) Options allowing to set a position and an offset of
* the series in the _Series on point_ feature.
*/
export interface PlotColumnpyramidOnPointPositionOptions {
/**
* (Highcharts, Highstock) Series center offset from the original x
* position. If defined, the connector line is drawn connecting original
* position with new position.
*/
offsetX?: number;
/**
* (Highcharts, Highstock) Series center offset from the original y
* position. If defined, the connector line is drawn from original position
* to a new position.
*/
offsetY?: number;
/**
* (Highcharts, Highstock) X position of the series center. By default, the
* series is displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highcharts, Highstock) Y position of the series center. By default, the
* series is displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highcharts, Highstock) Point accessibility options for a series.
*/
export interface PlotColumnrangeAccessibilityPointOptions {
/**
* (Highcharts, Highstock) Date format to use for points on datetime axes
* when describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highcharts, Highstock) Formatter function to determine the date/time
* format used with points on datetime axes when describing them to screen
* reader users. Receives one argument, `point`, referring to the point to
* describe. Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts, Highstock) Whether or not to describe points with the value
* `null` to assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highcharts, Highstock) A format string to use instead of the default for
* point descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highcharts, Highstock) Formatter function to use instead of the default
* for point descriptions. Same as
* `accessibility.point.descriptionFormatter`, but applies to a series
* instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts, Highstock) Decimals to use for the values in the point
* descriptions. Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highcharts, Highstock) Format to use for describing the values of data
* points to assistive technology - including screen readers. The point
* context is available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highcharts, Highstock) Prefix to add to the values in the point
* descriptions. Uses tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highcharts, Highstock) Suffix to add to the values in the point
* descriptions. Uses tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock) Enable or disable the initial animation when a series
* is displayed for the `dataLabels`. The animation can also be set as a
* configuration object. Please note that this option only applies to the
* initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotColumnrangeDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock) The animation delay time in milliseconds. Set to
* `0` to render the data labels immediately. As `undefined` inherits defer
* time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the connector in the _Series on point_
* feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotColumnrangeOnPointConnectorOptions {
/**
* (Highcharts, Highstock) A name for the dash style to use for the
* connector.
*/
dashstyle?: string;
/**
* (Highcharts, Highstock) Color of the connector line. By default it's the
* series' color.
*/
stroke?: string;
/**
* (Highcharts, Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highcharts, Highstock) Options allowing to set a position and an offset of
* the series in the _Series on point_ feature.
*/
export interface PlotColumnrangeOnPointPositionOptions {
/**
* (Highcharts, Highstock) Series center offset from the original x
* position. If defined, the connector line is drawn connecting original
* position with new position.
*/
offsetX?: number;
/**
* (Highcharts, Highstock) Series center offset from the original y
* position. If defined, the connector line is drawn from original position
* to a new position.
*/
offsetY?: number;
/**
* (Highcharts, Highstock) X position of the series center. By default, the
* series is displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highcharts, Highstock) Y position of the series center. By default, the
* series is displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highcharts) Point accessibility options for a series.
*/
export interface PlotCylinderAccessibilityPointOptions {
/**
* (Highcharts) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highcharts) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highcharts) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highcharts) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highcharts) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highcharts) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highcharts) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotCylinderDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotCylinderDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highcharts) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotCylinderOnPointConnectorOptions {
/**
* (Highcharts) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highcharts) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highcharts) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highcharts) Options allowing to set a position and an offset of the series
* in the _Series on point_ feature.
*/
export interface PlotCylinderOnPointPositionOptions {
/**
* (Highcharts) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highcharts) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highcharts) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highcharts) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Point accessibility options for a series.
*/
export interface PlotDemaAccessibilityPointOptions {
/**
* (Highstock) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highstock) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highstock) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highstock) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highstock) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highstock) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highstock) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotDemaDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotDemaDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: (VerticalAlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotDemaOnPointConnectorOptions {
/**
* (Highstock) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highstock) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highstock) Options allowing to set a position and an offset of the series in
* the _Series on point_ feature.
*/
export interface PlotDemaOnPointPositionOptions {
/**
* (Highstock) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highstock) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highstock) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highstock) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
export interface PlotDemaParamsOptions {
/**
* (Highstock) The point index which indicator calculations will base. For
* example using OHLC data, index=2 means the indicator will be calculated
* using Low values.
*
* By default index value used to be set to 0. Since Highcharts Stock 7 by
* default index is set to 3 which means that the ema indicator will be
* calculated using Close values.
*/
index?: number;
/**
* (Highstock) The base period for indicator calculations. This is the
* number of data points which are taken into account for the indicator
* calculations.
*/
period?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotDependencywheelDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotDependencywheelLevelsDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotDependencywheelOnPointConnectorOptions {
/**
* (Highcharts) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highcharts) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highcharts) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highcharts) Options allowing to set a position and an offset of the series
* in the _Series on point_ feature.
*/
export interface PlotDependencywheelOnPointPositionOptions {
/**
* (Highcharts) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highcharts) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highcharts) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highcharts) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Point accessibility options for a series.
*/
export interface PlotDisparityindexAccessibilityPointOptions {
/**
* (Highstock) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highstock) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highstock) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highstock) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highstock) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highstock) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highstock) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotDisparityindexDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotDisparityindexDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: (VerticalAlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotDisparityindexOnPointConnectorOptions {
/**
* (Highstock) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highstock) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highstock) Options allowing to set a position and an offset of the series in
* the _Series on point_ feature.
*/
export interface PlotDisparityindexOnPointPositionOptions {
/**
* (Highstock) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highstock) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highstock) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highstock) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
export interface PlotDisparityindexParamsOptions {
/**
* (Highstock) The average used to calculate the Disparity Index indicator.
* By default it uses SMA, with EMA as an option. To use other averages,
* e.g. TEMA, the `stock/indicators/tema.js` file needs to be loaded.
*
* If value is different than `ema`, `dema`, `tema` or `wma`, then sma is
* used.
*/
average?: string;
/**
* (Highstock) The point index which indicator calculations will base. For
* example using OHLC data, index=2 means the indicator will be calculated
* using Low values.
*/
index?: number;
/**
* (Highstock) The base period for indicator calculations. This is the
* number of data points which are taken into account for the indicator
* calculations.
*/
period?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotDmiDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotDmiDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highstock) Styles for the -DI line.
*/
export interface PlotDmiMinusDILineStylesOptions {
/**
* (Highstock) Color of the line.
*/
lineColor?: ColorString;
/**
* (Highstock) Pixel width of the line.
*/
lineWidth?: number;
}
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotDmiOnPointOptions {
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotDmiOnPointConnectorOptions|SVGAttributes);
/**
* (Highstock) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highstock) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotDmiOnPointPositionOptions);
}
/**
* (Highstock) Directional Movement Index (DMI). This series requires the
* `linkedTo` option to be set and should be loaded after the
* `stock/indicators/indicators.js` file.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `dmi` series are defined in plotOptions.dmi.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotDmiOptions {
/**
* (Highstock) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highstock) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highstock) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highstock) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highstock) Sets the color blending in the boost module.
*/
boostBlending?: OptionsBoostBlendingValue;
/**
* (Highstock) Set the point threshold for when a series should enter boost
* mode.
*
* Setting it to e.g. 2000 will cause the series to enter boost mode when
* there are 2000 or more points in the series.
*
* To disable boosting on the series, set the `boostThreshold` to 0. Setting
* it to 1 will force boosting.
*
* Note that the cropThreshold also affects this setting. When zooming in on
* a series that has fewer points than the `cropThreshold`, all points are
* rendered although outside the visible plot area, and the `boostThreshold`
* won't take effect.
*/
boostThreshold?: number;
/**
* (Highstock) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highstock) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highstock) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highstock) Compare the values of the series against the first non-null,
* non- zero value in the visible range. The y axis will show percentage or
* absolute change depending on whether `compare` is set to `"percent"` or
* `"value"`. When this is applied to multiple series, it allows comparing
* the development of the series against each other. Adds a `change` field
* to every point object.
*/
compare?: OptionsCompareValue;
/**
* (Highstock) When compare is `percent`, this option dictates whether to
* use 0 or 100 as the base of comparison.
*/
compareBase?: (0|100);
/**
* (Highstock) Defines if comparison should start from the first point
* within the visible range or should start from the first point **before**
* the range.
*
* In other words, this flag determines if first point within the visible
* range will have 0% (`compareStart=true`) or should have been already
* calculated according to the previous point (`compareStart=false`).
*/
compareStart?: boolean;
/**
* (Highstock) Whether to compare indicator to the main series values or
* indicator values.
*/
compareToMain?: boolean;
/**
* (Highcharts, Highstock) Whether to connect a graph line across null
* points, or render a gap between the two points on either side of the
* null.
*
* In stacked area chart, if `connectNulls` is set to true, null points are
* interpreted as 0.
*/
connectNulls?: boolean;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highstock) When the series contains less points than the
* crop threshold, all points are drawn, even if the points fall outside the
* visible plot area at the current zoom. The advantage of drawing all
* points (including markers and columns), is that animation is performed on
* updates. On the other hand, when the series contains more points than the
* crop threshold, the series data is cropped to only contain points that
* fall within the plot area. The advantage of cropping away invisible
* points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highstock) Cumulative Sum feature replaces points' values with the
* following formula: `sum of all previous points' values + current point's
* value`. Works only for points in a visible range. Adds the
* `cumulativeSum` field to each point object that can be accessed e.g. in
* the tooltip.pointFormat.
*
* With `dataGrouping` enabled, default grouping approximation is set to
* `sum`.
*/
cumulative?: boolean;
/**
* (Highstock) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highstock) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highstock) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) Data grouping is the concept of sampling the data values into
* larger blocks in order to ease readability and increase performance of
* the JavaScript charts. Highcharts Stock by default applies data grouping
* when the points become closer than a certain pixel value, determined by
* the `groupPixelWidth` option.
*
* If data grouping is applied, the grouping information of grouped points
* can be read from the Point.dataGroup. If point options other than the
* data itself are set, for example `name` or `color` or custom properties,
* the grouping logic doesn't know how to group it. In this case the options
* of the first point instance are copied over to the group point. This can
* be altered through a custom `approximation` callback function.
*/
dataGrouping?: DataGroupingOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotDmiDataLabelsOptions|Array<PlotDmiDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotDmiDataSortingOptions);
/**
* (Highstock) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highstock) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highstock) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highstock) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highstock) Defines when to display a gap in the graph, together with the
* gapUnit option.
*
* In case when `dataGrouping` is enabled, points can be grouped into a
* larger time span. This can make the grouped points to have a greater
* distance than the absolute value of `gapSize` property, which will result
* in disappearing graph completely. To prevent this situation the mentioned
* distance between grouped points is used instead of previously defined
* `gapSize`.
*
* In practice, this option is most often used to visualize gaps in time
* series. In a stock chart, intraday data is available for daytime hours,
* while gaps will appear in nights and weekends.
*/
gapSize?: number;
/**
* (Highstock) Together with gapSize, this option defines where to draw gaps
* in the graph.
*
* When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
* if the distance between two points is greater than 5 times that of the
* two closest points, the graph will be broken.
*
* When the `gapUnit` is `"value"`, the gap is based on absolute axis
* values, which on a datetime axis is milliseconds. This also applies to
* the navigator series that inherits gap options from the base series.
*/
gapUnit?: OptionsGapUnitValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highstock) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highstock) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highstock) The line marks the last price from all points.
*/
lastPrice?: SeriesLastPriceOptionsObject;
/**
* (Highstock) The line marks the last price from visible range of points.
*/
lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
/**
* (Highstock) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
* `stroke-linejoin` of a line graph. Round means that lines are rounded in
* the ends and bends.
*/
linecap?: SeriesLinecapValue;
/**
* (Highcharts, Highstock) Pixel width of the graph line.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The main series ID that indicator will be
* based on. Required for this indicator.
*/
linkedTo?: string;
/**
* (Highstock) Options for the point markers of line and scatter-like
* series. Properties like `fillColor`, `lineColor` and `lineWidth` define
* the visual appearance of the markers. The `symbol` option defines the
* shape. Other series types, like column series, don't have markers, but
* have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highstock) -DI line options.
*/
minusDILine?: PlotDmiMinusDILineOptions;
/**
* (Highstock) The name of the series as shown in the legend, tooltip etc.
* If not set, it will be based on a technical indicator type and default
* params.
*/
name?: string;
/**
* (Highstock) The color for the parts of the graph or points that are below
* the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotDmiOnPointOptions);
/**
* (Highstock) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
params?: PlotDmiParamsOptions;
/**
* (Highstock) +DI line options.
*/
plusDILine?: PlotDmiPlusDILineOptions;
/**
* (Highstock) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highstock) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highstock) Same as accessibility.series.descriptionFormatter, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highstock) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highstock) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highstock) If set to `true`, the accessibility module will skip past the
* points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highstock) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock) Whether to apply steps to the line. Possible
* values are `left`, `center` and `right`.
*/
step?: OptionsStepValue;
/**
* (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock) The threshold, also called zero level or base
* level. For line type series this is only used in conjunction with
* negativeColor.
*/
threshold?: (number|null);
/**
* (Highstock) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highstock) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highstock) +DI line options.
*/
export interface PlotDmiPlusDILineOptions {
/**
* (Highstock) Styles for the +DI line.
*/
styles?: PlotDmiPlusDILineStylesOptions;
}
/**
* (Highstock) Point accessibility options for a series.
*/
export interface PlotDpoAccessibilityPointOptions {
/**
* (Highstock) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highstock) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highstock) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highstock) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highstock) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highstock) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highstock) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotDpoDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotDpoDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: (VerticalAlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotDpoOnPointConnectorOptions {
/**
* (Highstock) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highstock) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highstock) Options allowing to set a position and an offset of the series in
* the _Series on point_ feature.
*/
export interface PlotDpoOnPointPositionOptions {
/**
* (Highstock) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highstock) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highstock) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highstock) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Parameters used in calculation of Detrended Price Oscillator
* series points.
*/
export interface PlotDpoParamsOptions {
/**
* (Highstock) The point index which indicator calculations will base. For
* example using OHLC data, index=2 means the indicator will be calculated
* using Low values.
*/
index?: number;
/**
* (Highstock) Period for Detrended Price Oscillator
*/
period?: number;
}
/**
* (Highcharts, Highstock) Enable or disable the initial animation when a series
* is displayed for the `dataLabels`. The animation can also be set as a
* configuration object. Please note that this option only applies to the
* initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotDumbbellDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock) The animation delay time in milliseconds. Set to
* `0` to render the data labels immediately. As `undefined` inherits defer
* time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the connector in the _Series on point_
* feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotDumbbellOnPointConnectorOptions {
/**
* (Highcharts, Highstock) A name for the dash style to use for the
* connector.
*/
dashstyle?: string;
/**
* (Highcharts, Highstock) Color of the connector line. By default it's the
* series' color.
*/
stroke?: string;
/**
* (Highcharts, Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highcharts, Highstock) Options allowing to set a position and an offset of
* the series in the _Series on point_ feature.
*/
export interface PlotDumbbellOnPointPositionOptions {
/**
* (Highcharts, Highstock) Series center offset from the original x
* position. If defined, the connector line is drawn connecting original
* position with new position.
*/
offsetX?: number;
/**
* (Highcharts, Highstock) Series center offset from the original y
* position. If defined, the connector line is drawn from original position
* to a new position.
*/
offsetY?: number;
/**
* (Highcharts, Highstock) X position of the series center. By default, the
* series is displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highcharts, Highstock) Y position of the series center. By default, the
* series is displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Point accessibility options for a series.
*/
export interface PlotEmaAccessibilityPointOptions {
/**
* (Highstock) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highstock) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highstock) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highstock) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highstock) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highstock) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highstock) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotEmaDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotEmaDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: (VerticalAlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotEmaOnPointConnectorOptions {
/**
* (Highstock) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highstock) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highstock) Options allowing to set a position and an offset of the series in
* the _Series on point_ feature.
*/
export interface PlotEmaOnPointPositionOptions {
/**
* (Highstock) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highstock) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highstock) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highstock) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
export interface PlotEmaParamsOptions {
/**
* (Highstock) The point index which indicator calculations will base. For
* example using OHLC data, index=2 means the indicator will be calculated
* using Low values.
*
* By default index value used to be set to 0. Since Highcharts Stock 7 by
* default index is set to 3 which means that the ema indicator will be
* calculated using Close values.
*/
index?: number;
/**
* (Highstock) The base period for indicator calculations. This is the
* number of data points which are taken into account for the indicator
* calculations.
*/
period?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotErrorbarDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotErrorbarDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highcharts) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotErrorbarOnPointOptions {
/**
* (Highcharts) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotErrorbarOnPointConnectorOptions|SVGAttributes);
/**
* (Highcharts) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highcharts) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotErrorbarOnPointPositionOptions);
}
/**
* (Highcharts) Error bars are a graphical representation of the variability of
* data and are used on graphs to indicate the error, or uncertainty in a
* reported measurement.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `errorbar` series are defined in plotOptions.errorbar.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotErrorbarOptions {
/**
* (Highcharts) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highcharts) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highcharts) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highcharts) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highcharts) The dash style of the box.
*/
boxDashStyle?: DashStyleValue;
/**
* (Highcharts, Highstock, Gantt) When `true`, the columns will center in
* the category, ignoring null or missing points. When `false`, space will
* be reserved for null or missing points.
*/
centerInCategory?: boolean;
/**
* (Highcharts) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highcharts) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highcharts) The main color of the bars. This can be overridden by
* stemColor and whiskerColor individually.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
* this number defines which colorAxis the particular series is connected
* to. It refers to either the axis id or the index of the axis in the
* colorAxis array, with 0 being the first. Set this option to false to
* prevent a series from connecting to the default color axis.
*
* Since v7.2.0 the option can also be an axis id or an axis index instead
* of a boolean flag.
*/
colorAxis?: (boolean|number|string);
/**
* (Highcharts, Highstock, Gantt) When using automatic point colors pulled
* from the global colors or series-specific plotOptions.column.colors
* collections, this option determines whether the chart should receive one
* color per series or one color per point.
*
* In styled mode, the `colors` or `series.colors` arrays are not supported,
* and instead this option gives the points individual color class names on
* the form `highcharts-color-{n}`.
*/
colorByPoint?: boolean;
/**
* (Highcharts) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highcharts, Highstock, Gantt) A series specific or series type specific
* color set to apply instead of the global colors when colorByPoint is
* true.
*/
colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highstock, Gantt) When the series contains less points than
* the crop threshold, all points are drawn, event if the points fall
* outside the visible plot area at the current zoom. The advantage of
* drawing all points (including markers and columns), is that animation is
* performed on updates. On the other hand, when the series contains more
* points than the crop threshold, the series data is cropped to only
* contain points that fall within the plot area. The advantage of cropping
* away invisible points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highcharts) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highcharts) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highcharts) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotErrorbarDataLabelsOptions|Array<PlotErrorbarDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotErrorbarDataSortingOptions);
/**
* (Highcharts) Depth of the columns in a 3D column chart.
*/
depth?: number;
/**
* (Highcharts) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highcharts) The draggable-points module allows points to be moved around
* or modified in the chart. In addition to the options mentioned under the
* `dragDrop` API structure, the module fires three events, point.dragStart,
* point.drag and point.drop.
*/
dragDrop?: SeriesDragDropOptionsObject;
/**
* (Highcharts) 3D columns only. The color of the edges. Similar to
* `borderColor`, except it defaults to the same color as the column.
*/
edgeColor?: ColorString;
/**
* (Highcharts) 3D columns only. The width of the colored edges.
*/
edgeWidth?: number;
/**
* (Highcharts) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highcharts) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highcharts) The fill color of the box.
*
* In styled mode, the fill color can be set with the
* `.highcharts-boxplot-box` class.
*/
fillColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
* let them render independent of each other. Non-grouped columns will be
* laid out individually and overlap each other.
*/
grouping?: boolean;
/**
* (Highcharts, Highstock, Gantt) Padding between each value groups, in x
* axis units.
*/
groupPadding?: number;
/**
* (Highcharts) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highcharts) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts) An array specifying which option maps to which key in the
* data point array. This makes it convenient to work with unstructured data
* arrays from different sources.
*/
keys?: Array<string>;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highcharts) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts) The width of the line surrounding the box. If any of
* stemWidth, medianWidth or whiskerWidth are `null`, the lineWidth also
* applies to these lines.
*/
lineWidth?: number;
/**
* (Highcharts) The parent series of the error bar. The default value links
* it to the previous series. Otherwise, use the id of the parent series.
*/
linkedTo?: string;
/**
* (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
* column, translated to the height of a bar in a bar chart. This prevents
* the columns from becoming too wide when there is a small number of points
* in the chart.
*/
maxPointWidth?: number;
/**
* (Highcharts) The color of the median line. If `undefined`, the general
* series color applies.
*
* In styled mode, the median stroke width can be set with the
* `.highcharts-boxplot-median` class.
*/
medianColor?: (ColorString|GradientColorObject);
/**
* (Highcharts) The dash style of the median.
*/
medianDashStyle?: DashStyleValue;
/**
* (Highcharts) The pixel width of the median line. If `null`, the lineWidth
* is used.
*
* In styled mode, the median stroke width can be set with the
* `.highcharts-boxplot-median` class.
*/
medianWidth?: (number|null);
/**
* (Highcharts, Highstock, Gantt) The minimal height for a column or width
* for a bar. By default, 0 values are not shown. To visualize a 0 (or close
* to zero) point, set the minimal point length to a pixel value like 3\. In
* stacked column charts, minPointLength might not be respected for tightly
* packed values.
*/
minPointLength?: number;
/**
* (Highcharts) The color for the parts of the graph or points that are
* below the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotErrorbarOnPointOptions);
/**
* (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highcharts) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highcharts) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highcharts) Same as accessibility.series.descriptionFormatter, but for
* an individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock, Gantt) If no x values are given for the points in
* a series, `pointInterval` defines the interval of the x values. For
* example, if a series contains one value every decade starting from year
* 0, set `pointInterval` to `10`. In true `datetime` axes, the
* `pointInterval` is set in milliseconds.
*
* It can be also be combined with `pointIntervalUnit` to draw irregular
* time intervals.
*
* If combined with `relativeXValue`, an x value can be set on each point,
* and the `pointInterval` is added x times to the `pointStart` setting.
*
* Please note that this options applies to the _series data_, not the
* interval of the axis ticks, which is independent.
*/
pointInterval?: number;
/**
* (Highcharts, Highstock, Gantt) On datetime series, this allows for
* setting the pointInterval to irregular time units, `day`, `month` and
* `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
* also takes the DST crossover into consideration when dealing with local
* time. Combine this option with `pointInterval` to draw weeks, quarters, 6
* months, 10 years etc.
*
* Please note that this options applies to the _series data_, not the
* interval of the axis ticks, which is independent.
*/
pointIntervalUnit?: OptionsPointIntervalUnitValue;
/**
* (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
* axis units.
*/
pointPadding?: number;
/**
* (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
* `number`.
*
* In a column chart, when pointPlacement is `"on"`, the point will not
* create any padding of the X axis. In a polar column chart this means that
* the first column points directly north. If the pointPlacement is
* `"between"`, the columns will be laid out between ticks. This is useful
* for example for visualising an amount between two points in time or in a
* certain sector of a polar chart.
*
* Since Highcharts 3.0.2, the point placement can also be numeric, where 0
* is on the axis value, -0.5 is between this value and the previous, and
* 0.5 is between this value and the next. Unlike the textual options,
* numeric point placement options won't affect axis padding.
*
* Note that pointPlacement needs a pointRange to work. For column series
* this is computed, but for line-type series it needs to be set.
*
* For the `xrange` series type and gantt charts, if the Y axis is a
* category axis, the `pointPlacement` applies to the Y axis rather than the
* (typically datetime) X axis.
*
* Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
*/
pointPlacement?: (number|string);
/**
* (Highcharts, Highstock, Gantt) The X axis range that each point is valid
* for. This determines the width of the column. On a categorized axis, the
* range will be 1 by default (one category unit). On linear and datetime
* axes, the range will be computed as the distance between the two closest
* data points.
*
* The default `null` means it is computed automatically, but this option
* can be used to override the automatic value.
*
* This option is set by default to 1 if data sorting is enabled.
*/
pointRange?: (number|null);
/**
* (Highcharts, Highstock, Gantt) If no x values are given for the points in
* a series, pointStart defines on what value to start. For example, if a
* series contains one yearly value starting from 1945, set pointStart to
* 1945.
*
* If combined with `relativeXValue`, an x value can be set on each point.
* The x value from the point options is multiplied by `pointInterval` and
* added to `pointStart` to produce a modified x value.
*/
pointStart?: number;
/**
* (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
* each column or bar point. When set to `undefined`, the width is
* calculated from the `pointPadding` and `groupPadding`. The width effects
* the dimension that is not based on the point value. For column series it
* is the horizontal length and for bar series it is the vertical length.
*/
pointWidth?: number;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highcharts) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highcharts) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highcharts) If set to `true`, the accessibility module will skip past
* the points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highcharts) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
/**
* (Highcharts, Highstock) Whether to stack the values of each series on top
* of each other. Possible values are `undefined` to disable, `"normal"` to
* stack by value or `"percent"`.
*
* When stacking is enabled, data must be sorted in ascending X order.
*
* Some stacking options are related to specific series types. In the
* streamgraph series type, the stacking option is set to `"stream"`. The
* second one is `"overlap"`, which only applies to waterfall series.
*/
stacking?: OptionsStackingValue;
/**
* (Highcharts) The color of the stem, the vertical line extending from the
* box to the whiskers. If `undefined`, the series color is used.
*
* In styled mode, the stem stroke can be set with the
* `.highcharts-boxplot-stem` class.
*/
stemColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) The dash style of the stem, the vertical line extending from
* the box to the whiskers.
*/
stemDashStyle?: DashStyleValue;
/**
* (Highcharts) The width of the stem, the vertical line extending from the
* box to the whiskers. If `undefined`, the width is inherited from the
* lineWidth option.
*
* In styled mode, the stem stroke width can be set with the
* `.highcharts-boxplot-stem` class.
*/
stemWidth?: number;
/**
* (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts) The Y axis value to serve as the base for the columns, for
* distinguishing between values above and below a threshold. If `null`, the
* columns extend from the padding Y axis minimum.
*/
threshold?: (number|null);
/**
* (Highcharts) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highcharts) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts) The color of the whiskers, the horizontal lines marking low
* and high values. When `undefined`, the general series color is used.
*
* In styled mode, the whisker stroke can be set with the
* `.highcharts-boxplot-whisker` class .
*/
whiskerColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) The dash style of the whiskers.
*/
whiskerDashStyle?: DashStyleValue;
/**
* (Highcharts) The length of the whiskers, the horizontal lines marking low
* and high values. It can be a numerical pixel value, or a percentage value
* of the box width. Set `0` to disable whiskers.
*/
whiskerLength?: (number|string);
/**
* (Highcharts) The line width of the whiskers, the horizontal lines marking
* low and high values. When `null`, the general lineWidth applies.
*/
whiskerWidth?: number;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotFlagsDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotFlagsDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotFlagsOnPointOptions {
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotFlagsOnPointConnectorOptions|SVGAttributes);
/**
* (Highstock) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highstock) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotFlagsOnPointPositionOptions);
}
/**
* (Highstock) Flags are used to mark events in stock charts. They can be added
* on the timeline, or attached to a specific series.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `flags` series are defined in plotOptions.flags.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotFlagsOptions {
/**
* (Highstock) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highstock) Whether the flags are allowed to overlap sideways. If
* `false`, the flags are moved sideways using an algorithm that seeks to
* place every flag as close as possible to its original position.
*/
allowOverlapX?: boolean;
/**
* (Highstock) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highstock) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highstock) Sets the color blending in the boost module.
*/
boostBlending?: OptionsBoostBlendingValue;
/**
* (Highstock) Set the point threshold for when a series should enter boost
* mode.
*
* Setting it to e.g. 2000 will cause the series to enter boost mode when
* there are 2000 or more points in the series.
*
* To disable boosting on the series, set the `boostThreshold` to 0. Setting
* it to 1 will force boosting.
*
* Note that the cropThreshold also affects this setting. When zooming in on
* a series that has fewer points than the `cropThreshold`, all points are
* rendered although outside the visible plot area, and the `boostThreshold`
* won't take effect.
*/
boostThreshold?: number;
/**
* (Highcharts, Highstock, Gantt) The corner radius of the border
* surrounding each flag. For `squarepin` shaped flags only. A number
* signifies pixels. A percentage string, like for example 50%, signifies a
* relative size.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Gantt) When `true`, the columns will center in
* the category, ignoring null or missing points. When `false`, space will
* be reserved for null or missing points.
*/
centerInCategory?: boolean;
/**
* (Highstock) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highstock) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highstock) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
* this number defines which colorAxis the particular series is connected
* to. It refers to either the axis id or the index of the axis in the
* colorAxis array, with 0 being the first. Set this option to false to
* prevent a series from connecting to the default color axis.
*
* Since v7.2.0 the option can also be an axis id or an axis index instead
* of a boolean flag.
*/
colorAxis?: (boolean|number|string);
/**
* (Highstock) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highcharts, Highstock, Gantt) A series specific or series type specific
* color set to apply instead of the global colors when colorByPoint is
* true.
*/
colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
/**
* (Highstock) Compare the values of the series against the first non-null,
* non- zero value in the visible range. The y axis will show percentage or
* absolute change depending on whether `compare` is set to `"percent"` or
* `"value"`. When this is applied to multiple series, it allows comparing
* the development of the series against each other. Adds a `change` field
* to every point object.
*/
compare?: OptionsCompareValue;
/**
* (Highstock) When compare is `percent`, this option dictates whether to
* use 0 or 100 as the base of comparison.
*/
compareBase?: (0|100);
/**
* (Highstock) Defines if comparison should start from the first point
* within the visible range or should start from the first point **before**
* the range.
*
* In other words, this flag determines if first point within the visible
* range will have 0% (`compareStart=true`) or should have been already
* calculated according to the previous point (`compareStart=false`).
*/
compareStart?: boolean;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highstock) Cumulative Sum feature replaces points' values with the
* following formula: `sum of all previous points' values + current point's
* value`. Works only for points in a visible range. Adds the
* `cumulativeSum` field to each point object that can be accessed e.g. in
* the tooltip.pointFormat.
*
* With `dataGrouping` enabled, default grouping approximation is set to
* `sum`.
*/
cumulative?: boolean;
/**
* (Highstock) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highstock) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highstock) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotFlagsDataLabelsOptions|Array<PlotFlagsDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotFlagsDataSortingOptions);
/**
* (Highstock) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highstock) The draggable-points module allows points to be moved around
* or modified in the chart. In addition to the options mentioned under the
* `dragDrop` API structure, the module fires three events, point.dragStart,
* point.drag and point.drop.
*/
dragDrop?: SeriesDragDropOptionsObject;
/**
* (Highstock) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highstock) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highstock) The fill color for the flags.
*/
fillColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
* let them render independent of each other. Non-grouped columns will be
* laid out individually and overlap each other.
*/
grouping?: boolean;
/**
* (Highcharts, Highstock, Gantt) Padding between each value groups, in x
* axis units.
*/
groupPadding?: number;
/**
* (Highstock) Fixed height of the flag's shape. By default, height is
* autocalculated according to the flag's title.
*/
height?: number;
/**
* (Highstock) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highstock) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highstock) An array specifying which option maps to which key in the
* data point array. This makes it convenient to work with unstructured data
* arrays from different sources.
*/
keys?: Array<string>;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highstock) The line marks the last price from all points.
*/
lastPrice?: SeriesLastPriceOptionsObject;
/**
* (Highstock) The line marks the last price from visible range of points.
*/
lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
/**
* (Highstock) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highstock) The color of the line/border of the flag.
*
* In styled mode, the stroke is set in the
* `.highcharts-flag-series.highcharts-point` rule.
*/
lineColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The pixel width of the flag's line/border.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The id of another series to link to.
* Additionally, the value can be ":previous" to link to the previous
* series. When two series are linked, only the first one appears in the
* legend. Toggling the visibility of this also toggles the linked series.
*
* If master series uses data sorting and linked series does not have its
* own sorting definition, the linked series will be sorted in the same
* order as the master one.
*/
linkedTo?: string;
/**
* (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
* column, translated to the height of a bar in a bar chart. This prevents
* the columns from becoming too wide when there is a small number of points
* in the chart.
*/
maxPointWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The minimal height for a column or width
* for a bar. By default, 0 values are not shown. To visualize a 0 (or close
* to zero) point, set the minimal point length to a pixel value like 3\. In
* stacked column charts, minPointLength might not be respected for tightly
* packed values.
*/
minPointLength?: number;
/**
* (Highstock) Options for the corresponding navigator series if
* `showInNavigator` is `true` for this series. Available options are the
* same as any series, documented at plotOptions and series.
*
* These options are merged with options in navigator.series, and will take
* precedence if the same option is defined both places.
*/
navigatorOptions?: PlotSeriesOptions;
/**
* (Highstock) The color for the parts of the graph or points that are below
* the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) In case the flag is placed on a series, on what point key to
* place it. Line and columns have one key, `y`. In range or OHLC-type
* series, however, the flag can optionally be placed on the `open`, `high`,
* `low` or `close` key.
*/
onKey?: OptionsOnKeyValue;
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotFlagsOnPointOptions);
/**
* (Highstock) The id of the series that the flags should be drawn on. If no
* id is given, the flags are drawn on the x axis.
*/
onSeries?: string;
/**
* (Highstock) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highstock) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highstock) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highstock) Same as accessibility.series.descriptionFormatter, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock, Gantt) If no x values are given for the points in
* a series, `pointInterval` defines the interval of the x values. For
* example, if a series contains one value every decade starting from year
* 0, set `pointInterval` to `10`. In true `datetime` axes, the
* `pointInterval` is set in milliseconds.
*
* It can be also be combined with `pointIntervalUnit` to draw irregular
* time intervals.
*
* If combined with `relativeXValue`, an x value can be set on each point,
* and the `pointInterval` is added x times to the `pointStart` setting.
*
* Please note that this options applies to the _series data_, not the
* interval of the axis ticks, which is independent.
*/
pointInterval?: number;
/**
* (Highcharts, Highstock, Gantt) On datetime series, this allows for
* setting the pointInterval to irregular time units, `day`, `month` and
* `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
* also takes the DST crossover into consideration when dealing with local
* time. Combine this option with `pointInterval` to draw weeks, quarters, 6
* months, 10 years etc.
*
* Please note that this options applies to the _series data_, not the
* interval of the axis ticks, which is independent.
*/
pointIntervalUnit?: OptionsPointIntervalUnitValue;
/**
* (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
* `number`.
*
* In a column chart, when pointPlacement is `"on"`, the point will not
* create any padding of the X axis. In a polar column chart this means that
* the first column points directly north. If the pointPlacement is
* `"between"`, the columns will be laid out between ticks. This is useful
* for example for visualising an amount between two points in time or in a
* certain sector of a polar chart.
*
* Since Highcharts 3.0.2, the point placement can also be numeric, where 0
* is on the axis value, -0.5 is between this value and the previous, and
* 0.5 is between this value and the next. Unlike the textual options,
* numeric point placement options won't affect axis padding.
*
* Note that pointPlacement needs a pointRange to work. For column series
* this is computed, but for line-type series it needs to be set.
*
* For the `xrange` series type and gantt charts, if the Y axis is a
* category axis, the `pointPlacement` applies to the Y axis rather than the
* (typically datetime) X axis.
*
* Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
*/
pointPlacement?: (number|string);
/**
* (Highcharts, Highstock, Gantt) The X axis range that each point is valid
* for. This determines the width of the column. On a categorized axis, the
* range will be 1 by default (one category unit). On linear and datetime
* axes, the range will be computed as the distance between the two closest
* data points.
*
* The default `null` means it is computed automatically, but this option
* can be used to override the automatic value.
*
* This option is set by default to 1 if data sorting is enabled.
*/
pointRange?: (number|null);
/**
* (Highcharts, Highstock, Gantt) If no x values are given for the points in
* a series, pointStart defines on what value to start. For example, if a
* series contains one yearly value starting from 1945, set pointStart to
* 1945.
*
* If combined with `relativeXValue`, an x value can be set on each point.
* The x value from the point options is multiplied by `pointInterval` and
* added to `pointStart` to produce a modified x value.
*/
pointStart?: number;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highstock) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) The shape of the marker. Can be one of "flag", "circlepin",
* "squarepin", or an image of the format `url(/path-to-image.jpg)`.
* Individual shapes can also be set for each point.
*/
shape?: FlagsShapeValue;
/**
* (Highstock) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highstock) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highstock) Whether or not to show the series in the navigator. Takes
* precedence over navigator.baseSeries if defined.
*/
showInNavigator?: boolean;
/**
* (Highstock) If set to `true`, the accessibility module will skip past the
* points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highstock) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
/**
* (Highstock) When multiple flags in the same series fall on the same
* value, this number determines the vertical offset between them.
*/
stackDistance?: number;
/**
* (Highcharts, Highstock) Whether to stack the values of each series on top
* of each other. Possible values are `undefined` to disable, `"normal"` to
* stack by value or `"percent"`.
*
* When stacking is enabled, data must be sorted in ascending X order.
*
* Some stacking options are related to specific series types. In the
* streamgraph series type, the stacking option is set to `"stream"`. The
* second one is `"overlap"`, which only applies to waterfall series.
*/
stacking?: OptionsStackingValue;
states?: SeriesStatesOptionsObject;
/**
* (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highstock) The text styles of the flag.
*
* In styled mode, the styles are set in the `.highcharts-flag-series
* .highcharts-point` rule.
*/
style?: CSSObject;
/**
* (Highstock) Text alignment for the text inside the flag.
*/
textAlign?: OptionsTextAlignValue;
/**
* (Highstock) The text to display on each flag. This can be defined on
* series level, or individually for each point. Defaults to `"A"`.
*/
title?: string;
/**
* (Highstock) Specific tooltip options for flag series. Flag series
* tooltips are different from most other types in that a flag doesn't have
* a data value, so the tooltip rather displays the `text` option for each
* point.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highstock) Whether to use HTML to render the flag texts. Using HTML
* allows for advanced formatting, images and reliable bi-directional text
* rendering. Note that exported images won't respect the HTML, and that
* HTML won't respect Z-index settings.
*/
useHTML?: boolean;
/**
* (Highstock) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highstock) Fixed width of the flag's shape. By default, width is
* autocalculated according to the flag's title.
*/
width?: number;
/**
* (Highstock) The y position of the top left corner of the flag relative to
* either the series (if onSeries is defined), or the x axis. Defaults to
* `-30`.
*/
y?: number;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highmaps) A flowmap series is a series laid out on top of a map series
* allowing to display route paths (e.g. flight or ship routes) or flows on a
* map. It creates a link between two points on a map chart.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `flowmap` series are defined in plotOptions.flowmap.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotFlowmapOptions {
/**
* (Highmaps) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highmaps) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: boolean;
/**
* (Highmaps) For some series, there is a limit that shuts down animation by
* default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highmaps) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highmaps) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highmaps) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
* this number defines which colorAxis the particular series is connected
* to. It refers to either the axis id or the index of the axis in the
* colorAxis array, with 0 being the first. Set this option to false to
* prevent a series from connecting to the default color axis.
*
* Since v7.2.0 the option can also be an axis id or an axis index instead
* of a boolean flag.
*/
colorAxis?: (boolean|number|string);
/**
* (Highmaps) When using automatic point colors pulled from the global
* colors or series-specific plotOptions.map.colors collections, this option
* determines whether the chart should receive one color per series or one
* color per point.
*
* In styled mode, the `colors` or `series.colors` arrays are not supported,
* and instead this option gives the points individual color class names on
* the form `highcharts-color-{n}`.
*/
colorByPoint?: boolean;
/**
* (Highmaps) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highmaps) A series specific or series type specific color set to apply
* instead of the global colors when colorByPoint is true.
*/
colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
/**
* (Highmaps) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highmaps) The `curveFactor` option for all links. Value higher than 0
* will curve the link clockwise. A negative value will curve it counter
* clockwise. If the value is 0 the link will be a straight line. By default
* undefined curveFactor get an automatic curve.
*/
curveFactor?: number;
/**
* (Highmaps) A reserved subspace to store options and values for customized
* functionality. Here you can add additional data for your own event
* callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highmaps) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highmaps) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highmaps) General event handlers for the series items. These event hooks
* can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highmaps) The fill color of all the links. If not set, the series color
* will be used with the opacity set in fillOpacity.
*/
fillColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highmaps) The opacity of the color fill for all links.
*/
fillOpacity?: number;
/**
* (Highmaps) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highmaps) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highmaps) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highmaps) An array specifying which option maps to which key in the data
* point array. This makes it convenient to work with unstructured data
* arrays from different sources.
*/
keys?: Array<string>;
/**
* (Highmaps) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highmaps) Specify the `lineWidth` of the links if they are not
* specified.
*/
lineWidth?: number;
/**
* (Highmaps) A `markerEnd` creates an arrow symbol indicating the direction
* of flow at the destination. Specifying a `markerEnd` here will create one
* for each link.
*/
markerEnd?: SeriesFlowMapSeriesOptionsObject;
/**
* (Highmaps) Maximum width of a link expressed in pixels. The weight of a
* link is mapped between `maxWidth` and `minWidth`.
*/
maxWidth?: number;
/**
* (Highmaps) Minimum width of a link expressed in pixels. The weight of a
* link is mapped between `maxWidth` and `minWidth`.
*/
minWidth?: number;
/**
* (Highmaps) The color to apply to null points.
*
* In styled mode, the null point fill is set in the
* `.highcharts-null-point` class.
*/
nullColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highmaps) Whether to allow pointer interaction like tooltips and mouse
* events on null points.
*/
nullInteraction?: boolean;
/**
* (Highmaps) The opacity of all the links. Affects the opacity for the
* entire link, including stroke. See also fillOpacity, that affects the
* opacity of only the fill color.
*/
opacity?: number;
/**
* (Highmaps) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highmaps) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highmaps) Same as accessibility.series.descriptionFormatter, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highmaps) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highmaps) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highmaps) If set to `true`, the accessibility module will skip past the
* points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highmaps) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock, Highmaps) Sticky tracking of mouse events. When
* true, the `mouseOut` event on a series isn't triggered until the mouse
* moves over another series, or out of the plot area. When false, the
* `mouseOut` event on a series is triggered when the mouse leaves the area
* around the series' graph or markers. This also implies the tooltip. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock, Highmaps) A configuration object for the tooltip
* rendering of each single series. Properties are inherited from tooltip.
* Overridable properties are `headerFormat`, `pointFormat`, `yDecimals`,
* `xDateFormat`, `yPrefix` and `ySuffix`. Unlike other series, in a scatter
* plot the series.name by default shows in the headerFormat and point.x and
* point.y in the pointFormat.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highmaps) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highmaps) The weight for all links with unspecified weights. The weight
* of a link determines its thickness compared to other links.
*/
weight?: number;
/**
* (Highmaps) If no weight has previously been specified, this will set the
* width of all the links without being compared to and scaled according to
* other weights.
*/
width?: number;
/**
* (Highmaps) Define the z index of the series.
*/
zIndex?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotFunnel3dDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotFunnel3dOnPointConnectorOptions {
/**
* (Highcharts) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highcharts) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highcharts) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highcharts) Options allowing to set a position and an offset of the series
* in the _Series on point_ feature.
*/
export interface PlotFunnel3dOnPointPositionOptions {
/**
* (Highcharts) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highcharts) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highcharts) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highcharts) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highcharts) Point accessibility options for a series.
*/
export interface PlotFunnelAccessibilityPointOptions {
/**
* (Highcharts) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highcharts) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highcharts) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highcharts) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highcharts) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highcharts) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highcharts) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotFunnelOnPointConnectorOptions {
/**
* (Highcharts) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highcharts) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highcharts) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highcharts) Options allowing to set a position and an offset of the series
* in the _Series on point_ feature.
*/
export interface PlotFunnelOnPointPositionOptions {
/**
* (Highcharts) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highcharts) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highcharts) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highcharts) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Gantt) Point accessibility options for a series.
*/
export interface PlotGanttAccessibilityPointOptions {
/**
* (Gantt) Date format to use for points on datetime axes when describing
* them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Gantt) Formatter function to determine the date/time format used with
* points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Gantt) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Gantt) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Gantt) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Gantt) Decimals to use for the values in the point descriptions. Uses
* tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Gantt) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Gantt) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Gantt) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotGanttDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotGanttDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: (CSSObject|PlotGanttDataLabelsStyleOptions);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Gantt) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotGanttOnPointConnectorOptions {
/**
* (Gantt) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Gantt) Color of the connector line. By default it's the series' color.
*/
stroke?: string;
/**
* (Gantt) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Gantt) Options allowing to set a position and an offset of the series in the
* _Series on point_ feature.
*/
export interface PlotGanttOnPointPositionOptions {
/**
* (Gantt) Series center offset from the original x position. If defined,
* the connector line is drawn connecting original position with new
* position.
*/
offsetX?: number;
/**
* (Gantt) Series center offset from the original y position. If defined,
* the connector line is drawn from original position to a new position.
*/
offsetY?: number;
/**
* (Gantt) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Gantt) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Gantt) A partial fill for each point, typically used to visualize how much
* of a task is performed. See completed.
*/
export interface PlotGanttPartialFillOptions {
/**
* (Highcharts, Highstock, Gantt) The fill color to be used for partial
* fills. Defaults to a darker shade of the point color.
*/
fill?: (ColorString|GradientColorObject|PatternObject);
}
/**
* (Highcharts) Enable or disable the initial animation when a series is
* displayed for the `dataLabels`. The animation can also be set as a
* configuration object. Please note that this option only applies to the
* initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotGaugeDataLabelsAnimationOptions {
/**
* (Highcharts) The animation delay time in milliseconds. Set to `0` to
* render the data labels immediately. As `undefined` inherits defer time
* from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts) Options for the dial or arrow pointer of the gauge.
*
* In styled mode, the dial is styled with the `.highcharts-gauge-series
* .highcharts-dial` rule.
*/
export interface PlotGaugeDialOptions {
/**
* (Highcharts) The background or fill color of the gauge's dial.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) The length of the dial's base part, relative to the total
* radius or length of the dial.
*/
baseLength?: string;
/**
* (Highcharts) The pixel width of the base of the gauge dial. The base is
* the part closest to the pivot, defined by baseLength.
*/
baseWidth?: number;
/**
* (Highcharts) The border color or stroke of the gauge's dial. By default,
* the borderWidth is 0, so this must be set in addition to a custom border
* color.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) The width of the gauge dial border in pixels.
*/
borderWidth?: number;
/**
* (Highcharts) An array with an SVG path for the custom dial.
*/
path?: SVGPathArray;
/**
* (Highcharts) The radius or length of the dial, in percentages relative to
* the radius of the gauge itself.
*/
radius?: string;
/**
* (Highcharts) The length of the dial's rear end, the part that extends out
* on the other side of the pivot. Relative to the dial's length.
*/
rearLength?: string;
/**
* (Highcharts) The width of the top of the dial, closest to the perimeter.
* The pivot narrows in from the base to the top.
*/
topWidth?: number;
}
/**
* (Highcharts) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotGaugeOnPointOptions {
/**
* (Highcharts) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotGaugeOnPointConnectorOptions|SVGAttributes);
/**
* (Highcharts) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highcharts) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotGaugeOnPointPositionOptions);
}
/**
* (Highcharts) Gauges are circular plots displaying one or more values with a
* dial pointing to values along the perimeter.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `gauge` series are defined in plotOptions.gauge.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotGaugeOptions {
/**
* (Highcharts) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highcharts) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highcharts) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highcharts) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highcharts) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highcharts) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highcharts) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highcharts) Data labels for the gauge. For gauges, the data labels are
* enabled by default and shown in a bordered box below the point.
*/
dataLabels?: (PlotGaugeDataLabelsOptions|Array<PlotGaugeDataLabelsOptions>);
/**
* (Highcharts) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highcharts) Options for the dial or arrow pointer of the gauge.
*
* In styled mode, the dial is styled with the `.highcharts-gauge-series
* .highcharts-dial` rule.
*/
dial?: PlotGaugeDialOptions;
/**
* (Highcharts) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highcharts) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highcharts) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highcharts) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts) An array specifying which option maps to which key in the
* data point array. This makes it convenient to work with unstructured data
* arrays from different sources.
*/
keys?: Array<string>;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highcharts) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
* `stroke-linejoin` of a line graph. Round means that lines are rounded in
* the ends and bends.
*/
linecap?: SeriesLinecapValue;
/**
* (Highcharts, Highstock) Pixel width of the graph line.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The id of another series to link to.
* Additionally, the value can be ":previous" to link to the previous
* series. When two series are linked, only the first one appears in the
* legend. Toggling the visibility of this also toggles the linked series.
*
* If master series uses data sorting and linked series does not have its
* own sorting definition, the linked series will be sorted in the same
* order as the master one.
*/
linkedTo?: string;
/**
* (Highcharts) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotGaugeOnPointOptions);
/**
* (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highcharts) Allow the dial to overshoot the end of the perimeter axis by
* this many degrees. Say if the gauge axis goes from 0 to 60, a value of
* 100, or 1000, will show 5 degrees beyond the end of the axis when this
* option is set to 5.
*/
overshoot?: number;
/**
* (Highcharts) Options for the pivot or the center point of the gauge.
*
* In styled mode, the pivot is styled with the `.highcharts-gauge-series
* .highcharts-pivot` rule.
*/
pivot?: PlotGaugePivotOptions;
/**
* (Highcharts) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highcharts) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highcharts) Same as accessibility.series.descriptionFormatter, but for
* an individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock, Gantt) If no x values are given for the points in
* a series, `pointInterval` defines the interval of the x values. For
* example, if a series contains one value every decade starting from year
* 0, set `pointInterval` to `10`. In true `datetime` axes, the
* `pointInterval` is set in milliseconds.
*
* It can be also be combined with `pointIntervalUnit` to draw irregular
* time intervals.
*
* If combined with `relativeXValue`, an x value can be set on each point,
* and the `pointInterval` is added x times to the `pointStart` setting.
*
* Please note that this options applies to the _series data_, not the
* interval of the axis ticks, which is independent.
*/
pointInterval?: number;
/**
* (Highcharts, Highstock, Gantt) On datetime series, this allows for
* setting the pointInterval to irregular time units, `day`, `month` and
* `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
* also takes the DST crossover into consideration when dealing with local
* time. Combine this option with `pointInterval` to draw weeks, quarters, 6
* months, 10 years etc.
*
* Please note that this options applies to the _series data_, not the
* interval of the axis ticks, which is independent.
*/
pointIntervalUnit?: OptionsPointIntervalUnitValue;
/**
* (Highcharts, Highstock, Gantt) If no x values are given for the points in
* a series, pointStart defines on what value to start. For example, if a
* series contains one yearly value starting from 1945, set pointStart to
* 1945.
*
* If combined with `relativeXValue`, an x value can be set on each point.
* The x value from the point options is multiplied by `pointInterval` and
* added to `pointStart` to produce a modified x value.
*/
pointStart?: number;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highcharts) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highcharts) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highcharts) Whether to display this particular series or series type in
* the legend. Defaults to false for gauge series.
*/
showInLegend?: boolean;
/**
* (Highcharts) If set to `true`, the accessibility module will skip past
* the points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
/**
* (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts) When this option is `true`, the dial will wrap around the
* axes. For instance, in a full-range gauge going from 0 to 360, a value of
* 400 will point to 40\. When `wrap` is `false`, the dial stops at 360.
*/
wrap?: boolean;
}
/**
* (Highmaps) Point accessibility options for a series.
*/
export interface PlotGeoheatmapAccessibilityPointOptions {
/**
* (Highmaps) Date format to use for points on datetime axes when describing
* them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highmaps) Formatter function to determine the date/time format used with
* points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highmaps) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highmaps) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highmaps) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highmaps) Decimals to use for the values in the point descriptions. Uses
* tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highmaps) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highmaps) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highmaps) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotGeoheatmapDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotGeoheatmapDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highmaps) A `geoheatmap` series is a variety of heatmap series, composed
* into the map projection, where the units are expressed in the latitude and
* longitude, and individual values contained in a matrix are represented as
* colors.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `geoheatmap` series are defined in plotOptions.geoheatmap.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotGeoheatmapOptions {
/**
* (Highmaps) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highmaps) Whether the MapView takes this series into account when
* computing the default zoom and center of the map.
*/
affectsMapView?: boolean;
/**
* (Highmaps) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highmaps) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: boolean;
/**
* (Highmaps) For some series, there is a limit that shuts down animation by
* default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highmaps) The border color of the map areas.
*
* In styled mode, the border stroke is given in the `.highcharts-point`
* class.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highmaps) The border width of each geoheatmap tile.
*
* In styled mode, the border stroke width is given in the
* `.highcharts-point` class.
*/
borderWidth?: (number|null);
/**
* (Highmaps) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highmaps) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highmaps) The main color of the series. In heat maps this color is
* rarely used, as we mostly use the color to denote the value of each
* point. Unless options are set in the colorAxis, the default value is
* pulled from the options.colors array.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
* this number defines which colorAxis the particular series is connected
* to. It refers to either the axis id or the index of the axis in the
* colorAxis array, with 0 being the first. Set this option to false to
* prevent a series from connecting to the default color axis.
*
* Since v7.2.0 the option can also be an axis id or an axis index instead
* of a boolean flag.
*/
colorAxis?: (boolean|number|string);
/**
* (Highmaps) When using automatic point colors pulled from the global
* colors or series-specific plotOptions.map.colors collections, this option
* determines whether the chart should receive one color per series or one
* color per point.
*
* In styled mode, the `colors` or `series.colors` arrays are not supported,
* and instead this option gives the points individual color class names on
* the form `highcharts-color-{n}`.
*/
colorByPoint?: boolean;
/**
* (Highmaps) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highmaps) A series specific or series type specific color set to apply
* instead of the global colors when colorByPoint is true.
*/
colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
/**
* (Highmaps) The column size - how many longitude units each column in the
* geoheatmap should span.
*/
colsize?: number;
/**
* (Highmaps) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highmaps) A reserved subspace to store options and values for customized
* functionality. Here you can add additional data for your own event
* callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highmaps) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotGeoheatmapDataLabelsOptions|Array<PlotGeoheatmapDataLabelsOptions>);
/**
* (Highmaps) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highmaps) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highmaps) General event handlers for the series items. These event hooks
* can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highmaps) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highmaps) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highmaps) Make the geoheatmap render its data points as an interpolated
* image. It can be used to show a Temperature Map-like charts.
*/
interpolation?: (boolean|InterpolationOptionsObject|PlotGeoheatmapInterpolationOptions);
/**
* (Highmaps) An array specifying which option maps to which key in the data
* point array. This makes it convenient to work with unstructured data
* arrays from different sources.
*/
keys?: Array<string>;
/**
* (Highmaps) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highmaps) The color to apply to null points.
*
* In styled mode, the null point fill is set in the
* `.highcharts-null-point` class.
*/
nullColor?: string;
/**
* (Highmaps) Whether to allow pointer interaction like tooltips and mouse
* events on null points.
*/
nullInteraction?: boolean;
/**
* (Highmaps) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highmaps) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highmaps) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highmaps) Same as accessibility.series.descriptionFormatter, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highmaps) The rowsize size - how many latitude units each row in the
* geoheatmap should span.
*/
rowsize?: number;
/**
* (Highmaps) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highmaps) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highmaps) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highmaps) If set to `true`, the accessibility module will skip past the
* points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highmaps) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
stickyTracking?: boolean;
/**
* (Highcharts, Highstock, Highmaps) A configuration object for the tooltip
* rendering of each single series. Properties are inherited from tooltip.
* Overridable properties are `headerFormat`, `pointFormat`, `yDecimals`,
* `xDateFormat`, `yPrefix` and `ySuffix`. Unlike other series, in a scatter
* plot the series.name by default shows in the headerFormat and point.x and
* point.y in the pointFormat.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highmaps) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highmaps) Define the z index of the series.
*/
zIndex?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotHeatmapDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotHeatmapDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highcharts, Highmaps) Options for the _Series on point_ feature. Only `pie`
* and `sunburst` series are supported at this moment.
*/
export interface PlotHeatmapOnPointOptions {
/**
* (Highcharts, Highmaps) Options for the connector in the _Series on point_
* feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotHeatmapOnPointConnectorOptions|SVGAttributes);
/**
* (Highcharts, Highmaps) The `id` of the point that we connect the series
* to. Only points with a given `plotX` and `plotY` values and map points
* are valid.
*/
id?: string;
/**
* (Highcharts, Highmaps) Options allowing to set a position and an offset
* of the series in the _Series on point_ feature.
*/
position?: (object|PlotHeatmapOnPointPositionOptions);
}
/**
* (Highcharts, Highmaps) A heatmap is a graphical representation of data where
* the individual values contained in a matrix are represented as colors.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `heatmap` series are defined in plotOptions.heatmap.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotHeatmapOptions {
/**
* (Highcharts, Highmaps) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highmaps) Whether all areas of the map defined in `mapData` should be
* rendered. If `true`, areas which don't correspond to a data point, are
* rendered as `null` points. If `false`, those areas are skipped.
*/
allAreas?: boolean;
/**
* (Highcharts, Highmaps) Allow this series' points to be selected by
* clicking on the graphic (columns, point markers, pie slices, map areas
* etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highcharts, Highmaps) Animation is disabled by default on the heatmap
* series.
*/
animation?: boolean;
/**
* (Highcharts, Highmaps) Sets the color blending in the boost module.
*/
boostBlending?: OptionsBoostBlendingValue;
/**
* (Highcharts, Highmaps) Set the point threshold for when a series should
* enter boost mode.
*
* Setting it to e.g. 2000 will cause the series to enter boost mode when
* there are 2000 or more points in the series.
*
* To disable boosting on the series, set the `boostThreshold` to 0. Setting
* it to 1 will force boosting.
*
* Note that the cropThreshold also affects this setting. When zooming in on
* a series that has fewer points than the `cropThreshold`, all points are
* rendered although outside the visible plot area, and the `boostThreshold`
* won't take effect.
*/
boostThreshold?: number;
/**
* (Highmaps) The border color of the map areas.
*
* In styled mode, the border stroke is given in the `.highcharts-point`
* class.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highmaps) The border radius for each heatmap item. The
* border's color and width can be set in marker options.
*/
borderRadius?: number;
/**
* (Highmaps) The border width for each heatmap item.
*/
borderWidth?: number;
/**
* (Highcharts, Highmaps) An additional class name to apply to the series'
* graphical elements. This option does not replace default class names of
* the graphical element. Changes to the series' color will also be
* reflected in a chart's legend and tooltip.
*/
className?: string;
/**
* (Highcharts, Highmaps) Disable this option to allow series rendering in
* the whole plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highcharts) The main color of the series. In heat maps this color is
* rarely used, as we mostly use the color to denote the value of each
* point. Unless options are set in the colorAxis, the default value is
* pulled from the options.colors array.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
* this number defines which colorAxis the particular series is connected
* to. It refers to either the axis id or the index of the axis in the
* colorAxis array, with 0 being the first. Set this option to false to
* prevent a series from connecting to the default color axis.
*
* Since v7.2.0 the option can also be an axis id or an axis index instead
* of a boolean flag.
*/
colorAxis?: (boolean|number|string);
/**
* (Highcharts, Highmaps) Styled mode only. A specific color index to use
* for the series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highcharts, Highmaps) The column size - how many X axis units each
* column in the heatmap should span.
*/
colsize?: number;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highmaps) You can set the cursor to "pointer" if you have
* click events attached to the series, to signal to the user that the
* points and lines can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highcharts, Highmaps) A reserved subspace to store options and values
* for customized functionality. Here you can add additional data for your
* own event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotHeatmapDataLabelsOptions|Array<PlotHeatmapDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotHeatmapDataSortingOptions);
/**
* (Highcharts, Highmaps) A description of the series to add to the screen
* reader information about the series.
*/
description?: string;
/**
* (Highcharts, Highmaps) Enable or disable the mouse tracking for a
* specific series. This includes point tooltips and click events on graphs
* and points. For large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highcharts, Highmaps) General event handlers for the series items. These
* event hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highcharts, Highmaps) Highlight only the hovered point and fade the
* remaining points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highcharts, Highmaps) When set to `false` will prevent the series data
* from being included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highmaps) Make the heatmap render its data points as an
* interpolated image.
*/
interpolation?: boolean;
/**
* (Highmaps) What property to join the `mapData` to the value data. For
* example, if joinBy is "code", the mapData items with a specific code is
* merged into the data with the same code. For maps loaded from GeoJSON,
* the keys may be held in each point's `properties` object.
*
* The joinBy option can also be an array of two values, where the first
* points to a key in the `mapData`, and the second points to another key in
* the `data`.
*
* When joinBy is `null`, the map items are joined by their position in the
* array, which performs much better in maps with many data points. This is
* the recommended option if you are printing more than a thousand data
* points and have a backend that can preprocess the data into a parallel
* array of the mapData.
*/
joinBy?: (string|Array<string>);
/**
* (Highcharts, Highmaps) An array specifying which option maps to which key
* in the data point array. This makes it convenient to work with
* unstructured data arrays from different sources.
*/
keys?: Array<string>;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highcharts, Highmaps) What type of legend symbol to render for this
* series. Can be one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock, Gantt) The id of another series to link to.
* Additionally, the value can be ":previous" to link to the previous
* series. When two series are linked, only the first one appears in the
* legend. Toggling the visibility of this also toggles the linked series.
*
* If master series uses data sorting and linked series does not have its
* own sorting definition, the linked series will be sorted in the same
* order as the master one.
*/
linkedTo?: string;
/**
* (Highcharts, Highmaps) Options for the point markers of line and
* scatter-like series. Properties like `fillColor`, `lineColor` and
* `lineWidth` define the visual appearance of the markers. The `symbol`
* option defines the shape. Other series types, like column series, don't
* have markers, but have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highcharts, Highmaps) The color for the parts of the graph or points
* that are below the threshold. Note that `zones` takes precedence over the
* negative color. Using `negativeColor` is equivalent to applying a zone
* with value of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highmaps) The color applied to null points. In styled mode,
* a general CSS class is applied instead.
*/
nullColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highmaps) Options for the _Series on point_ feature. Only
* `pie` and `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotHeatmapOnPointOptions);
/**
* (Highcharts, Highmaps) Opacity of a series parts: line, fill (e.g. area)
* and dataLabels.
*/
opacity?: number;
/**
* (Highcharts, Highmaps) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highcharts, Highmaps) Same as accessibility.point.descriptionFormat, but
* for an individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highcharts, Highmaps) Same as accessibility.series.descriptionFormatter,
* but for an individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highmaps) Padding between the points in the heatmap.
*/
pointPadding?: number;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highcharts, Highmaps) The row size - how many Y axis units each heatmap
* row should span.
*/
rowsize?: number;
/**
* (Highcharts, Highmaps) Whether to select the series initially. If
* `showCheckbox` is true, the checkbox next to the series name in the
* legend will be checked for a selected series.
*/
selected?: boolean;
/**
* (Highcharts, Highmaps) If true, a checkbox is displayed next to the
* legend item to allow selecting the series. The state of the checkbox is
* determined by the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highcharts, Highmaps) Whether to display this particular series or
* series type in the legend. Standalone series are shown in legend by
* default, and linked series are not. Since v7.2.0 it is possible to show
* series that use colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highcharts, Highmaps) If set to `true`, the accessibility module will
* skip past the points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highmaps) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock, Highmaps) Sticky tracking of mouse events. When
* true, the `mouseOut` event on a series isn't triggered until the mouse
* moves over another series, or out of the plot area. When false, the
* `mouseOut` event on a series is triggered when the mouse leaves the area
* around the series' graph or markers. This also implies the tooltip. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock, Highmaps) A configuration object for the tooltip
* rendering of each single series. Properties are inherited from tooltip.
* Overridable properties are `headerFormat`, `pointFormat`, `yDecimals`,
* `xDateFormat`, `yPrefix` and `ySuffix`. Unlike other series, in a scatter
* plot the series.name by default shows in the headerFormat and point.x and
* point.y in the pointFormat.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highcharts, Highmaps) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highmaps) Define the z index of the series.
*/
zIndex?: number;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotHeikinashiDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotHeikinashiDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotHeikinashiOnPointOptions {
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotHeikinashiOnPointConnectorOptions|SVGAttributes);
/**
* (Highstock) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highstock) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotHeikinashiOnPointPositionOptions);
}
/**
* (Highstock) An HeikinAshi series is a style of financial chart used to
* describe price movements over time. It displays open, high, low and close
* values per data point.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `heikinashi` series are defined in plotOptions.heikinashi.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotHeikinashiOptions {
/**
* (Highstock) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highstock) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highstock) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highstock) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highstock) Sets the color blending in the boost module.
*/
boostBlending?: OptionsBoostBlendingValue;
/**
* (Highstock) Set the point threshold for when a series should enter boost
* mode.
*
* Setting it to e.g. 2000 will cause the series to enter boost mode when
* there are 2000 or more points in the series.
*
* To disable boosting on the series, set the `boostThreshold` to 0. Setting
* it to 1 will force boosting.
*
* Note that the cropThreshold also affects this setting. When zooming in on
* a series that has fewer points than the `cropThreshold`, all points are
* rendered although outside the visible plot area, and the `boostThreshold`
* won't take effect.
*/
boostThreshold?: number;
/**
* (Highcharts, Highstock, Gantt) When `true`, the columns will center in
* the category, ignoring null or missing points. When `false`, space will
* be reserved for null or missing points.
*/
centerInCategory?: boolean;
/**
* (Highstock) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highstock) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highstock) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
* this number defines which colorAxis the particular series is connected
* to. It refers to either the axis id or the index of the axis in the
* colorAxis array, with 0 being the first. Set this option to false to
* prevent a series from connecting to the default color axis.
*
* Since v7.2.0 the option can also be an axis id or an axis index instead
* of a boolean flag.
*/
colorAxis?: (boolean|number|string);
/**
* (Highcharts, Highstock, Gantt) When using automatic point colors pulled
* from the global colors or series-specific plotOptions.column.colors
* collections, this option determines whether the chart should receive one
* color per series or one color per point.
*
* In styled mode, the `colors` or `series.colors` arrays are not supported,
* and instead this option gives the points individual color class names on
* the form `highcharts-color-{n}`.
*/
colorByPoint?: boolean;
/**
* (Highstock) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highcharts, Highstock, Gantt) A series specific or series type specific
* color set to apply instead of the global colors when colorByPoint is
* true.
*/
colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
/**
* (Highstock) Compare the values of the series against the first non-null,
* non- zero value in the visible range. The y axis will show percentage or
* absolute change depending on whether `compare` is set to `"percent"` or
* `"value"`. When this is applied to multiple series, it allows comparing
* the development of the series against each other. Adds a `change` field
* to every point object.
*/
compare?: OptionsCompareValue;
/**
* (Highstock) When compare is `percent`, this option dictates whether to
* use 0 or 100 as the base of comparison.
*/
compareBase?: (0|100);
/**
* (Highstock) Defines if comparison should start from the first point
* within the visible range or should start from the first point **before**
* the range.
*
* In other words, this flag determines if first point within the visible
* range will have 0% (`compareStart=true`) or should have been already
* calculated according to the previous point (`compareStart=false`).
*/
compareStart?: boolean;
/**
* (Highcharts, Highstock, Gantt) When the series contains less points than
* the crop threshold, all points are drawn, event if the points fall
* outside the visible plot area at the current zoom. The advantage of
* drawing all points (including markers and columns), is that animation is
* performed on updates. On the other hand, when the series contains more
* points than the crop threshold, the series data is cropped to only
* contain points that fall within the plot area. The advantage of cropping
* away invisible points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highstock) Cumulative Sum feature replaces points' values with the
* following formula: `sum of all previous points' values + current point's
* value`. Works only for points in a visible range. Adds the
* `cumulativeSum` field to each point object that can be accessed e.g. in
* the tooltip.pointFormat.
*
* With `dataGrouping` enabled, default grouping approximation is set to
* `sum`.
*/
cumulative?: boolean;
/**
* (Highstock) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highstock) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highstock) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) Data grouping is the concept of sampling the data values into
* larger blocks in order to ease readability and increase performance of
* the JavaScript charts. Highcharts Stock by default applies data grouping
* when the points become closer than a certain pixel value, determined by
* the `groupPixelWidth` option.
*
* If data grouping is applied, the grouping information of grouped points
* can be read from the Point.dataGroup. If point options other than the
* data itself are set, for example `name` or `color` or custom properties,
* the grouping logic doesn't know how to group it. In this case the options
* of the first point instance are copied over to the group point. This can
* be altered through a custom `approximation` callback function.
*/
dataGrouping?: DataGroupingOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotHeikinashiDataLabelsOptions|Array<PlotHeikinashiDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotHeikinashiDataSortingOptions);
/**
* (Highstock) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highstock) The draggable-points module allows points to be moved around
* or modified in the chart. In addition to the options mentioned under the
* `dragDrop` API structure, the module fires three events, point.dragStart,
* point.drag and point.drop.
*/
dragDrop?: SeriesDragDropOptionsObject;
/**
* (Highstock) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highstock) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highstock) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
* let them render independent of each other. Non-grouped columns will be
* laid out individually and overlap each other.
*/
grouping?: boolean;
/**
* (Highcharts, Highstock, Gantt) Padding between each value groups, in x
* axis units.
*/
groupPadding?: number;
/**
* (Highstock) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highstock) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highstock) An array specifying which option maps to which key in the
* data point array. This makes it convenient to work with unstructured data
* arrays from different sources.
*/
keys?: Array<string>;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highstock) The line marks the last price from all points.
*/
lastPrice?: SeriesLastPriceOptionsObject;
/**
* (Highstock) The line marks the last price from visible range of points.
*/
lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
/**
* (Highstock) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highstock) The color of the line/border of the candlestick.
*
* In styled mode, the line stroke can be set with the
* `.highcharts-candlestick-series .highcahrts-point` rule.
*/
lineColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The pixel width of the candlestick line/border. Defaults to
* `1`.
*
* In styled mode, the line stroke width can be set with the
* `.highcharts-candlestick-series .highcahrts-point` rule.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The id of another series to link to.
* Additionally, the value can be ":previous" to link to the previous
* series. When two series are linked, only the first one appears in the
* legend. Toggling the visibility of this also toggles the linked series.
*
* If master series uses data sorting and linked series does not have its
* own sorting definition, the linked series will be sorted in the same
* order as the master one.
*/
linkedTo?: string;
/**
* (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
* column, translated to the height of a bar in a bar chart. This prevents
* the columns from becoming too wide when there is a small number of points
* in the chart.
*/
maxPointWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The minimal height for a column or width
* for a bar. By default, 0 values are not shown. To visualize a 0 (or close
* to zero) point, set the minimal point length to a pixel value like 3\. In
* stacked column charts, minPointLength might not be respected for tightly
* packed values.
*/
minPointLength?: number;
/**
* (Highstock) Options for the corresponding navigator series if
* `showInNavigator` is `true` for this series. Available options are the
* same as any series, documented at plotOptions and series.
*
* These options are merged with options in navigator.series, and will take
* precedence if the same option is defined both places.
*/
navigatorOptions?: PlotSeriesOptions;
/**
* (Highstock) The color for the parts of the graph or points that are below
* the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotHeikinashiOnPointOptions);
/**
* (Highstock) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highstock) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highstock) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highstock) Same as accessibility.series.descriptionFormatter, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock, Gantt) If no x values are given for the points in
* a series, `pointInterval` defines the interval of the x values. For
* example, if a series contains one value every decade starting from year
* 0, set `pointInterval` to `10`. In true `datetime` axes, the
* `pointInterval` is set in milliseconds.
*
* It can be also be combined with `pointIntervalUnit` to draw irregular
* time intervals.
*
* If combined with `relativeXValue`, an x value can be set on each point,
* and the `pointInterval` is added x times to the `pointStart` setting.
*
* Please note that this options applies to the _series data_, not the
* interval of the axis ticks, which is independent.
*/
pointInterval?: number;
/**
* (Highcharts, Highstock, Gantt) On datetime series, this allows for
* setting the pointInterval to irregular time units, `day`, `month` and
* `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
* also takes the DST crossover into consideration when dealing with local
* time. Combine this option with `pointInterval` to draw weeks, quarters, 6
* months, 10 years etc.
*
* Please note that this options applies to the _series data_, not the
* interval of the axis ticks, which is independent.
*/
pointIntervalUnit?: OptionsPointIntervalUnitValue;
/**
* (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
* axis units.
*/
pointPadding?: number;
/**
* (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
* `number`.
*
* In a column chart, when pointPlacement is `"on"`, the point will not
* create any padding of the X axis. In a polar column chart this means that
* the first column points directly north. If the pointPlacement is
* `"between"`, the columns will be laid out between ticks. This is useful
* for example for visualising an amount between two points in time or in a
* certain sector of a polar chart.
*
* Since Highcharts 3.0.2, the point placement can also be numeric, where 0
* is on the axis value, -0.5 is between this value and the previous, and
* 0.5 is between this value and the next. Unlike the textual options,
* numeric point placement options won't affect axis padding.
*
* Note that pointPlacement needs a pointRange to work. For column series
* this is computed, but for line-type series it needs to be set.
*
* For the `xrange` series type and gantt charts, if the Y axis is a
* category axis, the `pointPlacement` applies to the Y axis rather than the
* (typically datetime) X axis.
*
* Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
*/
pointPlacement?: (number|string);
/**
* (Highcharts, Highstock, Gantt) The X axis range that each point is valid
* for. This determines the width of the column. On a categorized axis, the
* range will be 1 by default (one category unit). On linear and datetime
* axes, the range will be computed as the distance between the two closest
* data points.
*
* The default `null` means it is computed automatically, but this option
* can be used to override the automatic value.
*
* This option is set by default to 1 if data sorting is enabled.
*/
pointRange?: (number|null);
/**
* (Highcharts, Highstock, Gantt) If no x values are given for the points in
* a series, pointStart defines on what value to start. For example, if a
* series contains one yearly value starting from 1945, set pointStart to
* 1945.
*
* If combined with `relativeXValue`, an x value can be set on each point.
* The x value from the point options is multiplied by `pointInterval` and
* added to `pointStart` to produce a modified x value.
*/
pointStart?: number;
/**
* (Highstock) Determines which one of `open`, `high`, `low`, `close` values
* should be represented as `point.y`, which is later used to set dataLabel
* position and compare.
*/
pointValKey?: OptionsPointValKeyValue;
/**
* (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
* each column or bar point. When set to `undefined`, the width is
* calculated from the `pointPadding` and `groupPadding`. The width effects
* the dimension that is not based on the point value. For column series it
* is the horizontal length and for bar series it is the vertical length.
*/
pointWidth?: number;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highstock) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highstock) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highstock) Whether or not to show the series in the navigator. Takes
* precedence over navigator.baseSeries if defined.
*/
showInNavigator?: boolean;
/**
* (Highstock) If set to `true`, the accessibility module will skip past the
* points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highstock) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highstock) The Y axis value to serve as the base for the columns, for
* distinguishing between values above and below a threshold. If `null`, the
* columns extend from the padding Y axis minimum.
*/
threshold?: (number|null);
/**
* (Highstock) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highstock) The fill color of the candlestick when values are rising.
*
* In styled mode, the up color can be set with the
* `.highcharts-candlestick-series .highcharts-point-up` rule.
*/
upColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The specific line color for up candle sticks. The default is
* to inherit the general `lineColor` setting.
*/
upLineColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotHistogramDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotHistogramDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highcharts) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotHistogramOnPointOptions {
/**
* (Highcharts) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotHistogramOnPointConnectorOptions|SVGAttributes);
/**
* (Highcharts) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highcharts) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotHistogramOnPointPositionOptions);
}
/**
* (Highcharts) A histogram is a column series which represents the distribution
* of the data set in the base series. Histogram splits data into bins and shows
* their frequencies.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `histogram` series are defined in plotOptions.histogram.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotHistogramOptions {
/**
* (Highcharts) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highcharts) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highcharts) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highcharts) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highcharts) A preferable number of bins. It is a suggestion, so a
* histogram may have a different number of bins. By default it is set to
* the square root of the base series' data length. Available options are:
* `square-root`, `sturges`, `rice`. You can also define a function which
* takes a `baseSeries` as a parameter and should return a positive integer.
*/
binsNumber?: ("rice"|"square-root"|"sturges"|number|Function);
/**
* (Highcharts) Width of each bin. By default the bin's width is calculated
* as `(max - min) / number of bins`. This option takes precedence over
* binsNumber.
*/
binWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The color of the border surrounding each
* column or bar.
*
* In styled mode, the border stroke can be set with the `.highcharts-point`
* rule.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Gantt) The corner radius of the border
* surrounding each column or bar. A number signifies pixels. A percentage
* string, like for example `50%`, signifies a relative size. For columns
* this is relative to the column width, for pies it is relative to the
* radius and the inner radius.
*/
borderRadius?: (number|string|BorderRadiusOptionsObject);
/**
* (Highcharts, Highstock, Gantt) The width of the border surrounding each
* column or bar. Defaults to `1` when there is room for a border, but to
* `0` when the columns are so dense that a border would cover the next
* column.
*
* In styled mode, the stroke width can be set with the `.highcharts-point`
* rule.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Gantt) When `true`, the columns will center in
* the category, ignoring null or missing points. When `false`, space will
* be reserved for null or missing points.
*/
centerInCategory?: boolean;
/**
* (Highcharts) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highcharts) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highcharts) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
* this number defines which colorAxis the particular series is connected
* to. It refers to either the axis id or the index of the axis in the
* colorAxis array, with 0 being the first. Set this option to false to
* prevent a series from connecting to the default color axis.
*
* Since v7.2.0 the option can also be an axis id or an axis index instead
* of a boolean flag.
*/
colorAxis?: (boolean|number|string);
/**
* (Highcharts, Highstock, Gantt) When using automatic point colors pulled
* from the global colors or series-specific plotOptions.column.colors
* collections, this option determines whether the chart should receive one
* color per series or one color per point.
*
* In styled mode, the `colors` or `series.colors` arrays are not supported,
* and instead this option gives the points individual color class names on
* the form `highcharts-color-{n}`.
*/
colorByPoint?: boolean;
/**
* (Highcharts) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highcharts, Highstock, Gantt) A series specific or series type specific
* color set to apply instead of the global colors when colorByPoint is
* true.
*/
colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highstock, Gantt) When the series contains less points than
* the crop threshold, all points are drawn, event if the points fall
* outside the visible plot area at the current zoom. The advantage of
* drawing all points (including markers and columns), is that animation is
* performed on updates. On the other hand, when the series contains more
* points than the crop threshold, the series data is cropped to only
* contain points that fall within the plot area. The advantage of cropping
* away invisible points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highcharts) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highcharts) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highcharts) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotHistogramDataLabelsOptions|Array<PlotHistogramDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotHistogramDataSortingOptions);
/**
* (Highcharts) Depth of the columns in a 3D column chart.
*/
depth?: number;
/**
* (Highcharts) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highcharts) 3D columns only. The color of the edges. Similar to
* `borderColor`, except it defaults to the same color as the column.
*/
edgeColor?: ColorString;
/**
* (Highcharts) 3D columns only. The width of the colored edges.
*/
edgeWidth?: number;
/**
* (Highcharts) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highcharts) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highcharts) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
* let them render independent of each other. Non-grouped columns will be
* laid out individually and overlap each other.
*/
grouping?: boolean;
/**
* (Highcharts, Highstock, Gantt) Padding between each value groups, in x
* axis units.
*/
groupPadding?: number;
/**
* (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
*/
groupZPadding?: number;
/**
* (Highcharts) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highcharts) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts) An array specifying which option maps to which key in the
* data point array. This makes it convenient to work with unstructured data
* arrays from different sources.
*/
keys?: Array<string>;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highcharts) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock, Gantt) The id of another series to link to.
* Additionally, the value can be ":previous" to link to the previous
* series. When two series are linked, only the first one appears in the
* legend. Toggling the visibility of this also toggles the linked series.
*
* If master series uses data sorting and linked series does not have its
* own sorting definition, the linked series will be sorted in the same
* order as the master one.
*/
linkedTo?: string;
/**
* (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
* column, translated to the height of a bar in a bar chart. This prevents
* the columns from becoming too wide when there is a small number of points
* in the chart.
*/
maxPointWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The minimal height for a column or width
* for a bar. By default, 0 values are not shown. To visualize a 0 (or close
* to zero) point, set the minimal point length to a pixel value like 3\. In
* stacked column charts, minPointLength might not be respected for tightly
* packed values.
*/
minPointLength?: number;
/**
* (Highcharts) The color for the parts of the graph or points that are
* below the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotHistogramOnPointOptions);
/**
* (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highcharts) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highcharts) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highcharts) Same as accessibility.series.descriptionFormatter, but for
* an individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
* axis units.
*/
pointPadding?: number;
/**
* (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
* `number`.
*
* In a column chart, when pointPlacement is `"on"`, the point will not
* create any padding of the X axis. In a polar column chart this means that
* the first column points directly north. If the pointPlacement is
* `"between"`, the columns will be laid out between ticks. This is useful
* for example for visualising an amount between two points in time or in a
* certain sector of a polar chart.
*
* Since Highcharts 3.0.2, the point placement can also be numeric, where 0
* is on the axis value, -0.5 is between this value and the previous, and
* 0.5 is between this value and the next. Unlike the textual options,
* numeric point placement options won't affect axis padding.
*
* Note that pointPlacement needs a pointRange to work. For column series
* this is computed, but for line-type series it needs to be set.
*
* For the `xrange` series type and gantt charts, if the Y axis is a
* category axis, the `pointPlacement` applies to the Y axis rather than the
* (typically datetime) X axis.
*
* Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
*/
pointPlacement?: string;
/**
* (Highcharts, Highstock, Gantt) The X axis range that each point is valid
* for. This determines the width of the column. On a categorized axis, the
* range will be 1 by default (one category unit). On linear and datetime
* axes, the range will be computed as the distance between the two closest
* data points.
*
* The default `null` means it is computed automatically, but this option
* can be used to override the automatic value.
*
* This option is set by default to 1 if data sorting is enabled.
*/
pointRange?: (number|null);
/**
* (Highcharts, Highstock, Gantt) If no x values are given for the points in
* a series, pointStart defines on what value to start. For example, if a
* series contains one yearly value starting from 1945, set pointStart to
* 1945.
*
* If combined with `relativeXValue`, an x value can be set on each point.
* The x value from the point options is multiplied by `pointInterval` and
* added to `pointStart` to produce a modified x value.
*/
pointStart?: number;
/**
* (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
* each column or bar point. When set to `undefined`, the width is
* calculated from the `pointPadding` and `groupPadding`. The width effects
* the dimension that is not based on the point value. For column series it
* is the horizontal length and for bar series it is the vertical length.
*/
pointWidth?: number;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highcharts) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highcharts) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highcharts) If set to `true`, the accessibility module will skip past
* the points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highcharts) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts) The Y axis value to serve as the base for the columns, for
* distinguishing between values above and below a threshold. If `null`, the
* columns extend from the padding Y axis minimum.
*/
threshold?: (number|null);
/**
* (Highcharts) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highcharts) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotHlcDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotHlcDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotHlcOnPointOptions {
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotHlcOnPointConnectorOptions|SVGAttributes);
/**
* (Highstock) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highstock) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotHlcOnPointPositionOptions);
}
/**
* (Highstock) An HLC chart is a style of financial chart used to describe price
* movements over time. It displays high, low and close values per data point.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `hlc` series are defined in plotOptions.hlc.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotHlcOptions {
/**
* (Highstock) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highstock) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highstock) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highstock) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highstock) Sets the color blending in the boost module.
*/
boostBlending?: OptionsBoostBlendingValue;
/**
* (Highstock) Set the point threshold for when a series should enter boost
* mode.
*
* Setting it to e.g. 2000 will cause the series to enter boost mode when
* there are 2000 or more points in the series.
*
* To disable boosting on the series, set the `boostThreshold` to 0. Setting
* it to 1 will force boosting.
*
* Note that the cropThreshold also affects this setting. When zooming in on
* a series that has fewer points than the `cropThreshold`, all points are
* rendered although outside the visible plot area, and the `boostThreshold`
* won't take effect.
*/
boostThreshold?: number;
/**
* (Highcharts, Highstock, Gantt) When `true`, the columns will center in
* the category, ignoring null or missing points. When `false`, space will
* be reserved for null or missing points.
*/
centerInCategory?: boolean;
/**
* (Highstock) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highstock) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highstock) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
* this number defines which colorAxis the particular series is connected
* to. It refers to either the axis id or the index of the axis in the
* colorAxis array, with 0 being the first. Set this option to false to
* prevent a series from connecting to the default color axis.
*
* Since v7.2.0 the option can also be an axis id or an axis index instead
* of a boolean flag.
*/
colorAxis?: (boolean|number|string);
/**
* (Highcharts, Highstock, Gantt) When using automatic point colors pulled
* from the global colors or series-specific plotOptions.column.colors
* collections, this option determines whether the chart should receive one
* color per series or one color per point.
*
* In styled mode, the `colors` or `series.colors` arrays are not supported,
* and instead this option gives the points individual color class names on
* the form `highcharts-color-{n}`.
*/
colorByPoint?: boolean;
/**
* (Highstock) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highcharts, Highstock, Gantt) A series specific or series type specific
* color set to apply instead of the global colors when colorByPoint is
* true.
*/
colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
/**
* (Highstock) Compare the values of the series against the first non-null,
* non- zero value in the visible range. The y axis will show percentage or
* absolute change depending on whether `compare` is set to `"percent"` or
* `"value"`. When this is applied to multiple series, it allows comparing
* the development of the series against each other. Adds a `change` field
* to every point object.
*/
compare?: OptionsCompareValue;
/**
* (Highstock) When compare is `percent`, this option dictates whether to
* use 0 or 100 as the base of comparison.
*/
compareBase?: (0|100);
/**
* (Highstock) Defines if comparison should start from the first point
* within the visible range or should start from the first point **before**
* the range.
*
* In other words, this flag determines if first point within the visible
* range will have 0% (`compareStart=true`) or should have been already
* calculated according to the previous point (`compareStart=false`).
*/
compareStart?: boolean;
/**
* (Highcharts, Highstock, Gantt) When the series contains less points than
* the crop threshold, all points are drawn, event if the points fall
* outside the visible plot area at the current zoom. The advantage of
* drawing all points (including markers and columns), is that animation is
* performed on updates. On the other hand, when the series contains more
* points than the crop threshold, the series data is cropped to only
* contain points that fall within the plot area. The advantage of cropping
* away invisible points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highstock) Cumulative Sum feature replaces points' values with the
* following formula: `sum of all previous points' values + current point's
* value`. Works only for points in a visible range. Adds the
* `cumulativeSum` field to each point object that can be accessed e.g. in
* the tooltip.pointFormat.
*
* With `dataGrouping` enabled, default grouping approximation is set to
* `sum`.
*/
cumulative?: boolean;
/**
* (Highstock) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highstock) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highstock) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) Data grouping is the concept of sampling the data values into
* larger blocks in order to ease readability and increase performance of
* the JavaScript charts. Highcharts Stock by default applies data grouping
* when the points become closer than a certain pixel value, determined by
* the `groupPixelWidth` option.
*
* If data grouping is applied, the grouping information of grouped points
* can be read from the Point.dataGroup. If point options other than the
* data itself are set, for example `name` or `color` or custom properties,
* the grouping logic doesn't know how to group it. In this case the options
* of the first point instance are copied over to the group point. This can
* be altered through a custom `approximation` callback function.
*/
dataGrouping?: DataGroupingOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotHlcDataLabelsOptions|Array<PlotHlcDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotHlcDataSortingOptions);
/**
* (Highstock) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highstock) The draggable-points module allows points to be moved around
* or modified in the chart. In addition to the options mentioned under the
* `dragDrop` API structure, the module fires three events, point.dragStart,
* point.drag and point.drop.
*/
dragDrop?: SeriesDragDropOptionsObject;
/**
* (Highstock) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highstock) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highstock) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
* let them render independent of each other. Non-grouped columns will be
* laid out individually and overlap each other.
*/
grouping?: boolean;
/**
* (Highcharts, Highstock, Gantt) Padding between each value groups, in x
* axis units.
*/
groupPadding?: number;
/**
* (Highstock) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highstock) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highstock) An array specifying which option maps to which key in the
* data point array. This makes it convenient to work with unstructured data
* arrays from different sources.
*/
keys?: Array<string>;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highstock) The line marks the last price from all points.
*/
lastPrice?: SeriesLastPriceOptionsObject;
/**
* (Highstock) The line marks the last price from visible range of points.
*/
lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
/**
* (Highstock) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highstock) The pixel width of the line/border. Defaults to `1`.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The id of another series to link to.
* Additionally, the value can be ":previous" to link to the previous
* series. When two series are linked, only the first one appears in the
* legend. Toggling the visibility of this also toggles the linked series.
*
* If master series uses data sorting and linked series does not have its
* own sorting definition, the linked series will be sorted in the same
* order as the master one.
*/
linkedTo?: string;
/**
* (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
* column, translated to the height of a bar in a bar chart. This prevents
* the columns from becoming too wide when there is a small number of points
* in the chart.
*/
maxPointWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The minimal height for a column or width
* for a bar. By default, 0 values are not shown. To visualize a 0 (or close
* to zero) point, set the minimal point length to a pixel value like 3\. In
* stacked column charts, minPointLength might not be respected for tightly
* packed values.
*/
minPointLength?: number;
/**
* (Highstock) Options for the corresponding navigator series if
* `showInNavigator` is `true` for this series. Available options are the
* same as any series, documented at plotOptions and series.
*
* These options are merged with options in navigator.series, and will take
* precedence if the same option is defined both places.
*/
navigatorOptions?: PlotSeriesOptions;
/**
* (Highstock) The color for the parts of the graph or points that are below
* the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotHlcOnPointOptions);
/**
* (Highstock) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highstock) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highstock) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highstock) Same as accessibility.series.descriptionFormatter, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock, Gantt) If no x values are given for the points in
* a series, `pointInterval` defines the interval of the x values. For
* example, if a series contains one value every decade starting from year
* 0, set `pointInterval` to `10`. In true `datetime` axes, the
* `pointInterval` is set in milliseconds.
*
* It can be also be combined with `pointIntervalUnit` to draw irregular
* time intervals.
*
* If combined with `relativeXValue`, an x value can be set on each point,
* and the `pointInterval` is added x times to the `pointStart` setting.
*
* Please note that this options applies to the _series data_, not the
* interval of the axis ticks, which is independent.
*/
pointInterval?: number;
/**
* (Highcharts, Highstock, Gantt) On datetime series, this allows for
* setting the pointInterval to irregular time units, `day`, `month` and
* `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
* also takes the DST crossover into consideration when dealing with local
* time. Combine this option with `pointInterval` to draw weeks, quarters, 6
* months, 10 years etc.
*
* Please note that this options applies to the _series data_, not the
* interval of the axis ticks, which is independent.
*/
pointIntervalUnit?: OptionsPointIntervalUnitValue;
/**
* (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
* axis units.
*/
pointPadding?: number;
/**
* (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
* `number`.
*
* In a column chart, when pointPlacement is `"on"`, the point will not
* create any padding of the X axis. In a polar column chart this means that
* the first column points directly north. If the pointPlacement is
* `"between"`, the columns will be laid out between ticks. This is useful
* for example for visualising an amount between two points in time or in a
* certain sector of a polar chart.
*
* Since Highcharts 3.0.2, the point placement can also be numeric, where 0
* is on the axis value, -0.5 is between this value and the previous, and
* 0.5 is between this value and the next. Unlike the textual options,
* numeric point placement options won't affect axis padding.
*
* Note that pointPlacement needs a pointRange to work. For column series
* this is computed, but for line-type series it needs to be set.
*
* For the `xrange` series type and gantt charts, if the Y axis is a
* category axis, the `pointPlacement` applies to the Y axis rather than the
* (typically datetime) X axis.
*
* Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
*/
pointPlacement?: (number|string);
/**
* (Highcharts, Highstock, Gantt) The X axis range that each point is valid
* for. This determines the width of the column. On a categorized axis, the
* range will be 1 by default (one category unit). On linear and datetime
* axes, the range will be computed as the distance between the two closest
* data points.
*
* The default `null` means it is computed automatically, but this option
* can be used to override the automatic value.
*
* This option is set by default to 1 if data sorting is enabled.
*/
pointRange?: (number|null);
/**
* (Highcharts, Highstock, Gantt) If no x values are given for the points in
* a series, pointStart defines on what value to start. For example, if a
* series contains one yearly value starting from 1945, set pointStart to
* 1945.
*
* If combined with `relativeXValue`, an x value can be set on each point.
* The x value from the point options is multiplied by `pointInterval` and
* added to `pointStart` to produce a modified x value.
*/
pointStart?: number;
/**
* (Highstock) Determines which one of `high`, `low`, `close` values should
* be represented as `point.y`, which is later used to set dataLabel
* position and compare.
*/
pointValKey?: OptionsHLCPointValKeyValue;
/**
* (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
* each column or bar point. When set to `undefined`, the width is
* calculated from the `pointPadding` and `groupPadding`. The width effects
* the dimension that is not based on the point value. For column series it
* is the horizontal length and for bar series it is the vertical length.
*/
pointWidth?: number;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highstock) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highstock) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highstock) Whether or not to show the series in the navigator. Takes
* precedence over navigator.baseSeries if defined.
*/
showInNavigator?: boolean;
/**
* (Highstock) If set to `true`, the accessibility module will skip past the
* points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highstock) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highstock) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highstock) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotHollowcandlestickDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotHollowcandlestickDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotHollowcandlestickOnPointOptions {
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotHollowcandlestickOnPointConnectorOptions|SVGAttributes);
/**
* (Highstock) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highstock) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotHollowcandlestickOnPointPositionOptions);
}
/**
* (Highstock) A hollow candlestick chart is a style of financial chart used to
* describe price movements over time.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `hollowcandlestick` series are defined in
* plotOptions.hollowcandlestick.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotHollowcandlestickOptions {
/**
* (Highstock) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highstock) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highstock) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highstock) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highstock) Sets the color blending in the boost module.
*/
boostBlending?: OptionsBoostBlendingValue;
/**
* (Highstock) Set the point threshold for when a series should enter boost
* mode.
*
* Setting it to e.g. 2000 will cause the series to enter boost mode when
* there are 2000 or more points in the series.
*
* To disable boosting on the series, set the `boostThreshold` to 0. Setting
* it to 1 will force boosting.
*
* Note that the cropThreshold also affects this setting. When zooming in on
* a series that has fewer points than the `cropThreshold`, all points are
* rendered although outside the visible plot area, and the `boostThreshold`
* won't take effect.
*/
boostThreshold?: number;
/**
* (Highcharts, Highstock, Gantt) When `true`, the columns will center in
* the category, ignoring null or missing points. When `false`, space will
* be reserved for null or missing points.
*/
centerInCategory?: boolean;
/**
* (Highstock) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highstock) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highstock) The fill color of the candlestick when the current close is
* lower than the previous one.
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
* this number defines which colorAxis the particular series is connected
* to. It refers to either the axis id or the index of the axis in the
* colorAxis array, with 0 being the first. Set this option to false to
* prevent a series from connecting to the default color axis.
*
* Since v7.2.0 the option can also be an axis id or an axis index instead
* of a boolean flag.
*/
colorAxis?: (boolean|number|string);
/**
* (Highcharts, Highstock, Gantt) When using automatic point colors pulled
* from the global colors or series-specific plotOptions.column.colors
* collections, this option determines whether the chart should receive one
* color per series or one color per point.
*
* In styled mode, the `colors` or `series.colors` arrays are not supported,
* and instead this option gives the points individual color class names on
* the form `highcharts-color-{n}`.
*/
colorByPoint?: boolean;
/**
* (Highstock) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highcharts, Highstock, Gantt) A series specific or series type specific
* color set to apply instead of the global colors when colorByPoint is
* true.
*/
colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
/**
* (Highstock) Compare the values of the series against the first non-null,
* non- zero value in the visible range. The y axis will show percentage or
* absolute change depending on whether `compare` is set to `"percent"` or
* `"value"`. When this is applied to multiple series, it allows comparing
* the development of the series against each other. Adds a `change` field
* to every point object.
*/
compare?: OptionsCompareValue;
/**
* (Highstock) When compare is `percent`, this option dictates whether to
* use 0 or 100 as the base of comparison.
*/
compareBase?: (0|100);
/**
* (Highstock) Defines if comparison should start from the first point
* within the visible range or should start from the first point **before**
* the range.
*
* In other words, this flag determines if first point within the visible
* range will have 0% (`compareStart=true`) or should have been already
* calculated according to the previous point (`compareStart=false`).
*/
compareStart?: boolean;
/**
* (Highcharts, Highstock, Gantt) When the series contains less points than
* the crop threshold, all points are drawn, event if the points fall
* outside the visible plot area at the current zoom. The advantage of
* drawing all points (including markers and columns), is that animation is
* performed on updates. On the other hand, when the series contains more
* points than the crop threshold, the series data is cropped to only
* contain points that fall within the plot area. The advantage of cropping
* away invisible points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highstock) Cumulative Sum feature replaces points' values with the
* following formula: `sum of all previous points' values + current point's
* value`. Works only for points in a visible range. Adds the
* `cumulativeSum` field to each point object that can be accessed e.g. in
* the tooltip.pointFormat.
*
* With `dataGrouping` enabled, default grouping approximation is set to
* `sum`.
*/
cumulative?: boolean;
/**
* (Highstock) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highstock) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highstock) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) Data grouping is the concept of sampling the data values into
* larger blocks in order to ease readability and increase performance of
* the JavaScript charts. Highcharts Stock by default applies data grouping
* when the points become closer than a certain pixel value, determined by
* the `groupPixelWidth` option.
*
* If data grouping is applied, the grouping information of grouped points
* can be read from the Point.dataGroup. If point options other than the
* data itself are set, for example `name` or `color` or custom properties,
* the grouping logic doesn't know how to group it. In this case the options
* of the first point instance are copied over to the group point. This can
* be altered through a custom `approximation` callback function.
*/
dataGrouping?: DataGroupingOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotHollowcandlestickDataLabelsOptions|Array<PlotHollowcandlestickDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotHollowcandlestickDataSortingOptions);
/**
* (Highstock) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highstock) The draggable-points module allows points to be moved around
* or modified in the chart. In addition to the options mentioned under the
* `dragDrop` API structure, the module fires three events, point.dragStart,
* point.drag and point.drop.
*/
dragDrop?: SeriesDragDropOptionsObject;
/**
* (Highstock) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highstock) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highstock) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
* let them render independent of each other. Non-grouped columns will be
* laid out individually and overlap each other.
*/
grouping?: boolean;
/**
* (Highcharts, Highstock, Gantt) Padding between each value groups, in x
* axis units.
*/
groupPadding?: number;
/**
* (Highstock) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highstock) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highstock) An array specifying which option maps to which key in the
* data point array. This makes it convenient to work with unstructured data
* arrays from different sources.
*/
keys?: Array<string>;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highstock) The line marks the last price from all points.
*/
lastPrice?: SeriesLastPriceOptionsObject;
/**
* (Highstock) The line marks the last price from visible range of points.
*/
lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
/**
* (Highstock) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highstock) The color of the line/border of the hollow candlestick when
* the current close is lower than the previous one.
*/
lineColor?: ColorType;
/**
* (Highstock) The pixel width of the candlestick line/border. Defaults to
* `1`.
*
* In styled mode, the line stroke width can be set with the
* `.highcharts-candlestick-series .highcahrts-point` rule.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The id of another series to link to.
* Additionally, the value can be ":previous" to link to the previous
* series. When two series are linked, only the first one appears in the
* legend. Toggling the visibility of this also toggles the linked series.
*
* If master series uses data sorting and linked series does not have its
* own sorting definition, the linked series will be sorted in the same
* order as the master one.
*/
linkedTo?: string;
/**
* (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
* column, translated to the height of a bar in a bar chart. This prevents
* the columns from becoming too wide when there is a small number of points
* in the chart.
*/
maxPointWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The minimal height for a column or width
* for a bar. By default, 0 values are not shown. To visualize a 0 (or close
* to zero) point, set the minimal point length to a pixel value like 3\. In
* stacked column charts, minPointLength might not be respected for tightly
* packed values.
*/
minPointLength?: number;
/**
* (Highstock) Options for the corresponding navigator series if
* `showInNavigator` is `true` for this series. Available options are the
* same as any series, documented at plotOptions and series.
*
* These options are merged with options in navigator.series, and will take
* precedence if the same option is defined both places.
*/
navigatorOptions?: PlotSeriesOptions;
/**
* (Highstock) The color for the parts of the graph or points that are below
* the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotHollowcandlestickOnPointOptions);
/**
* (Highstock) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highstock) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highstock) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highstock) Same as accessibility.series.descriptionFormatter, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock, Gantt) If no x values are given for the points in
* a series, `pointInterval` defines the interval of the x values. For
* example, if a series contains one value every decade starting from year
* 0, set `pointInterval` to `10`. In true `datetime` axes, the
* `pointInterval` is set in milliseconds.
*
* It can be also be combined with `pointIntervalUnit` to draw irregular
* time intervals.
*
* If combined with `relativeXValue`, an x value can be set on each point,
* and the `pointInterval` is added x times to the `pointStart` setting.
*
* Please note that this options applies to the _series data_, not the
* interval of the axis ticks, which is independent.
*/
pointInterval?: number;
/**
* (Highcharts, Highstock, Gantt) On datetime series, this allows for
* setting the pointInterval to irregular time units, `day`, `month` and
* `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
* also takes the DST crossover into consideration when dealing with local
* time. Combine this option with `pointInterval` to draw weeks, quarters, 6
* months, 10 years etc.
*
* Please note that this options applies to the _series data_, not the
* interval of the axis ticks, which is independent.
*/
pointIntervalUnit?: OptionsPointIntervalUnitValue;
/**
* (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
* axis units.
*/
pointPadding?: number;
/**
* (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
* `number`.
*
* In a column chart, when pointPlacement is `"on"`, the point will not
* create any padding of the X axis. In a polar column chart this means that
* the first column points directly north. If the pointPlacement is
* `"between"`, the columns will be laid out between ticks. This is useful
* for example for visualising an amount between two points in time or in a
* certain sector of a polar chart.
*
* Since Highcharts 3.0.2, the point placement can also be numeric, where 0
* is on the axis value, -0.5 is between this value and the previous, and
* 0.5 is between this value and the next. Unlike the textual options,
* numeric point placement options won't affect axis padding.
*
* Note that pointPlacement needs a pointRange to work. For column series
* this is computed, but for line-type series it needs to be set.
*
* For the `xrange` series type and gantt charts, if the Y axis is a
* category axis, the `pointPlacement` applies to the Y axis rather than the
* (typically datetime) X axis.
*
* Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
*/
pointPlacement?: (number|string);
/**
* (Highcharts, Highstock, Gantt) The X axis range that each point is valid
* for. This determines the width of the column. On a categorized axis, the
* range will be 1 by default (one category unit). On linear and datetime
* axes, the range will be computed as the distance between the two closest
* data points.
*
* The default `null` means it is computed automatically, but this option
* can be used to override the automatic value.
*
* This option is set by default to 1 if data sorting is enabled.
*/
pointRange?: (number|null);
/**
* (Highcharts, Highstock, Gantt) If no x values are given for the points in
* a series, pointStart defines on what value to start. For example, if a
* series contains one yearly value starting from 1945, set pointStart to
* 1945.
*
* If combined with `relativeXValue`, an x value can be set on each point.
* The x value from the point options is multiplied by `pointInterval` and
* added to `pointStart` to produce a modified x value.
*/
pointStart?: number;
/**
* (Highstock) Determines which one of `open`, `high`, `low`, `close` values
* should be represented as `point.y`, which is later used to set dataLabel
* position and compare.
*/
pointValKey?: OptionsPointValKeyValue;
/**
* (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
* each column or bar point. When set to `undefined`, the width is
* calculated from the `pointPadding` and `groupPadding`. The width effects
* the dimension that is not based on the point value. For column series it
* is the horizontal length and for bar series it is the vertical length.
*/
pointWidth?: number;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highstock) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highstock) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highstock) Whether or not to show the series in the navigator. Takes
* precedence over navigator.baseSeries if defined.
*/
showInNavigator?: boolean;
/**
* (Highstock) If set to `true`, the accessibility module will skip past the
* points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highstock) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highstock) The Y axis value to serve as the base for the columns, for
* distinguishing between values above and below a threshold. If `null`, the
* columns extend from the padding Y axis minimum.
*/
threshold?: (number|null);
/**
* (Highstock) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highstock) The fill color of the candlestick when the current close is
* higher than the previous one.
*/
upColor?: ColorType;
/**
* (Highstock) The color of the line/border of the hollow candlestick when
* the current close is higher than the previous one.
*/
upLineColor?: ColorType;
/**
* (Highstock) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highstock) The styles for Chikou line
*/
export interface PlotIkhChikouLineOptions {
styles?: PlotIkhChikouLineStylesOptions;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotIkhDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotIkhDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
export interface PlotIkhKijunLineStylesOptions {
/**
* (Highstock) Color of the line.
*/
lineColor?: ColorString;
/**
* (Highstock) Pixel width of the line.
*/
lineWidth?: number;
}
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotIkhOnPointOptions {
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotIkhOnPointConnectorOptions|SVGAttributes);
/**
* (Highstock) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highstock) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotIkhOnPointPositionOptions);
}
/**
* (Highstock) Ichimoku Kinko Hyo (IKH). This series requires `linkedTo` option
* to be set.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `ikh` series are defined in plotOptions.ikh.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotIkhOptions {
/**
* (Highstock) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highstock) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highstock) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highstock) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highstock) Sets the color blending in the boost module.
*/
boostBlending?: OptionsBoostBlendingValue;
/**
* (Highstock) Set the point threshold for when a series should enter boost
* mode.
*
* Setting it to e.g. 2000 will cause the series to enter boost mode when
* there are 2000 or more points in the series.
*
* To disable boosting on the series, set the `boostThreshold` to 0. Setting
* it to 1 will force boosting.
*
* Note that the cropThreshold also affects this setting. When zooming in on
* a series that has fewer points than the `cropThreshold`, all points are
* rendered although outside the visible plot area, and the `boostThreshold`
* won't take effect.
*/
boostThreshold?: number;
/**
* (Highstock) The styles for Chikou line
*/
chikouLine?: PlotIkhChikouLineOptions;
/**
* (Highstock) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highstock) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highstock) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highstock) Defines if comparison should start from the first point
* within the visible range or should start from the first point **before**
* the range.
*
* In other words, this flag determines if first point within the visible
* range will have 0% (`compareStart=true`) or should have been already
* calculated according to the previous point (`compareStart=false`).
*/
compareStart?: boolean;
/**
* (Highstock) Whether to compare indicator to the main series values or
* indicator values.
*/
compareToMain?: boolean;
/**
* (Highcharts, Highstock) Whether to connect a graph line across null
* points, or render a gap between the two points on either side of the
* null.
*
* In stacked area chart, if `connectNulls` is set to true, null points are
* interpreted as 0.
*/
connectNulls?: boolean;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highstock) When the series contains less points than the
* crop threshold, all points are drawn, even if the points fall outside the
* visible plot area at the current zoom. The advantage of drawing all
* points (including markers and columns), is that animation is performed on
* updates. On the other hand, when the series contains more points than the
* crop threshold, the series data is cropped to only contain points that
* fall within the plot area. The advantage of cropping away invisible
* points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highstock) Cumulative Sum feature replaces points' values with the
* following formula: `sum of all previous points' values + current point's
* value`. Works only for points in a visible range. Adds the
* `cumulativeSum` field to each point object that can be accessed e.g. in
* the tooltip.pointFormat.
*
* With `dataGrouping` enabled, default grouping approximation is set to
* `sum`.
*/
cumulative?: boolean;
/**
* (Highstock) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highstock) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highstock) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) Data grouping is the concept of sampling the data values into
* larger blocks in order to ease readability and increase performance of
* the JavaScript charts. Highcharts Stock by default applies data grouping
* when the points become closer than a certain pixel value, determined by
* the `groupPixelWidth` option.
*
* If data grouping is applied, the grouping information of grouped points
* can be read from the Point.dataGroup. If point options other than the
* data itself are set, for example `name` or `color` or custom properties,
* the grouping logic doesn't know how to group it. In this case the options
* of the first point instance are copied over to the group point. This can
* be altered through a custom `approximation` callback function.
*/
dataGrouping?: DataGroupingOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotIkhDataLabelsOptions|Array<PlotIkhDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotIkhDataSortingOptions);
/**
* (Highstock) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highstock) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highstock) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highstock) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highstock) Defines when to display a gap in the graph, together with the
* gapUnit option.
*
* In case when `dataGrouping` is enabled, points can be grouped into a
* larger time span. This can make the grouped points to have a greater
* distance than the absolute value of `gapSize` property, which will result
* in disappearing graph completely. To prevent this situation the mentioned
* distance between grouped points is used instead of previously defined
* `gapSize`.
*
* In practice, this option is most often used to visualize gaps in time
* series. In a stock chart, intraday data is available for daytime hours,
* while gaps will appear in nights and weekends.
*/
gapSize?: number;
/**
* (Highstock) Together with gapSize, this option defines where to draw gaps
* in the graph.
*
* When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
* if the distance between two points is greater than 5 times that of the
* two closest points, the graph will be broken.
*
* When the `gapUnit` is `"value"`, the gap is based on absolute axis
* values, which on a datetime axis is milliseconds. This also applies to
* the navigator series that inherits gap options from the base series.
*/
gapUnit?: OptionsGapUnitValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highstock) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highstock) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highstock) The styles for Kijun line
*/
kijunLine?: PlotIkhKijunLineOptions;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highstock) The line marks the last price from all points.
*/
lastPrice?: SeriesLastPriceOptionsObject;
/**
* (Highstock) The line marks the last price from visible range of points.
*/
lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
/**
* (Highstock) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
* `stroke-linejoin` of a line graph. Round means that lines are rounded in
* the ends and bends.
*/
linecap?: SeriesLinecapValue;
/**
* (Highcharts, Highstock) Pixel width of the graph line.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The main series ID that indicator will be
* based on. Required for this indicator.
*/
linkedTo?: string;
/**
* (Highstock) Options for the point markers of line and scatter-like
* series. Properties like `fillColor`, `lineColor` and `lineWidth` define
* the visual appearance of the markers. The `symbol` option defines the
* shape. Other series types, like column series, don't have markers, but
* have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highstock) The name of the series as shown in the legend, tooltip etc.
* If not set, it will be based on a technical indicator type and default
* params.
*/
name?: string;
/**
* (Highstock) The color for the parts of the graph or points that are below
* the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotIkhOnPointOptions);
/**
* (Highstock) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
params?: PlotIkhParamsOptions;
/**
* (Highstock) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highstock) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highstock) Same as accessibility.series.descriptionFormatter, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highstock) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highstock) The styles for area between Senkou Span A and B.
*/
senkouSpan?: PlotIkhSenkouSpanOptions;
/**
* (Highstock) The styles for Senkou Span A line
*/
senkouSpanA?: PlotIkhSenkouSpanAOptions;
/**
* (Highstock) The styles for Senkou Span B line
*/
senkouSpanB?: PlotIkhSenkouSpanBOptions;
/**
* (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highstock) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highstock) If set to `true`, the accessibility module will skip past the
* points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highstock) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock) Whether to apply steps to the line. Possible
* values are `left`, `center` and `right`.
*/
step?: OptionsStepValue;
/**
* (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highstock) The styles for Tenkan line
*/
tenkanLine?: PlotIkhTenkanLineOptions;
/**
* (Highcharts, Highstock) The threshold, also called zero level or base
* level. For line type series this is only used in conjunction with
* negativeColor.
*/
threshold?: (number|null);
/**
* (Highstock) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highstock) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highstock) The styles for Senkou Span A line
*/
export interface PlotIkhSenkouSpanAOptions {
styles?: PlotIkhSenkouSpanAStylesOptions;
}
/**
* (Highstock) The styles for Senkou Span B line
*/
export interface PlotIkhSenkouSpanBOptions {
styles?: PlotIkhSenkouSpanBStylesOptions;
}
/**
* (Highstock) The styles for area between Senkou Span A and B.
*/
export interface PlotIkhSenkouSpanOptions {
/**
* (Highstock) Color of the area between Senkou Span A and B, when Senkou
* Span A is above Senkou Span B. Note that if a `style.fill` is defined,
* the `color` takes precedence and the `style.fill` is ignored.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Color of the area between Senkou Span A and B, when Senkou
* Span A is under Senkou Span B.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
}
export interface PlotIkhTenkanLineStylesOptions {
/**
* (Highstock) Color of the line.
*/
lineColor?: ColorString;
/**
* (Highstock) Pixel width of the line.
*/
lineWidth?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotItemDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotItemOnPointOptions {
/**
* (Highcharts) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotItemOnPointConnectorOptions|SVGAttributes);
/**
* (Highcharts) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highcharts) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotItemOnPointPositionOptions);
}
/**
* (Highcharts) An item chart is an infographic chart where a number of items
* are laid out in either a rectangular or circular pattern. It can be used to
* visualize counts within a group, or for the circular pattern, typically a
* parliament.
*
* The circular layout has much in common with a pie chart. Many of the item
* series options, like `center`, `size` and data label positioning, are
* inherited from the pie series and don't apply for rectangular layouts.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `item` series are defined in plotOptions.item.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotItemOptions {
/**
* (Highcharts) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highcharts) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highcharts) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highcharts) The corner radius of the border surrounding each slice. A
* number signifies pixels. A percentage string, like for example `50%`,
* signifies a size relative to the radius and the inner radius.
*/
borderRadius?: (number|string|BorderRadiusOptionsObject);
/**
* (Highcharts, Highmaps) The center of the pie chart relative to the plot
* area. Can be percentages or pixel values. The default behaviour (as of
* 3.0) is to center the pie so that all slices and data labels are within
* the plot area. As a consequence, the pie may actually jump around in a
* chart with dynamic values, as the data labels move. In that case, the
* center should be explicitly set, for example to `["50%", "50%"]`.
*/
center?: [(number|string|null), (number|string|null)];
/**
* (Highcharts) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highcharts) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highcharts) The color of the pie series. A pie series is represented as
* an empty circle if the total sum of its values is 0. Use this property to
* define the color of its border.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
* this number defines which colorAxis the particular series is connected
* to. It refers to either the axis id or the index of the axis in the
* colorAxis array, with 0 being the first. Set this option to false to
* prevent a series from connecting to the default color axis.
*
* Since v7.2.0 the option can also be an axis id or an axis index instead
* of a boolean flag.
*/
colorAxis?: (boolean|number|string);
/**
* (Highcharts) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highcharts, Highmaps) A series specific or series type specific color
* set to use instead of the global colors.
*/
colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highcharts) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (SeriesPieDataLabelsOptionsObject|Array<SeriesPieDataLabelsOptionsObject>);
/**
* (Highcharts) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highcharts) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highcharts, Highmaps) In circular view, the end angle of the item
* layout, in degrees where 0 is up.
*/
endAngle?: (number|undefined);
/**
* (Highcharts) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highcharts) If the total sum of the pie's values is 0, the series is
* represented as an empty circle . The `fillColor` option defines the color
* of that circle. Use pie.borderWidth to set the border thickness.
*/
fillColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highmaps) Equivalent to chart.ignoreHiddenSeries, this
* option tells whether the series shall be redrawn as if the hidden point
* were `null`.
*
* The default value changed from `false` to `true` with Highcharts 3.0.
*/
ignoreHiddenPoint?: boolean;
/**
* (Highcharts) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highcharts) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highmaps) In circular view, the size of the inner diameter
* of the circle. Can be a percentage or pixel value. Percentages are
* relative to the outer perimeter. Pixel values are given as integers.
*
* If the `rows` option is set, it overrides the `innerSize` setting.
*/
innerSize?: (number|string);
/**
* (Highcharts) The padding between the items, given in relative size where
* the size of the item is 1.
*/
itemPadding?: number;
/**
* (Highcharts) An array specifying which option maps to which key in the
* data point array. This makes it convenient to work with unstructured data
* arrays from different sources.
*/
keys?: Array<string>;
/**
* (Highcharts) The layout of the items in rectangular view. Can be either
* `horizontal` or `vertical`.
*/
layout?: string;
/**
* (Highcharts) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts) Options for the point markers of line and scatter-like
* series. Properties like `fillColor`, `lineColor` and `lineWidth` define
* the visual appearance of the markers. The `symbol` option defines the
* shape. Other series types, like column series, don't have markers, but
* have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highcharts, Highmaps) The minimum size for a pie in response to auto
* margins. The pie will try to shrink to make room for data labels in side
* the plot area, but only to this size.
*/
minSize?: (number|string);
/**
* (Highcharts) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotItemOnPointOptions);
/**
* (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highcharts) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highcharts) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highcharts) Same as accessibility.series.descriptionFormatter, but for
* an individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highcharts) The number of rows to display in the rectangular or circular
* view. If the `innerSize` is set, it will be overridden by the `rows`
* setting.
*/
rows?: number;
/**
* (Highcharts) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highcharts) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highcharts, Highmaps) Whether to display this particular series or
* series type in the legend. Since 2.1, pies are not shown in the legend by
* default.
*/
showInLegend?: boolean;
/**
* (Highcharts, Highmaps) The diameter of the pie relative to the plot area.
* Can be a percentage or pixel value. Pixel values are given as integers.
* The default behaviour (as of 3.0) is to scale to the plot area and give
* room for data labels within the plot area. slicedOffset is also included
* in the default size calculation. As a consequence, the size of the pie
* may vary when points are updated and data labels more around. In that
* case it is best to set a fixed value, for example `"75%"`.
*/
size?: (number|string|null);
/**
* (Highcharts) If set to `true`, the accessibility module will skip past
* the points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
/**
* (Highcharts, Highmaps) In circular view, the start angle of the item
* layout, in degrees where 0 is up.
*/
startAngle?: (number|undefined);
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highmaps) Sticky tracking of mouse events. When true, the
* `mouseOut` event on a series isn't triggered until the mouse moves over
* another series, or out of the plot area. When false, the `mouseOut` event
* on a series is triggered when the mouse leaves the area around the
* series' graph or markers. This also implies the tooltip. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series.
*/
stickyTracking?: boolean;
/**
* (Highcharts) Thickness describing the ring size for a donut type chart,
* overriding innerSize.
*/
thickness?: number;
/**
* (Highcharts) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts) Set the initial visibility of the series.
*/
visible?: boolean;
}
/**
* (Highstock) Bottom line options.
*/
export interface PlotKeltnerchannelsBottomLineOptions {
/**
* (Highstock) Styles for a bottom line.
*/
styles?: PlotKeltnerchannelsBottomLineStylesOptions;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotKeltnerchannelsDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotKeltnerchannelsDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotKeltnerchannelsOnPointOptions {
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotKeltnerchannelsOnPointConnectorOptions|SVGAttributes);
/**
* (Highstock) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highstock) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotKeltnerchannelsOnPointPositionOptions);
}
/**
* (Highstock) Keltner Channels. This series requires the `linkedTo` option to
* be set and should be loaded after the `stock/indicators/indicators.js`,
* `stock/indicators/atr.js`, and `stock/ema/.js`.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `keltnerchannels` series are defined in
* plotOptions.keltnerchannels.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotKeltnerchannelsOptions {
/**
* (Highstock) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highstock) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highstock) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highstock) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highstock) Sets the color blending in the boost module.
*/
boostBlending?: OptionsBoostBlendingValue;
/**
* (Highstock) Set the point threshold for when a series should enter boost
* mode.
*
* Setting it to e.g. 2000 will cause the series to enter boost mode when
* there are 2000 or more points in the series.
*
* To disable boosting on the series, set the `boostThreshold` to 0. Setting
* it to 1 will force boosting.
*
* Note that the cropThreshold also affects this setting. When zooming in on
* a series that has fewer points than the `cropThreshold`, all points are
* rendered although outside the visible plot area, and the `boostThreshold`
* won't take effect.
*/
boostThreshold?: number;
/**
* (Highstock) Bottom line options.
*/
bottomLine?: PlotKeltnerchannelsBottomLineOptions;
/**
* (Highstock) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highstock) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highstock) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highstock) Defines if comparison should start from the first point
* within the visible range or should start from the first point **before**
* the range.
*
* In other words, this flag determines if first point within the visible
* range will have 0% (`compareStart=true`) or should have been already
* calculated according to the previous point (`compareStart=false`).
*/
compareStart?: boolean;
/**
* (Highstock) Whether to compare indicator to the main series values or
* indicator values.
*/
compareToMain?: boolean;
/**
* (Highcharts, Highstock) Whether to connect a graph line across null
* points, or render a gap between the two points on either side of the
* null.
*
* In stacked area chart, if `connectNulls` is set to true, null points are
* interpreted as 0.
*/
connectNulls?: boolean;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highstock) When the series contains less points than the
* crop threshold, all points are drawn, even if the points fall outside the
* visible plot area at the current zoom. The advantage of drawing all
* points (including markers and columns), is that animation is performed on
* updates. On the other hand, when the series contains more points than the
* crop threshold, the series data is cropped to only contain points that
* fall within the plot area. The advantage of cropping away invisible
* points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highstock) Cumulative Sum feature replaces points' values with the
* following formula: `sum of all previous points' values + current point's
* value`. Works only for points in a visible range. Adds the
* `cumulativeSum` field to each point object that can be accessed e.g. in
* the tooltip.pointFormat.
*
* With `dataGrouping` enabled, default grouping approximation is set to
* `sum`.
*/
cumulative?: boolean;
/**
* (Highstock) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highstock) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highstock) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) Data grouping is the concept of sampling the data values into
* larger blocks in order to ease readability and increase performance of
* the JavaScript charts. Highcharts Stock by default applies data grouping
* when the points become closer than a certain pixel value, determined by
* the `groupPixelWidth` option.
*
* If data grouping is applied, the grouping information of grouped points
* can be read from the Point.dataGroup. If point options other than the
* data itself are set, for example `name` or `color` or custom properties,
* the grouping logic doesn't know how to group it. In this case the options
* of the first point instance are copied over to the group point. This can
* be altered through a custom `approximation` callback function.
*/
dataGrouping?: DataGroupingOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotKeltnerchannelsDataLabelsOptions|Array<PlotKeltnerchannelsDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotKeltnerchannelsDataSortingOptions);
/**
* (Highstock) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highstock) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highstock) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highstock) Option for fill color between lines in Keltner Channels
* Indicator.
*/
fillColor?: Color;
/**
* (Highstock) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highstock) Defines when to display a gap in the graph, together with the
* gapUnit option.
*
* In case when `dataGrouping` is enabled, points can be grouped into a
* larger time span. This can make the grouped points to have a greater
* distance than the absolute value of `gapSize` property, which will result
* in disappearing graph completely. To prevent this situation the mentioned
* distance between grouped points is used instead of previously defined
* `gapSize`.
*
* In practice, this option is most often used to visualize gaps in time
* series. In a stock chart, intraday data is available for daytime hours,
* while gaps will appear in nights and weekends.
*/
gapSize?: number;
/**
* (Highstock) Together with gapSize, this option defines where to draw gaps
* in the graph.
*
* When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
* if the distance between two points is greater than 5 times that of the
* two closest points, the graph will be broken.
*
* When the `gapUnit` is `"value"`, the gap is based on absolute axis
* values, which on a datetime axis is milliseconds. This also applies to
* the navigator series that inherits gap options from the base series.
*/
gapUnit?: OptionsGapUnitValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highstock) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highstock) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highstock) The line marks the last price from all points.
*/
lastPrice?: SeriesLastPriceOptionsObject;
/**
* (Highstock) The line marks the last price from visible range of points.
*/
lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
/**
* (Highstock) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
* `stroke-linejoin` of a line graph. Round means that lines are rounded in
* the ends and bends.
*/
linecap?: SeriesLinecapValue;
/**
* (Highcharts, Highstock) Pixel width of the graph line.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The main series ID that indicator will be
* based on. Required for this indicator.
*/
linkedTo?: string;
/**
* (Highstock) Options for the point markers of line and scatter-like
* series. Properties like `fillColor`, `lineColor` and `lineWidth` define
* the visual appearance of the markers. The `symbol` option defines the
* shape. Other series types, like column series, don't have markers, but
* have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highstock) The name of the series as shown in the legend, tooltip etc.
* If not set, it will be based on a technical indicator type and default
* params.
*/
name?: string;
/**
* (Highstock) The color for the parts of the graph or points that are below
* the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotKeltnerchannelsOnPointOptions);
/**
* (Highstock) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
params?: PlotKeltnerchannelsParamsOptions;
/**
* (Highstock) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highstock) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highstock) Same as accessibility.series.descriptionFormatter, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highstock) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highstock) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highstock) If set to `true`, the accessibility module will skip past the
* points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highstock) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock) Whether to apply steps to the line. Possible
* values are `left`, `center` and `right`.
*/
step?: OptionsStepValue;
/**
* (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock) The threshold, also called zero level or base
* level. For line type series this is only used in conjunction with
* negativeColor.
*/
threshold?: (number|null);
/**
* (Highstock) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highstock) Top line options.
*/
topLine?: PlotKeltnerchannelsTopLineOptions;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highstock) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highstock) Top line options.
*/
export interface PlotKeltnerchannelsTopLineOptions {
/**
* (Highstock) Styles for a bottom line.
*/
styles?: PlotKeltnerchannelsTopLineStylesOptions;
}
/**
* (Highstock) Point accessibility options for a series.
*/
export interface PlotKlingerAccessibilityPointOptions {
/**
* (Highstock) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highstock) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highstock) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highstock) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highstock) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highstock) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highstock) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotKlingerDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotKlingerDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: (VerticalAlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotKlingerOnPointConnectorOptions {
/**
* (Highstock) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highstock) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highstock) Options allowing to set a position and an offset of the series in
* the _Series on point_ feature.
*/
export interface PlotKlingerOnPointPositionOptions {
/**
* (Highstock) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highstock) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highstock) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highstock) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Parameters used in calculation of Klinger Oscillator.
*/
export interface PlotKlingerParamsOptions {
/**
* (Highstock) The fast period for indicator calculations.
*/
fastAvgPeriod?: number;
/**
* (Highstock) The base period for signal calculations.
*/
signalPeriod?: number;
/**
* (Highstock) The slow period for indicator calculations.
*/
slowAvgPeriod?: number;
/**
* (Highstock) The id of another series to use its data as volume data for
* the indiator calculation.
*/
volumeSeriesID?: string;
}
/**
* (Highstock) Styles for a signal line.
*/
export interface PlotKlingerSignalLineStylesOptions {
/**
* (Highstock) Color of the line. If not set, it's inherited from
* plotOptions.klinger.color.
*/
lineColor?: ColorString;
/**
* (Highstock) Pixel width of the line.
*/
lineWidth?: number;
}
/**
* (Highstock) Point accessibility options for a series.
*/
export interface PlotLinearregressionAccessibilityPointOptions {
/**
* (Highstock) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highstock) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highstock) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highstock) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highstock) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highstock) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highstock) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotLinearregressionangleDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotLinearregressionangleDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotLinearregressionangleOnPointOptions {
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotLinearregressionangleOnPointConnectorOptions|SVGAttributes);
/**
* (Highstock) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highstock) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotLinearregressionangleOnPointPositionOptions);
}
/**
* (Highstock) Linear regression angle indicator. This series requires
* `linkedTo` option to be set.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `linearregressionangle` series are defined in
* plotOptions.linearregressionangle.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotLinearregressionangleOptions {
/**
* (Highstock) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highstock) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highstock) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highstock) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highstock) Sets the color blending in the boost module.
*/
boostBlending?: OptionsBoostBlendingValue;
/**
* (Highstock) Set the point threshold for when a series should enter boost
* mode.
*
* Setting it to e.g. 2000 will cause the series to enter boost mode when
* there are 2000 or more points in the series.
*
* To disable boosting on the series, set the `boostThreshold` to 0. Setting
* it to 1 will force boosting.
*
* Note that the cropThreshold also affects this setting. When zooming in on
* a series that has fewer points than the `cropThreshold`, all points are
* rendered although outside the visible plot area, and the `boostThreshold`
* won't take effect.
*/
boostThreshold?: number;
/**
* (Highstock) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highstock) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highstock) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highstock) Compare the values of the series against the first non-null,
* non- zero value in the visible range. The y axis will show percentage or
* absolute change depending on whether `compare` is set to `"percent"` or
* `"value"`. When this is applied to multiple series, it allows comparing
* the development of the series against each other. Adds a `change` field
* to every point object.
*/
compare?: OptionsCompareValue;
/**
* (Highstock) When compare is `percent`, this option dictates whether to
* use 0 or 100 as the base of comparison.
*/
compareBase?: (0|100);
/**
* (Highstock) Defines if comparison should start from the first point
* within the visible range or should start from the first point **before**
* the range.
*
* In other words, this flag determines if first point within the visible
* range will have 0% (`compareStart=true`) or should have been already
* calculated according to the previous point (`compareStart=false`).
*/
compareStart?: boolean;
/**
* (Highstock) Whether to compare indicator to the main series values or
* indicator values.
*/
compareToMain?: boolean;
/**
* (Highcharts, Highstock) Whether to connect a graph line across null
* points, or render a gap between the two points on either side of the
* null.
*
* In stacked area chart, if `connectNulls` is set to true, null points are
* interpreted as 0.
*/
connectNulls?: boolean;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highstock) When the series contains less points than the
* crop threshold, all points are drawn, even if the points fall outside the
* visible plot area at the current zoom. The advantage of drawing all
* points (including markers and columns), is that animation is performed on
* updates. On the other hand, when the series contains more points than the
* crop threshold, the series data is cropped to only contain points that
* fall within the plot area. The advantage of cropping away invisible
* points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highstock) Cumulative Sum feature replaces points' values with the
* following formula: `sum of all previous points' values + current point's
* value`. Works only for points in a visible range. Adds the
* `cumulativeSum` field to each point object that can be accessed e.g. in
* the tooltip.pointFormat.
*
* With `dataGrouping` enabled, default grouping approximation is set to
* `sum`.
*/
cumulative?: boolean;
/**
* (Highstock) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highstock) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highstock) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) Data grouping is the concept of sampling the data values into
* larger blocks in order to ease readability and increase performance of
* the JavaScript charts. Highcharts Stock by default applies data grouping
* when the points become closer than a certain pixel value, determined by
* the `groupPixelWidth` option.
*
* If data grouping is applied, the grouping information of grouped points
* can be read from the Point.dataGroup. If point options other than the
* data itself are set, for example `name` or `color` or custom properties,
* the grouping logic doesn't know how to group it. In this case the options
* of the first point instance are copied over to the group point. This can
* be altered through a custom `approximation` callback function.
*/
dataGrouping?: DataGroupingOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotLinearregressionangleDataLabelsOptions|Array<PlotLinearregressionangleDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotLinearregressionangleDataSortingOptions);
/**
* (Highstock) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highstock) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highstock) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highstock) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highstock) Defines when to display a gap in the graph, together with the
* gapUnit option.
*
* In case when `dataGrouping` is enabled, points can be grouped into a
* larger time span. This can make the grouped points to have a greater
* distance than the absolute value of `gapSize` property, which will result
* in disappearing graph completely. To prevent this situation the mentioned
* distance between grouped points is used instead of previously defined
* `gapSize`.
*
* In practice, this option is most often used to visualize gaps in time
* series. In a stock chart, intraday data is available for daytime hours,
* while gaps will appear in nights and weekends.
*/
gapSize?: number;
/**
* (Highstock) Together with gapSize, this option defines where to draw gaps
* in the graph.
*
* When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
* if the distance between two points is greater than 5 times that of the
* two closest points, the graph will be broken.
*
* When the `gapUnit` is `"value"`, the gap is based on absolute axis
* values, which on a datetime axis is milliseconds. This also applies to
* the navigator series that inherits gap options from the base series.
*/
gapUnit?: OptionsGapUnitValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highstock) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highstock) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highstock) The line marks the last price from all points.
*/
lastPrice?: SeriesLastPriceOptionsObject;
/**
* (Highstock) The line marks the last price from visible range of points.
*/
lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
/**
* (Highstock) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
* `stroke-linejoin` of a line graph. Round means that lines are rounded in
* the ends and bends.
*/
linecap?: SeriesLinecapValue;
/**
* (Highcharts, Highstock) Pixel width of the graph line.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The main series ID that indicator will be
* based on. Required for this indicator.
*/
linkedTo?: string;
/**
* (Highstock) Options for the point markers of line and scatter-like
* series. Properties like `fillColor`, `lineColor` and `lineWidth` define
* the visual appearance of the markers. The `symbol` option defines the
* shape. Other series types, like column series, don't have markers, but
* have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highstock) The name of the series as shown in the legend, tooltip etc.
* If not set, it will be based on a technical indicator type and default
* params.
*/
name?: string;
/**
* (Highstock) The color for the parts of the graph or points that are below
* the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotLinearregressionangleOnPointOptions);
/**
* (Highstock) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
params?: PlotLinearregressionangleParamsOptions;
/**
* (Highstock) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highstock) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highstock) Same as accessibility.series.descriptionFormatter, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highstock) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highstock) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highstock) If set to `true`, the accessibility module will skip past the
* points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highstock) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock) Whether to apply steps to the line. Possible
* values are `left`, `center` and `right`.
*/
step?: OptionsStepValue;
/**
* (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock) The threshold, also called zero level or base
* level. For line type series this is only used in conjunction with
* negativeColor.
*/
threshold?: (number|null);
/**
* (Highstock) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highstock) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotLinearregressionDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotLinearregressionDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotLinearregressioninterceptDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotLinearregressioninterceptDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotLinearregressioninterceptOnPointOptions {
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotLinearregressioninterceptOnPointConnectorOptions|SVGAttributes);
/**
* (Highstock) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highstock) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotLinearregressioninterceptOnPointPositionOptions);
}
/**
* (Highstock) Linear regression intercept indicator. This series requires
* `linkedTo` option to be set.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `linearregressionintercept` series are defined in
* plotOptions.linearregressionintercept.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotLinearregressioninterceptOptions {
/**
* (Highstock) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highstock) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highstock) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highstock) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highstock) Sets the color blending in the boost module.
*/
boostBlending?: OptionsBoostBlendingValue;
/**
* (Highstock) Set the point threshold for when a series should enter boost
* mode.
*
* Setting it to e.g. 2000 will cause the series to enter boost mode when
* there are 2000 or more points in the series.
*
* To disable boosting on the series, set the `boostThreshold` to 0. Setting
* it to 1 will force boosting.
*
* Note that the cropThreshold also affects this setting. When zooming in on
* a series that has fewer points than the `cropThreshold`, all points are
* rendered although outside the visible plot area, and the `boostThreshold`
* won't take effect.
*/
boostThreshold?: number;
/**
* (Highstock) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highstock) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highstock) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highstock) Compare the values of the series against the first non-null,
* non- zero value in the visible range. The y axis will show percentage or
* absolute change depending on whether `compare` is set to `"percent"` or
* `"value"`. When this is applied to multiple series, it allows comparing
* the development of the series against each other. Adds a `change` field
* to every point object.
*/
compare?: OptionsCompareValue;
/**
* (Highstock) When compare is `percent`, this option dictates whether to
* use 0 or 100 as the base of comparison.
*/
compareBase?: (0|100);
/**
* (Highstock) Defines if comparison should start from the first point
* within the visible range or should start from the first point **before**
* the range.
*
* In other words, this flag determines if first point within the visible
* range will have 0% (`compareStart=true`) or should have been already
* calculated according to the previous point (`compareStart=false`).
*/
compareStart?: boolean;
/**
* (Highstock) Whether to compare indicator to the main series values or
* indicator values.
*/
compareToMain?: boolean;
/**
* (Highcharts, Highstock) Whether to connect a graph line across null
* points, or render a gap between the two points on either side of the
* null.
*
* In stacked area chart, if `connectNulls` is set to true, null points are
* interpreted as 0.
*/
connectNulls?: boolean;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highstock) When the series contains less points than the
* crop threshold, all points are drawn, even if the points fall outside the
* visible plot area at the current zoom. The advantage of drawing all
* points (including markers and columns), is that animation is performed on
* updates. On the other hand, when the series contains more points than the
* crop threshold, the series data is cropped to only contain points that
* fall within the plot area. The advantage of cropping away invisible
* points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highstock) Cumulative Sum feature replaces points' values with the
* following formula: `sum of all previous points' values + current point's
* value`. Works only for points in a visible range. Adds the
* `cumulativeSum` field to each point object that can be accessed e.g. in
* the tooltip.pointFormat.
*
* With `dataGrouping` enabled, default grouping approximation is set to
* `sum`.
*/
cumulative?: boolean;
/**
* (Highstock) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highstock) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highstock) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) Data grouping is the concept of sampling the data values into
* larger blocks in order to ease readability and increase performance of
* the JavaScript charts. Highcharts Stock by default applies data grouping
* when the points become closer than a certain pixel value, determined by
* the `groupPixelWidth` option.
*
* If data grouping is applied, the grouping information of grouped points
* can be read from the Point.dataGroup. If point options other than the
* data itself are set, for example `name` or `color` or custom properties,
* the grouping logic doesn't know how to group it. In this case the options
* of the first point instance are copied over to the group point. This can
* be altered through a custom `approximation` callback function.
*/
dataGrouping?: DataGroupingOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotLinearregressioninterceptDataLabelsOptions|Array<PlotLinearregressioninterceptDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotLinearregressioninterceptDataSortingOptions);
/**
* (Highstock) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highstock) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highstock) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highstock) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highstock) Defines when to display a gap in the graph, together with the
* gapUnit option.
*
* In case when `dataGrouping` is enabled, points can be grouped into a
* larger time span. This can make the grouped points to have a greater
* distance than the absolute value of `gapSize` property, which will result
* in disappearing graph completely. To prevent this situation the mentioned
* distance between grouped points is used instead of previously defined
* `gapSize`.
*
* In practice, this option is most often used to visualize gaps in time
* series. In a stock chart, intraday data is available for daytime hours,
* while gaps will appear in nights and weekends.
*/
gapSize?: number;
/**
* (Highstock) Together with gapSize, this option defines where to draw gaps
* in the graph.
*
* When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
* if the distance between two points is greater than 5 times that of the
* two closest points, the graph will be broken.
*
* When the `gapUnit` is `"value"`, the gap is based on absolute axis
* values, which on a datetime axis is milliseconds. This also applies to
* the navigator series that inherits gap options from the base series.
*/
gapUnit?: OptionsGapUnitValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highstock) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highstock) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highstock) The line marks the last price from all points.
*/
lastPrice?: SeriesLastPriceOptionsObject;
/**
* (Highstock) The line marks the last price from visible range of points.
*/
lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
/**
* (Highstock) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
* `stroke-linejoin` of a line graph. Round means that lines are rounded in
* the ends and bends.
*/
linecap?: SeriesLinecapValue;
/**
* (Highcharts, Highstock) Pixel width of the graph line.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The main series ID that indicator will be
* based on. Required for this indicator.
*/
linkedTo?: string;
/**
* (Highstock) Options for the point markers of line and scatter-like
* series. Properties like `fillColor`, `lineColor` and `lineWidth` define
* the visual appearance of the markers. The `symbol` option defines the
* shape. Other series types, like column series, don't have markers, but
* have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highstock) The name of the series as shown in the legend, tooltip etc.
* If not set, it will be based on a technical indicator type and default
* params.
*/
name?: string;
/**
* (Highstock) The color for the parts of the graph or points that are below
* the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotLinearregressioninterceptOnPointOptions);
/**
* (Highstock) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
params?: PlotLinearregressioninterceptParamsOptions;
/**
* (Highstock) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highstock) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highstock) Same as accessibility.series.descriptionFormatter, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highstock) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highstock) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highstock) If set to `true`, the accessibility module will skip past the
* points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highstock) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock) Whether to apply steps to the line. Possible
* values are `left`, `center` and `right`.
*/
step?: OptionsStepValue;
/**
* (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock) The threshold, also called zero level or base
* level. For line type series this is only used in conjunction with
* negativeColor.
*/
threshold?: (number|null);
/**
* (Highstock) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highstock) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotLinearregressionOnPointConnectorOptions {
/**
* (Highstock) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highstock) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highstock) Options allowing to set a position and an offset of the series in
* the _Series on point_ feature.
*/
export interface PlotLinearregressionOnPointPositionOptions {
/**
* (Highstock) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highstock) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highstock) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highstock) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
export interface PlotLinearregressionParamsOptions {
/**
* (Highstock) The point index which indicator calculations will base. For
* example using OHLC data, index=2 means the indicator will be calculated
* using Low values.
*/
index?: number;
/**
* (Highstock) The base period for indicator calculations. This is the
* number of data points which are taken into account for the indicator
* calculations.
*/
period?: number;
/**
* (Highstock) Unit (in milliseconds) for the x axis distances used to
* compute the regression line parameters (slope & intercept) for every
* range. In Highcharts Stock the x axis values are always represented in
* milliseconds which may cause that distances between points are "big"
* integer numbers.
*
* Highcharts Stock's linear regression algorithm (least squares method)
* will utilize these "big" integers for finding the slope and the intercept
* of the regression line for each period. In consequence, this value may be
* a very "small" decimal number that's hard to interpret by a human.
*
* For instance: `xAxisUnit` equaled to `86400000` ms (1 day) forces the
* algorithm to treat `86400000` as `1` while computing the slope and the
* intercept. This may enhance the legibility of the indicator's values.
*
* Default value is the closest distance between two data points.
*
* In `v9.0.2`, the default value has been changed from `undefined` to
* `null`.
*/
xAxisUnit?: (number|null);
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotLinearregressionslopeDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotLinearregressionslopeDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotLinearregressionslopeOnPointOptions {
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotLinearregressionslopeOnPointConnectorOptions|SVGAttributes);
/**
* (Highstock) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highstock) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotLinearregressionslopeOnPointPositionOptions);
}
/**
* (Highstock) Linear regression slope indicator. This series requires
* `linkedTo` option to be set.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `linearregressionslope` series are defined in
* plotOptions.linearregressionslope.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotLinearregressionslopeOptions {
/**
* (Highstock) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highstock) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highstock) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highstock) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highstock) Sets the color blending in the boost module.
*/
boostBlending?: OptionsBoostBlendingValue;
/**
* (Highstock) Set the point threshold for when a series should enter boost
* mode.
*
* Setting it to e.g. 2000 will cause the series to enter boost mode when
* there are 2000 or more points in the series.
*
* To disable boosting on the series, set the `boostThreshold` to 0. Setting
* it to 1 will force boosting.
*
* Note that the cropThreshold also affects this setting. When zooming in on
* a series that has fewer points than the `cropThreshold`, all points are
* rendered although outside the visible plot area, and the `boostThreshold`
* won't take effect.
*/
boostThreshold?: number;
/**
* (Highstock) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highstock) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highstock) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highstock) Compare the values of the series against the first non-null,
* non- zero value in the visible range. The y axis will show percentage or
* absolute change depending on whether `compare` is set to `"percent"` or
* `"value"`. When this is applied to multiple series, it allows comparing
* the development of the series against each other. Adds a `change` field
* to every point object.
*/
compare?: OptionsCompareValue;
/**
* (Highstock) When compare is `percent`, this option dictates whether to
* use 0 or 100 as the base of comparison.
*/
compareBase?: (0|100);
/**
* (Highstock) Defines if comparison should start from the first point
* within the visible range or should start from the first point **before**
* the range.
*
* In other words, this flag determines if first point within the visible
* range will have 0% (`compareStart=true`) or should have been already
* calculated according to the previous point (`compareStart=false`).
*/
compareStart?: boolean;
/**
* (Highstock) Whether to compare indicator to the main series values or
* indicator values.
*/
compareToMain?: boolean;
/**
* (Highcharts, Highstock) Whether to connect a graph line across null
* points, or render a gap between the two points on either side of the
* null.
*
* In stacked area chart, if `connectNulls` is set to true, null points are
* interpreted as 0.
*/
connectNulls?: boolean;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highstock) When the series contains less points than the
* crop threshold, all points are drawn, even if the points fall outside the
* visible plot area at the current zoom. The advantage of drawing all
* points (including markers and columns), is that animation is performed on
* updates. On the other hand, when the series contains more points than the
* crop threshold, the series data is cropped to only contain points that
* fall within the plot area. The advantage of cropping away invisible
* points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highstock) Cumulative Sum feature replaces points' values with the
* following formula: `sum of all previous points' values + current point's
* value`. Works only for points in a visible range. Adds the
* `cumulativeSum` field to each point object that can be accessed e.g. in
* the tooltip.pointFormat.
*
* With `dataGrouping` enabled, default grouping approximation is set to
* `sum`.
*/
cumulative?: boolean;
/**
* (Highstock) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highstock) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highstock) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) Data grouping is the concept of sampling the data values into
* larger blocks in order to ease readability and increase performance of
* the JavaScript charts. Highcharts Stock by default applies data grouping
* when the points become closer than a certain pixel value, determined by
* the `groupPixelWidth` option.
*
* If data grouping is applied, the grouping information of grouped points
* can be read from the Point.dataGroup. If point options other than the
* data itself are set, for example `name` or `color` or custom properties,
* the grouping logic doesn't know how to group it. In this case the options
* of the first point instance are copied over to the group point. This can
* be altered through a custom `approximation` callback function.
*/
dataGrouping?: DataGroupingOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotLinearregressionslopeDataLabelsOptions|Array<PlotLinearregressionslopeDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotLinearregressionslopeDataSortingOptions);
/**
* (Highstock) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highstock) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highstock) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highstock) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highstock) Defines when to display a gap in the graph, together with the
* gapUnit option.
*
* In case when `dataGrouping` is enabled, points can be grouped into a
* larger time span. This can make the grouped points to have a greater
* distance than the absolute value of `gapSize` property, which will result
* in disappearing graph completely. To prevent this situation the mentioned
* distance between grouped points is used instead of previously defined
* `gapSize`.
*
* In practice, this option is most often used to visualize gaps in time
* series. In a stock chart, intraday data is available for daytime hours,
* while gaps will appear in nights and weekends.
*/
gapSize?: number;
/**
* (Highstock) Together with gapSize, this option defines where to draw gaps
* in the graph.
*
* When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
* if the distance between two points is greater than 5 times that of the
* two closest points, the graph will be broken.
*
* When the `gapUnit` is `"value"`, the gap is based on absolute axis
* values, which on a datetime axis is milliseconds. This also applies to
* the navigator series that inherits gap options from the base series.
*/
gapUnit?: OptionsGapUnitValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highstock) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highstock) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highstock) The line marks the last price from all points.
*/
lastPrice?: SeriesLastPriceOptionsObject;
/**
* (Highstock) The line marks the last price from visible range of points.
*/
lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
/**
* (Highstock) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
* `stroke-linejoin` of a line graph. Round means that lines are rounded in
* the ends and bends.
*/
linecap?: SeriesLinecapValue;
/**
* (Highcharts, Highstock) Pixel width of the graph line.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The main series ID that indicator will be
* based on. Required for this indicator.
*/
linkedTo?: string;
/**
* (Highstock) Options for the point markers of line and scatter-like
* series. Properties like `fillColor`, `lineColor` and `lineWidth` define
* the visual appearance of the markers. The `symbol` option defines the
* shape. Other series types, like column series, don't have markers, but
* have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highstock) The name of the series as shown in the legend, tooltip etc.
* If not set, it will be based on a technical indicator type and default
* params.
*/
name?: string;
/**
* (Highstock) The color for the parts of the graph or points that are below
* the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotLinearregressionslopeOnPointOptions);
/**
* (Highstock) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
params?: PlotLinearregressionslopeParamsOptions;
/**
* (Highstock) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highstock) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highstock) Same as accessibility.series.descriptionFormatter, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highstock) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highstock) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highstock) If set to `true`, the accessibility module will skip past the
* points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highstock) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock) Whether to apply steps to the line. Possible
* values are `left`, `center` and `right`.
*/
step?: OptionsStepValue;
/**
* (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock) The threshold, also called zero level or base
* level. For line type series this is only used in conjunction with
* negativeColor.
*/
threshold?: (number|null);
/**
* (Highstock) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highstock) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotLineDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotLineDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highcharts, Highstock) Options for the _Series on point_ feature. Only `pie`
* and `sunburst` series are supported at this moment.
*/
export interface PlotLineOnPointOptions {
/**
* (Highcharts, Highstock) Options for the connector in the _Series on
* point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotLineOnPointConnectorOptions|SVGAttributes);
/**
* (Highcharts, Highstock) The `id` of the point that we connect the series
* to. Only points with a given `plotX` and `plotY` values and map points
* are valid.
*/
id?: string;
/**
* (Highcharts, Highstock) Options allowing to set a position and an offset
* of the series in the _Series on point_ feature.
*/
position?: (object|PlotLineOnPointPositionOptions);
}
/**
* (Highcharts, Highstock) A line series displays information as a series of
* data points connected by straight line segments.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `line` series are defined in plotOptions.line.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotLineOptions {
/**
* (Highcharts, Highstock) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highcharts, Highstock) Allow this series' points to be selected by
* clicking on the graphic (columns, point markers, pie slices, map areas
* etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highcharts, Highstock) Enable or disable the initial animation when a
* series is displayed. The animation can also be set as a configuration
* object. Please note that this option only applies to the initial
* animation of the series itself. For other animations, see chart.animation
* and the animation parameter under the API methods. The following
* properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highcharts, Highstock) For some series, there is a limit that shuts down
* animation by default when the total number of points in the chart is too
* high. For example, for a column chart and its derivatives, animation does
* not run if there is more than 250 points totally. To disable this cap,
* set `animationLimit` to `Infinity`. This option works if animation is
* fired on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highcharts, Highstock) Sets the color blending in the boost module.
*/
boostBlending?: OptionsBoostBlendingValue;
/**
* (Highcharts, Highstock) Set the point threshold for when a series should
* enter boost mode.
*
* Setting it to e.g. 2000 will cause the series to enter boost mode when
* there are 2000 or more points in the series.
*
* To disable boosting on the series, set the `boostThreshold` to 0. Setting
* it to 1 will force boosting.
*
* Note that the cropThreshold also affects this setting. When zooming in on
* a series that has fewer points than the `cropThreshold`, all points are
* rendered although outside the visible plot area, and the `boostThreshold`
* won't take effect.
*/
boostThreshold?: number;
/**
* (Highcharts, Highstock) An additional class name to apply to the series'
* graphical elements. This option does not replace default class names of
* the graphical element. Changes to the series' color will also be
* reflected in a chart's legend and tooltip.
*/
className?: string;
/**
* (Highcharts, Highstock) Disable this option to allow series rendering in
* the whole plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highcharts, Highstock) The main color of the series. In line type series
* it applies to the line and the point markers unless otherwise specified.
* In bar type series it applies to the bars unless a color is specified per
* point. The default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
* this number defines which colorAxis the particular series is connected
* to. It refers to either the axis id or the index of the axis in the
* colorAxis array, with 0 being the first. Set this option to false to
* prevent a series from connecting to the default color axis.
*
* Since v7.2.0 the option can also be an axis id or an axis index instead
* of a boolean flag.
*/
colorAxis?: (boolean|number|string);
/**
* (Highcharts, Highstock) Styled mode only. A specific color index to use
* for the series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highstock) Compare the values of the series against the first non-null,
* non- zero value in the visible range. The y axis will show percentage or
* absolute change depending on whether `compare` is set to `"percent"` or
* `"value"`. When this is applied to multiple series, it allows comparing
* the development of the series against each other. Adds a `change` field
* to every point object.
*/
compare?: OptionsCompareValue;
/**
* (Highstock) When compare is `percent`, this option dictates whether to
* use 0 or 100 as the base of comparison.
*/
compareBase?: (0|100);
/**
* (Highstock) Defines if comparison should start from the first point
* within the visible range or should start from the first point **before**
* the range.
*
* In other words, this flag determines if first point within the visible
* range will have 0% (`compareStart=true`) or should have been already
* calculated according to the previous point (`compareStart=false`).
*/
compareStart?: boolean;
/**
* (Highcharts) Polar charts only. Whether to connect the ends of a line
* series plot across the extremes.
*/
connectEnds?: boolean;
/**
* (Highcharts, Highstock) Whether to connect a graph line across null
* points, or render a gap between the two points on either side of the
* null.
*
* In stacked area chart, if `connectNulls` is set to true, null points are
* interpreted as 0.
*/
connectNulls?: boolean;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highstock) When the series contains less points than the
* crop threshold, all points are drawn, even if the points fall outside the
* visible plot area at the current zoom. The advantage of drawing all
* points (including markers and columns), is that animation is performed on
* updates. On the other hand, when the series contains more points than the
* crop threshold, the series data is cropped to only contain points that
* fall within the plot area. The advantage of cropping away invisible
* points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highstock) Cumulative Sum feature replaces points' values with the
* following formula: `sum of all previous points' values + current point's
* value`. Works only for points in a visible range. Adds the
* `cumulativeSum` field to each point object that can be accessed e.g. in
* the tooltip.pointFormat.
*
* With `dataGrouping` enabled, default grouping approximation is set to
* `sum`.
*/
cumulative?: boolean;
/**
* (Highcharts, Highstock) You can set the cursor to "pointer" if you have
* click events attached to the series, to signal to the user that the
* points and lines can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highcharts, Highstock) A reserved subspace to store options and values
* for customized functionality. Here you can add additional data for your
* own event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highcharts, Highstock) Name of the dash style to use for the graph, or
* for some series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) Data grouping is the concept of sampling the data values into
* larger blocks in order to ease readability and increase performance of
* the JavaScript charts. Highcharts Stock by default applies data grouping
* when the points become closer than a certain pixel value, determined by
* the `groupPixelWidth` option.
*
* If data grouping is applied, the grouping information of grouped points
* can be read from the Point.dataGroup. If point options other than the
* data itself are set, for example `name` or `color` or custom properties,
* the grouping logic doesn't know how to group it. In this case the options
* of the first point instance are copied over to the group point. This can
* be altered through a custom `approximation` callback function.
*/
dataGrouping?: DataGroupingOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotLineDataLabelsOptions|Array<PlotLineDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotLineDataSortingOptions);
/**
* (Highcharts, Highstock) A description of the series to add to the screen
* reader information about the series.
*/
description?: string;
/**
* (Highcharts, Highstock) The draggable-points module allows points to be
* moved around or modified in the chart. In addition to the options
* mentioned under the `dragDrop` API structure, the module fires three
* events, point.dragStart, point.drag and point.drop.
*/
dragDrop?: SeriesDragDropOptionsObject;
/**
* (Highcharts, Highstock) Enable or disable the mouse tracking for a
* specific series. This includes point tooltips and click events on graphs
* and points. For large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highcharts, Highstock) General event handlers for the series items.
* These event hooks can also be attached to the series at run time using
* the `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highcharts, Highstock) Determines whether the series should look for the
* nearest point in both dimensions or just the x-dimension when hovering
* the series. Defaults to `'xy'` for scatter series and `'x'` for most
* other series. If the data has duplicate x-values, it is recommended to
* set this to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highstock) Defines when to display a gap in the graph, together with the
* gapUnit option.
*
* In case when `dataGrouping` is enabled, points can be grouped into a
* larger time span. This can make the grouped points to have a greater
* distance than the absolute value of `gapSize` property, which will result
* in disappearing graph completely. To prevent this situation the mentioned
* distance between grouped points is used instead of previously defined
* `gapSize`.
*
* In practice, this option is most often used to visualize gaps in time
* series. In a stock chart, intraday data is available for daytime hours,
* while gaps will appear in nights and weekends.
*/
gapSize?: number;
/**
* (Highstock) Together with gapSize, this option defines where to draw gaps
* in the graph.
*
* When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
* if the distance between two points is greater than 5 times that of the
* two closest points, the graph will be broken.
*
* When the `gapUnit` is `"value"`, the gap is based on absolute axis
* values, which on a datetime axis is milliseconds. This also applies to
* the navigator series that inherits gap options from the base series.
*/
gapUnit?: OptionsGapUnitValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highcharts, Highstock) Highlight only the hovered point and fade the
* remaining points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highcharts, Highstock) When set to `false` will prevent the series data
* from being included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highstock) An array specifying which option maps to which
* key in the data point array. This makes it convenient to work with
* unstructured data arrays from different sources.
*/
keys?: Array<string>;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highstock) The line marks the last price from all points.
*/
lastPrice?: SeriesLastPriceOptionsObject;
/**
* (Highstock) The line marks the last price from visible range of points.
*/
lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
/**
* (Highcharts, Highstock) What type of legend symbol to render for this
* series. Can be one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
* `stroke-linejoin` of a line graph. Round means that lines are rounded in
* the ends and bends.
*/
linecap?: SeriesLinecapValue;
/**
* (Highcharts, Highstock) Pixel width of the graph line.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The id of another series to link to.
* Additionally, the value can be ":previous" to link to the previous
* series. When two series are linked, only the first one appears in the
* legend. Toggling the visibility of this also toggles the linked series.
*
* If master series uses data sorting and linked series does not have its
* own sorting definition, the linked series will be sorted in the same
* order as the master one.
*/
linkedTo?: string;
/**
* (Highcharts, Highstock) Options for the point markers of line and
* scatter-like series. Properties like `fillColor`, `lineColor` and
* `lineWidth` define the visual appearance of the markers. The `symbol`
* option defines the shape. Other series types, like column series, don't
* have markers, but have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highstock) Options for the corresponding navigator series if
* `showInNavigator` is `true` for this series. Available options are the
* same as any series, documented at plotOptions and series.
*
* These options are merged with options in navigator.series, and will take
* precedence if the same option is defined both places.
*/
navigatorOptions?: PlotSeriesOptions;
/**
* (Highcharts, Highstock) The color for the parts of the graph or points
* that are below the threshold. Note that `zones` takes precedence over the
* negative color. Using `negativeColor` is equivalent to applying a zone
* with value of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock) Options for the _Series on point_ feature. Only
* `pie` and `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotLineOnPointOptions);
/**
* (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
* and dataLabels.
*/
opacity?: number;
/**
* (Highcharts, Highstock) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highcharts, Highstock) Same as accessibility.point.descriptionFormat,
* but for an individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highcharts, Highstock) Same as
* accessibility.series.descriptionFormatter, but for an individual series.
* Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock, Gantt) If no x values are given for the points in
* a series, `pointInterval` defines the interval of the x values. For
* example, if a series contains one value every decade starting from year
* 0, set `pointInterval` to `10`. In true `datetime` axes, the
* `pointInterval` is set in milliseconds.
*
* It can be also be combined with `pointIntervalUnit` to draw irregular
* time intervals.
*
* If combined with `relativeXValue`, an x value can be set on each point,
* and the `pointInterval` is added x times to the `pointStart` setting.
*
* Please note that this options applies to the _series data_, not the
* interval of the axis ticks, which is independent.
*/
pointInterval?: number;
/**
* (Highcharts, Highstock, Gantt) On datetime series, this allows for
* setting the pointInterval to irregular time units, `day`, `month` and
* `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
* also takes the DST crossover into consideration when dealing with local
* time. Combine this option with `pointInterval` to draw weeks, quarters, 6
* months, 10 years etc.
*
* Please note that this options applies to the _series data_, not the
* interval of the axis ticks, which is independent.
*/
pointIntervalUnit?: OptionsPointIntervalUnitValue;
/**
* (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
* `number`.
*
* In a column chart, when pointPlacement is `"on"`, the point will not
* create any padding of the X axis. In a polar column chart this means that
* the first column points directly north. If the pointPlacement is
* `"between"`, the columns will be laid out between ticks. This is useful
* for example for visualising an amount between two points in time or in a
* certain sector of a polar chart.
*
* Since Highcharts 3.0.2, the point placement can also be numeric, where 0
* is on the axis value, -0.5 is between this value and the previous, and
* 0.5 is between this value and the next. Unlike the textual options,
* numeric point placement options won't affect axis padding.
*
* Note that pointPlacement needs a pointRange to work. For column series
* this is computed, but for line-type series it needs to be set.
*
* For the `xrange` series type and gantt charts, if the Y axis is a
* category axis, the `pointPlacement` applies to the Y axis rather than the
* (typically datetime) X axis.
*
* Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
*/
pointPlacement?: (number|string);
/**
* (Highstock) The width of each point on the x axis. For example in a
* column chart with one value each day, the pointRange would be 1 day (= 24
* * 3600
*
* * 1000 milliseconds). This is normally computed automatically, but this
* option can be used to override the automatic value.
*/
pointRange?: number;
/**
* (Highcharts, Highstock, Gantt) If no x values are given for the points in
* a series, pointStart defines on what value to start. For example, if a
* series contains one yearly value starting from 1945, set pointStart to
* 1945.
*
* If combined with `relativeXValue`, an x value can be set on each point.
* The x value from the point options is multiplied by `pointInterval` and
* added to `pointStart` to produce a modified x value.
*/
pointStart?: number;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highcharts, Highstock) Whether to select the series initially. If
* `showCheckbox` is true, the checkbox next to the series name in the
* legend will be checked for a selected series.
*/
selected?: boolean;
/**
* (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
* Since 2.3 the shadow can be an object configuration containing `color`,
* `offsetX`, `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock) If true, a checkbox is displayed next to the
* legend item to allow selecting the series. The state of the checkbox is
* determined by the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highcharts, Highstock) Whether to display this particular series or
* series type in the legend. Standalone series are shown in legend by
* default, and linked series are not. Since v7.2.0 it is possible to show
* series that use colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highstock) Whether or not to show the series in the navigator. Takes
* precedence over navigator.baseSeries if defined.
*/
showInNavigator?: boolean;
/**
* (Highcharts, Highstock) If set to `true`, the accessibility module will
* skip past the points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highcharts, Highstock) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
/**
* (Highcharts, Highstock) Whether to stack the values of each series on top
* of each other. Possible values are `undefined` to disable, `"normal"` to
* stack by value or `"percent"`.
*
* When stacking is enabled, data must be sorted in ascending X order.
*
* Some stacking options are related to specific series types. In the
* streamgraph series type, the stacking option is set to `"stream"`. The
* second one is `"overlap"`, which only applies to waterfall series.
*/
stacking?: OptionsStackingValue;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock) Whether to apply steps to the line. Possible
* values are `left`, `center` and `right`.
*/
step?: OptionsStepValue;
/**
* (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
* `mouseOut` event on a series isn't triggered until the mouse moves over
* another series, or out of the plot area. When false, the `mouseOut` event
* on a series is triggered when the mouse leaves the area around the
* series' graph or markers. This also implies the tooltip when not shared.
* When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
* will be hidden when moving the mouse between series. Defaults to true for
* line and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock) The threshold, also called zero level or base
* level. For line type series this is only used in conjunction with
* negativeColor.
*/
threshold?: (number|null);
/**
* (Highcharts, Highstock) A configuration object for the tooltip rendering
* of each single series. Properties are inherited from tooltip, but only
* the following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highstock) The parameter allows setting line series type and use OHLC
* indicators. Data in OHLC format is required.
*/
useOhlcData?: boolean;
/**
* (Highcharts, Highstock) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highcharts, Highstock) Enable or disable the initial animation when a series
* is displayed for the `dataLabels`. The animation can also be set as a
* configuration object. Please note that this option only applies to the
* initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotLollipopDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock) The animation delay time in milliseconds. Set to
* `0` to render the data labels immediately. As `undefined` inherits defer
* time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the connector in the _Series on point_
* feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotLollipopOnPointConnectorOptions {
/**
* (Highcharts, Highstock) A name for the dash style to use for the
* connector.
*/
dashstyle?: string;
/**
* (Highcharts, Highstock) Color of the connector line. By default it's the
* series' color.
*/
stroke?: string;
/**
* (Highcharts, Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highcharts, Highstock) Options allowing to set a position and an offset of
* the series in the _Series on point_ feature.
*/
export interface PlotLollipopOnPointPositionOptions {
/**
* (Highcharts, Highstock) Series center offset from the original x
* position. If defined, the connector line is drawn connecting original
* position with new position.
*/
offsetX?: number;
/**
* (Highcharts, Highstock) Series center offset from the original y
* position. If defined, the connector line is drawn from original position
* to a new position.
*/
offsetY?: number;
/**
* (Highcharts, Highstock) X position of the series center. By default, the
* series is displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highcharts, Highstock) Y position of the series center. By default, the
* series is displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Point accessibility options for a series.
*/
export interface PlotMacdAccessibilityPointOptions {
/**
* (Highstock) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highstock) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highstock) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highstock) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highstock) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highstock) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highstock) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotMacdDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotMacdDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: (VerticalAlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highstock) The styles for macd line
*/
export interface PlotMacdMacdLineOptions {
styles?: PlotMacdMacdLineStylesOptions;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotMacdOnPointConnectorOptions {
/**
* (Highstock) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highstock) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highstock) Options allowing to set a position and an offset of the series in
* the _Series on point_ feature.
*/
export interface PlotMacdOnPointPositionOptions {
/**
* (Highstock) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highstock) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highstock) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highstock) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
export interface PlotMacdParamsOptions {
/**
* (Highstock) The point index which indicator calculations will base. For
* example using OHLC data, index=2 means the indicator will be calculated
* using Low values.
*/
index?: number;
/**
* (Highstock) The long period for indicator calculations.
*/
longPeriod?: number;
/**
* (Highstock) The base period for indicator calculations. This is the
* number of data points which are taken into account for the indicator
* calculations.
*/
period?: number;
/**
* (Highstock) The short period for indicator calculations.
*/
shortPeriod?: number;
/**
* (Highstock) The base period for signal calculations.
*/
signalPeriod?: number;
}
export interface PlotMacdSignalLineStylesOptions {
/**
* (Highstock) Color of the line.
*/
lineColor?: ColorString;
/**
* (Highstock) Pixel width of the line.
*/
lineWidth?: number;
}
/**
* (Highmaps) Point accessibility options for a series.
*/
export interface PlotMapbubbleAccessibilityPointOptions {
/**
* (Highmaps) Date format to use for points on datetime axes when describing
* them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highmaps) Formatter function to determine the date/time format used with
* points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highmaps) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highmaps) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highmaps) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highmaps) Decimals to use for the values in the point descriptions. Uses
* tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highmaps) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highmaps) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highmaps) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotMapbubbleDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotMapbubbleDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highmaps) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotMapbubbleOnPointOptions {
/**
* (Highmaps) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotMapbubbleOnPointConnectorOptions|SVGAttributes);
/**
* (Highmaps) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highmaps) Options allowing to set a position and an offset of the series
* in the _Series on point_ feature.
*/
position?: (object|PlotMapbubbleOnPointPositionOptions);
}
/**
* (Highmaps) A map bubble series is a bubble series laid out on top of a map
* series, where each bubble is tied to a specific map area.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `mapbubble` series are defined in plotOptions.mapbubble.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotMapbubbleOptions {
/**
* (Highmaps) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highmaps) Whether all areas of the map defined in `mapData` should be
* rendered. If `true`, areas which don't correspond to a data point, are
* rendered as `null` points. If `false`, those areas are skipped.
*/
allAreas?: boolean;
/**
* (Highmaps) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highmaps) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highmaps) If there are more points in the series than the
* `animationLimit`, the animation won't run. Animation affects overall
* performance and doesn't work well with heavy data series.
*/
animationLimit?: number;
/**
* (Highmaps) Sets the color blending in the boost module.
*/
boostBlending?: OptionsBoostBlendingValue;
/**
* (Highmaps) Set the point threshold for when a series should enter boost
* mode.
*
* Setting it to e.g. 2000 will cause the series to enter boost mode when
* there are 2000 or more points in the series.
*
* To disable boosting on the series, set the `boostThreshold` to 0. Setting
* it to 1 will force boosting.
*
* Note that the cropThreshold also affects this setting. When zooming in on
* a series that has fewer points than the `cropThreshold`, all points are
* rendered although outside the visible plot area, and the `boostThreshold`
* won't take effect.
*/
boostThreshold?: number;
/**
* (Highmaps) The border color of the map areas.
*
* In styled mode, the border stroke is given in the `.highcharts-point`
* class.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highmaps) The border width of each map area.
*
* In styled mode, the border stroke width is given in the
* `.highcharts-point` class.
*/
borderWidth?: number;
/**
* (Highmaps) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highmaps) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highmaps) The main color of the series. This color affects both the fill
* and the stroke of the bubble. For enhanced control, use `marker` options.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
* this number defines which colorAxis the particular series is connected
* to. It refers to either the axis id or the index of the axis in the
* colorAxis array, with 0 being the first. Set this option to false to
* prevent a series from connecting to the default color axis.
*
* Since v7.2.0 the option can also be an axis id or an axis index instead
* of a boolean flag.
*/
colorAxis?: (boolean|number|string);
/**
* (Highmaps) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highmaps) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highmaps) A reserved subspace to store options and values for customized
* functionality. Here you can add additional data for your own event
* callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highmaps) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotMapbubbleDataLabelsOptions|Array<PlotMapbubbleDataLabelsOptions>);
/**
* (Highmaps) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highmaps) Whether to display negative sized bubbles. The threshold is
* given by the zThreshold option, and negative bubbles can be visualized by
* setting negativeColor.
*/
displayNegative?: boolean;
/**
* (Highmaps) The draggable-points module allows points to be moved around
* or modified in the chart. In addition to the options mentioned under the
* `dragDrop` API structure, the module fires three events, point.dragStart,
* point.drag and point.drop.
*/
dragDrop?: SeriesDragDropOptionsObject;
/**
* (Highmaps) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highmaps) General event handlers for the series items. These event hooks
* can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highmaps) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highmaps) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highmaps) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highmaps) What property to join the `mapData` to the value data. For
* example, if joinBy is "code", the mapData items with a specific code is
* merged into the data with the same code. For maps loaded from GeoJSON,
* the keys may be held in each point's `properties` object.
*
* The joinBy option can also be an array of two values, where the first
* points to a key in the `mapData`, and the second points to another key in
* the `data`.
*
* When joinBy is `null`, the map items are joined by their position in the
* array, which performs much better in maps with many data points. This is
* the recommended option if you are printing more than a thousand data
* points and have a backend that can preprocess the data into a parallel
* array of the mapData.
*/
joinBy?: (string|Array<string>);
/**
* (Highmaps) An array specifying which option maps to which key in the data
* point array. This makes it convenient to work with unstructured data
* arrays from different sources.
*/
keys?: Array<string>;
/**
* (Highmaps) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highmaps) Color of the line connecting bubbles. The default value is the
* same as series' color.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
lineColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highmaps) Pixel width of the line connecting bubbles.
*/
lineWidth?: number;
/**
* (Highmaps) Options for the point markers of line and scatter-like series.
* Properties like `fillColor`, `lineColor` and `lineWidth` define the
* visual appearance of the markers. The `symbol` option defines the shape.
* Other series types, like column series, don't have markers, but have
* visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highmaps) Maximum bubble size. Bubbles will automatically size between
* the `minSize` and `maxSize` to reflect the `z` value of each bubble. Can
* be either pixels (when no unit is given), or a percentage of the smallest
* one of the plot width and height.
*/
maxSize?: (number|string);
/**
* (Highmaps) Minimum bubble size. Bubbles will automatically size between
* the `minSize` and `maxSize` to reflect the `z` value of each bubble. Can
* be either pixels (when no unit is given), or a percentage of the smallest
* one of the plot width and height.
*/
minSize?: (number|string);
/**
* (Highmaps) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotMapbubbleOnPointOptions);
/**
* (Highmaps) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highmaps) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highmaps) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highmaps) Same as accessibility.series.descriptionFormatter, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highmaps) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highmaps) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highmaps) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highmaps) Whether the bubble's value should be represented by the area
* or the width of the bubble. The default, `area`, corresponds best to the
* human perception of the size of each bubble.
*/
sizeBy?: BubbleSizeByValue;
/**
* (Highmaps) If set to `true`, the accessibility module will skip past the
* points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highmaps) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock, Highmaps) Sticky tracking of mouse events. When
* true, the `mouseOut` event on a series isn't triggered until the mouse
* moves over another series, or out of the plot area. When false, the
* `mouseOut` event on a series is triggered when the mouse leaves the area
* around the series' graph or markers. This also implies the tooltip. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock, Highmaps) A configuration object for the tooltip
* rendering of each single series. Properties are inherited from tooltip.
* Overridable properties are `headerFormat`, `pointFormat`, `yDecimals`,
* `xDateFormat`, `yPrefix` and `ySuffix`. Unlike other series, in a scatter
* plot the series.name by default shows in the headerFormat and point.x and
* point.y in the pointFormat.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highmaps) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highmaps) Define the z index of the series.
*/
zIndex?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotMapDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotMapDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotMaplineDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highmaps) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotMaplineOnPointConnectorOptions {
/**
* (Highmaps) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highmaps) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highmaps) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highmaps) Options allowing to set a position and an offset of the series in
* the _Series on point_ feature.
*/
export interface PlotMaplineOnPointPositionOptions {
/**
* (Highmaps) Series center offset from the original x position. If defined,
* the connector line is drawn connecting original position with new
* position.
*/
offsetX?: number;
/**
* (Highmaps) Series center offset from the original y position. If defined,
* the connector line is drawn from original position to a new position.
*/
offsetY?: number;
/**
* (Highmaps) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highmaps) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highmaps) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotMapOnPointConnectorOptions {
/**
* (Highmaps) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highmaps) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highmaps) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highmaps) Options allowing to set a position and an offset of the series in
* the _Series on point_ feature.
*/
export interface PlotMapOnPointPositionOptions {
/**
* (Highmaps) Series center offset from the original x position. If defined,
* the connector line is drawn connecting original position with new
* position.
*/
offsetX?: number;
/**
* (Highmaps) Series center offset from the original y position. If defined,
* the connector line is drawn from original position to a new position.
*/
offsetY?: number;
/**
* (Highmaps) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highmaps) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highmaps) Point accessibility options for a series.
*/
export interface PlotMappointAccessibilityPointOptions {
/**
* (Highmaps) Date format to use for points on datetime axes when describing
* them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highmaps) Formatter function to determine the date/time format used with
* points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highmaps) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highmaps) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highmaps) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highmaps) Decimals to use for the values in the point descriptions. Uses
* tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highmaps) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highmaps) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highmaps) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highmaps) Options for layout algorithm. Inside there are options
* to change the type of the algorithm, gridSize, distance or iterations.
*/
export interface PlotMappointClusterLayoutAlgorithmOptions {
/**
* (Highcharts, Highmaps) When `type` is set to `kmeans`, `distance` is a
* maximum distance between point and cluster center so that this point will
* be inside the cluster. The distance is either a number defining pixels or
* a percentage defining a percentage of the plot area width.
*/
distance?: (number|string);
/**
* (Highcharts, Highmaps) When `type` is set to the `grid`, `gridSize` is a
* size of a grid square element either as a number defining pixels, or a
* percentage defining a percentage of the plot area width.
*/
gridSize?: (number|string);
/**
* (Highcharts, Highmaps) When `type` is set to `kmeans`, `iterations` are
* the number of iterations that this algorithm will be repeated to find
* clusters positions.
*/
iterations?: number;
/**
* (Highcharts, Highmaps) When `type` is set to `undefined` and there are
* more visible points than the kmeansThreshold the `grid` algorithm is used
* to find clusters, otherwise `kmeans`. It ensures good performance on
* large datasets and better clusters arrangement after the zoom.
*/
kmeansThreshold?: number;
/**
* (Highcharts, Highmaps) Type of the algorithm used to combine points into
* a cluster. There are three available algorithms:
*
* 1) `grid` - grid-based clustering technique. Points are assigned to
* squares of set size depending on their position on the plot area. Points
* inside the grid square are combined into a cluster. The grid size can be
* controlled by `gridSize` property (grid size changes at certain zoom
* levels).
*
* 2) `kmeans` - based on K-Means clustering technique. In the first step,
* points are divided using the grid method (distance property is a grid
* size) to find the initial amount of clusters. Next, each point is
* classified by computing the distance between each cluster center and that
* point. When the closest cluster distance is lower than distance property
* set by a user the point is added to this cluster otherwise is classified
* as `noise`. The algorithm is repeated until each cluster center not
* change its previous position more than one pixel. This technique is more
* accurate but also more time consuming than the `grid` algorithm,
* especially for big datasets.
*
* 3) `optimizedKmeans` - based on K-Means clustering technique. This
* algorithm uses k-means algorithm only on the chart initialization or when
* chart extremes have greater range than on initialization. When a chart is
* redrawn the algorithm checks only clustered points distance from the
* cluster center and rebuild it when the point is spaced enough to be
* outside the cluster. It provides performance improvement and more stable
* clusters position yet can be used rather on small and sparse datasets.
*
* By default, the algorithm depends on visible quantity of points and
* `kmeansThreshold`. When there are more visible points than the
* `kmeansThreshold` the `grid` algorithm is used, otherwise `kmeans`.
*
* The custom clustering algorithm can be added by assigning a callback
* function as the type property. This function takes an array of
* `processedXData`, `processedYData`, `processedXData` indexes and
* `layoutAlgorithm` options as arguments and should return an object with
* grouped data.
*
* The algorithm should return an object like that: (see online
* documentation for example)
*
* `clusterId` (example above - unique id of a cluster or noise) is an array
* of points belonging to a cluster. If the array has only one point or
* fewer points than set in `cluster.minimumClusterSize` it won't be
* combined into a cluster.
*/
type?: (string|Function);
}
export interface PlotMappointClusterStatesHoverOptions {
/**
* (Highcharts, Highmaps) The fill color of the cluster marker in hover
* state. When `undefined`, the series' or point's fillColor for normal
* state is used.
*/
fillColor?: ColorType;
}
/**
* (Highcharts, Highmaps) An array defining zones within marker clusters.
*
* In styled mode, the color zones are styled with the
* `.highcharts-cluster-zone-{n}` class, or custom classed from the `className`
* option.
*/
export interface PlotMappointClusterZonesOptions {
/**
* (Highcharts, Highmaps) Styled mode only. A custom class name for the
* zone.
*/
className?: string;
/**
* (Highcharts, Highmaps) The value where the zone starts.
*/
from?: number;
/**
* (Highcharts, Highmaps) Settings for the cluster marker belonging to the
* zone.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highcharts, Highmaps) The value where the zone ends.
*/
to?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotMappointDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotMappointDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: (VerticalAlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highmaps) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotMappointOnPointOptions {
/**
* (Highmaps) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotMappointOnPointConnectorOptions|SVGAttributes);
/**
* (Highmaps) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highmaps) Options allowing to set a position and an offset of the series
* in the _Series on point_ feature.
*/
position?: (object|PlotMappointOnPointPositionOptions);
}
/**
* (Highmaps) A mappoint series is a special form of scatter series where the
* points can be laid out in map coordinates on top of a map.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `mappoint` series are defined in plotOptions.mappoint.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotMappointOptions {
/**
* (Highmaps) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highmaps) Whether all areas of the map defined in `mapData` should be
* rendered. If `true`, areas which don't correspond to a data point, are
* rendered as `null` points. If `false`, those areas are skipped.
*/
allAreas?: boolean;
/**
* (Highmaps) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highmaps) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highmaps) For some series, there is a limit that shuts down animation by
* default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highmaps) Sets the color blending in the boost module.
*/
boostBlending?: OptionsBoostBlendingValue;
/**
* (Highmaps) Set the point threshold for when a series should enter boost
* mode.
*
* Setting it to e.g. 2000 will cause the series to enter boost mode when
* there are 2000 or more points in the series.
*
* To disable boosting on the series, set the `boostThreshold` to 0. Setting
* it to 1 will force boosting.
*
* Note that the cropThreshold also affects this setting. When zooming in on
* a series that has fewer points than the `cropThreshold`, all points are
* rendered although outside the visible plot area, and the `boostThreshold`
* won't take effect.
*/
boostThreshold?: number;
/**
* (Highmaps) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highmaps) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highcharts, Highmaps) Options for marker clusters, the concept of
* sampling the data values into larger blocks in order to ease readability
* and increase performance of the JavaScript charts.
*
* Note: marker clusters module is not working with `boost` and
* `draggable-points` modules.
*
* The marker clusters feature requires the marker-clusters.js file to be
* loaded, found in the modules directory of the download package, or online
* at code.highcharts.com/modules/marker-clusters.js.
*/
cluster?: PlotMappointClusterOptions;
/**
* (Highmaps) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
* this number defines which colorAxis the particular series is connected
* to. It refers to either the axis id or the index of the axis in the
* colorAxis array, with 0 being the first. Set this option to false to
* prevent a series from connecting to the default color axis.
*
* Since v7.2.0 the option can also be an axis id or an axis index instead
* of a boolean flag.
*/
colorAxis?: (boolean|number|string);
/**
* (Highmaps) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highmaps) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highmaps) A reserved subspace to store options and values for customized
* functionality. Here you can add additional data for your own event
* callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highmaps) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotMappointDataLabelsOptions|Array<PlotMappointDataLabelsOptions>);
/**
* (Highmaps) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highmaps) The draggable-points module allows points to be moved around
* or modified in the chart. In addition to the options mentioned under the
* `dragDrop` API structure, the module fires three events, point.dragStart,
* point.drag and point.drop.
*/
dragDrop?: SeriesDragDropOptionsObject;
/**
* (Highmaps) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highmaps) General event handlers for the series items. These event hooks
* can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highmaps) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highmaps) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highmaps) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highmaps) What property to join the `mapData` to the value data. For
* example, if joinBy is "code", the mapData items with a specific code is
* merged into the data with the same code. For maps loaded from GeoJSON,
* the keys may be held in each point's `properties` object.
*
* The joinBy option can also be an array of two values, where the first
* points to a key in the `mapData`, and the second points to another key in
* the `data`.
*
* When joinBy is `null`, the map items are joined by their position in the
* array, which performs much better in maps with many data points. This is
* the recommended option if you are printing more than a thousand data
* points and have a backend that can preprocess the data into a parallel
* array of the mapData.
*/
joinBy?: (string|Array<string>);
/**
* (Highmaps) An array specifying which option maps to which key in the data
* point array. This makes it convenient to work with unstructured data
* arrays from different sources.
*/
keys?: Array<string>;
/**
* (Highmaps) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highmaps) Options for the point markers of line and scatter-like series.
* Properties like `fillColor`, `lineColor` and `lineWidth` define the
* visual appearance of the markers. The `symbol` option defines the shape.
* Other series types, like column series, don't have markers, but have
* visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highmaps) The color for the parts of the graph or points that are below
* the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highmaps) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotMappointOnPointOptions);
/**
* (Highmaps) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highmaps) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highmaps) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highmaps) Same as accessibility.series.descriptionFormatter, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highmaps) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highmaps) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highmaps) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highmaps) If set to `true`, the accessibility module will skip past the
* points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highmaps) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock, Highmaps) Sticky tracking of mouse events. When
* true, the `mouseOut` event on a series isn't triggered until the mouse
* moves over another series, or out of the plot area. When false, the
* `mouseOut` event on a series is triggered when the mouse leaves the area
* around the series' graph or markers. This also implies the tooltip. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock, Highmaps) A configuration object for the tooltip
* rendering of each single series. Properties are inherited from tooltip.
* Overridable properties are `headerFormat`, `pointFormat`, `yDecimals`,
* `xDateFormat`, `yPrefix` and `ySuffix`. Unlike other series, in a scatter
* plot the series.name by default shows in the headerFormat and point.x and
* point.y in the pointFormat.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highmaps) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highmaps) Define the z index of the series.
*/
zIndex?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotMfiDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotMfiDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotMfiOnPointOptions {
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotMfiOnPointConnectorOptions|SVGAttributes);
/**
* (Highstock) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highstock) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotMfiOnPointPositionOptions);
}
/**
* (Highstock) Money Flow Index. This series requires `linkedTo` option to be
* set and should be loaded after the `stock/indicators/indicators.js` file.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `mfi` series are defined in plotOptions.mfi.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotMfiOptions {
/**
* (Highstock) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highstock) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highstock) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highstock) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highstock) Sets the color blending in the boost module.
*/
boostBlending?: OptionsBoostBlendingValue;
/**
* (Highstock) Set the point threshold for when a series should enter boost
* mode.
*
* Setting it to e.g. 2000 will cause the series to enter boost mode when
* there are 2000 or more points in the series.
*
* To disable boosting on the series, set the `boostThreshold` to 0. Setting
* it to 1 will force boosting.
*
* Note that the cropThreshold also affects this setting. When zooming in on
* a series that has fewer points than the `cropThreshold`, all points are
* rendered although outside the visible plot area, and the `boostThreshold`
* won't take effect.
*/
boostThreshold?: number;
/**
* (Highstock) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highstock) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highstock) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highstock) Compare the values of the series against the first non-null,
* non- zero value in the visible range. The y axis will show percentage or
* absolute change depending on whether `compare` is set to `"percent"` or
* `"value"`. When this is applied to multiple series, it allows comparing
* the development of the series against each other. Adds a `change` field
* to every point object.
*/
compare?: OptionsCompareValue;
/**
* (Highstock) When compare is `percent`, this option dictates whether to
* use 0 or 100 as the base of comparison.
*/
compareBase?: (0|100);
/**
* (Highstock) Defines if comparison should start from the first point
* within the visible range or should start from the first point **before**
* the range.
*
* In other words, this flag determines if first point within the visible
* range will have 0% (`compareStart=true`) or should have been already
* calculated according to the previous point (`compareStart=false`).
*/
compareStart?: boolean;
/**
* (Highstock) Whether to compare indicator to the main series values or
* indicator values.
*/
compareToMain?: boolean;
/**
* (Highcharts, Highstock) Whether to connect a graph line across null
* points, or render a gap between the two points on either side of the
* null.
*
* In stacked area chart, if `connectNulls` is set to true, null points are
* interpreted as 0.
*/
connectNulls?: boolean;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highstock) When the series contains less points than the
* crop threshold, all points are drawn, even if the points fall outside the
* visible plot area at the current zoom. The advantage of drawing all
* points (including markers and columns), is that animation is performed on
* updates. On the other hand, when the series contains more points than the
* crop threshold, the series data is cropped to only contain points that
* fall within the plot area. The advantage of cropping away invisible
* points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highstock) Cumulative Sum feature replaces points' values with the
* following formula: `sum of all previous points' values + current point's
* value`. Works only for points in a visible range. Adds the
* `cumulativeSum` field to each point object that can be accessed e.g. in
* the tooltip.pointFormat.
*
* With `dataGrouping` enabled, default grouping approximation is set to
* `sum`.
*/
cumulative?: boolean;
/**
* (Highstock) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highstock) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highstock) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) Data grouping is the concept of sampling the data values into
* larger blocks in order to ease readability and increase performance of
* the JavaScript charts. Highcharts Stock by default applies data grouping
* when the points become closer than a certain pixel value, determined by
* the `groupPixelWidth` option.
*
* If data grouping is applied, the grouping information of grouped points
* can be read from the Point.dataGroup. If point options other than the
* data itself are set, for example `name` or `color` or custom properties,
* the grouping logic doesn't know how to group it. In this case the options
* of the first point instance are copied over to the group point. This can
* be altered through a custom `approximation` callback function.
*/
dataGrouping?: DataGroupingOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotMfiDataLabelsOptions|Array<PlotMfiDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotMfiDataSortingOptions);
/**
* (Highstock) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highstock) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highstock) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highstock) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highstock) Defines when to display a gap in the graph, together with the
* gapUnit option.
*
* In case when `dataGrouping` is enabled, points can be grouped into a
* larger time span. This can make the grouped points to have a greater
* distance than the absolute value of `gapSize` property, which will result
* in disappearing graph completely. To prevent this situation the mentioned
* distance between grouped points is used instead of previously defined
* `gapSize`.
*
* In practice, this option is most often used to visualize gaps in time
* series. In a stock chart, intraday data is available for daytime hours,
* while gaps will appear in nights and weekends.
*/
gapSize?: number;
/**
* (Highstock) Together with gapSize, this option defines where to draw gaps
* in the graph.
*
* When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
* if the distance between two points is greater than 5 times that of the
* two closest points, the graph will be broken.
*
* When the `gapUnit` is `"value"`, the gap is based on absolute axis
* values, which on a datetime axis is milliseconds. This also applies to
* the navigator series that inherits gap options from the base series.
*/
gapUnit?: OptionsGapUnitValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highstock) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highstock) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highstock) The line marks the last price from all points.
*/
lastPrice?: SeriesLastPriceOptionsObject;
/**
* (Highstock) The line marks the last price from visible range of points.
*/
lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
/**
* (Highstock) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
* `stroke-linejoin` of a line graph. Round means that lines are rounded in
* the ends and bends.
*/
linecap?: SeriesLinecapValue;
/**
* (Highcharts, Highstock) Pixel width of the graph line.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The main series ID that indicator will be
* based on. Required for this indicator.
*/
linkedTo?: string;
/**
* (Highstock) Options for the point markers of line and scatter-like
* series. Properties like `fillColor`, `lineColor` and `lineWidth` define
* the visual appearance of the markers. The `symbol` option defines the
* shape. Other series types, like column series, don't have markers, but
* have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highstock) The name of the series as shown in the legend, tooltip etc.
* If not set, it will be based on a technical indicator type and default
* params.
*/
name?: string;
/**
* (Highstock) The color for the parts of the graph or points that are below
* the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotMfiOnPointOptions);
/**
* (Highstock) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
params?: PlotMfiParamsOptions;
/**
* (Highstock) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highstock) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highstock) Same as accessibility.series.descriptionFormatter, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highstock) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highstock) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highstock) If set to `true`, the accessibility module will skip past the
* points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highstock) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock) Whether to apply steps to the line. Possible
* values are `left`, `center` and `right`.
*/
step?: OptionsStepValue;
/**
* (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock) The threshold, also called zero level or base
* level. For line type series this is only used in conjunction with
* negativeColor.
*/
threshold?: (number|null);
/**
* (Highstock) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highstock) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highstock) Point accessibility options for a series.
*/
export interface PlotMomentumAccessibilityPointOptions {
/**
* (Highstock) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highstock) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highstock) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highstock) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highstock) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highstock) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highstock) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotMomentumDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotMomentumDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: (VerticalAlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotMomentumOnPointConnectorOptions {
/**
* (Highstock) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highstock) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highstock) Options allowing to set a position and an offset of the series in
* the _Series on point_ feature.
*/
export interface PlotMomentumOnPointPositionOptions {
/**
* (Highstock) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highstock) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highstock) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highstock) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
export interface PlotMomentumParamsOptions {
/**
* (Highstock) The point index which indicator calculations will base. For
* example using OHLC data, index=2 means the indicator will be calculated
* using Low values.
*/
index?: number;
/**
* (Highstock) The base period for indicator calculations. This is the
* number of data points which are taken into account for the indicator
* calculations.
*/
period?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotNatrDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotNatrDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotNatrOnPointOptions {
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotNatrOnPointConnectorOptions|SVGAttributes);
/**
* (Highstock) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highstock) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotNatrOnPointPositionOptions);
}
/**
* (Highstock) Normalized average true range indicator (NATR). This series
* requires `linkedTo` option to be set and should be loaded after the
* `stock/indicators/indicators.js` and `stock/indicators/atr.js`.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `natr` series are defined in plotOptions.natr.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotNatrOptions {
/**
* (Highstock) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highstock) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highstock) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highstock) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highstock) Sets the color blending in the boost module.
*/
boostBlending?: OptionsBoostBlendingValue;
/**
* (Highstock) Set the point threshold for when a series should enter boost
* mode.
*
* Setting it to e.g. 2000 will cause the series to enter boost mode when
* there are 2000 or more points in the series.
*
* To disable boosting on the series, set the `boostThreshold` to 0. Setting
* it to 1 will force boosting.
*
* Note that the cropThreshold also affects this setting. When zooming in on
* a series that has fewer points than the `cropThreshold`, all points are
* rendered although outside the visible plot area, and the `boostThreshold`
* won't take effect.
*/
boostThreshold?: number;
/**
* (Highstock) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highstock) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highstock) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highstock) Compare the values of the series against the first non-null,
* non- zero value in the visible range. The y axis will show percentage or
* absolute change depending on whether `compare` is set to `"percent"` or
* `"value"`. When this is applied to multiple series, it allows comparing
* the development of the series against each other. Adds a `change` field
* to every point object.
*/
compare?: OptionsCompareValue;
/**
* (Highstock) When compare is `percent`, this option dictates whether to
* use 0 or 100 as the base of comparison.
*/
compareBase?: (0|100);
/**
* (Highstock) Defines if comparison should start from the first point
* within the visible range or should start from the first point **before**
* the range.
*
* In other words, this flag determines if first point within the visible
* range will have 0% (`compareStart=true`) or should have been already
* calculated according to the previous point (`compareStart=false`).
*/
compareStart?: boolean;
/**
* (Highstock) Whether to compare indicator to the main series values or
* indicator values.
*/
compareToMain?: boolean;
/**
* (Highcharts, Highstock) Whether to connect a graph line across null
* points, or render a gap between the two points on either side of the
* null.
*
* In stacked area chart, if `connectNulls` is set to true, null points are
* interpreted as 0.
*/
connectNulls?: boolean;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highstock) When the series contains less points than the
* crop threshold, all points are drawn, even if the points fall outside the
* visible plot area at the current zoom. The advantage of drawing all
* points (including markers and columns), is that animation is performed on
* updates. On the other hand, when the series contains more points than the
* crop threshold, the series data is cropped to only contain points that
* fall within the plot area. The advantage of cropping away invisible
* points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highstock) Cumulative Sum feature replaces points' values with the
* following formula: `sum of all previous points' values + current point's
* value`. Works only for points in a visible range. Adds the
* `cumulativeSum` field to each point object that can be accessed e.g. in
* the tooltip.pointFormat.
*
* With `dataGrouping` enabled, default grouping approximation is set to
* `sum`.
*/
cumulative?: boolean;
/**
* (Highstock) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highstock) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highstock) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) Data grouping is the concept of sampling the data values into
* larger blocks in order to ease readability and increase performance of
* the JavaScript charts. Highcharts Stock by default applies data grouping
* when the points become closer than a certain pixel value, determined by
* the `groupPixelWidth` option.
*
* If data grouping is applied, the grouping information of grouped points
* can be read from the Point.dataGroup. If point options other than the
* data itself are set, for example `name` or `color` or custom properties,
* the grouping logic doesn't know how to group it. In this case the options
* of the first point instance are copied over to the group point. This can
* be altered through a custom `approximation` callback function.
*/
dataGrouping?: DataGroupingOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotNatrDataLabelsOptions|Array<PlotNatrDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotNatrDataSortingOptions);
/**
* (Highstock) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highstock) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highstock) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highstock) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highstock) Defines when to display a gap in the graph, together with the
* gapUnit option.
*
* In case when `dataGrouping` is enabled, points can be grouped into a
* larger time span. This can make the grouped points to have a greater
* distance than the absolute value of `gapSize` property, which will result
* in disappearing graph completely. To prevent this situation the mentioned
* distance between grouped points is used instead of previously defined
* `gapSize`.
*
* In practice, this option is most often used to visualize gaps in time
* series. In a stock chart, intraday data is available for daytime hours,
* while gaps will appear in nights and weekends.
*/
gapSize?: number;
/**
* (Highstock) Together with gapSize, this option defines where to draw gaps
* in the graph.
*
* When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
* if the distance between two points is greater than 5 times that of the
* two closest points, the graph will be broken.
*
* When the `gapUnit` is `"value"`, the gap is based on absolute axis
* values, which on a datetime axis is milliseconds. This also applies to
* the navigator series that inherits gap options from the base series.
*/
gapUnit?: OptionsGapUnitValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highstock) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highstock) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highstock) The line marks the last price from all points.
*/
lastPrice?: SeriesLastPriceOptionsObject;
/**
* (Highstock) The line marks the last price from visible range of points.
*/
lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
/**
* (Highstock) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
* `stroke-linejoin` of a line graph. Round means that lines are rounded in
* the ends and bends.
*/
linecap?: SeriesLinecapValue;
/**
* (Highcharts, Highstock) Pixel width of the graph line.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The main series ID that indicator will be
* based on. Required for this indicator.
*/
linkedTo?: string;
/**
* (Highstock) Options for the point markers of line and scatter-like
* series. Properties like `fillColor`, `lineColor` and `lineWidth` define
* the visual appearance of the markers. The `symbol` option defines the
* shape. Other series types, like column series, don't have markers, but
* have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highstock) The name of the series as shown in the legend, tooltip etc.
* If not set, it will be based on a technical indicator type and default
* params.
*/
name?: string;
/**
* (Highstock) The color for the parts of the graph or points that are below
* the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotNatrOnPointOptions);
/**
* (Highstock) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
params?: PlotNatrParamsOptions;
/**
* (Highstock) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highstock) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highstock) Same as accessibility.series.descriptionFormatter, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highstock) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highstock) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highstock) If set to `true`, the accessibility module will skip past the
* points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highstock) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock) Whether to apply steps to the line. Possible
* values are `left`, `center` and `right`.
*/
step?: OptionsStepValue;
/**
* (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock) The threshold, also called zero level or base
* level. For line type series this is only used in conjunction with
* negativeColor.
*/
threshold?: (number|null);
/**
* (Highstock) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highstock) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highcharts) Point accessibility options for a series.
*/
export interface PlotNetworkgraphAccessibilityPointOptions {
/**
* (Highcharts) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highcharts) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highcharts) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highcharts) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highcharts) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highcharts) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highcharts) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The default
* `color` setting is `"contrast"`, which is a pseudo color that Highcharts
* picks up and applies the maximum contrast to the underlying point item, for
* example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the given
* width with the given color, which by default is the maximum contrast to the
* text. So a bright text color will result in a black text outline for maximum
* readability on a mixed background. In some cases, especially with grayscale
* text, the text outline doesn't work well, in which cases it can be disabled
* by setting it to `"none"`. When `useHTML` is true, the `textOutline` will not
* be picked up. In this, case, the same effect can be acheived through the
* `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example tree
* maps, the data label may overflow the point. There are two strategies for
* handling overflow. By default, the text will wrap to multiple lines. The
* other strategy is to set `style.textOverflow` to `ellipsis`, which will keep
* the text on one line plus it will break inside long words.
*/
export interface PlotNetworkgraphDataLabelsStyleOptions {
transition?: string;
}
/**
* (Highcharts) Link style options
*/
export interface PlotNetworkgraphLinkOptions {
/**
* (Highcharts) Color of the link between two nodes.
*/
color?: string;
/**
* (Highcharts) A name for the dash style to use for links.
*/
dashStyle?: string;
/**
* (Highcharts) Opacity of the link between two nodes.
*/
opacity?: number;
/**
* (Highcharts) Width (px) of the link between two nodes.
*/
width?: number;
}
/**
* (Highcharts) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotNetworkgraphOnPointOptions {
/**
* (Highcharts) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotNetworkgraphOnPointConnectorOptions|SVGAttributes);
/**
* (Highcharts) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highcharts) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotNetworkgraphOnPointPositionOptions);
}
/**
* (Highcharts) A networkgraph is a type of relationship chart, where
* connnections (links) attracts nodes (points) and other nodes repulse each
* other.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `networkgraph` series are defined in
* plotOptions.networkgraph.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotNetworkgraphOptions {
/**
* (Highcharts) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highcharts) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highcharts) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highcharts) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highcharts) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highcharts) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highcharts) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (SeriesNetworkgraphDataLabelsOptionsObject|Array<SeriesNetworkgraphDataLabelsOptionsObject>);
/**
* (Highcharts) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highcharts) Flag to determine if nodes are draggable or not.
*/
draggable?: boolean;
/**
* (Highcharts) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highcharts) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highcharts) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highcharts) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highcharts) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts) An array specifying which option maps to which key in the
* data point array. This makes it convenient to work with unstructured data
* arrays from different sources.
*/
keys?: Array<string>;
layoutAlgorithm?: PlotNetworkgraphLayoutAlgorithmOptions;
/**
* (Highcharts) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) Pixel width of the graph line.
*/
lineWidth?: number;
/**
* (Highcharts) Link style options
*/
link?: PlotNetworkgraphLinkOptions;
/**
* (Highcharts, Highstock, Gantt) The id of another series to link to.
* Additionally, the value can be ":previous" to link to the previous
* series. When two series are linked, only the first one appears in the
* legend. Toggling the visibility of this also toggles the linked series.
*
* If master series uses data sorting and linked series does not have its
* own sorting definition, the linked series will be sorted in the same
* order as the master one.
*/
linkedTo?: string;
/**
* (Highcharts) Options for the point markers of line and scatter-like
* series. Properties like `fillColor`, `lineColor` and `lineWidth` define
* the visual appearance of the markers. The `symbol` option defines the
* shape. Other series types, like column series, don't have markers, but
* have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highcharts) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotNetworkgraphOnPointOptions);
/**
* (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highcharts) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highcharts) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highcharts) Same as accessibility.series.descriptionFormatter, but for
* an individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highcharts) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highcharts) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highcharts) If set to `true`, the accessibility module will skip past
* the points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highcharts) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotObvDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotObvDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotObvOnPointOptions {
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotObvOnPointConnectorOptions|SVGAttributes);
/**
* (Highstock) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highstock) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotObvOnPointPositionOptions);
}
/**
* (Highstock) On-Balance Volume (OBV) technical indicator. This series requires
* the `linkedTo` option to be set and should be loaded after the
* `stock/indicators/indicators.js` file. Through the `volumeSeriesID` there
* also should be linked the volume series.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `obv` series are defined in plotOptions.obv.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotObvOptions {
/**
* (Highstock) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highstock) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highstock) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highstock) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highstock) Sets the color blending in the boost module.
*/
boostBlending?: OptionsBoostBlendingValue;
/**
* (Highstock) Set the point threshold for when a series should enter boost
* mode.
*
* Setting it to e.g. 2000 will cause the series to enter boost mode when
* there are 2000 or more points in the series.
*
* To disable boosting on the series, set the `boostThreshold` to 0. Setting
* it to 1 will force boosting.
*
* Note that the cropThreshold also affects this setting. When zooming in on
* a series that has fewer points than the `cropThreshold`, all points are
* rendered although outside the visible plot area, and the `boostThreshold`
* won't take effect.
*/
boostThreshold?: number;
/**
* (Highstock) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highstock) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highstock) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highstock) Compare the values of the series against the first non-null,
* non- zero value in the visible range. The y axis will show percentage or
* absolute change depending on whether `compare` is set to `"percent"` or
* `"value"`. When this is applied to multiple series, it allows comparing
* the development of the series against each other. Adds a `change` field
* to every point object.
*/
compare?: OptionsCompareValue;
/**
* (Highstock) When compare is `percent`, this option dictates whether to
* use 0 or 100 as the base of comparison.
*/
compareBase?: (0|100);
/**
* (Highstock) Defines if comparison should start from the first point
* within the visible range or should start from the first point **before**
* the range.
*
* In other words, this flag determines if first point within the visible
* range will have 0% (`compareStart=true`) or should have been already
* calculated according to the previous point (`compareStart=false`).
*/
compareStart?: boolean;
/**
* (Highstock) Whether to compare indicator to the main series values or
* indicator values.
*/
compareToMain?: boolean;
/**
* (Highcharts, Highstock) Whether to connect a graph line across null
* points, or render a gap between the two points on either side of the
* null.
*
* In stacked area chart, if `connectNulls` is set to true, null points are
* interpreted as 0.
*/
connectNulls?: boolean;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highstock) When the series contains less points than the
* crop threshold, all points are drawn, even if the points fall outside the
* visible plot area at the current zoom. The advantage of drawing all
* points (including markers and columns), is that animation is performed on
* updates. On the other hand, when the series contains more points than the
* crop threshold, the series data is cropped to only contain points that
* fall within the plot area. The advantage of cropping away invisible
* points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highstock) Cumulative Sum feature replaces points' values with the
* following formula: `sum of all previous points' values + current point's
* value`. Works only for points in a visible range. Adds the
* `cumulativeSum` field to each point object that can be accessed e.g. in
* the tooltip.pointFormat.
*
* With `dataGrouping` enabled, default grouping approximation is set to
* `sum`.
*/
cumulative?: boolean;
/**
* (Highstock) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highstock) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highstock) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) Data grouping is the concept of sampling the data values into
* larger blocks in order to ease readability and increase performance of
* the JavaScript charts. Highcharts Stock by default applies data grouping
* when the points become closer than a certain pixel value, determined by
* the `groupPixelWidth` option.
*
* If data grouping is applied, the grouping information of grouped points
* can be read from the Point.dataGroup. If point options other than the
* data itself are set, for example `name` or `color` or custom properties,
* the grouping logic doesn't know how to group it. In this case the options
* of the first point instance are copied over to the group point. This can
* be altered through a custom `approximation` callback function.
*/
dataGrouping?: DataGroupingOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotObvDataLabelsOptions|Array<PlotObvDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotObvDataSortingOptions);
/**
* (Highstock) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highstock) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highstock) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highstock) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highstock) Defines when to display a gap in the graph, together with the
* gapUnit option.
*
* In case when `dataGrouping` is enabled, points can be grouped into a
* larger time span. This can make the grouped points to have a greater
* distance than the absolute value of `gapSize` property, which will result
* in disappearing graph completely. To prevent this situation the mentioned
* distance between grouped points is used instead of previously defined
* `gapSize`.
*
* In practice, this option is most often used to visualize gaps in time
* series. In a stock chart, intraday data is available for daytime hours,
* while gaps will appear in nights and weekends.
*/
gapSize?: number;
/**
* (Highstock) Together with gapSize, this option defines where to draw gaps
* in the graph.
*
* When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
* if the distance between two points is greater than 5 times that of the
* two closest points, the graph will be broken.
*
* When the `gapUnit` is `"value"`, the gap is based on absolute axis
* values, which on a datetime axis is milliseconds. This also applies to
* the navigator series that inherits gap options from the base series.
*/
gapUnit?: OptionsGapUnitValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highstock) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highstock) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highstock) The line marks the last price from all points.
*/
lastPrice?: SeriesLastPriceOptionsObject;
/**
* (Highstock) The line marks the last price from visible range of points.
*/
lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
/**
* (Highstock) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
* `stroke-linejoin` of a line graph. Round means that lines are rounded in
* the ends and bends.
*/
linecap?: SeriesLinecapValue;
/**
* (Highcharts, Highstock) Pixel width of the graph line.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The main series ID that indicator will be
* based on. Required for this indicator.
*/
linkedTo?: string;
/**
* (Highstock) Options for the point markers of line and scatter-like
* series. Properties like `fillColor`, `lineColor` and `lineWidth` define
* the visual appearance of the markers. The `symbol` option defines the
* shape. Other series types, like column series, don't have markers, but
* have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highstock) The name of the series as shown in the legend, tooltip etc.
* If not set, it will be based on a technical indicator type and default
* params.
*/
name?: string;
/**
* (Highstock) The color for the parts of the graph or points that are below
* the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotObvOnPointOptions);
/**
* (Highstock) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
params?: PlotObvParamsOptions;
/**
* (Highstock) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highstock) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highstock) Same as accessibility.series.descriptionFormatter, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highstock) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highstock) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highstock) If set to `true`, the accessibility module will skip past the
* points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highstock) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock) Whether to apply steps to the line. Possible
* values are `left`, `center` and `right`.
*/
step?: OptionsStepValue;
/**
* (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock) The threshold, also called zero level or base
* level. For line type series this is only used in conjunction with
* negativeColor.
*/
threshold?: (number|null);
/**
* (Highstock) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highstock) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highstock) Point accessibility options for a series.
*/
export interface PlotOhlcAccessibilityPointOptions {
/**
* (Highstock) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highstock) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highstock) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highstock) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highstock) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highstock) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highstock) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotOhlcDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotOhlcDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotOhlcOnPointConnectorOptions {
/**
* (Highstock) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highstock) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highstock) Options allowing to set a position and an offset of the series in
* the _Series on point_ feature.
*/
export interface PlotOhlcOnPointPositionOptions {
/**
* (Highstock) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highstock) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highstock) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highstock) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) The plotOptions is a wrapper object
* for config objects for each series type. The config objects for each series
* can also be overridden for each series item as given in the series array.
*
* Configuration options for the series are given in three levels. Options for
* all series in a chart are given in the plotOptions.series object. Then
* options for all series of a specific type are given in the plotOptions of
* that type, for example `plotOptions.line`. Next, options for one single
* series are given in the series array.
*/
export interface PlotOptions {
/**
* (Highstock) Acceleration bands (ABANDS). This series requires the
* `linkedTo` option to be set and should be loaded after the
* `stock/indicators/indicators.js`.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `abands` series are defined in plotOptions.abands.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
abands?: PlotAbandsOptions;
/**
* (Highstock) Accumulation Distribution (AD). This series requires
* `linkedTo` option to be set.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `ad` series are defined in plotOptions.ad.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
ad?: PlotAdOptions;
/**
* (Highstock) Awesome Oscillator. This series requires the `linkedTo`
* option to be set and should be loaded after the
* `stock/indicators/indicators.js`
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `ao` series are defined in plotOptions.ao.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
ao?: PlotAoOptions;
/**
* (Highstock) Absolute Price Oscillator. This series requires the
* `linkedTo` option to be set and should be loaded after the
* `stock/indicators/indicators.js`.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `apo` series are defined in plotOptions.apo.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
apo?: PlotApoOptions;
/**
* (Highcharts) Arc diagram series is a chart drawing style in which the
* vertices of the chart are positioned along a line on the Euclidean plane
* and the edges are drawn as a semicircle in one of the two half-planes
* delimited by the line, or as smooth curves formed by sequences of
* semicircles.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `arcdiagram` series are defined in
* plotOptions.arcdiagram.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
arcdiagram?: PlotArcdiagramOptions;
/**
* (Highcharts, Highstock) The area series type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `area` series are defined in plotOptions.area.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
area?: PlotAreaOptions;
/**
* (Highcharts, Highstock) The area range series is a carteseian series with
* higher and lower values for each point along an X axis, where the area
* between the values is shaded.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `arearange` series are defined in
* plotOptions.arearange.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
arearange?: PlotArearangeOptions;
/**
* (Highcharts, Highstock) The area spline series is an area series where
* the graph between the points is smoothed into a spline.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `areaspline` series are defined in
* plotOptions.areaspline.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
areaspline?: PlotAreasplineOptions;
/**
* (Highcharts, Highstock) The area spline range is a cartesian series type
* with higher and lower Y values along an X axis. The area inside the range
* is colored, and the graph outlining the area is a smoothed spline.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `areasplinerange` series are defined in
* plotOptions.areasplinerange.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
areasplinerange?: PlotAreasplinerangeOptions;
/**
* (Highstock) Aroon. This series requires the `linkedTo` option to be set
* and should be loaded after the `stock/indicators/indicators.js`.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `aroon` series are defined in plotOptions.aroon.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
aroon?: PlotAroonOptions;
/**
* (Highstock) Aroon Oscillator. This series requires the `linkedTo` option
* to be set and should be loaded after the `stock/indicators/indicators.js`
* and `stock/indicators/aroon.js`.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `aroonoscillator` series are defined in
* plotOptions.aroonoscillator.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
aroonoscillator?: PlotAroonoscillatorOptions;
/**
* (Highstock) Average true range indicator (ATR). This series requires
* `linkedTo` option to be set.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `atr` series are defined in plotOptions.atr.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
atr?: PlotAtrOptions;
/**
* (Highcharts) A bar series is a special type of column series where the
* columns are horizontal.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `bar` series are defined in plotOptions.bar.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
bar?: PlotBarOptions;
/**
* (Highstock) Bollinger bands (BB). This series requires the `linkedTo`
* option to be set and should be loaded after the
* `stock/indicators/indicators.js` file.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `bb` series are defined in plotOptions.bb.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
bb?: PlotBbOptions;
/**
* (Highcharts) A bell curve is an areaspline series which represents the
* probability density function of the normal distribution. It calculates
* mean and standard deviation of the base series data and plots the curve
* according to the calculated parameters.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `bellcurve` series are defined in
* plotOptions.bellcurve.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
bellcurve?: PlotBellcurveOptions;
/**
* (Highcharts) A box plot is a convenient way of depicting groups of data
* through their five-number summaries: the smallest observation (sample
* minimum), lower quartile (Q1), median (Q2), upper quartile (Q3), and
* largest observation (sample maximum).
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `boxplot` series are defined in plotOptions.boxplot.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
boxplot?: PlotBoxplotOptions;
/**
* (Highcharts, Highstock) A bubble series is a three dimensional series
* type where each point renders an X, Y and Z value. Each points is drawn
* as a bubble where the position along the X and Y axes mark the X and Y
* values, and the size of the bubble relates to the Z value.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `bubble` series are defined in plotOptions.bubble.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
bubble?: PlotBubbleOptions;
/**
* (Highcharts) A bullet graph is a variation of a bar graph. The bullet
* graph features a single measure, compares it to a target, and displays it
* in the context of qualitative ranges of performance that could be set
* using plotBands on yAxis.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `bullet` series are defined in plotOptions.bullet.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
bullet?: PlotBulletOptions;
/**
* (Highstock) A candlestick chart is a style of financial chart used to
* describe price movements over time.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `candlestick` series are defined in
* plotOptions.candlestick.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
candlestick?: PlotCandlestickOptions;
/**
* (Highstock) Commodity Channel Index (CCI). This series requires
* `linkedTo` option to be set.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `cci` series are defined in plotOptions.cci.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
cci?: PlotCciOptions;
/**
* (Highstock) Chaikin Oscillator. This series requires the `linkedTo`
* option to be set and should be loaded after the
* `stock/indicators/indicators.js`.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `chaikin` series are defined in plotOptions.chaikin.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
chaikin?: PlotChaikinOptions;
/**
* (Highstock) Chaikin Money Flow indicator (cmf).
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `cmf` series are defined in plotOptions.cmf.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
cmf?: PlotCmfOptions;
/**
* (Highstock) Chande Momentum Oscilator (CMO) technical indicator. This
* series requires the `linkedTo` option to be set and should be loaded
* after the `stock/indicators/indicators.js` file.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `cmo` series are defined in plotOptions.cmo.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
cmo?: PlotCmoOptions;
/**
* (Highcharts, Highstock) Column series display one column per value along
* an X axis.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `column` series are defined in plotOptions.column.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
column?: PlotColumnOptions;
/**
* (Highcharts, Highstock) Column pyramid series display one pyramid per
* value along an X axis. To display horizontal pyramids, set chart.inverted
* to `true`.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `columnpyramid` series are defined in
* plotOptions.columnpyramid.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
columnpyramid?: PlotColumnpyramidOptions;
/**
* (Highcharts, Highstock) The column range is a cartesian series type with
* higher and lower Y values along an X axis. To display horizontal bars,
* set chart.inverted to `true`.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `columnrange` series are defined in
* plotOptions.columnrange.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
columnrange?: PlotColumnrangeOptions;
/**
* (Highcharts) A cylinder graph is a variation of a 3d column graph. The
* cylinder graph features cylindrical points.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `cylinder` series are defined in plotOptions.cylinder.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
cylinder?: PlotCylinderOptions;
/**
* (Highstock) Double exponential moving average (DEMA) indicator. This
* series requires `linkedTo` option to be set and should be loaded after
* the `stock/indicators/indicators.js`.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `dema` series are defined in plotOptions.dema.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
dema?: PlotDemaOptions;
/**
* (Highcharts) A dependency wheel chart is a type of flow diagram, where
* all nodes are laid out in a circle, and the flow between the are drawn as
* link bands.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `dependencywheel` series are defined in
* plotOptions.dependencywheel.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
dependencywheel?: PlotDependencywheelOptions;
/**
* (Highstock) Disparity Index. This series requires the `linkedTo` option
* to be set and should be loaded after the `stock/indicators/indicators.js`
* file.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `disparityindex` series are defined in
* plotOptions.disparityindex.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
disparityindex?: PlotDisparityindexOptions;
/**
* (Highstock) Directional Movement Index (DMI). This series requires the
* `linkedTo` option to be set and should be loaded after the
* `stock/indicators/indicators.js` file.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `dmi` series are defined in plotOptions.dmi.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
dmi?: PlotDmiOptions;
/**
* (Highstock) Detrended Price Oscillator. This series requires the
* `linkedTo` option to be set and should be loaded after the
* `stock/indicators/indicators.js`.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `dpo` series are defined in plotOptions.dpo.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
dpo?: PlotDpoOptions;
/**
* (Highcharts, Highstock) The dumbbell series is a cartesian series with
* higher and lower values for each point along an X axis, connected with a
* line between the values.
*
* Requires `highcharts-more.js` and `modules/dumbbell.js`.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `dumbbell` series are defined in plotOptions.dumbbell.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
dumbbell?: PlotDumbbellOptions;
/**
* (Highstock) Exponential moving average indicator (EMA). This series
* requires the `linkedTo` option to be set.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `ema` series are defined in plotOptions.ema.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
ema?: PlotEmaOptions;
/**
* (Highcharts) Error bars are a graphical representation of the variability
* of data and are used on graphs to indicate the error, or uncertainty in a
* reported measurement.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `errorbar` series are defined in plotOptions.errorbar.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
errorbar?: PlotErrorbarOptions;
/**
* (Highstock) Flags are used to mark events in stock charts. They can be
* added on the timeline, or attached to a specific series.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `flags` series are defined in plotOptions.flags.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
flags?: PlotFlagsOptions;
/**
* (Highmaps) A flowmap series is a series laid out on top of a map series
* allowing to display route paths (e.g. flight or ship routes) or flows on
* a map. It creates a link between two points on a map chart.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `flowmap` series are defined in plotOptions.flowmap.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
flowmap?: PlotFlowmapOptions;
/**
* (Highcharts) Funnel charts are a type of chart often used to visualize
* stages in a sales project, where the top are the initial stages with the
* most clients. It requires that the modules/funnel.js file is loaded.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `funnel` series are defined in plotOptions.funnel.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
funnel?: PlotFunnelOptions;
/**
* (Highcharts) A funnel3d is a 3d version of funnel series type. Funnel
* charts are a type of chart often used to visualize stages in a sales
* project, where the top are the initial stages with the most clients.
*
* It requires that the `highcharts-3d.js`, `cylinder.js` and `funnel3d.js`
* module are loaded.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `funnel3d` series are defined in plotOptions.funnel3d.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
funnel3d?: PlotFunnel3dOptions;
/**
* (Gantt) A `gantt` series. If the type option is not specified, it is
* inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `gantt` series are defined in plotOptions.gantt.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
gantt?: PlotGanttOptions;
/**
* (Highcharts) Gauges are circular plots displaying one or more values with
* a dial pointing to values along the perimeter.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `gauge` series are defined in plotOptions.gauge.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
gauge?: PlotGaugeOptions;
/**
* (Highmaps) A `geoheatmap` series is a variety of heatmap series, composed
* into the map projection, where the units are expressed in the latitude
* and longitude, and individual values contained in a matrix are
* represented as colors.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `geoheatmap` series are defined in
* plotOptions.geoheatmap.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
geoheatmap?: PlotGeoheatmapOptions;
/**
* (Highcharts, Highmaps) A heatmap is a graphical representation of data
* where the individual values contained in a matrix are represented as
* colors.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `heatmap` series are defined in plotOptions.heatmap.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
heatmap?: PlotHeatmapOptions;
/**
* (Highstock) An HeikinAshi series is a style of financial chart used to
* describe price movements over time. It displays open, high, low and close
* values per data point.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `heikinashi` series are defined in
* plotOptions.heikinashi.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
heikinashi?: PlotHeikinashiOptions;
/**
* (Highcharts) A histogram is a column series which represents the
* distribution of the data set in the base series. Histogram splits data
* into bins and shows their frequencies.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `histogram` series are defined in
* plotOptions.histogram.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
histogram?: PlotHistogramOptions;
/**
* (Highstock) An HLC chart is a style of financial chart used to describe
* price movements over time. It displays high, low and close values per
* data point.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `hlc` series are defined in plotOptions.hlc.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
hlc?: PlotHlcOptions;
/**
* (Highstock) A hollow candlestick chart is a style of financial chart used
* to describe price movements over time.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `hollowcandlestick` series are defined in
* plotOptions.hollowcandlestick.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
hollowcandlestick?: PlotHollowcandlestickOptions;
/**
* (Highstock) Ichimoku Kinko Hyo (IKH). This series requires `linkedTo`
* option to be set.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `ikh` series are defined in plotOptions.ikh.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
ikh?: PlotIkhOptions;
/**
* (Highcharts) An item chart is an infographic chart where a number of
* items are laid out in either a rectangular or circular pattern. It can be
* used to visualize counts within a group, or for the circular pattern,
* typically a parliament.
*
* The circular layout has much in common with a pie chart. Many of the item
* series options, like `center`, `size` and data label positioning, are
* inherited from the pie series and don't apply for rectangular layouts.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `item` series are defined in plotOptions.item.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
item?: PlotItemOptions;
/**
* (Highstock) Keltner Channels. This series requires the `linkedTo` option
* to be set and should be loaded after the
* `stock/indicators/indicators.js`, `stock/indicators/atr.js`, and
* `stock/ema/.js`.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `keltnerchannels` series are defined in
* plotOptions.keltnerchannels.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
keltnerchannels?: PlotKeltnerchannelsOptions;
/**
* (Highstock) Klinger oscillator. This series requires the `linkedTo`
* option to be set and should be loaded after the
* `stock/indicators/indicators.js` file.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `klinger` series are defined in plotOptions.klinger.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
klinger?: PlotKlingerOptions;
/**
* (Highcharts, Highstock) A line series displays information as a series of
* data points connected by straight line segments.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `line` series are defined in plotOptions.line.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
line?: PlotLineOptions;
/**
* (Highstock) Linear regression indicator. This series requires `linkedTo`
* option to be set.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `linearregression` series are defined in
* plotOptions.linearregression.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
linearregression?: PlotLinearregressionOptions;
/**
* (Highstock) Linear regression angle indicator. This series requires
* `linkedTo` option to be set.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `linearregressionangle` series are defined in
* plotOptions.linearregressionangle.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
linearregressionangle?: PlotLinearregressionangleOptions;
/**
* (Highstock) Linear regression intercept indicator. This series requires
* `linkedTo` option to be set.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `linearregressionintercept` series are defined in
* plotOptions.linearregressionintercept.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
linearregressionintercept?: PlotLinearregressioninterceptOptions;
/**
* (Highstock) Linear regression slope indicator. This series requires
* `linkedTo` option to be set.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `linearregressionslope` series are defined in
* plotOptions.linearregressionslope.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
linearregressionslope?: PlotLinearregressionslopeOptions;
/**
* (Highcharts, Highstock) The lollipop series is a carteseian series with a
* line anchored from the x axis and a dot at the end to mark the value.
* Requires `highcharts-more.js`, `modules/dumbbell.js` and
* `modules/lollipop.js`.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `lollipop` series are defined in plotOptions.lollipop.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
lollipop?: PlotLollipopOptions;
/**
* (Highstock) Moving Average Convergence Divergence (MACD). This series
* requires `linkedTo` option to be set and should be loaded after the
* `stock/indicators/indicators.js`.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `macd` series are defined in plotOptions.macd.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
macd?: PlotMacdOptions;
/**
* (Highmaps) The map series is used for basic choropleth maps, where each
* map area has a color based on its value.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `map` series are defined in plotOptions.map.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
map?: PlotMapOptions;
/**
* (Highmaps) A map bubble series is a bubble series laid out on top of a
* map series, where each bubble is tied to a specific map area.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `mapbubble` series are defined in
* plotOptions.mapbubble.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
mapbubble?: PlotMapbubbleOptions;
/**
* (Highmaps) A mapline series is a special case of the map series where the
* value colors are applied to the strokes rather than the fills. It can
* also be used for freeform drawing, like dividers, in the map.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `mapline` series are defined in plotOptions.mapline.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
mapline?: PlotMaplineOptions;
/**
* (Highmaps) A mappoint series is a special form of scatter series where
* the points can be laid out in map coordinates on top of a map.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `mappoint` series are defined in plotOptions.mappoint.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
mappoint?: (number|PlotMappointOptions);
/**
* (Highstock) Money Flow Index. This series requires `linkedTo` option to
* be set and should be loaded after the `stock/indicators/indicators.js`
* file.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `mfi` series are defined in plotOptions.mfi.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
mfi?: PlotMfiOptions;
/**
* (Highstock) Momentum. This series requires `linkedTo` option to be set.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `momentum` series are defined in plotOptions.momentum.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
momentum?: PlotMomentumOptions;
/**
* (Highstock) Normalized average true range indicator (NATR). This series
* requires `linkedTo` option to be set and should be loaded after the
* `stock/indicators/indicators.js` and `stock/indicators/atr.js`.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `natr` series are defined in plotOptions.natr.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
natr?: PlotNatrOptions;
/**
* (Highcharts) A networkgraph is a type of relationship chart, where
* connnections (links) attracts nodes (points) and other nodes repulse each
* other.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `networkgraph` series are defined in
* plotOptions.networkgraph.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
networkgraph?: PlotNetworkgraphOptions;
/**
* (Highstock) On-Balance Volume (OBV) technical indicator. This series
* requires the `linkedTo` option to be set and should be loaded after the
* `stock/indicators/indicators.js` file. Through the `volumeSeriesID` there
* also should be linked the volume series.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `obv` series are defined in plotOptions.obv.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
obv?: PlotObvOptions;
/**
* (Highstock) An OHLC chart is a style of financial chart used to describe
* price movements over time. It displays open, high, low and close values
* per data point.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `ohlc` series are defined in plotOptions.ohlc.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
ohlc?: PlotOhlcOptions;
/**
* (Highcharts) An organization chart is a diagram that shows the structure
* of an organization and the relationships and relative ranks of its parts
* and positions.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `organization` series are defined in
* plotOptions.organization.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
organization?: PlotOrganizationOptions;
/**
* (Highcharts) A packed bubble series is a two dimensional series type,
* where each point renders a value in X, Y position. Each point is drawn as
* a bubble where the bubbles don't overlap with each other and the radius
* of the bubble relates to the value.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `packedbubble` series are defined in
* plotOptions.packedbubble.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
packedbubble?: PlotPackedbubbleOptions;
/**
* (Highcharts) A pareto diagram is a type of chart that contains both bars
* and a line graph, where individual values are represented in descending
* order by bars, and the cumulative total is represented by the line.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `pareto` series are defined in plotOptions.pareto.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
pareto?: PlotParetoOptions;
/**
* (Highstock) Price channel (PC). This series requires the `linkedTo`
* option to be set and should be loaded after the
* `stock/indicators/indicators.js`.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `pc` series are defined in plotOptions.pc.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
pc?: PlotPcOptions;
/**
* (Highcharts) A pictorial chart uses vector images to represents the data.
* The shape of the data point is taken from the path parameter.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `pictorial` series are defined in
* plotOptions.pictorial.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
pictorial?: PlotPictorialOptions;
/**
* (Highcharts, Highmaps) A pie chart is a circular graphic which is divided
* into slices to illustrate numerical proportion.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `pie` series are defined in plotOptions.pie.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
pie?: PlotPieOptions;
/**
* (Highstock) Pivot points indicator. This series requires the `linkedTo`
* option to be set and should be loaded after
* `stock/indicators/indicators.js` file.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `pivotpoints` series are defined in
* plotOptions.pivotpoints.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
pivotpoints?: PlotPivotpointsOptions;
/**
* (Highcharts, Highstock) A polygon series can be used to draw any freeform
* shape in the cartesian coordinate system. A fill is applied with the
* `color` option, and stroke is applied through `lineWidth` and `lineColor`
* options.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `polygon` series are defined in plotOptions.polygon.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
polygon?: PlotPolygonOptions;
/**
* (Highstock) Percentage Price Oscillator. This series requires the
* `linkedTo` option to be set and should be loaded after the
* `stock/indicators/indicators.js`.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `ppo` series are defined in plotOptions.ppo.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
ppo?: PlotPpoOptions;
/**
* (Highstock) Price envelopes indicator based on SMA calculations. This
* series requires the `linkedTo` option to be set and should be loaded
* after the `stock/indicators/indicators.js` file.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `priceenvelopes` series are defined in
* plotOptions.priceenvelopes.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
priceenvelopes?: PlotPriceenvelopesOptions;
/**
* (Highstock) Parabolic SAR. This series requires `linkedTo` option to be
* set and should be loaded after `stock/indicators/indicators.js` file.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `psar` series are defined in plotOptions.psar.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
psar?: PlotPsarOptions;
/**
* (Highcharts) A pyramid series is a special type of funnel, without neck
* and reversed by default.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `pyramid` series are defined in plotOptions.pyramid.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
pyramid?: PlotPyramidOptions;
/**
* (Highcharts) A pyramid3d is a 3d version of pyramid series type. Pyramid
* charts are a type of chart often used to visualize stages in a sales
* project, where the top are the initial stages with the most clients.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `pyramid3d` series are defined in
* plotOptions.pyramid3d.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
pyramid3d?: PlotPyramid3dOptions;
/**
* (Highstock) Rate of change indicator (ROC). The indicator value for each
* point is defined as:
*
* `(C - Cn) / Cn * 100`
*
* where: `C` is the close value of the point of the same x in the linked
* series and `Cn` is the close value of the point `n` periods ago. `n` is
* set through period.
*
* This series requires `linkedTo` option to be set.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `roc` series are defined in plotOptions.roc.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
roc?: PlotRocOptions;
/**
* (Highstock) Relative strength index (RSI) technical indicator. This
* series requires the `linkedTo` option to be set and should be loaded
* after the `stock/indicators/indicators.js` file.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `rsi` series are defined in plotOptions.rsi.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
rsi?: PlotRsiOptions;
/**
* (Highcharts) A sankey diagram is a type of flow diagram, in which the
* width of the link between two nodes is shown proportionally to the flow
* quantity.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `sankey` series are defined in plotOptions.sankey.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
sankey?: PlotSankeyOptions;
/**
* (Highcharts, Highstock) A scatter plot uses cartesian coordinates to
* display values for two variables for a set of data.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `scatter` series are defined in plotOptions.scatter.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
scatter?: PlotScatterOptions;
/**
* (Highcharts) A 3D scatter plot uses x, y and z coordinates to display
* values for three variables for a set of data.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `scatter3d` series are defined in
* plotOptions.scatter3d.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
scatter3d?: PlotScatter3dOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) General options for all series
* types.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `line` series are defined in plotOptions.line.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
series?: PlotSeriesOptions;
/**
* (Highstock) Slow Stochastic oscillator. This series requires the
* `linkedTo` option to be set and should be loaded after
* `stock/indicators/indicators.js` and `stock/indicators/stochastic.js`
* files.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `slowstochastic` series are defined in
* plotOptions.slowstochastic.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
slowstochastic?: PlotSlowstochasticOptions;
/**
* (Highstock) Simple moving average indicator (SMA). This series requires
* `linkedTo` option to be set.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `sma` series are defined in plotOptions.sma.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
sma?: PlotSmaOptions;
/**
* (Highcharts) A solid gauge is a circular gauge where the value is
* indicated by a filled arc, and the color of the arc may variate with the
* value.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `solidgauge` series are defined in
* plotOptions.solidgauge.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
solidgauge?: PlotSolidgaugeOptions;
/**
* (Highcharts, Highstock) A spline series is a special type of line series,
* where the segments between the data points are smoothed.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `spline` series are defined in plotOptions.spline.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
spline?: PlotSplineOptions;
/**
* (Highstock) Stochastic oscillator. This series requires the `linkedTo`
* option to be set and should be loaded after the
* `stock/indicators/indicators.js` file.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `stochastic` series are defined in
* plotOptions.stochastic.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
stochastic?: PlotStochasticOptions;
/**
* (Highcharts, Highstock) A streamgraph is a type of stacked area graph
* which is displaced around a central axis, resulting in a flowing, organic
* shape.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `streamgraph` series are defined in
* plotOptions.streamgraph.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
streamgraph?: PlotStreamgraphOptions;
/**
* (Highcharts) A Sunburst displays hierarchical data, where a level in the
* hierarchy is represented by a circle. The center represents the root node
* of the tree. The visualization bears a resemblance to both treemap and
* pie charts.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `sunburst` series are defined in plotOptions.sunburst.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
sunburst?: PlotSunburstOptions;
/**
* (Highstock) Supertrend indicator. This series requires the `linkedTo`
* option to be set and should be loaded after the
* `stock/indicators/indicators.js` and `stock/indicators/sma.js`.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `supertrend` series are defined in
* plotOptions.supertrend.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
supertrend?: PlotSupertrendOptions;
/**
* (Highstock) Triple exponential moving average (TEMA) indicator. This
* series requires `linkedTo` option to be set and should be loaded after
* the `stock/indicators/indicators.js`.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `tema` series are defined in plotOptions.tema.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
tema?: PlotTemaOptions;
/**
* (Highmaps) A tiledwebmap series allows user to display dynamically joined
* individual images (tiles) and join them together to create a map.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `tiledwebmap` series are defined in
* plotOptions.tiledwebmap.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
tiledwebmap?: PlotTiledwebmapOptions;
/**
* (Highcharts, Highmaps) A tilemap series is a type of heatmap where the
* tile shapes are configurable.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `tilemap` series are defined in plotOptions.tilemap.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
tilemap?: PlotTilemapOptions;
/**
* (Highcharts) The timeline series presents given events along a drawn
* line.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `timeline` series are defined in plotOptions.timeline.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
timeline?: PlotTimelineOptions;
/**
* (Highcharts) A treegraph series is a diagram, which shows a relation
* between ancestors and descendants with a clear parent - child relation.
* The best examples of the dataStructures, which best reflect this chart
* are e.g. genealogy tree or directory structure.
*
* TODO change back the demo path
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `treegraph` series are defined in
* plotOptions.treegraph.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
treegraph?: PlotTreegraphOptions;
/**
* (Highcharts) A treemap displays hierarchical data using nested
* rectangles. The data can be laid out in varying ways depending on
* options.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `treemap` series are defined in plotOptions.treemap.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
treemap?: PlotTreemapOptions;
/**
* (Highstock) Trendline (linear regression) fits a straight line to the
* selected data using a method called the Sum Of Least Squares. This series
* requires the `linkedTo` option to be set.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `trendline` series are defined in
* plotOptions.trendline.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
trendline?: PlotTrendlineOptions;
/**
* (Highstock) Triple exponential average (TRIX) oscillator. This series
* requires `linkedTo` option to be set.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `trix` series are defined in plotOptions.trix.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
trix?: PlotTrixOptions;
/**
* (Highcharts) A variable pie series is a two dimensional series type,
* where each point renders an Y and Z value. Each point is drawn as a pie
* slice where the size (arc) of the slice relates to the Y value and the
* radius of pie slice relates to the Z value.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `variablepie` series are defined in
* plotOptions.variablepie.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
variablepie?: PlotVariablepieOptions;
/**
* (Highcharts) A variwide chart (related to marimekko chart) is a column
* chart with a variable width expressing a third dimension.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `variwide` series are defined in plotOptions.variwide.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
variwide?: PlotVariwideOptions;
/**
* (Highstock) Volume By Price indicator.
*
* This series requires `linkedTo` option to be set.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `vbp` series are defined in plotOptions.vbp.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
vbp?: PlotVbpOptions;
/**
* (Highcharts, Highstock) A vector plot is a type of cartesian chart where
* each point has an X and Y position, a length and a direction. Vectors are
* drawn as arrows.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `vector` series are defined in plotOptions.vector.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
vector?: PlotVectorOptions;
/**
* (Highcharts) A Venn diagram displays all possible logical relations
* between a collection of different sets. The sets are represented by
* circles, and the relation between the sets are displayed by the overlap
* or lack of overlap between them. The venn diagram is a special case of
* Euler diagrams, which can also be displayed by this series type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `venn` series are defined in plotOptions.venn.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
venn?: PlotVennOptions;
/**
* (Highstock) Volume Weighted Average Price indicator.
*
* This series requires `linkedTo` option to be set.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `vwap` series are defined in plotOptions.vwap.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
vwap?: PlotVwapOptions;
/**
* (Highcharts) A waterfall chart displays sequentially introduced positive
* or negative values in cumulative columns.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `waterfall` series are defined in
* plotOptions.waterfall.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
waterfall?: PlotWaterfallOptions;
/**
* (Highstock) Williams %R. This series requires the `linkedTo` option to be
* set and should be loaded after the `stock/indicators/indicators.js`.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `williamsr` series are defined in
* plotOptions.williamsr.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
williamsr?: PlotWilliamsrOptions;
/**
* (Highcharts, Highstock) Wind barbs are a convenient way to represent wind
* speed and direction in one graphical form. Wind direction is given by the
* stem direction, and wind speed by the number and shape of barbs.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `windbarb` series are defined in plotOptions.windbarb.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
windbarb?: PlotWindbarbOptions;
/**
* (Highstock) Weighted moving average indicator (WMA). This series requires
* `linkedTo` option to be set.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `wma` series are defined in plotOptions.wma.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
wma?: PlotWmaOptions;
/**
* (Highcharts) A word cloud is a visualization of a set of words, where the
* size and placement of a word is determined by how it is weighted.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `wordcloud` series are defined in
* plotOptions.wordcloud.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
wordcloud?: PlotWordcloudOptions;
/**
* (Highcharts, Highstock, Gantt) The X-range series displays ranges on the
* X axis, typically time intervals with a start and end date.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `xrange` series are defined in plotOptions.xrange.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
xrange?: PlotXrangeOptions;
/**
* (Highstock) Zig Zag indicator.
*
* This series requires `linkedTo` option to be set.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `zigzag` series are defined in plotOptions.zigzag.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*/
zigzag?: PlotZigzagOptions;
}
/**
* (Highcharts, Highstock, Gantt) Style options for the guide box. The guide box
* has one state by default, the `default` state.
*/
export interface PlotOptionsSeriesDragDropGuideBoxOptions {
/**
* (Highcharts, Highstock, Gantt) Style options for the guide box default
* state.
*/
default?: DragDropGuideBoxOptionsObject;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotOrganizationDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
export interface PlotOrganizationDataLabelsLinkTextPathOptions {
attributes?: PlotOrganizationDataLabelsLinkTextPathAttributesOptions;
}
/**
* (Highcharts) Set options on specific levels. Takes precedence over series
* options, but not node and link options.
*/
export interface PlotOrganizationLevelsOptions {
/**
* (Highcharts) Can set `borderColor` on all nodes which lay on the same
* level.
*/
borderColor?: ColorString;
/**
* (Highcharts) Can set `borderWidth` on all nodes which lay on the same
* level.
*/
borderWidth?: number;
/**
* (Highcharts) Can set `color` on all nodes which lay on the same level.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) Can set `colorByPoint` on all nodes which lay on the same
* level.
*/
colorByPoint?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Can set `dataLabels` on all
* points which lay on the same level.
*/
dataLabels?: (SeriesSankeyDataLabelsOptionsObject|Array<SeriesSankeyDataLabelsOptionsObject>);
/**
* (Highcharts) Decides which level takes effect from the options set in the
* levels object.
*/
level?: number;
/**
* (Highcharts) Can set `linkOpacity` on all points which lay on the same
* level.
*/
linkOpacity?: number;
/**
* (Highcharts) Can set `states` on all nodes and points which lay on the
* same level.
*/
states?: SeriesStatesOptionsObject;
}
/**
* (Highcharts) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotOrganizationOnPointConnectorOptions {
/**
* (Highcharts) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highcharts) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highcharts) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highcharts) Options allowing to set a position and an offset of the series
* in the _Series on point_ feature.
*/
export interface PlotOrganizationOnPointPositionOptions {
/**
* (Highcharts) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highcharts) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highcharts) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highcharts) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highcharts) Point accessibility options for a series.
*/
export interface PlotPackedbubbleAccessibilityPointOptions {
/**
* (Highcharts) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highcharts) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highcharts) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highcharts) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highcharts) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highcharts) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highcharts) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The default
* `color` setting is `"contrast"`, which is a pseudo color that Highcharts
* picks up and applies the maximum contrast to the underlying point item, for
* example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the given
* width with the given color, which by default is the maximum contrast to the
* text. So a bright text color will result in a black text outline for maximum
* readability on a mixed background. In some cases, especially with grayscale
* text, the text outline doesn't work well, in which cases it can be disabled
* by setting it to `"none"`. When `useHTML` is true, the `textOutline` will not
* be picked up. In this, case, the same effect can be acheived through the
* `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example tree
* maps, the data label may overflow the point. There are two strategies for
* handling overflow. By default, the text will wrap to multiple lines. The
* other strategy is to set `style.textOverflow` to `ellipsis`, which will keep
* the text on one line plus it will break inside long words.
*/
export interface PlotPackedbubbleDataLabelsStyleOptions {
transition?: string;
}
/**
* (Highcharts) Layout algorithm options for parent nodes.
*/
export interface PlotPackedbubbleLayoutAlgorithmParentNodeOptions {
/**
* (Highcharts) Friction applied on forces to prevent nodes rushing to fast
* to the desired positions.
*/
friction?: number;
/**
* (Highcharts) Gravitational const used in the barycenter force of the
* algorithm.
*/
gravitationalConstant?: number;
/**
* (Highcharts) When `initialPositions` are set to 'circle',
* `initialPositionRadius` is a distance from the center of circle, in which
* nodes are created.
*/
initialPositionRadius?: number;
/**
* (Highcharts) Initial layout algorithm for positioning nodes. Can be one
* of built-in options ("circle", "random") or a function where positions
* should be set on each node (`this.nodes`) as `node.plotX` and
* `node.plotY`
*/
initialPositions?: ("circle"|"random"|Function);
/**
* (Highcharts) Integration type. Available options are `'euler'` and
* `'verlet'`. Integration determines how forces are applied on particles.
* In Euler integration, force is applied direct as `newPosition +=
* velocity;`. In Verlet integration, new position is based on a previous
* position without velocity: `newPosition += previousPosition -
* newPosition`.
*
* Note that different integrations give different results as forces are
* different.
*
* In Highcharts v7.0.x only `'euler'` integration was supported.
*/
integration?: OptionsIntegrationValue;
/**
* (Highcharts) Ideal length (px) of the link between two nodes. When not
* defined, length is calculated as: `Math.pow(availableWidth *
* availableHeight / nodesLength, 0.4);`
*
* Note: Because of the algorithm specification, length of each link might
* be not exactly as specified.
*/
linkLength?: number;
/**
* (Highcharts) Styling options for parentNodes markers. Similar to
* line.marker options.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highcharts) Max number of iterations before algorithm will stop. In
* general, algorithm should find positions sooner, but when rendering huge
* number of nodes, it is recommended to increase this value as finding
* perfect graph positions can require more time.
*/
maxIterations?: number;
/**
* (Highcharts) Verlet integration only. Max speed that node can get in one
* iteration. In terms of simulation, it's a maximum translation (in pixels)
* that node can move (in both, x and y, dimensions). While `friction` is
* applied on all nodes, max speed is applied only for nodes that move very
* fast, for example small or disconnected ones.
*/
maxSpeed?: number;
seriesInteraction?: boolean;
/**
* (Highcharts) Type of the algorithm used when positioning nodes.
*/
type?: "reingold-fruchterman";
}
/**
* (Highcharts) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotPackedbubbleOnPointOptions {
/**
* (Highcharts) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotPackedbubbleOnPointConnectorOptions|SVGAttributes);
/**
* (Highcharts) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highcharts) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotPackedbubbleOnPointPositionOptions);
}
/**
* (Highcharts) A packed bubble series is a two dimensional series type, where
* each point renders a value in X, Y position. Each point is drawn as a bubble
* where the bubbles don't overlap with each other and the radius of the bubble
* relates to the value.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `packedbubble` series are defined in
* plotOptions.packedbubble.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotPackedbubbleOptions {
/**
* (Highcharts) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highcharts) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highcharts) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highcharts) If there are more points in the series than the
* `animationLimit`, the animation won't run. Animation affects overall
* performance and doesn't work well with heavy data series.
*/
animationLimit?: number;
/**
* (Highcharts) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highcharts) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highcharts) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
* this number defines which colorAxis the particular series is connected
* to. It refers to either the axis id or the index of the axis in the
* colorAxis array, with 0 being the first. Set this option to false to
* prevent a series from connecting to the default color axis.
*
* Since v7.2.0 the option can also be an axis id or an axis index instead
* of a boolean flag.
*/
colorAxis?: (boolean|number|string);
/**
* (Highcharts) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highcharts) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highcharts) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (SeriesPackedBubbleDataLabelsOptionsObject|Array<SeriesPackedBubbleDataLabelsOptionsObject>);
/**
* (Highcharts) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highcharts) Whether to display negative sized bubbles. The threshold is
* given by the zThreshold option, and negative bubbles can be visualized by
* setting negativeColor.
*/
displayNegative?: boolean;
/**
* (Highcharts) Flag to determine if nodes are draggable or not. Available
* for graph with useSimulation set to true only.
*/
draggable?: boolean;
/**
* (Highcharts) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highcharts) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highcharts) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highcharts) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highcharts) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highcharts) Options for layout algorithm when simulation is enabled.
* Inside there are options to change the speed, padding, initial bubbles
* positions and more.
*/
layoutAlgorithm?: PlotPackedbubbleLayoutAlgorithmOptions;
/**
* (Highcharts) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
* `stroke-linejoin` of a line graph. Round means that lines are rounded in
* the ends and bends.
*/
linecap?: SeriesLinecapValue;
/**
* (Highcharts, Highstock) The width of the line connecting the data points.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The id of another series to link to.
* Additionally, the value can be ":previous" to link to the previous
* series. When two series are linked, only the first one appears in the
* legend. Toggling the visibility of this also toggles the linked series.
*
* If master series uses data sorting and linked series does not have its
* own sorting definition, the linked series will be sorted in the same
* order as the master one.
*/
linkedTo?: string;
/**
* (Highcharts) Options for the point markers of line and scatter-like
* series. Properties like `fillColor`, `lineColor` and `lineWidth` define
* the visual appearance of the markers. The `symbol` option defines the
* shape. Other series types, like column series, don't have markers, but
* have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highcharts, Highstock) Maximum bubble size. Bubbles will automatically
* size between the `minSize` and `maxSize` to reflect the value of each
* bubble. Can be either pixels (when no unit is given), or a percentage of
* the smallest one of the plot width and height, divided by the square root
* of total number of points.
*/
maxSize?: (number|string);
/**
* (Highcharts, Highstock) Minimum bubble size. Bubbles will automatically
* size between the `minSize` and `maxSize` to reflect the value of each
* bubble. Can be either pixels (when no unit is given), or a percentage of
* the smallest one of the plot width and height, divided by the square root
* of total number of points.
*/
minSize?: (number|string);
/**
* (Highcharts) When a point's Z value is below the zThreshold setting, this
* color is used.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotPackedbubbleOnPointOptions);
/**
* (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highcharts) Series options for parent nodes.
*/
parentNode?: PlotPackedbubbleParentNodeOptions;
/**
* (Highcharts) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highcharts) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highcharts) Same as accessibility.series.descriptionFormatter, but for
* an individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock, Gantt) If no x values are given for the points in
* a series, `pointInterval` defines the interval of the x values. For
* example, if a series contains one value every decade starting from year
* 0, set `pointInterval` to `10`. In true `datetime` axes, the
* `pointInterval` is set in milliseconds.
*
* It can be also be combined with `pointIntervalUnit` to draw irregular
* time intervals.
*
* If combined with `relativeXValue`, an x value can be set on each point,
* and the `pointInterval` is added x times to the `pointStart` setting.
*
* Please note that this options applies to the _series data_, not the
* interval of the axis ticks, which is independent.
*/
pointInterval?: number;
/**
* (Highcharts, Highstock, Gantt) On datetime series, this allows for
* setting the pointInterval to irregular time units, `day`, `month` and
* `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
* also takes the DST crossover into consideration when dealing with local
* time. Combine this option with `pointInterval` to draw weeks, quarters, 6
* months, 10 years etc.
*
* Please note that this options applies to the _series data_, not the
* interval of the axis ticks, which is independent.
*/
pointIntervalUnit?: OptionsPointIntervalUnitValue;
/**
* (Highcharts, Highstock, Gantt) If no x values are given for the points in
* a series, pointStart defines on what value to start. For example, if a
* series contains one yearly value starting from 1945, set pointStart to
* 1945.
*
* If combined with `relativeXValue`, an x value can be set on each point.
* The x value from the point options is multiplied by `pointInterval` and
* added to `pointStart` to produce a modified x value.
*/
pointStart?: number;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highcharts) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highcharts) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highcharts) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highcharts) Whether the bubble's value should be represented by the area
* or the width of the bubble. The default, `area`, corresponds best to the
* human perception of the size of each bubble.
*/
sizeBy?: string;
/**
* (Highcharts) If set to `true`, the accessibility module will skip past
* the points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts) When this is true, the series will not cause the Y axis to
* cross the zero plane (or threshold option) unless the data actually
* crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highcharts) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
/**
* (Highcharts, Highstock) Whether to stack the values of each series on top
* of each other. Possible values are `undefined` to disable, `"normal"` to
* stack by value or `"percent"`.
*
* When stacking is enabled, data must be sorted in ascending X order.
*
* Some stacking options are related to specific series types. In the
* streamgraph series type, the stacking option is set to `"stream"`. The
* second one is `"overlap"`, which only applies to waterfall series.
*/
stacking?: OptionsStackingValue;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock, Highmaps) Sticky tracking of mouse events. When
* true, the `mouseOut` event on a series isn't triggered until the mouse
* moves over another series, or out of the plot area. When false, the
* `mouseOut` event on a series is triggered when the mouse leaves the area
* around the series' graph or markers. This also implies the tooltip. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock) The threshold, also called zero level or base
* level. For line type series this is only used in conjunction with
* negativeColor.
*/
threshold?: (number|null);
/**
* (Highcharts, Highstock, Highmaps) A configuration object for the tooltip
* rendering of each single series. Properties are inherited from tooltip.
* Overridable properties are `headerFormat`, `pointFormat`, `yDecimals`,
* `xDateFormat`, `yPrefix` and `ySuffix`. Unlike other series, in a scatter
* plot the series.name by default shows in the headerFormat and point.x and
* point.y in the pointFormat.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highcharts) An option is giving a possibility to choose between using
* simulation for calculating bubble positions. These reflects in both
* animation and final position of bubbles. Simulation is also adding
* options to the series graph based on used layout. In case of big data
* sets, with any performance issues, it is possible to disable animation
* and pack bubble in a simple circular way.
*/
useSimulation?: boolean;
/**
* (Highcharts) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
/**
* (Highcharts) When displayNegative is `false`, bubbles with lower Z values
* are skipped. When `displayNegative` is `true` and a negativeColor is
* given, points with lower Z is colored.
*/
zThreshold?: number;
}
/**
* (Highcharts) Point accessibility options for a series.
*/
export interface PlotParetoAccessibilityPointOptions {
/**
* (Highcharts) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highcharts) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highcharts) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highcharts) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highcharts) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highcharts) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highcharts) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotParetoDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotParetoDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: (VerticalAlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highcharts) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotParetoOnPointConnectorOptions {
/**
* (Highcharts) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highcharts) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highcharts) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highcharts) Options allowing to set a position and an offset of the series
* in the _Series on point_ feature.
*/
export interface PlotParetoOnPointPositionOptions {
/**
* (Highcharts) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highcharts) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highcharts) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highcharts) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Point accessibility options for a series.
*/
export interface PlotPcAccessibilityPointOptions {
/**
* (Highstock) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highstock) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highstock) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highstock) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highstock) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highstock) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highstock) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
export interface PlotPcBottomLineStylesOptions {
/**
* (Highstock) Color of the bottom line. If not set, it's inherited from
* plotOptions.pc.color.
*/
lineColor?: ColorString;
/**
* (Highstock) Pixel width of the line.
*/
lineWidth?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotPcDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotPcDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: (VerticalAlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotPcOnPointConnectorOptions {
/**
* (Highstock) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highstock) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highstock) Options allowing to set a position and an offset of the series in
* the _Series on point_ feature.
*/
export interface PlotPcOnPointPositionOptions {
/**
* (Highstock) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highstock) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highstock) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highstock) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
export interface PlotPcParamsOptions {
index?: string;
/**
* (Highstock) The base period for indicator calculations. This is the
* number of data points which are taken into account for the indicator
* calculations.
*/
period?: number;
}
export interface PlotPcTopLineStylesOptions {
/**
* (Highstock) Color of the top line. If not set, it's inherited from
* plotOptions.pc.color.
*/
lineColor?: ColorString;
/**
* (Highstock) Pixel width of the line.
*/
lineWidth?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotPictorialDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts) A pictorial chart uses vector images to represents the data. The
* shape of the data point is taken from the path parameter.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `pictorial` series are defined in plotOptions.pictorial.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotPictorialOptions {
/**
* (Highcharts) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highcharts) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highcharts) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highcharts) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highcharts) Sets the color blending in the boost module.
*/
boostBlending?: OptionsBoostBlendingValue;
/**
* (Highcharts) Set the point threshold for when a series should enter boost
* mode.
*
* Setting it to e.g. 2000 will cause the series to enter boost mode when
* there are 2000 or more points in the series.
*
* To disable boosting on the series, set the `boostThreshold` to 0. Setting
* it to 1 will force boosting.
*
* Note that the cropThreshold also affects this setting. When zooming in on
* a series that has fewer points than the `cropThreshold`, all points are
* rendered although outside the visible plot area, and the `boostThreshold`
* won't take effect.
*/
boostThreshold?: number;
/**
* (Highcharts, Highstock, Gantt) The color of the border surrounding each
* column or bar.
*
* In styled mode, the border stroke can be set with the `.highcharts-point`
* rule.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Gantt) The width of the border surrounding each
* column or bar. Defaults to `1` when there is room for a border, but to
* `0` when the columns are so dense that a border would cover the next
* column.
*
* In styled mode, the stroke width can be set with the `.highcharts-point`
* rule.
*/
borderWidth?: number;
/**
* (Highcharts) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highcharts) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highcharts) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Gantt) When using automatic point colors pulled
* from the global colors or series-specific plotOptions.column.colors
* collections, this option determines whether the chart should receive one
* color per series or one color per point.
*
* In styled mode, the `colors` or `series.colors` arrays are not supported,
* and instead this option gives the points individual color class names on
* the form `highcharts-color-{n}`.
*/
colorByPoint?: boolean;
/**
* (Highcharts) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Gantt) A series specific or series type specific
* color set to apply instead of the global colors when colorByPoint is
* true.
*/
colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
/**
* (Highcharts, Highstock, Gantt) When the series contains less points than
* the crop threshold, all points are drawn, event if the points fall
* outside the visible plot area at the current zoom. The advantage of
* drawing all points (including markers and columns), is that animation is
* performed on updates. On the other hand, when the series contains more
* points than the crop threshold, the series data is cropped to only
* contain points that fall within the plot area. The advantage of cropping
* away invisible points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highcharts) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highcharts) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotPictorialDataLabelsOptions|Array<PlotPictorialDataLabelsOptions>);
/**
* (Highcharts) Depth of the columns in a 3D column chart.
*/
depth?: number;
/**
* (Highcharts) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highcharts) The draggable-points module allows points to be moved around
* or modified in the chart. In addition to the options mentioned under the
* `dragDrop` API structure, the module fires three events, point.dragStart,
* point.drag and point.drop.
*/
dragDrop?: SeriesDragDropOptionsObject;
/**
* (Highcharts) 3D columns only. The color of the edges. Similar to
* `borderColor`, except it defaults to the same color as the column.
*/
edgeColor?: ColorString;
/**
* (Highcharts) 3D columns only. The width of the colored edges.
*/
edgeWidth?: number;
/**
* (Highcharts) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highcharts) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highcharts) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
* let them render independent of each other. Non-grouped columns will be
* laid out individually and overlap each other.
*/
grouping?: boolean;
/**
* (Highcharts, Highstock, Gantt) Padding between each value groups, in x
* axis units.
*/
groupPadding?: number;
/**
* (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
*/
groupZPadding?: number;
/**
* (Highcharts) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highcharts) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts) An array specifying which option maps to which key in the
* data point array. This makes it convenient to work with unstructured data
* arrays from different sources.
*/
keys?: Array<string>;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highcharts) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock, Gantt) The id of another series to link to.
* Additionally, the value can be ":previous" to link to the previous
* series. When two series are linked, only the first one appears in the
* legend. Toggling the visibility of this also toggles the linked series.
*
* If master series uses data sorting and linked series does not have its
* own sorting definition, the linked series will be sorted in the same
* order as the master one.
*/
linkedTo?: string;
/**
* (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
* column, translated to the height of a bar in a bar chart. This prevents
* the columns from becoming too wide when there is a small number of points
* in the chart.
*/
maxPointWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The minimal height for a column or width
* for a bar. By default, 0 values are not shown. To visualize a 0 (or close
* to zero) point, set the minimal point length to a pixel value like 3\. In
* stacked column charts, minPointLength might not be respected for tightly
* packed values.
*/
minPointLength?: number;
/**
* (Highcharts) The color for the parts of the graph or points that are
* below the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highcharts) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highcharts) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highcharts) Same as accessibility.series.descriptionFormatter, but for
* an individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock, Gantt) If no x values are given for the points in
* a series, `pointInterval` defines the interval of the x values. For
* example, if a series contains one value every decade starting from year
* 0, set `pointInterval` to `10`. In true `datetime` axes, the
* `pointInterval` is set in milliseconds.
*
* It can be also be combined with `pointIntervalUnit` to draw irregular
* time intervals.
*
* If combined with `relativeXValue`, an x value can be set on each point,
* and the `pointInterval` is added x times to the `pointStart` setting.
*
* Please note that this options applies to the _series data_, not the
* interval of the axis ticks, which is independent.
*/
pointInterval?: number;
/**
* (Highcharts, Highstock, Gantt) On datetime series, this allows for
* setting the pointInterval to irregular time units, `day`, `month` and
* `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
* also takes the DST crossover into consideration when dealing with local
* time. Combine this option with `pointInterval` to draw weeks, quarters, 6
* months, 10 years etc.
*
* Please note that this options applies to the _series data_, not the
* interval of the axis ticks, which is independent.
*/
pointIntervalUnit?: OptionsPointIntervalUnitValue;
/**
* (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
* axis units.
*/
pointPadding?: number;
/**
* (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
* `number`.
*
* In a column chart, when pointPlacement is `"on"`, the point will not
* create any padding of the X axis. In a polar column chart this means that
* the first column points directly north. If the pointPlacement is
* `"between"`, the columns will be laid out between ticks. This is useful
* for example for visualising an amount between two points in time or in a
* certain sector of a polar chart.
*
* Since Highcharts 3.0.2, the point placement can also be numeric, where 0
* is on the axis value, -0.5 is between this value and the previous, and
* 0.5 is between this value and the next. Unlike the textual options,
* numeric point placement options won't affect axis padding.
*
* Note that pointPlacement needs a pointRange to work. For column series
* this is computed, but for line-type series it needs to be set.
*
* For the `xrange` series type and gantt charts, if the Y axis is a
* category axis, the `pointPlacement` applies to the Y axis rather than the
* (typically datetime) X axis.
*
* Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
*/
pointPlacement?: (number|string);
/**
* (Highcharts, Highstock, Gantt) The X axis range that each point is valid
* for. This determines the width of the column. On a categorized axis, the
* range will be 1 by default (one category unit). On linear and datetime
* axes, the range will be computed as the distance between the two closest
* data points.
*
* The default `null` means it is computed automatically, but this option
* can be used to override the automatic value.
*
* This option is set by default to 1 if data sorting is enabled.
*/
pointRange?: (number|null);
/**
* (Highcharts, Highstock, Gantt) If no x values are given for the points in
* a series, pointStart defines on what value to start. For example, if a
* series contains one yearly value starting from 1945, set pointStart to
* 1945.
*
* If combined with `relativeXValue`, an x value can be set on each point.
* The x value from the point options is multiplied by `pointInterval` and
* added to `pointStart` to produce a modified x value.
*/
pointStart?: number;
/**
* (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
* each column or bar point. When set to `undefined`, the width is
* calculated from the `pointPadding` and `groupPadding`. The width effects
* the dimension that is not based on the point value. For column series it
* is the horizontal length and for bar series it is the vertical length.
*/
pointWidth?: number;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highcharts) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highcharts) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highcharts) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highcharts) If set to `true`, the accessibility module will skip past
* the points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highcharts) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
/**
* (Highcharts, Highstock) Whether to stack the values of each series on top
* of each other. Possible values are `undefined` to disable, `"normal"` to
* stack by value or `"percent"`.
*
* When stacking is enabled, data must be sorted in ascending X order.
*
* Some stacking options are related to specific series types. In the
* streamgraph series type, the stacking option is set to `"stream"`. The
* second one is `"overlap"`, which only applies to waterfall series.
*/
stacking?: OptionsStackingValue;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts) The Y axis value to serve as the base for the columns, for
* distinguishing between values above and below a threshold. If `null`, the
* columns extend from the padding Y axis minimum.
*/
threshold?: (number|null);
/**
* (Highcharts) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highcharts) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotPieDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highmaps) Options for the _Series on point_ feature. Only `pie`
* and `sunburst` series are supported at this moment.
*/
export interface PlotPieOnPointOptions {
/**
* (Highcharts, Highmaps) Options for the connector in the _Series on point_
* feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotPieOnPointConnectorOptions|SVGAttributes);
/**
* (Highcharts, Highmaps) The `id` of the point that we connect the series
* to. Only points with a given `plotX` and `plotY` values and map points
* are valid.
*/
id?: string;
/**
* (Highcharts, Highmaps) Options allowing to set a position and an offset
* of the series in the _Series on point_ feature.
*/
position?: (object|PlotPieOnPointPositionOptions);
}
/**
* (Highcharts, Highmaps) A pie chart is a circular graphic which is divided
* into slices to illustrate numerical proportion.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `pie` series are defined in plotOptions.pie.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotPieOptions {
/**
* (Highcharts, Highmaps) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highmaps) Whether all areas of the map defined in `mapData` should be
* rendered. If `true`, areas which don't correspond to a data point, are
* rendered as `null` points. If `false`, those areas are skipped.
*/
allAreas?: boolean;
/**
* (Highcharts, Highmaps) Allow this series' points to be selected by
* clicking on the graphic (columns, point markers, pie slices, map areas
* etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highcharts, Highmaps) Enable or disable the initial animation when a
* series is displayed. The animation can also be set as a configuration
* object. Please note that this option only applies to the initial
* animation of the series itself. For other animations, see chart.animation
* and the animation parameter under the API methods. The following
* properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highcharts, Highmaps) The color of the border surrounding each slice.
* When `null`, the border takes the same color as the slice fill. This can
* be used together with a `borderWidth` to fill drawing gaps created by
* antialiazing artefacts in borderless pies.
*
* In styled mode, the border stroke is given in the `.highcharts-point`
* class.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highmaps) The corner radius of the border surrounding each
* slice. A number signifies pixels. A percentage string, like for example
* `50%`, signifies a size relative to the radius and the inner radius.
*/
borderRadius?: (number|string|BorderRadiusOptionsObject);
/**
* (Highcharts, Highmaps) The width of the border surrounding each slice.
*
* When setting the border width to 0, there may be small gaps between the
* slices due to SVG antialiasing artefacts. To work around this, keep the
* border width at 0.5 or 1, but set the `borderColor` to `null` instead.
*
* In styled mode, the border stroke width is given in the
* `.highcharts-point` class.
*/
borderWidth?: number;
/**
* (Highcharts, Highmaps) The center of the pie chart relative to the plot
* area. Can be percentages or pixel values. The default behaviour (as of
* 3.0) is to center the pie so that all slices and data labels are within
* the plot area. As a consequence, the pie may actually jump around in a
* chart with dynamic values, as the data labels move. In that case, the
* center should be explicitly set, for example to `["50%", "50%"]`.
*/
center?: [(number|string|null), (number|string|null)];
/**
* (Highcharts, Highmaps) An additional class name to apply to the series'
* graphical elements. This option does not replace default class names of
* the graphical element. Changes to the series' color will also be
* reflected in a chart's legend and tooltip.
*/
className?: string;
/**
* (Highcharts) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highcharts, Highmaps) The color of the pie series. A pie series is
* represented as an empty circle if the total sum of its values is 0. Use
* this property to define the color of its border.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
* this number defines which colorAxis the particular series is connected
* to. It refers to either the axis id or the index of the axis in the
* colorAxis array, with 0 being the first. Set this option to false to
* prevent a series from connecting to the default color axis.
*
* Since v7.2.0 the option can also be an axis id or an axis index instead
* of a boolean flag.
*/
colorAxis?: (boolean|number|string);
/**
* (Highcharts, Highmaps) Styled mode only. A specific color index to use
* for the series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highcharts, Highmaps) A series specific or series type specific color
* set to use instead of the global colors.
*/
colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highmaps) You can set the cursor to "pointer" if you have
* click events attached to the series, to signal to the user that the
* points and lines can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highcharts, Highmaps) A reserved subspace to store options and values
* for customized functionality. Here you can add additional data for your
* own event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (SeriesPieDataLabelsOptionsObject|Array<SeriesPieDataLabelsOptionsObject>);
/**
* (Highcharts) The thickness of a 3D pie.
*/
depth?: number;
/**
* (Highcharts, Highmaps) A description of the series to add to the screen
* reader information about the series.
*/
description?: string;
/**
* (Highcharts, Highmaps) Enable or disable the mouse tracking for a
* specific series. This includes point tooltips and click events on graphs
* and points. For large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highcharts, Highmaps) The end angle of the pie in degrees where 0 is top
* and 90 is right. Defaults to `startAngle` plus 360.
*/
endAngle?: number;
/**
* (Highcharts, Highmaps) General event handlers for the series items. These
* event hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highcharts, Highmaps) If the total sum of the pie's values is 0, the
* series is represented as an empty circle . The `fillColor` option defines
* the color of that circle. Use pie.borderWidth to set the border
* thickness.
*/
fillColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highmaps) Equivalent to chart.ignoreHiddenSeries, this
* option tells whether the series shall be redrawn as if the hidden point
* were `null`.
*
* The default value changed from `false` to `true` with Highcharts 3.0.
*/
ignoreHiddenPoint?: boolean;
/**
* (Highcharts, Highmaps) Highlight only the hovered point and fade the
* remaining points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highcharts, Highmaps) When set to `false` will prevent the series data
* from being included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highmaps) The size of the inner diameter for the pie. A size
* greater than 0 renders a donut chart. Can be a percentage or pixel value.
* Percentages are relative to the pie size. Pixel values are given as
* integers. Setting overridden by thickness.
*
* Note: in Highcharts < 4.1.2, the percentage was relative to the plot
* area, not the pie size.
*/
innerSize?: (number|string);
/**
* (Highmaps) What property to join the `mapData` to the value data. For
* example, if joinBy is "code", the mapData items with a specific code is
* merged into the data with the same code. For maps loaded from GeoJSON,
* the keys may be held in each point's `properties` object.
*
* The joinBy option can also be an array of two values, where the first
* points to a key in the `mapData`, and the second points to another key in
* the `data`.
*
* When joinBy is `null`, the map items are joined by their position in the
* array, which performs much better in maps with many data points. This is
* the recommended option if you are printing more than a thousand data
* points and have a backend that can preprocess the data into a parallel
* array of the mapData.
*/
joinBy?: (string|Array<string>);
/**
* (Highcharts, Highmaps) An array specifying which option maps to which key
* in the data point array. This makes it convenient to work with
* unstructured data arrays from different sources.
*/
keys?: Array<string>;
/**
* (Highcharts, Highmaps) What type of legend symbol to render for this
* series. Can be one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
* `stroke-linejoin` of a line graph. Round means that lines are rounded in
* the ends and bends.
*/
linecap?: SeriesLinecapValue;
/**
* (Highcharts, Highmaps) The minimum size for a pie in response to auto
* margins. The pie will try to shrink to make room for data labels in side
* the plot area, but only to this size.
*/
minSize?: (number|string);
/**
* (Highcharts, Highmaps) Options for the _Series on point_ feature. Only
* `pie` and `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotPieOnPointOptions);
/**
* (Highcharts, Highmaps) Opacity of a series parts: line, fill (e.g. area)
* and dataLabels.
*/
opacity?: number;
/**
* (Highcharts, Highmaps) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highcharts, Highmaps) Same as accessibility.point.descriptionFormat, but
* for an individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highcharts, Highmaps) Same as accessibility.series.descriptionFormatter,
* but for an individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highcharts, Highmaps) Whether to select the series initially. If
* `showCheckbox` is true, the checkbox next to the series name in the
* legend will be checked for a selected series.
*/
selected?: boolean;
/**
* (Highcharts, Highmaps) Whether to apply a drop shadow to the graph line.
* Since 2.3 the shadow can be an object configuration containing `color`,
* `offsetX`, `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highmaps) If true, a checkbox is displayed next to the
* legend item to allow selecting the series. The state of the checkbox is
* determined by the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highcharts, Highmaps) Whether to display this particular series or
* series type in the legend. Since 2.1, pies are not shown in the legend by
* default.
*/
showInLegend?: boolean;
/**
* (Highcharts, Highmaps) The diameter of the pie relative to the plot area.
* Can be a percentage or pixel value. Pixel values are given as integers.
* The default behaviour (as of 3.0) is to scale to the plot area and give
* room for data labels within the plot area. slicedOffset is also included
* in the default size calculation. As a consequence, the size of the pie
* may vary when points are updated and data labels more around. In that
* case it is best to set a fixed value, for example `"75%"`.
*/
size?: (number|string|null);
/**
* (Highcharts, Highmaps) If set to `true`, the accessibility module will
* skip past the points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highmaps) If a point is sliced, moved out from the center,
* how many pixels should it be moved?.
*/
slicedOffset?: number;
/**
* (Highcharts, Highmaps) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
/**
* (Highcharts, Highmaps) The start angle of the pie slices in degrees where
* 0 is top and 90 right.
*/
startAngle?: number;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highmaps) Sticky tracking of mouse events. When true, the
* `mouseOut` event on a series isn't triggered until the mouse moves over
* another series, or out of the plot area. When false, the `mouseOut` event
* on a series is triggered when the mouse leaves the area around the
* series' graph or markers. This also implies the tooltip. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series.
*/
stickyTracking?: boolean;
/**
* (Highcharts) Thickness describing the ring size for a donut type chart,
* overriding innerSize.
*/
thickness?: number;
/**
* (Highcharts, Highmaps) A configuration object for the tooltip rendering
* of each single series. Properties are inherited from tooltip, but only
* the following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highmaps) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highmaps) Define the z index of the series.
*/
zIndex?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotPivotpointsDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotPivotpointsDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotPivotpointsOnPointOptions {
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotPivotpointsOnPointConnectorOptions|SVGAttributes);
/**
* (Highstock) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highstock) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotPivotpointsOnPointPositionOptions);
}
/**
* (Highstock) Pivot points indicator. This series requires the `linkedTo`
* option to be set and should be loaded after `stock/indicators/indicators.js`
* file.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `pivotpoints` series are defined in
* plotOptions.pivotpoints.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotPivotpointsOptions {
/**
* (Highstock) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highstock) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highstock) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highstock) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highstock) Sets the color blending in the boost module.
*/
boostBlending?: OptionsBoostBlendingValue;
/**
* (Highstock) Set the point threshold for when a series should enter boost
* mode.
*
* Setting it to e.g. 2000 will cause the series to enter boost mode when
* there are 2000 or more points in the series.
*
* To disable boosting on the series, set the `boostThreshold` to 0. Setting
* it to 1 will force boosting.
*
* Note that the cropThreshold also affects this setting. When zooming in on
* a series that has fewer points than the `cropThreshold`, all points are
* rendered although outside the visible plot area, and the `boostThreshold`
* won't take effect.
*/
boostThreshold?: number;
/**
* (Highstock) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highstock) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highstock) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highstock) Compare the values of the series against the first non-null,
* non- zero value in the visible range. The y axis will show percentage or
* absolute change depending on whether `compare` is set to `"percent"` or
* `"value"`. When this is applied to multiple series, it allows comparing
* the development of the series against each other. Adds a `change` field
* to every point object.
*/
compare?: OptionsCompareValue;
/**
* (Highstock) When compare is `percent`, this option dictates whether to
* use 0 or 100 as the base of comparison.
*/
compareBase?: (0|100);
/**
* (Highstock) Defines if comparison should start from the first point
* within the visible range or should start from the first point **before**
* the range.
*
* In other words, this flag determines if first point within the visible
* range will have 0% (`compareStart=true`) or should have been already
* calculated according to the previous point (`compareStart=false`).
*/
compareStart?: boolean;
/**
* (Highstock) Whether to compare indicator to the main series values or
* indicator values.
*/
compareToMain?: boolean;
/**
* (Highcharts, Highstock) Whether to connect a graph line across null
* points, or render a gap between the two points on either side of the
* null.
*
* In stacked area chart, if `connectNulls` is set to true, null points are
* interpreted as 0.
*/
connectNulls?: boolean;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highstock) When the series contains less points than the
* crop threshold, all points are drawn, even if the points fall outside the
* visible plot area at the current zoom. The advantage of drawing all
* points (including markers and columns), is that animation is performed on
* updates. On the other hand, when the series contains more points than the
* crop threshold, the series data is cropped to only contain points that
* fall within the plot area. The advantage of cropping away invisible
* points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highstock) Cumulative Sum feature replaces points' values with the
* following formula: `sum of all previous points' values + current point's
* value`. Works only for points in a visible range. Adds the
* `cumulativeSum` field to each point object that can be accessed e.g. in
* the tooltip.pointFormat.
*
* With `dataGrouping` enabled, default grouping approximation is set to
* `sum`.
*/
cumulative?: boolean;
/**
* (Highstock) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highstock) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highstock) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) Data grouping is the concept of sampling the data values into
* larger blocks in order to ease readability and increase performance of
* the JavaScript charts. Highcharts Stock by default applies data grouping
* when the points become closer than a certain pixel value, determined by
* the `groupPixelWidth` option.
*
* If data grouping is applied, the grouping information of grouped points
* can be read from the Point.dataGroup. If point options other than the
* data itself are set, for example `name` or `color` or custom properties,
* the grouping logic doesn't know how to group it. In this case the options
* of the first point instance are copied over to the group point. This can
* be altered through a custom `approximation` callback function.
*/
dataGrouping?: DataGroupingOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotPivotpointsDataLabelsOptions|Array<PlotPivotpointsDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotPivotpointsDataSortingOptions);
/**
* (Highstock) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highstock) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highstock) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highstock) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highstock) Defines when to display a gap in the graph, together with the
* gapUnit option.
*
* In case when `dataGrouping` is enabled, points can be grouped into a
* larger time span. This can make the grouped points to have a greater
* distance than the absolute value of `gapSize` property, which will result
* in disappearing graph completely. To prevent this situation the mentioned
* distance between grouped points is used instead of previously defined
* `gapSize`.
*
* In practice, this option is most often used to visualize gaps in time
* series. In a stock chart, intraday data is available for daytime hours,
* while gaps will appear in nights and weekends.
*/
gapSize?: number;
/**
* (Highstock) Together with gapSize, this option defines where to draw gaps
* in the graph.
*
* When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
* if the distance between two points is greater than 5 times that of the
* two closest points, the graph will be broken.
*
* When the `gapUnit` is `"value"`, the gap is based on absolute axis
* values, which on a datetime axis is milliseconds. This also applies to
* the navigator series that inherits gap options from the base series.
*/
gapUnit?: OptionsGapUnitValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highstock) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highstock) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highstock) The line marks the last price from all points.
*/
lastPrice?: SeriesLastPriceOptionsObject;
/**
* (Highstock) The line marks the last price from visible range of points.
*/
lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
/**
* (Highstock) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
* `stroke-linejoin` of a line graph. Round means that lines are rounded in
* the ends and bends.
*/
linecap?: SeriesLinecapValue;
/**
* (Highcharts, Highstock) Pixel width of the graph line.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The main series ID that indicator will be
* based on. Required for this indicator.
*/
linkedTo?: string;
/**
* (Highstock) Options for the point markers of line and scatter-like
* series. Properties like `fillColor`, `lineColor` and `lineWidth` define
* the visual appearance of the markers. The `symbol` option defines the
* shape. Other series types, like column series, don't have markers, but
* have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highstock) The name of the series as shown in the legend, tooltip etc.
* If not set, it will be based on a technical indicator type and default
* params.
*/
name?: string;
/**
* (Highstock) The color for the parts of the graph or points that are below
* the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotPivotpointsOnPointOptions);
/**
* (Highstock) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
params?: PlotPivotpointsParamsOptions;
/**
* (Highstock) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highstock) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highstock) Same as accessibility.series.descriptionFormatter, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highstock) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highstock) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highstock) If set to `true`, the accessibility module will skip past the
* points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highstock) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock) Whether to apply steps to the line. Possible
* values are `left`, `center` and `right`.
*/
step?: OptionsStepValue;
/**
* (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock) The threshold, also called zero level or base
* level. For line type series this is only used in conjunction with
* negativeColor.
*/
threshold?: (number|null);
/**
* (Highstock) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highstock) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highcharts, Highstock) Point accessibility options for a series.
*/
export interface PlotPolygonAccessibilityPointOptions {
/**
* (Highcharts, Highstock) Date format to use for points on datetime axes
* when describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highcharts, Highstock) Formatter function to determine the date/time
* format used with points on datetime axes when describing them to screen
* reader users. Receives one argument, `point`, referring to the point to
* describe. Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts, Highstock) Whether or not to describe points with the value
* `null` to assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highcharts, Highstock) A format string to use instead of the default for
* point descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highcharts, Highstock) Formatter function to use instead of the default
* for point descriptions. Same as
* `accessibility.point.descriptionFormatter`, but applies to a series
* instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts, Highstock) Decimals to use for the values in the point
* descriptions. Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highcharts, Highstock) Format to use for describing the values of data
* points to assistive technology - including screen readers. The point
* context is available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highcharts, Highstock) Prefix to add to the values in the point
* descriptions. Uses tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highcharts, Highstock) Suffix to add to the values in the point
* descriptions. Uses tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotPolygonDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotPolygonDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: (VerticalAlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highcharts, Highstock) Options for the connector in the _Series on point_
* feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotPolygonOnPointConnectorOptions {
/**
* (Highcharts, Highstock) A name for the dash style to use for the
* connector.
*/
dashstyle?: string;
/**
* (Highcharts, Highstock) Color of the connector line. By default it's the
* series' color.
*/
stroke?: string;
/**
* (Highcharts, Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highcharts, Highstock) Options allowing to set a position and an offset of
* the series in the _Series on point_ feature.
*/
export interface PlotPolygonOnPointPositionOptions {
/**
* (Highcharts, Highstock) Series center offset from the original x
* position. If defined, the connector line is drawn connecting original
* position with new position.
*/
offsetX?: number;
/**
* (Highcharts, Highstock) Series center offset from the original y
* position. If defined, the connector line is drawn from original position
* to a new position.
*/
offsetY?: number;
/**
* (Highcharts, Highstock) X position of the series center. By default, the
* series is displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highcharts, Highstock) Y position of the series center. By default, the
* series is displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Point accessibility options for a series.
*/
export interface PlotPpoAccessibilityPointOptions {
/**
* (Highstock) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highstock) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highstock) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highstock) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highstock) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highstock) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highstock) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotPpoDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotPpoDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: (VerticalAlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotPpoOnPointConnectorOptions {
/**
* (Highstock) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highstock) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highstock) Options allowing to set a position and an offset of the series in
* the _Series on point_ feature.
*/
export interface PlotPpoOnPointPositionOptions {
/**
* (Highstock) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highstock) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highstock) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highstock) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Parameters used in calculation of Percentage Price Oscillator
* series points.
*/
export interface PlotPpoParamsOptions {
/**
* (Highstock) The point index which indicator calculations will base. For
* example using OHLC data, index=2 means the indicator will be calculated
* using Low values.
*
* By default index value used to be set to 0. Since Highcharts Stock 7 by
* default index is set to 3 which means that the ema indicator will be
* calculated using Close values.
*/
index?: number;
period?: string;
/**
* (Highstock) Periods for Percentage Price Oscillator calculations.
*/
periods?: Array<number>;
}
/**
* (Highstock) Bottom line options.
*/
export interface PlotPriceenvelopesBottomLineOptions {
styles?: PlotPriceenvelopesBottomLineStylesOptions;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotPriceenvelopesDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotPriceenvelopesDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotPriceenvelopesOnPointOptions {
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotPriceenvelopesOnPointConnectorOptions|SVGAttributes);
/**
* (Highstock) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highstock) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotPriceenvelopesOnPointPositionOptions);
}
/**
* (Highstock) Price envelopes indicator based on SMA calculations. This series
* requires the `linkedTo` option to be set and should be loaded after the
* `stock/indicators/indicators.js` file.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `priceenvelopes` series are defined in
* plotOptions.priceenvelopes.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotPriceenvelopesOptions {
/**
* (Highstock) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highstock) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highstock) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highstock) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highstock) Sets the color blending in the boost module.
*/
boostBlending?: OptionsBoostBlendingValue;
/**
* (Highstock) Set the point threshold for when a series should enter boost
* mode.
*
* Setting it to e.g. 2000 will cause the series to enter boost mode when
* there are 2000 or more points in the series.
*
* To disable boosting on the series, set the `boostThreshold` to 0. Setting
* it to 1 will force boosting.
*
* Note that the cropThreshold also affects this setting. When zooming in on
* a series that has fewer points than the `cropThreshold`, all points are
* rendered although outside the visible plot area, and the `boostThreshold`
* won't take effect.
*/
boostThreshold?: number;
/**
* (Highstock) Bottom line options.
*/
bottomLine?: PlotPriceenvelopesBottomLineOptions;
/**
* (Highstock) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highstock) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highstock) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highstock) Compare the values of the series against the first non-null,
* non- zero value in the visible range. The y axis will show percentage or
* absolute change depending on whether `compare` is set to `"percent"` or
* `"value"`. When this is applied to multiple series, it allows comparing
* the development of the series against each other. Adds a `change` field
* to every point object.
*/
compare?: OptionsCompareValue;
/**
* (Highstock) When compare is `percent`, this option dictates whether to
* use 0 or 100 as the base of comparison.
*/
compareBase?: (0|100);
/**
* (Highstock) Defines if comparison should start from the first point
* within the visible range or should start from the first point **before**
* the range.
*
* In other words, this flag determines if first point within the visible
* range will have 0% (`compareStart=true`) or should have been already
* calculated according to the previous point (`compareStart=false`).
*/
compareStart?: boolean;
/**
* (Highstock) Whether to compare indicator to the main series values or
* indicator values.
*/
compareToMain?: boolean;
/**
* (Highcharts, Highstock) Whether to connect a graph line across null
* points, or render a gap between the two points on either side of the
* null.
*
* In stacked area chart, if `connectNulls` is set to true, null points are
* interpreted as 0.
*/
connectNulls?: boolean;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highstock) When the series contains less points than the
* crop threshold, all points are drawn, even if the points fall outside the
* visible plot area at the current zoom. The advantage of drawing all
* points (including markers and columns), is that animation is performed on
* updates. On the other hand, when the series contains more points than the
* crop threshold, the series data is cropped to only contain points that
* fall within the plot area. The advantage of cropping away invisible
* points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highstock) Cumulative Sum feature replaces points' values with the
* following formula: `sum of all previous points' values + current point's
* value`. Works only for points in a visible range. Adds the
* `cumulativeSum` field to each point object that can be accessed e.g. in
* the tooltip.pointFormat.
*
* With `dataGrouping` enabled, default grouping approximation is set to
* `sum`.
*/
cumulative?: boolean;
/**
* (Highstock) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highstock) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highstock) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) Data grouping is the concept of sampling the data values into
* larger blocks in order to ease readability and increase performance of
* the JavaScript charts. Highcharts Stock by default applies data grouping
* when the points become closer than a certain pixel value, determined by
* the `groupPixelWidth` option.
*
* If data grouping is applied, the grouping information of grouped points
* can be read from the Point.dataGroup. If point options other than the
* data itself are set, for example `name` or `color` or custom properties,
* the grouping logic doesn't know how to group it. In this case the options
* of the first point instance are copied over to the group point. This can
* be altered through a custom `approximation` callback function.
*/
dataGrouping?: DataGroupingOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotPriceenvelopesDataLabelsOptions|Array<PlotPriceenvelopesDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotPriceenvelopesDataSortingOptions);
/**
* (Highstock) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highstock) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highstock) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highstock) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highstock) Defines when to display a gap in the graph, together with the
* gapUnit option.
*
* In case when `dataGrouping` is enabled, points can be grouped into a
* larger time span. This can make the grouped points to have a greater
* distance than the absolute value of `gapSize` property, which will result
* in disappearing graph completely. To prevent this situation the mentioned
* distance between grouped points is used instead of previously defined
* `gapSize`.
*
* In practice, this option is most often used to visualize gaps in time
* series. In a stock chart, intraday data is available for daytime hours,
* while gaps will appear in nights and weekends.
*/
gapSize?: number;
/**
* (Highstock) Together with gapSize, this option defines where to draw gaps
* in the graph.
*
* When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
* if the distance between two points is greater than 5 times that of the
* two closest points, the graph will be broken.
*
* When the `gapUnit` is `"value"`, the gap is based on absolute axis
* values, which on a datetime axis is milliseconds. This also applies to
* the navigator series that inherits gap options from the base series.
*/
gapUnit?: OptionsGapUnitValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highstock) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highstock) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highstock) The line marks the last price from all points.
*/
lastPrice?: SeriesLastPriceOptionsObject;
/**
* (Highstock) The line marks the last price from visible range of points.
*/
lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
/**
* (Highstock) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
* `stroke-linejoin` of a line graph. Round means that lines are rounded in
* the ends and bends.
*/
linecap?: SeriesLinecapValue;
/**
* (Highcharts, Highstock) Pixel width of the graph line.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The main series ID that indicator will be
* based on. Required for this indicator.
*/
linkedTo?: string;
/**
* (Highstock) Options for the point markers of line and scatter-like
* series. Properties like `fillColor`, `lineColor` and `lineWidth` define
* the visual appearance of the markers. The `symbol` option defines the
* shape. Other series types, like column series, don't have markers, but
* have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highstock) The name of the series as shown in the legend, tooltip etc.
* If not set, it will be based on a technical indicator type and default
* params.
*/
name?: string;
/**
* (Highstock) The color for the parts of the graph or points that are below
* the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotPriceenvelopesOnPointOptions);
/**
* (Highstock) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
params?: PlotPriceenvelopesParamsOptions;
/**
* (Highstock) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highstock) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highstock) Same as accessibility.series.descriptionFormatter, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highstock) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highstock) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highstock) If set to `true`, the accessibility module will skip past the
* points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highstock) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock) Whether to apply steps to the line. Possible
* values are `left`, `center` and `right`.
*/
step?: OptionsStepValue;
/**
* (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock) The threshold, also called zero level or base
* level. For line type series this is only used in conjunction with
* negativeColor.
*/
threshold?: (number|null);
/**
* (Highstock) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highstock) Top line options.
*/
topLine?: PlotPriceenvelopesTopLineOptions;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highstock) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highstock) Top line options.
*/
export interface PlotPriceenvelopesTopLineOptions {
styles?: PlotPriceenvelopesTopLineStylesOptions;
}
/**
* (Highstock) Point accessibility options for a series.
*/
export interface PlotPsarAccessibilityPointOptions {
/**
* (Highstock) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highstock) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highstock) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highstock) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highstock) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highstock) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highstock) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotPsarDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotPsarDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: (VerticalAlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotPsarOnPointConnectorOptions {
/**
* (Highstock) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highstock) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highstock) Options allowing to set a position and an offset of the series in
* the _Series on point_ feature.
*/
export interface PlotPsarOnPointPositionOptions {
/**
* (Highstock) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highstock) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highstock) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highstock) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
export interface PlotPsarParamsOptions {
/**
* (Highstock) Number of maximum decimals that are used in PSAR
* calculations.
*/
decimals?: number;
/**
* (Highstock) Acceleration factor increases by increment each time the
* extreme point makes a new high.
*/
increment?: number;
/**
* (Highstock) Index from which PSAR is starting calculation
*/
index?: number;
/**
* (Highstock) The initial value for acceleration factor. Acceleration
* factor is starting with this value and increases by specified increment
* each time the extreme point makes a new high. AF can reach a maximum of
* maxAccelerationFactor, no matter how long the uptrend extends.
*/
initialAccelerationFactor?: number;
/**
* (Highstock) The Maximum value for acceleration factor. AF can reach a
* maximum of maxAccelerationFactor, no matter how long the uptrend extends.
*/
maxAccelerationFactor?: number;
period?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotPyramid3dDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotPyramid3dOnPointConnectorOptions {
/**
* (Highcharts) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highcharts) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highcharts) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highcharts) Options allowing to set a position and an offset of the series
* in the _Series on point_ feature.
*/
export interface PlotPyramid3dOnPointPositionOptions {
/**
* (Highcharts) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highcharts) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highcharts) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highcharts) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highcharts) Point accessibility options for a series.
*/
export interface PlotPyramidAccessibilityPointOptions {
/**
* (Highcharts) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highcharts) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highcharts) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highcharts) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highcharts) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highcharts) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highcharts) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotPyramidOnPointConnectorOptions {
/**
* (Highcharts) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highcharts) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highcharts) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highcharts) Options allowing to set a position and an offset of the series
* in the _Series on point_ feature.
*/
export interface PlotPyramidOnPointPositionOptions {
/**
* (Highcharts) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highcharts) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highcharts) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highcharts) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Point accessibility options for a series.
*/
export interface PlotRocAccessibilityPointOptions {
/**
* (Highstock) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highstock) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highstock) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highstock) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highstock) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highstock) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highstock) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotRocDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotRocDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: (VerticalAlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotRocOnPointConnectorOptions {
/**
* (Highstock) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highstock) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highstock) Options allowing to set a position and an offset of the series in
* the _Series on point_ feature.
*/
export interface PlotRocOnPointPositionOptions {
/**
* (Highstock) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highstock) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highstock) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highstock) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
export interface PlotRocParamsOptions {
/**
* (Highstock) The point index which indicator calculations will base. For
* example using OHLC data, index=2 means the indicator will be calculated
* using Low values.
*/
index?: number;
/**
* (Highstock) The base period for indicator calculations. This is the
* number of data points which are taken into account for the indicator
* calculations.
*/
period?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotRsiDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotRsiDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotRsiOnPointOptions {
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotRsiOnPointConnectorOptions|SVGAttributes);
/**
* (Highstock) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highstock) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotRsiOnPointPositionOptions);
}
/**
* (Highstock) Relative strength index (RSI) technical indicator. This series
* requires the `linkedTo` option to be set and should be loaded after the
* `stock/indicators/indicators.js` file.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `rsi` series are defined in plotOptions.rsi.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotRsiOptions {
/**
* (Highstock) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highstock) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highstock) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highstock) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highstock) Sets the color blending in the boost module.
*/
boostBlending?: OptionsBoostBlendingValue;
/**
* (Highstock) Set the point threshold for when a series should enter boost
* mode.
*
* Setting it to e.g. 2000 will cause the series to enter boost mode when
* there are 2000 or more points in the series.
*
* To disable boosting on the series, set the `boostThreshold` to 0. Setting
* it to 1 will force boosting.
*
* Note that the cropThreshold also affects this setting. When zooming in on
* a series that has fewer points than the `cropThreshold`, all points are
* rendered although outside the visible plot area, and the `boostThreshold`
* won't take effect.
*/
boostThreshold?: number;
/**
* (Highstock) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highstock) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highstock) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highstock) Compare the values of the series against the first non-null,
* non- zero value in the visible range. The y axis will show percentage or
* absolute change depending on whether `compare` is set to `"percent"` or
* `"value"`. When this is applied to multiple series, it allows comparing
* the development of the series against each other. Adds a `change` field
* to every point object.
*/
compare?: OptionsCompareValue;
/**
* (Highstock) When compare is `percent`, this option dictates whether to
* use 0 or 100 as the base of comparison.
*/
compareBase?: (0|100);
/**
* (Highstock) Defines if comparison should start from the first point
* within the visible range or should start from the first point **before**
* the range.
*
* In other words, this flag determines if first point within the visible
* range will have 0% (`compareStart=true`) or should have been already
* calculated according to the previous point (`compareStart=false`).
*/
compareStart?: boolean;
/**
* (Highstock) Whether to compare indicator to the main series values or
* indicator values.
*/
compareToMain?: boolean;
/**
* (Highcharts, Highstock) Whether to connect a graph line across null
* points, or render a gap between the two points on either side of the
* null.
*
* In stacked area chart, if `connectNulls` is set to true, null points are
* interpreted as 0.
*/
connectNulls?: boolean;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highstock) When the series contains less points than the
* crop threshold, all points are drawn, even if the points fall outside the
* visible plot area at the current zoom. The advantage of drawing all
* points (including markers and columns), is that animation is performed on
* updates. On the other hand, when the series contains more points than the
* crop threshold, the series data is cropped to only contain points that
* fall within the plot area. The advantage of cropping away invisible
* points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highstock) Cumulative Sum feature replaces points' values with the
* following formula: `sum of all previous points' values + current point's
* value`. Works only for points in a visible range. Adds the
* `cumulativeSum` field to each point object that can be accessed e.g. in
* the tooltip.pointFormat.
*
* With `dataGrouping` enabled, default grouping approximation is set to
* `sum`.
*/
cumulative?: boolean;
/**
* (Highstock) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highstock) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highstock) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) Data grouping is the concept of sampling the data values into
* larger blocks in order to ease readability and increase performance of
* the JavaScript charts. Highcharts Stock by default applies data grouping
* when the points become closer than a certain pixel value, determined by
* the `groupPixelWidth` option.
*
* If data grouping is applied, the grouping information of grouped points
* can be read from the Point.dataGroup. If point options other than the
* data itself are set, for example `name` or `color` or custom properties,
* the grouping logic doesn't know how to group it. In this case the options
* of the first point instance are copied over to the group point. This can
* be altered through a custom `approximation` callback function.
*/
dataGrouping?: DataGroupingOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotRsiDataLabelsOptions|Array<PlotRsiDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotRsiDataSortingOptions);
/**
* (Highstock) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highstock) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highstock) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highstock) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highstock) Defines when to display a gap in the graph, together with the
* gapUnit option.
*
* In case when `dataGrouping` is enabled, points can be grouped into a
* larger time span. This can make the grouped points to have a greater
* distance than the absolute value of `gapSize` property, which will result
* in disappearing graph completely. To prevent this situation the mentioned
* distance between grouped points is used instead of previously defined
* `gapSize`.
*
* In practice, this option is most often used to visualize gaps in time
* series. In a stock chart, intraday data is available for daytime hours,
* while gaps will appear in nights and weekends.
*/
gapSize?: number;
/**
* (Highstock) Together with gapSize, this option defines where to draw gaps
* in the graph.
*
* When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
* if the distance between two points is greater than 5 times that of the
* two closest points, the graph will be broken.
*
* When the `gapUnit` is `"value"`, the gap is based on absolute axis
* values, which on a datetime axis is milliseconds. This also applies to
* the navigator series that inherits gap options from the base series.
*/
gapUnit?: OptionsGapUnitValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highstock) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highstock) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highstock) The line marks the last price from all points.
*/
lastPrice?: SeriesLastPriceOptionsObject;
/**
* (Highstock) The line marks the last price from visible range of points.
*/
lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
/**
* (Highstock) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
* `stroke-linejoin` of a line graph. Round means that lines are rounded in
* the ends and bends.
*/
linecap?: SeriesLinecapValue;
/**
* (Highcharts, Highstock) Pixel width of the graph line.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The main series ID that indicator will be
* based on. Required for this indicator.
*/
linkedTo?: string;
/**
* (Highstock) Options for the point markers of line and scatter-like
* series. Properties like `fillColor`, `lineColor` and `lineWidth` define
* the visual appearance of the markers. The `symbol` option defines the
* shape. Other series types, like column series, don't have markers, but
* have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highstock) The name of the series as shown in the legend, tooltip etc.
* If not set, it will be based on a technical indicator type and default
* params.
*/
name?: string;
/**
* (Highstock) The color for the parts of the graph or points that are below
* the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotRsiOnPointOptions);
/**
* (Highstock) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
params?: PlotRsiParamsOptions;
/**
* (Highstock) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highstock) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highstock) Same as accessibility.series.descriptionFormatter, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highstock) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highstock) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highstock) If set to `true`, the accessibility module will skip past the
* points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highstock) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock) Whether to apply steps to the line. Possible
* values are `left`, `center` and `right`.
*/
step?: OptionsStepValue;
/**
* (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock) The threshold, also called zero level or base
* level. For line type series this is only used in conjunction with
* negativeColor.
*/
threshold?: (number|null);
/**
* (Highstock) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highstock) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highcharts) Point accessibility options for a series.
*/
export interface PlotSankeyAccessibilityPointOptions {
/**
* (Highcharts) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highcharts) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highcharts) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highcharts) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highcharts) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highcharts) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highcharts) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotSankeyLevelsDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotSankeyOnPointConnectorOptions {
/**
* (Highcharts) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highcharts) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highcharts) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highcharts) Options allowing to set a position and an offset of the series
* in the _Series on point_ feature.
*/
export interface PlotSankeyOnPointPositionOptions {
/**
* (Highcharts) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highcharts) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highcharts) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highcharts) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highcharts) Point accessibility options for a series.
*/
export interface PlotScatter3dAccessibilityPointOptions {
/**
* (Highcharts) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highcharts) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highcharts) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highcharts) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highcharts) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highcharts) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highcharts) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotScatter3dDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotScatter3dDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: (VerticalAlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highcharts, Highstock) Apply a jitter effect for the rendered markers. When
* plotting discrete values, a little random noise may help telling the points
* apart. The jitter setting applies a random displacement of up to `n` axis
* units in either direction. So for example on a horizontal X axis, setting the
* `jitter.x` to 0.24 will render the point in a random position between 0.24
* units to the left and 0.24 units to the right of the true axis position. On a
* category axis, setting it to 0.5 will fill up the bin and make the data
* appear continuous.
*
* When rendered on top of a box plot or a column series, a jitter value of 0.24
* will correspond to the underlying series' default groupPadding and
* pointPadding settings.
*
* **Note:** With boost mode enabled, the jitter effect is not supported.
*/
export interface PlotScatter3dJitterOptions {
/**
* (Highcharts, Highstock) The maximal X offset for the random jitter
* effect.
*/
x?: number;
/**
* (Highcharts, Highstock) The maximal Y offset for the random jitter
* effect.
*/
y?: number;
}
/**
* (Highcharts) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotScatter3dOnPointOptions {
/**
* (Highcharts) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotScatter3dOnPointConnectorOptions|SVGAttributes);
/**
* (Highcharts) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highcharts) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotScatter3dOnPointPositionOptions);
}
/**
* (Highcharts) A 3D scatter plot uses x, y and z coordinates to display values
* for three variables for a set of data.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `scatter3d` series are defined in plotOptions.scatter3d.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotScatter3dOptions {
/**
* (Highcharts) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highcharts) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highcharts) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highcharts) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highcharts) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highcharts) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highcharts) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
* this number defines which colorAxis the particular series is connected
* to. It refers to either the axis id or the index of the axis in the
* colorAxis array, with 0 being the first. Set this option to false to
* prevent a series from connecting to the default color axis.
*
* Since v7.2.0 the option can also be an axis id or an axis index instead
* of a boolean flag.
*/
colorAxis?: (boolean|number|string);
/**
* (Highcharts) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highcharts) Polar charts only. Whether to connect the ends of a line
* series plot across the extremes.
*/
connectEnds?: boolean;
/**
* (Highcharts, Highstock) Whether to connect a graph line across null
* points, or render a gap between the two points on either side of the
* null.
*
* In stacked area chart, if `connectNulls` is set to true, null points are
* interpreted as 0.
*/
connectNulls?: boolean;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highcharts) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highcharts) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotScatter3dDataLabelsOptions|Array<PlotScatter3dDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotScatter3dDataSortingOptions);
/**
* (Highcharts) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highcharts) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highcharts) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highcharts) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highcharts) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highcharts) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highstock) Apply a jitter effect for the rendered markers.
* When plotting discrete values, a little random noise may help telling the
* points apart. The jitter setting applies a random displacement of up to
* `n` axis units in either direction. So for example on a horizontal X
* axis, setting the `jitter.x` to 0.24 will render the point in a random
* position between 0.24 units to the left and 0.24 units to the right of
* the true axis position. On a category axis, setting it to 0.5 will fill
* up the bin and make the data appear continuous.
*
* When rendered on top of a box plot or a column series, a jitter value of
* 0.24 will correspond to the underlying series' default groupPadding and
* pointPadding settings.
*
* **Note:** With boost mode enabled, the jitter effect is not supported.
*/
jitter?: PlotScatter3dJitterOptions;
/**
* (Highcharts) An array specifying which option maps to which key in the
* data point array. This makes it convenient to work with unstructured data
* arrays from different sources.
*/
keys?: Array<string>;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highcharts) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
* `stroke-linejoin` of a line graph. Round means that lines are rounded in
* the ends and bends.
*/
linecap?: SeriesLinecapValue;
/**
* (Highcharts, Highstock) The width of the line connecting the data points.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The id of another series to link to.
* Additionally, the value can be ":previous" to link to the previous
* series. When two series are linked, only the first one appears in the
* legend. Toggling the visibility of this also toggles the linked series.
*
* If master series uses data sorting and linked series does not have its
* own sorting definition, the linked series will be sorted in the same
* order as the master one.
*/
linkedTo?: string;
/**
* (Highcharts) Options for the point markers of line and scatter-like
* series. Properties like `fillColor`, `lineColor` and `lineWidth` define
* the visual appearance of the markers. The `symbol` option defines the
* shape. Other series types, like column series, don't have markers, but
* have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highcharts) The color for the parts of the graph or points that are
* below the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotScatter3dOnPointOptions);
/**
* (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highcharts) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highcharts) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highcharts) Same as accessibility.series.descriptionFormatter, but for
* an individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock, Gantt) If no x values are given for the points in
* a series, `pointInterval` defines the interval of the x values. For
* example, if a series contains one value every decade starting from year
* 0, set `pointInterval` to `10`. In true `datetime` axes, the
* `pointInterval` is set in milliseconds.
*
* It can be also be combined with `pointIntervalUnit` to draw irregular
* time intervals.
*
* If combined with `relativeXValue`, an x value can be set on each point,
* and the `pointInterval` is added x times to the `pointStart` setting.
*
* Please note that this options applies to the _series data_, not the
* interval of the axis ticks, which is independent.
*/
pointInterval?: number;
/**
* (Highcharts, Highstock, Gantt) On datetime series, this allows for
* setting the pointInterval to irregular time units, `day`, `month` and
* `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
* also takes the DST crossover into consideration when dealing with local
* time. Combine this option with `pointInterval` to draw weeks, quarters, 6
* months, 10 years etc.
*
* Please note that this options applies to the _series data_, not the
* interval of the axis ticks, which is independent.
*/
pointIntervalUnit?: OptionsPointIntervalUnitValue;
/**
* (Highcharts, Highstock, Gantt) If no x values are given for the points in
* a series, pointStart defines on what value to start. For example, if a
* series contains one yearly value starting from 1945, set pointStart to
* 1945.
*
* If combined with `relativeXValue`, an x value can be set on each point.
* The x value from the point options is multiplied by `pointInterval` and
* added to `pointStart` to produce a modified x value.
*/
pointStart?: number;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highcharts) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highcharts) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highcharts) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highcharts) If set to `true`, the accessibility module will skip past
* the points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highcharts) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
/**
* (Highcharts, Highstock) Whether to stack the values of each series on top
* of each other. Possible values are `undefined` to disable, `"normal"` to
* stack by value or `"percent"`.
*
* When stacking is enabled, data must be sorted in ascending X order.
*
* Some stacking options are related to specific series types. In the
* streamgraph series type, the stacking option is set to `"stream"`. The
* second one is `"overlap"`, which only applies to waterfall series.
*/
stacking?: OptionsStackingValue;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock) Whether to apply steps to the line. Possible
* values are `left`, `center` and `right`.
*/
step?: OptionsStepValue;
/**
* (Highcharts, Highstock, Highmaps) Sticky tracking of mouse events. When
* true, the `mouseOut` event on a series isn't triggered until the mouse
* moves over another series, or out of the plot area. When false, the
* `mouseOut` event on a series is triggered when the mouse leaves the area
* around the series' graph or markers. This also implies the tooltip. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock) The threshold, also called zero level or base
* level. For line type series this is only used in conjunction with
* negativeColor.
*/
threshold?: (number|null);
/**
* (Highcharts, Highstock, Highmaps) A configuration object for the tooltip
* rendering of each single series. Properties are inherited from tooltip.
* Overridable properties are `headerFormat`, `pointFormat`, `yDecimals`,
* `xDateFormat`, `yPrefix` and `ySuffix`. Unlike other series, in a scatter
* plot the series.name by default shows in the headerFormat and point.x and
* point.y in the pointFormat.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highcharts) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
export interface PlotScatterClusterEventsOptions {
/**
* (Highcharts, Highmaps) Fires when the cluster point is clicked and
* `drillToCluster` is enabled. One parameter, `event`, is passed to the
* function. The default action is to zoom to the cluster points range. This
* can be prevented by calling `event.preventDefault()`.
*/
drillToCluster?: MarkerClusterDrillCallbackFunction;
}
/**
* (Highcharts, Highmaps) Options for marker clusters, the concept of sampling
* the data values into larger blocks in order to ease readability and increase
* performance of the JavaScript charts.
*
* Note: marker clusters module is not working with `boost` and
* `draggable-points` modules.
*
* The marker clusters feature requires the marker-clusters.js file to be
* loaded, found in the modules directory of the download package, or online at
* code.highcharts.com/modules/marker-clusters.js.
*/
export interface PlotScatterClusterOptions {
/**
* (Highcharts, Highmaps) When set to `false` prevent cluster overlapping -
* this option works only when `layoutAlgorithm.type = "grid"`.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highmaps) Options for the cluster marker animation.
*/
animation?: (boolean|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highmaps) Options for the cluster data labels.
*/
dataLabels?: DataLabelsOptions;
/**
* (Highcharts, Highmaps) Zoom the plot area to the cluster points range
* when a cluster is clicked.
*/
drillToCluster?: boolean;
/**
* (Highcharts, Highmaps) Whether to enable the marker-clusters module.
*/
enabled?: boolean;
events?: PlotScatterClusterEventsOptions;
/**
* (Highcharts, Highmaps) Options for layout algorithm. Inside there are
* options to change the type of the algorithm, gridSize, distance or
* iterations.
*/
layoutAlgorithm?: PlotScatterClusterLayoutAlgorithmOptions;
/**
* (Highcharts, Highmaps) Options for the cluster marker.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highcharts, Highmaps) The minimum amount of points to be combined into a
* cluster. This value has to be greater or equal to 2.
*/
minimumClusterSize?: number;
states?: PlotScatterClusterStatesOptions;
/**
* (Highcharts, Highmaps) An array defining zones within marker clusters.
*
* In styled mode, the color zones are styled with the
* `.highcharts-cluster-zone-{n}` class, or custom classed from the
* `className` option.
*/
zones?: Array<PlotScatterClusterZonesOptions>;
}
export interface PlotScatterClusterStatesOptions {
hover?: PlotScatterClusterStatesHoverOptions;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotScatterDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotScatterDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highcharts, Highstock) Options for the connector in the _Series on point_
* feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotScatterOnPointConnectorOptions {
/**
* (Highcharts, Highstock) A name for the dash style to use for the
* connector.
*/
dashstyle?: string;
/**
* (Highcharts, Highstock) Color of the connector line. By default it's the
* series' color.
*/
stroke?: string;
/**
* (Highcharts, Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highcharts, Highstock) Options allowing to set a position and an offset of
* the series in the _Series on point_ feature.
*/
export interface PlotScatterOnPointPositionOptions {
/**
* (Highcharts, Highstock) Series center offset from the original x
* position. If defined, the connector line is drawn connecting original
* position with new position.
*/
offsetX?: number;
/**
* (Highcharts, Highstock) Series center offset from the original y
* position. If defined, the connector line is drawn from original position
* to a new position.
*/
offsetY?: number;
/**
* (Highcharts, Highstock) X position of the series center. By default, the
* series is displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highcharts, Highstock) Y position of the series center. By default, the
* series is displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Point accessibility options for a
* series.
*/
export interface PlotSeriesAccessibilityPointOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Date format to use for points on
* datetime axes when describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Formatter function to determine
* the date/time format used with points on datetime axes when describing
* them to screen reader users. Receives one argument, `point`, referring to
* the point to describe. Should return a date format string compatible with
* dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether or not to describe
* points with the value `null` to assistive technology, such as screen
* readers.
*/
describeNull?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string to use instead
* of the default for point descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Formatter function to use
* instead of the default for point descriptions. Same as
* `accessibility.point.descriptionFormatter`, but applies to a series
* instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Decimals to use for the values
* in the point descriptions. Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format to use for describing the
* values of data points to assistive technology - including screen readers.
* The point context is available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Prefix to add to the values in
* the point descriptions. Uses tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Suffix to add to the values in
* the point descriptions. Uses tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotSeriesDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotSeriesDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: (VerticalAlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the connector in the
* _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotSeriesOnPointConnectorOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) A name for the dash style to use
* for the connector.
*/
dashstyle?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Color of the connector line. By
* default it's the series' color.
*/
stroke?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Pixel width of the connector
* line.
*/
width?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options allowing to set a position
* and an offset of the series in the _Series on point_ feature.
*/
export interface PlotSeriesOnPointPositionOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Series center offset from the
* original x position. If defined, the connector line is drawn connecting
* original position with new position.
*/
offsetX?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Series center offset from the
* original y position. If defined, the connector line is drawn from
* original position to a new position.
*/
offsetY?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) X position of the series center.
* By default, the series is displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Y position of the series center.
* By default, the series is displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Properties for each single point.
*/
export interface PlotSeriesPointOptions {
/**
* (Highstock) Events for each single point.
*/
events?: PointEventsOptionsObject;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotSlowstochasticDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotSlowstochasticDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotSlowstochasticOnPointOptions {
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotSlowstochasticOnPointConnectorOptions|SVGAttributes);
/**
* (Highstock) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highstock) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotSlowstochasticOnPointPositionOptions);
}
/**
* (Highstock) Slow Stochastic oscillator. This series requires the `linkedTo`
* option to be set and should be loaded after `stock/indicators/indicators.js`
* and `stock/indicators/stochastic.js` files.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `slowstochastic` series are defined in
* plotOptions.slowstochastic.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotSlowstochasticOptions {
/**
* (Highstock) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highstock) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highstock) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highstock) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highstock) Sets the color blending in the boost module.
*/
boostBlending?: OptionsBoostBlendingValue;
/**
* (Highstock) Set the point threshold for when a series should enter boost
* mode.
*
* Setting it to e.g. 2000 will cause the series to enter boost mode when
* there are 2000 or more points in the series.
*
* To disable boosting on the series, set the `boostThreshold` to 0. Setting
* it to 1 will force boosting.
*
* Note that the cropThreshold also affects this setting. When zooming in on
* a series that has fewer points than the `cropThreshold`, all points are
* rendered although outside the visible plot area, and the `boostThreshold`
* won't take effect.
*/
boostThreshold?: number;
/**
* (Highstock) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highstock) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highstock) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highstock) Compare the values of the series against the first non-null,
* non- zero value in the visible range. The y axis will show percentage or
* absolute change depending on whether `compare` is set to `"percent"` or
* `"value"`. When this is applied to multiple series, it allows comparing
* the development of the series against each other. Adds a `change` field
* to every point object.
*/
compare?: OptionsCompareValue;
/**
* (Highstock) When compare is `percent`, this option dictates whether to
* use 0 or 100 as the base of comparison.
*/
compareBase?: (0|100);
/**
* (Highstock) Defines if comparison should start from the first point
* within the visible range or should start from the first point **before**
* the range.
*
* In other words, this flag determines if first point within the visible
* range will have 0% (`compareStart=true`) or should have been already
* calculated according to the previous point (`compareStart=false`).
*/
compareStart?: boolean;
/**
* (Highstock) Whether to compare indicator to the main series values or
* indicator values.
*/
compareToMain?: boolean;
/**
* (Highcharts, Highstock) Whether to connect a graph line across null
* points, or render a gap between the two points on either side of the
* null.
*
* In stacked area chart, if `connectNulls` is set to true, null points are
* interpreted as 0.
*/
connectNulls?: boolean;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highstock) When the series contains less points than the
* crop threshold, all points are drawn, even if the points fall outside the
* visible plot area at the current zoom. The advantage of drawing all
* points (including markers and columns), is that animation is performed on
* updates. On the other hand, when the series contains more points than the
* crop threshold, the series data is cropped to only contain points that
* fall within the plot area. The advantage of cropping away invisible
* points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highstock) Cumulative Sum feature replaces points' values with the
* following formula: `sum of all previous points' values + current point's
* value`. Works only for points in a visible range. Adds the
* `cumulativeSum` field to each point object that can be accessed e.g. in
* the tooltip.pointFormat.
*
* With `dataGrouping` enabled, default grouping approximation is set to
* `sum`.
*/
cumulative?: boolean;
/**
* (Highstock) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highstock) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highstock) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) Data grouping is the concept of sampling the data values into
* larger blocks in order to ease readability and increase performance of
* the JavaScript charts. Highcharts Stock by default applies data grouping
* when the points become closer than a certain pixel value, determined by
* the `groupPixelWidth` option.
*
* If data grouping is applied, the grouping information of grouped points
* can be read from the Point.dataGroup. If point options other than the
* data itself are set, for example `name` or `color` or custom properties,
* the grouping logic doesn't know how to group it. In this case the options
* of the first point instance are copied over to the group point. This can
* be altered through a custom `approximation` callback function.
*/
dataGrouping?: DataGroupingOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotSlowstochasticDataLabelsOptions|Array<PlotSlowstochasticDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotSlowstochasticDataSortingOptions);
/**
* (Highstock) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highstock) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highstock) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highstock) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highstock) Defines when to display a gap in the graph, together with the
* gapUnit option.
*
* In case when `dataGrouping` is enabled, points can be grouped into a
* larger time span. This can make the grouped points to have a greater
* distance than the absolute value of `gapSize` property, which will result
* in disappearing graph completely. To prevent this situation the mentioned
* distance between grouped points is used instead of previously defined
* `gapSize`.
*
* In practice, this option is most often used to visualize gaps in time
* series. In a stock chart, intraday data is available for daytime hours,
* while gaps will appear in nights and weekends.
*/
gapSize?: number;
/**
* (Highstock) Together with gapSize, this option defines where to draw gaps
* in the graph.
*
* When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
* if the distance between two points is greater than 5 times that of the
* two closest points, the graph will be broken.
*
* When the `gapUnit` is `"value"`, the gap is based on absolute axis
* values, which on a datetime axis is milliseconds. This also applies to
* the navigator series that inherits gap options from the base series.
*/
gapUnit?: OptionsGapUnitValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highstock) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highstock) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highstock) The line marks the last price from all points.
*/
lastPrice?: SeriesLastPriceOptionsObject;
/**
* (Highstock) The line marks the last price from visible range of points.
*/
lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
/**
* (Highstock) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
* `stroke-linejoin` of a line graph. Round means that lines are rounded in
* the ends and bends.
*/
linecap?: SeriesLinecapValue;
/**
* (Highcharts, Highstock) Pixel width of the graph line.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The main series ID that indicator will be
* based on. Required for this indicator.
*/
linkedTo?: string;
/**
* (Highstock) Options for the point markers of line and scatter-like
* series. Properties like `fillColor`, `lineColor` and `lineWidth` define
* the visual appearance of the markers. The `symbol` option defines the
* shape. Other series types, like column series, don't have markers, but
* have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highstock) The name of the series as shown in the legend, tooltip etc.
* If not set, it will be based on a technical indicator type and default
* params.
*/
name?: string;
/**
* (Highstock) The color for the parts of the graph or points that are below
* the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotSlowstochasticOnPointOptions);
/**
* (Highstock) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
params?: PlotSlowstochasticParamsOptions;
/**
* (Highstock) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highstock) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highstock) Same as accessibility.series.descriptionFormatter, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highstock) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highstock) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highstock) If set to `true`, the accessibility module will skip past the
* points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highstock) Smoothed line options.
*/
smoothedLine?: PlotSlowstochasticSmoothedLineOptions;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highstock) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock) Whether to apply steps to the line. Possible
* values are `left`, `center` and `right`.
*/
step?: OptionsStepValue;
/**
* (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock) The threshold, also called zero level or base
* level. For line type series this is only used in conjunction with
* negativeColor.
*/
threshold?: (number|null);
/**
* (Highstock) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highstock) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highstock) Smoothed line options.
*/
export interface PlotSlowstochasticSmoothedLineOptions {
/**
* (Highstock) Styles for a smoothed line.
*/
styles?: PlotSlowstochasticSmoothedLineStylesOptions;
}
/**
* (Highstock) Point accessibility options for a series.
*/
export interface PlotSmaAccessibilityPointOptions {
/**
* (Highstock) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highstock) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highstock) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highstock) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highstock) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highstock) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highstock) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotSmaDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotSmaDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: (VerticalAlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotSmaOnPointConnectorOptions {
/**
* (Highstock) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highstock) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highstock) Options allowing to set a position and an offset of the series in
* the _Series on point_ feature.
*/
export interface PlotSmaOnPointPositionOptions {
/**
* (Highstock) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highstock) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highstock) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highstock) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
export interface PlotSmaParamsOptions {
/**
* (Highstock) The point index which indicator calculations will base. For
* example using OHLC data, index=2 means the indicator will be calculated
* using Low values.
*/
index?: number;
/**
* (Highstock) The base period for indicator calculations. This is the
* number of data points which are taken into account for the indicator
* calculations.
*/
period?: number;
}
/**
* (Highcharts) Enable or disable the initial animation when a series is
* displayed for the `dataLabels`. The animation can also be set as a
* configuration object. Please note that this option only applies to the
* initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotSolidgaugeDataLabelsAnimationOptions {
/**
* (Highcharts) The animation delay time in milliseconds. Set to `0` to
* render the data labels immediately. As `undefined` inherits defer time
* from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotSolidgaugeOnPointConnectorOptions {
/**
* (Highcharts) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highcharts) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highcharts) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highcharts) Options allowing to set a position and an offset of the series
* in the _Series on point_ feature.
*/
export interface PlotSolidgaugeOnPointPositionOptions {
/**
* (Highcharts) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highcharts) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highcharts) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highcharts) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highcharts, Highstock) Point accessibility options for a series.
*/
export interface PlotSplineAccessibilityPointOptions {
/**
* (Highcharts, Highstock) Date format to use for points on datetime axes
* when describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highcharts, Highstock) Formatter function to determine the date/time
* format used with points on datetime axes when describing them to screen
* reader users. Receives one argument, `point`, referring to the point to
* describe. Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts, Highstock) Whether or not to describe points with the value
* `null` to assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highcharts, Highstock) A format string to use instead of the default for
* point descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highcharts, Highstock) Formatter function to use instead of the default
* for point descriptions. Same as
* `accessibility.point.descriptionFormatter`, but applies to a series
* instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts, Highstock) Decimals to use for the values in the point
* descriptions. Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highcharts, Highstock) Format to use for describing the values of data
* points to assistive technology - including screen readers. The point
* context is available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highcharts, Highstock) Prefix to add to the values in the point
* descriptions. Uses tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highcharts, Highstock) Suffix to add to the values in the point
* descriptions. Uses tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotSplineDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotSplineDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: (VerticalAlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highcharts, Highstock) Options for the connector in the _Series on point_
* feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotSplineOnPointConnectorOptions {
/**
* (Highcharts, Highstock) A name for the dash style to use for the
* connector.
*/
dashstyle?: string;
/**
* (Highcharts, Highstock) Color of the connector line. By default it's the
* series' color.
*/
stroke?: string;
/**
* (Highcharts, Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highcharts, Highstock) Options allowing to set a position and an offset of
* the series in the _Series on point_ feature.
*/
export interface PlotSplineOnPointPositionOptions {
/**
* (Highcharts, Highstock) Series center offset from the original x
* position. If defined, the connector line is drawn connecting original
* position with new position.
*/
offsetX?: number;
/**
* (Highcharts, Highstock) Series center offset from the original y
* position. If defined, the connector line is drawn from original position
* to a new position.
*/
offsetY?: number;
/**
* (Highcharts, Highstock) X position of the series center. By default, the
* series is displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highcharts, Highstock) Y position of the series center. By default, the
* series is displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Point accessibility options for a series.
*/
export interface PlotStochasticAccessibilityPointOptions {
/**
* (Highstock) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highstock) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highstock) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highstock) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highstock) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highstock) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highstock) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotStochasticDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotStochasticDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: (VerticalAlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotStochasticOnPointConnectorOptions {
/**
* (Highstock) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highstock) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highstock) Options allowing to set a position and an offset of the series in
* the _Series on point_ feature.
*/
export interface PlotStochasticOnPointPositionOptions {
/**
* (Highstock) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highstock) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highstock) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highstock) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
export interface PlotStochasticParamsOptions {
index?: string;
period?: string;
/**
* (Highstock) Periods for Stochastic oscillator: [%K, %D].
*/
periods?: [number, number];
}
/**
* (Highstock) Styles for a smoothed line.
*/
export interface PlotStochasticSmoothedLineStylesOptions {
/**
* (Highstock) Color of the line. If not set, it's inherited from
* plotOptions.stochastic.color.
*/
lineColor?: ColorString;
/**
* (Highstock) Pixel width of the line.
*/
lineWidth?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotStreamgraphDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotStreamgraphDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highcharts, Highstock) Options for the _Series on point_ feature. Only `pie`
* and `sunburst` series are supported at this moment.
*/
export interface PlotStreamgraphOnPointOptions {
/**
* (Highcharts, Highstock) Options for the connector in the _Series on
* point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotStreamgraphOnPointConnectorOptions|SVGAttributes);
/**
* (Highcharts, Highstock) The `id` of the point that we connect the series
* to. Only points with a given `plotX` and `plotY` values and map points
* are valid.
*/
id?: string;
/**
* (Highcharts, Highstock) Options allowing to set a position and an offset
* of the series in the _Series on point_ feature.
*/
position?: (object|PlotStreamgraphOnPointPositionOptions);
}
/**
* (Highcharts, Highstock) A streamgraph is a type of stacked area graph which
* is displaced around a central axis, resulting in a flowing, organic shape.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `streamgraph` series are defined in
* plotOptions.streamgraph.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotStreamgraphOptions {
/**
* (Highcharts, Highstock) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highcharts, Highstock) Allow this series' points to be selected by
* clicking on the graphic (columns, point markers, pie slices, map areas
* etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highcharts, Highstock) Enable or disable the initial animation when a
* series is displayed. The animation can also be set as a configuration
* object. Please note that this option only applies to the initial
* animation of the series itself. For other animations, see chart.animation
* and the animation parameter under the API methods. The following
* properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highcharts, Highstock) For some series, there is a limit that shuts down
* animation by default when the total number of points in the chart is too
* high. For example, for a column chart and its derivatives, animation does
* not run if there is more than 250 points totally. To disable this cap,
* set `animationLimit` to `Infinity`. This option works if animation is
* fired on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highcharts, Highstock) An additional class name to apply to the series'
* graphical elements. This option does not replace default class names of
* the graphical element. Changes to the series' color will also be
* reflected in a chart's legend and tooltip.
*/
className?: string;
/**
* (Highcharts, Highstock) Disable this option to allow series rendering in
* the whole plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highcharts, Highstock) The main color of the series. In line type series
* it applies to the line and the point markers unless otherwise specified.
* In bar type series it applies to the bars unless a color is specified per
* point. The default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
* this number defines which colorAxis the particular series is connected
* to. It refers to either the axis id or the index of the axis in the
* colorAxis array, with 0 being the first. Set this option to false to
* prevent a series from connecting to the default color axis.
*
* Since v7.2.0 the option can also be an axis id or an axis index instead
* of a boolean flag.
*/
colorAxis?: (boolean|number|string);
/**
* (Highcharts, Highstock) Styled mode only. A specific color index to use
* for the series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highstock) Compare the values of the series against the first non-null,
* non- zero value in the visible range. The y axis will show percentage or
* absolute change depending on whether `compare` is set to `"percent"` or
* `"value"`. When this is applied to multiple series, it allows comparing
* the development of the series against each other. Adds a `change` field
* to every point object.
*/
compare?: OptionsCompareValue;
/**
* (Highstock) When compare is `percent`, this option dictates whether to
* use 0 or 100 as the base of comparison.
*/
compareBase?: (0|100);
/**
* (Highstock) Defines if comparison should start from the first point
* within the visible range or should start from the first point **before**
* the range.
*
* In other words, this flag determines if first point within the visible
* range will have 0% (`compareStart=true`) or should have been already
* calculated according to the previous point (`compareStart=false`).
*/
compareStart?: boolean;
/**
* (Highcharts) Polar charts only. Whether to connect the ends of a line
* series plot across the extremes.
*/
connectEnds?: boolean;
/**
* (Highcharts, Highstock) Whether to connect a graph line across null
* points, or render a gap between the two points on either side of the
* null.
*
* In stacked area chart, if `connectNulls` is set to true, null points are
* interpreted as 0.
*/
connectNulls?: boolean;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highstock) When the series contains less points than the
* crop threshold, all points are drawn, even if the points fall outside the
* visible plot area at the current zoom. The advantage of drawing all
* points (including markers and columns), is that animation is performed on
* updates. On the other hand, when the series contains more points than the
* crop threshold, the series data is cropped to only contain points that
* fall within the plot area. The advantage of cropping away invisible
* points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highstock) Cumulative Sum feature replaces points' values with the
* following formula: `sum of all previous points' values + current point's
* value`. Works only for points in a visible range. Adds the
* `cumulativeSum` field to each point object that can be accessed e.g. in
* the tooltip.pointFormat.
*
* With `dataGrouping` enabled, default grouping approximation is set to
* `sum`.
*/
cumulative?: boolean;
/**
* (Highcharts, Highstock) You can set the cursor to "pointer" if you have
* click events attached to the series, to signal to the user that the
* points and lines can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highcharts, Highstock) A reserved subspace to store options and values
* for customized functionality. Here you can add additional data for your
* own event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highcharts, Highstock) Name of the dash style to use for the graph, or
* for some series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) Data grouping is the concept of sampling the data values into
* larger blocks in order to ease readability and increase performance of
* the JavaScript charts. Highcharts Stock by default applies data grouping
* when the points become closer than a certain pixel value, determined by
* the `groupPixelWidth` option.
*
* If data grouping is applied, the grouping information of grouped points
* can be read from the Point.dataGroup. If point options other than the
* data itself are set, for example `name` or `color` or custom properties,
* the grouping logic doesn't know how to group it. In this case the options
* of the first point instance are copied over to the group point. This can
* be altered through a custom `approximation` callback function.
*/
dataGrouping?: DataGroupingOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotStreamgraphDataLabelsOptions|Array<PlotStreamgraphDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotStreamgraphDataSortingOptions);
/**
* (Highcharts, Highstock) A description of the series to add to the screen
* reader information about the series.
*/
description?: string;
/**
* (Highcharts, Highstock) The draggable-points module allows points to be
* moved around or modified in the chart. In addition to the options
* mentioned under the `dragDrop` API structure, the module fires three
* events, point.dragStart, point.drag and point.drop.
*/
dragDrop?: SeriesDragDropOptionsObject;
/**
* (Highcharts, Highstock) Enable or disable the mouse tracking for a
* specific series. This includes point tooltips and click events on graphs
* and points. For large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highcharts, Highstock) General event handlers for the series items.
* These event hooks can also be attached to the series at run time using
* the `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highcharts, Highstock) Fill color or gradient for the area. When
* `undefined`, the series' `color` is used with the series' `fillOpacity`.
*
* In styled mode, the fill color can be set with the `.highcharts-area`
* class name.
*/
fillColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock) Fill opacity for the area. When you set an
* explicit `fillColor`, the `fillOpacity` is not applied. Instead, you
* should define the opacity in the `fillColor` with an rgba color
* definition. The `fillOpacity` setting, also the default setting,
* overrides the alpha component of the `color` setting.
*
* In styled mode, the fill opacity can be set with the `.highcharts-area`
* class name.
*/
fillOpacity?: number;
/**
* (Highcharts, Highstock) Determines whether the series should look for the
* nearest point in both dimensions or just the x-dimension when hovering
* the series. Defaults to `'xy'` for scatter series and `'x'` for most
* other series. If the data has duplicate x-values, it is recommended to
* set this to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highstock) Defines when to display a gap in the graph, together with the
* gapUnit option.
*
* In case when `dataGrouping` is enabled, points can be grouped into a
* larger time span. This can make the grouped points to have a greater
* distance than the absolute value of `gapSize` property, which will result
* in disappearing graph completely. To prevent this situation the mentioned
* distance between grouped points is used instead of previously defined
* `gapSize`.
*
* In practice, this option is most often used to visualize gaps in time
* series. In a stock chart, intraday data is available for daytime hours,
* while gaps will appear in nights and weekends.
*/
gapSize?: number;
/**
* (Highstock) Together with gapSize, this option defines where to draw gaps
* in the graph.
*
* When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
* if the distance between two points is greater than 5 times that of the
* two closest points, the graph will be broken.
*
* When the `gapUnit` is `"value"`, the gap is based on absolute axis
* values, which on a datetime axis is milliseconds. This also applies to
* the navigator series that inherits gap options from the base series.
*/
gapUnit?: OptionsGapUnitValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highcharts, Highstock) Highlight only the hovered point and fade the
* remaining points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highcharts, Highstock) When set to `false` will prevent the series data
* from being included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highstock) An array specifying which option maps to which
* key in the data point array. This makes it convenient to work with
* unstructured data arrays from different sources.
*/
keys?: Array<string>;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highstock) The line marks the last price from all points.
*/
lastPrice?: SeriesLastPriceOptionsObject;
/**
* (Highstock) The line marks the last price from visible range of points.
*/
lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
/**
* (Highcharts, Highstock) What type of legend symbol to render for this
* series. Can be one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
* `stroke-linejoin` of a line graph. Round means that lines are rounded in
* the ends and bends.
*/
linecap?: SeriesLinecapValue;
/**
* (Highcharts, Highstock) A separate color for the graph line. By default
* the line takes the `color` of the series, but the lineColor setting
* allows setting a separate color for the line without altering the
* `fillColor`.
*
* In styled mode, the line stroke can be set with the `.highcharts-graph`
* class name.
*/
lineColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock) Pixel width of the graph line.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The id of another series to link to.
* Additionally, the value can be ":previous" to link to the previous
* series. When two series are linked, only the first one appears in the
* legend. Toggling the visibility of this also toggles the linked series.
*
* If master series uses data sorting and linked series does not have its
* own sorting definition, the linked series will be sorted in the same
* order as the master one.
*/
linkedTo?: string;
/**
* (Highcharts, Highstock) Options for the point markers of line and
* scatter-like series. Properties like `fillColor`, `lineColor` and
* `lineWidth` define the visual appearance of the markers. The `symbol`
* option defines the shape. Other series types, like column series, don't
* have markers, but have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highstock) Options for the corresponding navigator series if
* `showInNavigator` is `true` for this series. Available options are the
* same as any series, documented at plotOptions and series.
*
* These options are merged with options in navigator.series, and will take
* precedence if the same option is defined both places.
*/
navigatorOptions?: PlotSeriesOptions;
/**
* (Highcharts, Highstock) The color for the parts of the graph or points
* that are below the threshold. Note that `zones` takes precedence over the
* negative color. Using `negativeColor` is equivalent to applying a zone
* with value of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) A separate color for the negative part of the area.
*
* In styled mode, a negative color is set with the `.highcharts-negative`
* class name.
*/
negativeFillColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock) Options for the _Series on point_ feature. Only
* `pie` and `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotStreamgraphOnPointOptions);
/**
* (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
* and dataLabels.
*/
opacity?: number;
/**
* (Highcharts, Highstock) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highcharts, Highstock) Same as accessibility.point.descriptionFormat,
* but for an individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highcharts, Highstock) Same as
* accessibility.series.descriptionFormatter, but for an individual series.
* Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock, Gantt) If no x values are given for the points in
* a series, `pointInterval` defines the interval of the x values. For
* example, if a series contains one value every decade starting from year
* 0, set `pointInterval` to `10`. In true `datetime` axes, the
* `pointInterval` is set in milliseconds.
*
* It can be also be combined with `pointIntervalUnit` to draw irregular
* time intervals.
*
* If combined with `relativeXValue`, an x value can be set on each point,
* and the `pointInterval` is added x times to the `pointStart` setting.
*
* Please note that this options applies to the _series data_, not the
* interval of the axis ticks, which is independent.
*/
pointInterval?: number;
/**
* (Highcharts, Highstock, Gantt) On datetime series, this allows for
* setting the pointInterval to irregular time units, `day`, `month` and
* `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
* also takes the DST crossover into consideration when dealing with local
* time. Combine this option with `pointInterval` to draw weeks, quarters, 6
* months, 10 years etc.
*
* Please note that this options applies to the _series data_, not the
* interval of the axis ticks, which is independent.
*/
pointIntervalUnit?: OptionsPointIntervalUnitValue;
/**
* (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
* `number`.
*
* In a column chart, when pointPlacement is `"on"`, the point will not
* create any padding of the X axis. In a polar column chart this means that
* the first column points directly north. If the pointPlacement is
* `"between"`, the columns will be laid out between ticks. This is useful
* for example for visualising an amount between two points in time or in a
* certain sector of a polar chart.
*
* Since Highcharts 3.0.2, the point placement can also be numeric, where 0
* is on the axis value, -0.5 is between this value and the previous, and
* 0.5 is between this value and the next. Unlike the textual options,
* numeric point placement options won't affect axis padding.
*
* Note that pointPlacement needs a pointRange to work. For column series
* this is computed, but for line-type series it needs to be set.
*
* For the `xrange` series type and gantt charts, if the Y axis is a
* category axis, the `pointPlacement` applies to the Y axis rather than the
* (typically datetime) X axis.
*
* Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
*/
pointPlacement?: (number|string);
/**
* (Highstock) The width of each point on the x axis. For example in a
* column chart with one value each day, the pointRange would be 1 day (= 24
* * 3600
*
* * 1000 milliseconds). This is normally computed automatically, but this
* option can be used to override the automatic value.
*/
pointRange?: number;
/**
* (Highcharts, Highstock, Gantt) If no x values are given for the points in
* a series, pointStart defines on what value to start. For example, if a
* series contains one yearly value starting from 1945, set pointStart to
* 1945.
*
* If combined with `relativeXValue`, an x value can be set on each point.
* The x value from the point options is multiplied by `pointInterval` and
* added to `pointStart` to produce a modified x value.
*/
pointStart?: number;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highcharts, Highstock) Whether to select the series initially. If
* `showCheckbox` is true, the checkbox next to the series name in the
* legend will be checked for a selected series.
*/
selected?: boolean;
/**
* (Highcharts, Highstock) Whether to apply a drop shadow to the graph line.
* Since 2.3 the shadow can be an object configuration containing `color`,
* `offsetX`, `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock) If true, a checkbox is displayed next to the
* legend item to allow selecting the series. The state of the checkbox is
* determined by the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highcharts, Highstock) Whether to display this particular series or
* series type in the legend. Standalone series are shown in legend by
* default, and linked series are not. Since v7.2.0 it is possible to show
* series that use colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highstock) Whether or not to show the series in the navigator. Takes
* precedence over navigator.baseSeries if defined.
*/
showInNavigator?: boolean;
/**
* (Highcharts, Highstock) If set to `true`, the accessibility module will
* skip past the points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highcharts, Highstock) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
/**
* (Highcharts, Highstock) Whether to stack the values of each series on top
* of each other. Possible values are `undefined` to disable, `"normal"` to
* stack by value or `"percent"`.
*
* When stacking is enabled, data must be sorted in ascending X order.
*
* Some stacking options are related to specific series types. In the
* streamgraph series type, the stacking option is set to `"stream"`. The
* second one is `"overlap"`, which only applies to waterfall series.
*/
stacking?: string;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
* `mouseOut` event on a series isn't triggered until the mouse moves over
* another series, or out of the plot area. When false, the `mouseOut` event
* on a series is triggered when the mouse leaves the area around the
* series' graph or markers. This also implies the tooltip when not shared.
* When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
* will be hidden when moving the mouse between series. Defaults to true for
* line and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock) The Y axis value to serve as the base for the
* area, for distinguishing between values above and below a threshold. The
* area between the graph and the threshold is filled.
*
* * If a number is given, the Y axis will scale to the threshold.
*
* * If `null`, the scaling behaves like a line series with fill between the
* graph and the Y axis minimum.
*
* * If `Infinity` or `-Infinity`, the area between the graph and the
* corresponding Y axis extreme is filled (since v6.1.0).
*/
threshold?: (number|null);
/**
* (Highcharts, Highstock) A configuration object for the tooltip rendering
* of each single series. Properties are inherited from tooltip, but only
* the following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock) Whether the whole area or just the line should
* respond to mouseover tooltips and other mouse or touch events.
*/
trackByArea?: boolean;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highcharts, Highstock) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highcharts) A collection of attributes for the buttons. The object takes SVG
* attributes like `fill`, `stroke`, `stroke-width`, as well as `style`, a
* collection of CSS properties for the text.
*
* The object can also be extended with states, so you can set presentational
* options for `hover`, `select` or `disabled` button states.
*/
export interface PlotSunburstBreadcrumbsButtonThemeOptions {
style?: PlotSunburstBreadcrumbsButtonThemeStyleOptions;
}
export interface PlotSunburstBreadcrumbsEventsOptions {
/**
* (Highcharts) Fires when clicking on the breadcrumbs button. Two arguments
* are passed to the function. First breadcrumb button as an SVG element.
* Second is the breadcrumbs class, containing reference to the chart,
* series etc. (see online documentation for example)
*
* Return false to stop default buttons click action.
*/
click?: BreadcrumbsClickCallbackFunction;
}
/**
* (Highcharts, Highmaps) Positioning for the button row. The breadcrumbs
* buttons will be aligned properly for the default chart layout (title,
* subtitle, legend, range selector) for the custom chart layout set the
* position properties.
*/
export interface PlotSunburstBreadcrumbsPositionOptions {
/**
* (Highcharts, Highmaps) Horizontal alignment of the breadcrumbs buttons.
*/
align?: AlignValue;
/**
* (Highcharts, Highmaps) Vertical alignment of the breadcrumbs buttons.
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highcharts, Highmaps) The X offset of the breadcrumbs button group.
*/
x?: number;
/**
* (Highcharts, Highmaps) The Y offset of the breadcrumbs button group. When
* `undefined`, and `floating` is `false`, the `y` position is adapted so
* that the breadcrumbs are rendered outside the target area.
*/
y?: (number|undefined);
}
/**
* (Highcharts) CSS styles for the breadcrumbs separator.
*
* In styled mode, the breadcrumbs separators are styled by the
* `.highcharts-separator` rule with its different states.
*/
export interface PlotSunburstBreadcrumbsSeparatorStyleOptions {
color?: string;
fontSize?: number;
}
/**
* (Highcharts) Can set a `colorVariation` on all points which lies on the same
* level.
*/
export interface PlotSunburstLevelsColorVariationOptions {
/**
* (Highcharts) The key of a color variation. Currently supports
* `brightness` only.
*/
key?: string;
/**
* (Highcharts) The ending value of a color variation. The last sibling will
* receive this value.
*/
to?: number;
}
/**
* (Highcharts) Determines the width of the ring per level.
*/
export interface PlotSunburstLevelSizeOptions {
/**
* (Highcharts) How to interpret `levelSize.value`.
*
* - `percentage` gives a width relative to result of outer radius minus
* inner radius.
*
* - `pixels` gives the ring a fixed width in pixels.
*
* - `weight` takes the remaining width after percentage and pixels, and
* distributes it across all "weighted" levels. The value relative to the
* sum of all weights determines the width.
*/
unit?: OptionsUnitValue;
/**
* (Highcharts) The value used for calculating the width of the ring. Its'
* affect is determined by `levelSize.unit`.
*/
value?: number;
}
/**
* (Highcharts) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotSunburstOnPointConnectorOptions {
/**
* (Highcharts) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highcharts) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highcharts) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highcharts) Options allowing to set a position and an offset of the series
* in the _Series on point_ feature.
*/
export interface PlotSunburstOnPointPositionOptions {
/**
* (Highcharts) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highcharts) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highcharts) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highcharts) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Point accessibility options for a series.
*/
export interface PlotSupertrendAccessibilityPointOptions {
/**
* (Highstock) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highstock) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highstock) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highstock) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highstock) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highstock) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highstock) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
export interface PlotSupertrendChangeTrendLineStylesOptions {
/**
* (Highstock) The dash or dot style of the grid lines. For possible values,
* see this demonstration.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) Color of the line.
*/
lineColor?: ColorString;
/**
* (Highstock) Pixel width of the line.
*/
lineWidth?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotSupertrendDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotSupertrendDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: (VerticalAlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotSupertrendOnPointConnectorOptions {
/**
* (Highstock) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highstock) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highstock) Options allowing to set a position and an offset of the series in
* the _Series on point_ feature.
*/
export interface PlotSupertrendOnPointPositionOptions {
/**
* (Highstock) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highstock) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highstock) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highstock) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Parameters used in calculation of Supertrend indicator series
* points.
*/
export interface PlotSupertrendParamsOptions {
index?: string;
/**
* (Highstock) Multiplier for Supertrend Indicator.
*/
multiplier?: number;
/**
* (Highstock) The base period for indicator Supertrend Indicator
* calculations. This is the number of data points which are taken into
* account for the indicator calculations.
*/
period?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotTemaDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotTemaDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotTemaOnPointOptions {
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotTemaOnPointConnectorOptions|SVGAttributes);
/**
* (Highstock) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highstock) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotTemaOnPointPositionOptions);
}
/**
* (Highstock) Triple exponential moving average (TEMA) indicator. This series
* requires `linkedTo` option to be set and should be loaded after the
* `stock/indicators/indicators.js`.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `tema` series are defined in plotOptions.tema.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotTemaOptions {
/**
* (Highstock) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highstock) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highstock) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highstock) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highstock) Sets the color blending in the boost module.
*/
boostBlending?: OptionsBoostBlendingValue;
/**
* (Highstock) Set the point threshold for when a series should enter boost
* mode.
*
* Setting it to e.g. 2000 will cause the series to enter boost mode when
* there are 2000 or more points in the series.
*
* To disable boosting on the series, set the `boostThreshold` to 0. Setting
* it to 1 will force boosting.
*
* Note that the cropThreshold also affects this setting. When zooming in on
* a series that has fewer points than the `cropThreshold`, all points are
* rendered although outside the visible plot area, and the `boostThreshold`
* won't take effect.
*/
boostThreshold?: number;
/**
* (Highstock) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highstock) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highstock) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highstock) Defines if comparison should start from the first point
* within the visible range or should start from the first point **before**
* the range.
*
* In other words, this flag determines if first point within the visible
* range will have 0% (`compareStart=true`) or should have been already
* calculated according to the previous point (`compareStart=false`).
*/
compareStart?: boolean;
/**
* (Highstock) Whether to compare indicator to the main series values or
* indicator values.
*/
compareToMain?: boolean;
/**
* (Highcharts, Highstock) Whether to connect a graph line across null
* points, or render a gap between the two points on either side of the
* null.
*
* In stacked area chart, if `connectNulls` is set to true, null points are
* interpreted as 0.
*/
connectNulls?: boolean;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highstock) When the series contains less points than the
* crop threshold, all points are drawn, even if the points fall outside the
* visible plot area at the current zoom. The advantage of drawing all
* points (including markers and columns), is that animation is performed on
* updates. On the other hand, when the series contains more points than the
* crop threshold, the series data is cropped to only contain points that
* fall within the plot area. The advantage of cropping away invisible
* points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highstock) Cumulative Sum feature replaces points' values with the
* following formula: `sum of all previous points' values + current point's
* value`. Works only for points in a visible range. Adds the
* `cumulativeSum` field to each point object that can be accessed e.g. in
* the tooltip.pointFormat.
*
* With `dataGrouping` enabled, default grouping approximation is set to
* `sum`.
*/
cumulative?: boolean;
/**
* (Highstock) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highstock) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highstock) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) Data grouping is the concept of sampling the data values into
* larger blocks in order to ease readability and increase performance of
* the JavaScript charts. Highcharts Stock by default applies data grouping
* when the points become closer than a certain pixel value, determined by
* the `groupPixelWidth` option.
*
* If data grouping is applied, the grouping information of grouped points
* can be read from the Point.dataGroup. If point options other than the
* data itself are set, for example `name` or `color` or custom properties,
* the grouping logic doesn't know how to group it. In this case the options
* of the first point instance are copied over to the group point. This can
* be altered through a custom `approximation` callback function.
*/
dataGrouping?: DataGroupingOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotTemaDataLabelsOptions|Array<PlotTemaDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotTemaDataSortingOptions);
/**
* (Highstock) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highstock) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highstock) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highstock) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highstock) Defines when to display a gap in the graph, together with the
* gapUnit option.
*
* In case when `dataGrouping` is enabled, points can be grouped into a
* larger time span. This can make the grouped points to have a greater
* distance than the absolute value of `gapSize` property, which will result
* in disappearing graph completely. To prevent this situation the mentioned
* distance between grouped points is used instead of previously defined
* `gapSize`.
*
* In practice, this option is most often used to visualize gaps in time
* series. In a stock chart, intraday data is available for daytime hours,
* while gaps will appear in nights and weekends.
*/
gapSize?: number;
/**
* (Highstock) Together with gapSize, this option defines where to draw gaps
* in the graph.
*
* When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
* if the distance between two points is greater than 5 times that of the
* two closest points, the graph will be broken.
*
* When the `gapUnit` is `"value"`, the gap is based on absolute axis
* values, which on a datetime axis is milliseconds. This also applies to
* the navigator series that inherits gap options from the base series.
*/
gapUnit?: OptionsGapUnitValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highstock) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highstock) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highstock) The line marks the last price from all points.
*/
lastPrice?: SeriesLastPriceOptionsObject;
/**
* (Highstock) The line marks the last price from visible range of points.
*/
lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
/**
* (Highstock) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
* `stroke-linejoin` of a line graph. Round means that lines are rounded in
* the ends and bends.
*/
linecap?: SeriesLinecapValue;
/**
* (Highcharts, Highstock) Pixel width of the graph line.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The main series ID that indicator will be
* based on. Required for this indicator.
*/
linkedTo?: string;
/**
* (Highstock) Options for the point markers of line and scatter-like
* series. Properties like `fillColor`, `lineColor` and `lineWidth` define
* the visual appearance of the markers. The `symbol` option defines the
* shape. Other series types, like column series, don't have markers, but
* have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highstock) The name of the series as shown in the legend, tooltip etc.
* If not set, it will be based on a technical indicator type and default
* params.
*/
name?: string;
/**
* (Highstock) The color for the parts of the graph or points that are below
* the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotTemaOnPointOptions);
/**
* (Highstock) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
params?: PlotTemaParamsOptions;
/**
* (Highstock) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highstock) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highstock) Same as accessibility.series.descriptionFormatter, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highstock) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highstock) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highstock) If set to `true`, the accessibility module will skip past the
* points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highstock) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock) Whether to apply steps to the line. Possible
* values are `left`, `center` and `right`.
*/
step?: OptionsStepValue;
/**
* (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock) The threshold, also called zero level or base
* level. For line type series this is only used in conjunction with
* negativeColor.
*/
threshold?: (number|null);
/**
* (Highstock) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highstock) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highmaps) Point accessibility options for a series.
*/
export interface PlotTiledwebmapAccessibilityPointOptions {
/**
* (Highmaps) Date format to use for points on datetime axes when describing
* them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highmaps) Formatter function to determine the date/time format used with
* points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highmaps) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highmaps) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highmaps) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highmaps) Decimals to use for the values in the point descriptions. Uses
* tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highmaps) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highmaps) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highmaps) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highmaps) Provider options for the series.
*/
export interface PlotTiledwebmapProviderOptions {
/**
* (Highmaps) API key for providers that require using one.
*/
apiKey?: string;
/**
* (Highmaps) Subdomain required by each provider. Check the providers
* documentation for available subdomains.
*/
subdomain?: string;
/**
* (Highmaps) Set a tiles theme. Check the providers documentation for
* official list of available themes.
*/
theme?: string;
/**
* (Highmaps) Provider type to pull data (tiles) from.
*/
type?: string;
/**
* (Highmaps) Custom URL for providers not specified in providers type.
* Available variables to use in URL are: `{x}`, `{y}`, `{z}` or `{zoom}`.
* Remember to always specify a projection, when using a custom URL.
*/
url?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotTilemapDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highmaps) Options for the connector in the _Series on point_
* feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotTilemapOnPointConnectorOptions {
/**
* (Highcharts, Highmaps) A name for the dash style to use for the
* connector.
*/
dashstyle?: string;
/**
* (Highcharts, Highmaps) Color of the connector line. By default it's the
* series' color.
*/
stroke?: string;
/**
* (Highcharts, Highmaps) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highcharts, Highmaps) Options allowing to set a position and an offset of
* the series in the _Series on point_ feature.
*/
export interface PlotTilemapOnPointPositionOptions {
/**
* (Highcharts, Highmaps) Series center offset from the original x position.
* If defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highcharts, Highmaps) Series center offset from the original y position.
* If defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highcharts, Highmaps) X position of the series center. By default, the
* series is displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highcharts, Highmaps) Y position of the series center. By default, the
* series is displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highcharts, Highstock) A collection of SVG attributes to override the
* appearance of the halo, for example `fill`, `stroke` and `stroke-width`.
*/
export interface PlotTilemapStatesHoverHaloAttributesOptions {
zIndex?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotTimelineDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotTimelineOnPointOptions {
/**
* (Highcharts) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotTimelineOnPointConnectorOptions|SVGAttributes);
/**
* (Highcharts) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highcharts) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotTimelineOnPointPositionOptions);
}
/**
* (Highcharts) The timeline series presents given events along a drawn line.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `timeline` series are defined in plotOptions.timeline.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotTimelineOptions {
/**
* (Highcharts) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highcharts) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highcharts) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highcharts) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highcharts) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highcharts) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
* this number defines which colorAxis the particular series is connected
* to. It refers to either the axis id or the index of the axis in the
* colorAxis array, with 0 being the first. Set this option to false to
* prevent a series from connecting to the default color axis.
*
* Since v7.2.0 the option can also be an axis id or an axis index instead
* of a boolean flag.
*/
colorAxis?: (boolean|number|string);
colorByPoint?: boolean;
/**
* (Highcharts) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highcharts) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (TimelineDataLabelsOptionsObject|Array<TimelineDataLabelsOptionsObject>);
/**
* (Highcharts) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highcharts) The draggable-points module allows points to be moved around
* or modified in the chart. In addition to the options mentioned under the
* `dragDrop` API structure, the module fires three events, point.dragStart,
* point.drag and point.drop.
*/
dragDrop?: SeriesDragDropOptionsObject;
/**
* (Highcharts) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highcharts) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
ignoreHiddenPoint?: boolean;
/**
* (Highcharts) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highcharts) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts) An array specifying which option maps to which key in the
* data point array. This makes it convenient to work with unstructured data
* arrays from different sources.
*/
keys?: Array<string>;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highcharts) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
* `stroke-linejoin` of a line graph. Round means that lines are rounded in
* the ends and bends.
*/
linecap?: SeriesLinecapValue;
/**
* (Highcharts, Highstock) Pixel width of the graph line.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The id of another series to link to.
* Additionally, the value can be ":previous" to link to the previous
* series. When two series are linked, only the first one appears in the
* legend. Toggling the visibility of this also toggles the linked series.
*
* If master series uses data sorting and linked series does not have its
* own sorting definition, the linked series will be sorted in the same
* order as the master one.
*/
linkedTo?: string;
/**
* (Highcharts) Options for the point markers of line and scatter-like
* series. Properties like `fillColor`, `lineColor` and `lineWidth` define
* the visual appearance of the markers. The `symbol` option defines the
* shape. Other series types, like column series, don't have markers, but
* have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highcharts) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotTimelineOnPointOptions);
/**
* (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highcharts) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highcharts) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highcharts) Same as accessibility.series.descriptionFormatter, but for
* an individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highcharts) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highcharts) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highcharts) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highcharts) If set to `true`, the accessibility module will skip past
* the points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts) Set the initial visibility of the series.
*/
visible?: boolean;
}
/**
* (Highcharts) Options applied to collapse Button. The collape button is the
* small button which indicates, that the node is collapsable.
*/
export interface PlotTreegraphCollapseButtonOptions {
/**
* (Highcharts) Whether the button should be visible.
*/
enabled?: boolean;
/**
* (Highcharts) Height of the button.
*/
height?: number;
/**
* (Highcharts) The line width of the button in pixels
*/
lineWidth?: number;
/**
* (Highcharts) Whether the button should be visible only when the node is
* hovered. When set to true, the button is hidden for nodes, which are not
* collapsed, and shown for the collapsed ones.
*/
onlyOnHover?: boolean;
/**
* (Highcharts) The symbol of the collapse button.
*/
shape?: string;
/**
* (Highcharts) CSS styles for the collapse button.
*
* In styled mode, the collapse button style is given in the
* `.highcharts-collapse-button` class.
*/
style?: PlotTreegraphCollapseButtonStyleOptions;
/**
* (Highcharts) Width of the button.
*/
width?: number;
/**
* (Highcharts) Offset of the button in the x direction.
*/
x?: number;
/**
* (Highcharts) Offset of the button in the y direction.
*/
y?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotTreegraphDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The default
* `color` setting is `"contrast"`, which is a pseudo color that Highcharts
* picks up and applies the maximum contrast to the underlying point item, for
* example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the given
* width with the given color, which by default is the maximum contrast to the
* text. So a bright text color will result in a black text outline for maximum
* readability on a mixed background. In some cases, especially with grayscale
* text, the text outline doesn't work well, in which cases it can be disabled
* by setting it to `"none"`. When `useHTML` is true, the `textOutline` will not
* be picked up. In this, case, the same effect can be acheived through the
* `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example tree
* maps, the data label may overflow the point. There are two strategies for
* handling overflow. By default, the text will wrap to multiple lines. The
* other strategy is to set `style.textOverflow` to `ellipsis`, which will keep
* the text on one line plus it will break inside long words.
*/
export interface PlotTreegraphDataLabelsStyleOptions {
textOverflow?: string;
}
/**
* (Highcharts) Enable or disable the initial animation when a series is
* displayed for the `dataLabels`. The animation can also be set as a
* configuration object. Please note that this option only applies to the
* initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotTreegraphLevelsDataLabelsAnimationOptions {
/**
* (Highcharts) The animation delay time in milliseconds. Set to `0` to
* render the data labels immediately. As `undefined` inherits defer time
* from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts) Set options on specific levels. Takes precedence over series
* options, but not point options.
*/
export interface PlotTreegraphLevelsOptions {
/**
* (Highcharts) Can set a `borderColor` on all points which lies on the same
* level.
*/
borderColor?: ColorString;
/**
* (Highcharts) Set the dash style of the border of all the point which lies
* on the level. See plotOptions.scatter.dashStyle for possible options.
*/
borderDashStyle?: DashStyleValue;
/**
* (Highcharts) Can set the borderWidth on all points which lies on the same
* level.
*/
borderWidth?: number;
/**
* (Highcharts) Can set a color on all points which lies on the same level.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) A configuration object to define how the color of a child
* varies from the parent's color. The variation is distributed among the
* children of node. For example when setting brightness, the brightness
* change will range from the parent's original brightness on the first
* child, to the amount set in the `to` setting on the last node. This
* allows a gradient-like color scheme that sets children out from each
* other while highlighting the grouping on treemaps and sectors on sunburst
* charts.
*/
colorVariation?: PlotTreegraphLevelsColorVariationOptions;
/**
* (Highcharts) Can set the options of dataLabels on each point which lies
* on the level. plotOptions.treemap.dataLabels for possible values.
*/
dataLabels?: (PlotTreegraphLevelsDataLabelsOptions|Array<PlotTreegraphLevelsDataLabelsOptions>);
/**
* (Highcharts) Can set the layoutAlgorithm option on a specific level.
*/
layoutAlgorithm?: OptionsLayoutAlgorithmValue;
/**
* (Highcharts) Can set the layoutStartingDirection option on a specific
* level.
*/
layoutStartingDirection?: OptionsLayoutStartingDirectionValue;
/**
* (Highcharts) Decides which level takes effect from the options set in the
* levels object.
*/
level?: number;
}
/**
* (Highcharts) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotTreegraphOnPointConnectorOptions {
/**
* (Highcharts) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highcharts) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highcharts) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highcharts) Options allowing to set a position and an offset of the series
* in the _Series on point_ feature.
*/
export interface PlotTreegraphOnPointPositionOptions {
/**
* (Highcharts) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highcharts) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highcharts) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highcharts) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highcharts) Point accessibility options for a series.
*/
export interface PlotTreemapAccessibilityPointOptions {
/**
* (Highcharts) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highcharts) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highcharts) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highcharts) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highcharts) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highcharts) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highcharts) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
export interface PlotTreemapBreadcrumbsButtonThemeStyleOptions {
color?: string;
}
/**
* (Highcharts) Options for the breadcrumbs, the navigation at the top leading
* the way up through the traversed levels.
*/
export interface PlotTreemapBreadcrumbsOptions {
/**
* (Highcharts) The default padding for each button and separator in each
* direction.
*/
buttonSpacing?: number;
/**
* (Highcharts) A collection of attributes for the buttons. The object takes
* SVG attributes like `fill`, `stroke`, `stroke-width`, as well as `style`,
* a collection of CSS properties for the text.
*
* The object can also be extended with states, so you can set
* presentational options for `hover`, `select` or `disabled` button states.
*/
buttonTheme?: (PlotTreemapBreadcrumbsButtonThemeOptions|SVGAttributes);
events?: PlotTreemapBreadcrumbsEventsOptions;
/**
* (Highcharts) When the breadcrumbs are floating, the plot area will not
* move to make space for it. By default, the chart will not make space for
* the buttons. This property won't work when positioned in the middle.
*/
floating?: boolean;
/**
* (Highcharts) A format string for the breadcrumbs button. Variables are
* enclosed by curly brackets. Available values are passed in the declared
* point options.
*/
format?: (string|undefined);
/**
* (Highcharts) Callback function to format the breadcrumb text from
* scratch.
*/
formatter?: BreadcrumbsFormatterCallbackFunction;
/**
* (Highcharts, Highmaps) Positioning for the button row. The breadcrumbs
* buttons will be aligned properly for the default chart layout (title,
* subtitle, legend, range selector) for the custom chart layout set the
* position properties.
*/
position?: (BreadcrumbsAlignOptions|PlotTreemapBreadcrumbsPositionOptions);
/**
* (Highcharts, Highmaps) What box to align the button to. Can be either
* `plotBox` or `spacingBox`.
*/
relativeTo?: ButtonRelativeToValue;
/**
* (Highcharts) Whether to reverse the order of buttons. This is common in
* Arabic and Hebrew.
*/
rtl?: boolean;
/**
* (Highcharts) Options object for Breadcrumbs separator.
*/
separator?: PlotTreemapBreadcrumbsSeparatorOptions;
/**
* (Highcharts) Show full path or only a single button.
*/
showFullPath?: boolean;
/**
* (Highcharts) CSS styles for all breadcrumbs.
*
* In styled mode, the breadcrumbs buttons are styled by the
* `.highcharts-breadcrumbs-buttons .highcharts-button` rule with its
* different states.
*/
style?: SVGAttributes;
/**
* (Highcharts) Whether to use HTML to render the breadcrumbs items texts.
*/
useHTML?: boolean;
/**
* (Highcharts) The z index of the breadcrumbs group.
*/
zIndex?: number;
}
/**
* (Highcharts) Options object for Breadcrumbs separator.
*/
export interface PlotTreemapBreadcrumbsSeparatorOptions {
/**
* (Highcharts) CSS styles for the breadcrumbs separator.
*
* In styled mode, the breadcrumbs separators are styled by the
* `.highcharts-separator` rule with its different states.
*/
style?: (CSSObject|PlotTreemapBreadcrumbsSeparatorStyleOptions);
text?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotTreemapDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts) A configuration object to define how the color of a child varies
* from the parent's color. The variation is distributed among the children of
* node. For example when setting brightness, the brightness change will range
* from the parent's original brightness on the first child, to the amount set
* in the `to` setting on the last node. This allows a gradient-like color
* scheme that sets children out from each other while highlighting the grouping
* on treemaps and sectors on sunburst charts.
*/
export interface PlotTreemapLevelsColorVariationOptions {
/**
* (Highcharts) The key of a color variation. Currently supports
* `brightness` only.
*/
key?: "brightness";
/**
* (Highcharts) The ending value of a color variation. The last sibling will
* receive this value.
*/
to?: number;
}
/**
* (Highcharts) Can set the options of dataLabels on each point which lies on
* the level. plotOptions.treemap.dataLabels for possible values.
*/
export interface PlotTreemapLevelsDataLabelsOptions {
/**
* (Highcharts) The alignment of the data label compared to the point. If
* `right`, the right side of the label should be touching the point. For
* points with an extent, like columns, the alignments also dictates how to
* align it inside the box, as given with the inside option. Can be one of
* `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts) Whether to allow data labels to overlap. To make the labels
* less sensitive for overlapping, the dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts) Enable or disable the initial animation when a series is
* displayed for the `dataLabels`. The animation can also be set as a
* configuration object. Please note that this option only applies to the
* initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotTreemapLevelsDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts) The background color or gradient for the data label. Setting
* it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) The border color for the data label. Setting it to `auto`
* will use the point's color. Defaults to `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) The border radius in pixels for the data label.
*/
borderRadius?: number;
/**
* (Highcharts) The border width in pixels for the data label.
*/
borderWidth?: number;
/**
* (Highcharts) A class name for the data label. Particularly in styled
* mode, this can be used to give each series' or point's data label unique
* styling. In addition to this option, a default color class name is added
* so that we can give the labels a contrast text shadow.
*/
className?: string;
/**
* (Highcharts) This options is deprecated. Use style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts) Whether to hide data labels that are outside the plot area.
* By default, the data label is moved inside the plot area according to the
* overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts) Enable or disable the data labels.
*/
enabled?: boolean;
/**
* (Highcharts) A declarative filter to control of which data labels to
* display. The declarative filter is designed for use when callback
* functions are not available, like when the chart options require a pure
* JSON structure or for use with graphical editors. For programmatic
* control, use the `formatter` instead, and return `undefined` to disable a
* single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts) A format string for the data label. Available variables are
* the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts) Callback JavaScript function to format the data label. Note
* that if a `format` is defined, the format takes precedence and the
* formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts) For points with an extent, like columns or map areas,
* whether to align the data label inside the box or to the actual value
* point. Defaults to `false` in most cases, `true` in stacked columns.
*/
inside?: boolean;
/**
* (Highcharts) Format for points with the value of null. Works analogously
* to format. `nullFormat` can be applied only to series which support
* displaying null points i.e `heatmap` or `tilemap`. Does not work with
* series that don't display null points, like `line`, `column`, `bar` or
* `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts) Callback JavaScript function that defines formatting for
* points with the value of null. Works analogously to formatter.
* `nullFormatter` can be applied only to series which support displaying
* null points i.e `heatmap` or `tilemap`. Does not work with series that
* don't display null points, like `line`, `column`, `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts) How to handle data labels that flow outside the plot area.
* The default is `"justify"`, which aligns them inside the plot area. For
* columns and bars, this means it will be moved inside the bar. To display
* data labels outside the plot area, set `crop` to `false` and `overflow`
* to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts) When either the `borderWidth` or the `backgroundColor` is
* set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts) Aligns data labels relative to points. If `center` alignment
* is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts) Text rotation in degrees. Note that due to a more complex
* structure, backgrounds, borders and padding will be lost on a rotated
* data label.
*/
rotation?: number;
/**
* (Highcharts) The shadow of the box. Works best with `borderWidth` or
* `backgroundColor`. Since 2.3 the shadow can be an object configuration
* containing `color`, `offsetX`, `offsetY`, `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts) The name of a symbol to use for the border around the label.
* Symbols are predefined functions on the Renderer object.
*/
shape?: string;
/**
* (Highcharts) Styles for the label. The default `color` setting is
* `"contrast"`, which is a pseudo color that Highcharts picks up and
* applies the maximum contrast to the underlying point item, for example
* the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts) Options for a label text which should follow marker's shape.
* Border and background are disabled for a label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts) Whether to use HTML to render the labels.
*/
useHTML?: boolean;
/**
* (Highcharts) The vertical alignment of a data label. Can be one of `top`,
* `middle` or `bottom`. The default value depends on the data, for instance
* in a column chart, the label is above positive values and below negative
* values.
*/
verticalAlign?: string;
/**
* (Highcharts) The x position offset of the label relative to the point in
* pixels.
*/
x?: number;
/**
* (Highcharts) The y position offset of the label relative to the point in
* pixels.
*/
y?: number;
/**
* (Highcharts) The z index of the data labels. Use a `zIndex` of 6 to
* display it above the series, or use a `zIndex` of 2 to display it behind
* the series.
*/
zIndex?: number;
}
/**
* (Highcharts) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotTreemapOnPointConnectorOptions {
/**
* (Highcharts) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highcharts) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highcharts) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highcharts) Options allowing to set a position and an offset of the series
* in the _Series on point_ feature.
*/
export interface PlotTreemapOnPointPositionOptions {
/**
* (Highcharts) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highcharts) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highcharts) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highcharts) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Point accessibility options for a series.
*/
export interface PlotTrendlineAccessibilityPointOptions {
/**
* (Highstock) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highstock) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highstock) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highstock) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highstock) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highstock) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highstock) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotTrendlineDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotTrendlineDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: (VerticalAlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotTrendlineOnPointConnectorOptions {
/**
* (Highstock) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highstock) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highstock) Options allowing to set a position and an offset of the series in
* the _Series on point_ feature.
*/
export interface PlotTrendlineOnPointPositionOptions {
/**
* (Highstock) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highstock) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highstock) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highstock) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
export interface PlotTrendlineParamsOptions {
/**
* (Highstock) The point index which indicator calculations will base. For
* example using OHLC data, index=2 means the indicator will be calculated
* using Low values.
*/
index?: number;
period?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotTrixDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotTrixDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotTrixOnPointOptions {
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotTrixOnPointConnectorOptions|SVGAttributes);
/**
* (Highstock) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highstock) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotTrixOnPointPositionOptions);
}
/**
* (Highstock) Triple exponential average (TRIX) oscillator. This series
* requires `linkedTo` option to be set.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `trix` series are defined in plotOptions.trix.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotTrixOptions {
/**
* (Highstock) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highstock) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highstock) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highstock) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highstock) Sets the color blending in the boost module.
*/
boostBlending?: OptionsBoostBlendingValue;
/**
* (Highstock) Set the point threshold for when a series should enter boost
* mode.
*
* Setting it to e.g. 2000 will cause the series to enter boost mode when
* there are 2000 or more points in the series.
*
* To disable boosting on the series, set the `boostThreshold` to 0. Setting
* it to 1 will force boosting.
*
* Note that the cropThreshold also affects this setting. When zooming in on
* a series that has fewer points than the `cropThreshold`, all points are
* rendered although outside the visible plot area, and the `boostThreshold`
* won't take effect.
*/
boostThreshold?: number;
/**
* (Highstock) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highstock) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highstock) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highstock) Defines if comparison should start from the first point
* within the visible range or should start from the first point **before**
* the range.
*
* In other words, this flag determines if first point within the visible
* range will have 0% (`compareStart=true`) or should have been already
* calculated according to the previous point (`compareStart=false`).
*/
compareStart?: boolean;
/**
* (Highstock) Whether to compare indicator to the main series values or
* indicator values.
*/
compareToMain?: boolean;
/**
* (Highcharts, Highstock) Whether to connect a graph line across null
* points, or render a gap between the two points on either side of the
* null.
*
* In stacked area chart, if `connectNulls` is set to true, null points are
* interpreted as 0.
*/
connectNulls?: boolean;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highstock) When the series contains less points than the
* crop threshold, all points are drawn, even if the points fall outside the
* visible plot area at the current zoom. The advantage of drawing all
* points (including markers and columns), is that animation is performed on
* updates. On the other hand, when the series contains more points than the
* crop threshold, the series data is cropped to only contain points that
* fall within the plot area. The advantage of cropping away invisible
* points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highstock) Cumulative Sum feature replaces points' values with the
* following formula: `sum of all previous points' values + current point's
* value`. Works only for points in a visible range. Adds the
* `cumulativeSum` field to each point object that can be accessed e.g. in
* the tooltip.pointFormat.
*
* With `dataGrouping` enabled, default grouping approximation is set to
* `sum`.
*/
cumulative?: boolean;
/**
* (Highstock) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highstock) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highstock) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) Data grouping is the concept of sampling the data values into
* larger blocks in order to ease readability and increase performance of
* the JavaScript charts. Highcharts Stock by default applies data grouping
* when the points become closer than a certain pixel value, determined by
* the `groupPixelWidth` option.
*
* If data grouping is applied, the grouping information of grouped points
* can be read from the Point.dataGroup. If point options other than the
* data itself are set, for example `name` or `color` or custom properties,
* the grouping logic doesn't know how to group it. In this case the options
* of the first point instance are copied over to the group point. This can
* be altered through a custom `approximation` callback function.
*/
dataGrouping?: DataGroupingOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotTrixDataLabelsOptions|Array<PlotTrixDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotTrixDataSortingOptions);
/**
* (Highstock) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highstock) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highstock) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highstock) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highstock) Defines when to display a gap in the graph, together with the
* gapUnit option.
*
* In case when `dataGrouping` is enabled, points can be grouped into a
* larger time span. This can make the grouped points to have a greater
* distance than the absolute value of `gapSize` property, which will result
* in disappearing graph completely. To prevent this situation the mentioned
* distance between grouped points is used instead of previously defined
* `gapSize`.
*
* In practice, this option is most often used to visualize gaps in time
* series. In a stock chart, intraday data is available for daytime hours,
* while gaps will appear in nights and weekends.
*/
gapSize?: number;
/**
* (Highstock) Together with gapSize, this option defines where to draw gaps
* in the graph.
*
* When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
* if the distance between two points is greater than 5 times that of the
* two closest points, the graph will be broken.
*
* When the `gapUnit` is `"value"`, the gap is based on absolute axis
* values, which on a datetime axis is milliseconds. This also applies to
* the navigator series that inherits gap options from the base series.
*/
gapUnit?: OptionsGapUnitValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highstock) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highstock) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highstock) The line marks the last price from all points.
*/
lastPrice?: SeriesLastPriceOptionsObject;
/**
* (Highstock) The line marks the last price from visible range of points.
*/
lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
/**
* (Highstock) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
* `stroke-linejoin` of a line graph. Round means that lines are rounded in
* the ends and bends.
*/
linecap?: SeriesLinecapValue;
/**
* (Highcharts, Highstock) Pixel width of the graph line.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The main series ID that indicator will be
* based on. Required for this indicator.
*/
linkedTo?: string;
/**
* (Highstock) Options for the point markers of line and scatter-like
* series. Properties like `fillColor`, `lineColor` and `lineWidth` define
* the visual appearance of the markers. The `symbol` option defines the
* shape. Other series types, like column series, don't have markers, but
* have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highstock) The name of the series as shown in the legend, tooltip etc.
* If not set, it will be based on a technical indicator type and default
* params.
*/
name?: string;
/**
* (Highstock) The color for the parts of the graph or points that are below
* the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotTrixOnPointOptions);
/**
* (Highstock) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
params?: PlotTrixParamsOptions;
/**
* (Highstock) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highstock) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highstock) Same as accessibility.series.descriptionFormatter, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highstock) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highstock) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highstock) If set to `true`, the accessibility module will skip past the
* points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highstock) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock) Whether to apply steps to the line. Possible
* values are `left`, `center` and `right`.
*/
step?: OptionsStepValue;
/**
* (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock) The threshold, also called zero level or base
* level. For line type series this is only used in conjunction with
* negativeColor.
*/
threshold?: (number|null);
/**
* (Highstock) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highstock) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highcharts) Point accessibility options for a series.
*/
export interface PlotVariablepieAccessibilityPointOptions {
/**
* (Highcharts) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highcharts) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highcharts) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highcharts) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highcharts) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highcharts) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highcharts) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotVariablepieOnPointConnectorOptions {
/**
* (Highcharts) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highcharts) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highcharts) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highcharts) Options allowing to set a position and an offset of the series
* in the _Series on point_ feature.
*/
export interface PlotVariablepieOnPointPositionOptions {
/**
* (Highcharts) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highcharts) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highcharts) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highcharts) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highcharts) Point accessibility options for a series.
*/
export interface PlotVariwideAccessibilityPointOptions {
/**
* (Highcharts) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highcharts) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highcharts) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highcharts) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highcharts) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highcharts) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highcharts) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotVariwideDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotVariwideDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highcharts) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotVariwideOnPointConnectorOptions {
/**
* (Highcharts) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highcharts) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highcharts) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highcharts) Options allowing to set a position and an offset of the series
* in the _Series on point_ feature.
*/
export interface PlotVariwideOnPointPositionOptions {
/**
* (Highcharts) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highcharts) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highcharts) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highcharts) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Point accessibility options for a series.
*/
export interface PlotVbpAccessibilityPointOptions {
/**
* (Highstock) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highstock) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highstock) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highstock) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highstock) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highstock) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highstock) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotVbpDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotVbpDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotVbpOnPointConnectorOptions {
/**
* (Highstock) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highstock) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highstock) Options allowing to set a position and an offset of the series in
* the _Series on point_ feature.
*/
export interface PlotVbpOnPointPositionOptions {
/**
* (Highstock) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highstock) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highstock) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highstock) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
export interface PlotVbpParamsOptions {
index?: string;
period?: string;
/**
* (Highstock) The number of price zones.
*/
ranges?: number;
/**
* (Highstock) The id of volume series which is mandatory. For example using
* OHLC data, volumeSeriesID='volume' means the indicator will be calculated
* using OHLC and volume values.
*/
volumeSeriesID?: string;
}
export interface PlotVbpVolumeDivisionStylesOptions {
/**
* (Highstock) Color of negative volume bars.
*/
negativeColor?: ColorString;
/**
* (Highstock) Color of positive volume bars.
*/
positiveColor?: ColorString;
}
/**
* (Highcharts, Highstock) Point accessibility options for a series.
*/
export interface PlotVectorAccessibilityPointOptions {
/**
* (Highcharts, Highstock) Date format to use for points on datetime axes
* when describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highcharts, Highstock) Formatter function to determine the date/time
* format used with points on datetime axes when describing them to screen
* reader users. Receives one argument, `point`, referring to the point to
* describe. Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts, Highstock) Whether or not to describe points with the value
* `null` to assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highcharts, Highstock) A format string to use instead of the default for
* point descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highcharts, Highstock) Formatter function to use instead of the default
* for point descriptions. Same as
* `accessibility.point.descriptionFormatter`, but applies to a series
* instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts, Highstock) Decimals to use for the values in the point
* descriptions. Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highcharts, Highstock) Format to use for describing the values of data
* points to assistive technology - including screen readers. The point
* context is available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highcharts, Highstock) Prefix to add to the values in the point
* descriptions. Uses tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highcharts, Highstock) Suffix to add to the values in the point
* descriptions. Uses tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highmaps) Options for layout algorithm. Inside there are options
* to change the type of the algorithm, gridSize, distance or iterations.
*/
export interface PlotVectorClusterLayoutAlgorithmOptions {
/**
* (Highcharts, Highmaps) When `type` is set to `kmeans`, `distance` is a
* maximum distance between point and cluster center so that this point will
* be inside the cluster. The distance is either a number defining pixels or
* a percentage defining a percentage of the plot area width.
*/
distance?: (number|string);
/**
* (Highcharts, Highmaps) When `type` is set to the `grid`, `gridSize` is a
* size of a grid square element either as a number defining pixels, or a
* percentage defining a percentage of the plot area width.
*/
gridSize?: (number|string);
/**
* (Highcharts, Highmaps) When `type` is set to `kmeans`, `iterations` are
* the number of iterations that this algorithm will be repeated to find
* clusters positions.
*/
iterations?: number;
/**
* (Highcharts, Highmaps) When `type` is set to `undefined` and there are
* more visible points than the kmeansThreshold the `grid` algorithm is used
* to find clusters, otherwise `kmeans`. It ensures good performance on
* large datasets and better clusters arrangement after the zoom.
*/
kmeansThreshold?: number;
/**
* (Highcharts, Highmaps) Type of the algorithm used to combine points into
* a cluster. There are three available algorithms:
*
* 1) `grid` - grid-based clustering technique. Points are assigned to
* squares of set size depending on their position on the plot area. Points
* inside the grid square are combined into a cluster. The grid size can be
* controlled by `gridSize` property (grid size changes at certain zoom
* levels).
*
* 2) `kmeans` - based on K-Means clustering technique. In the first step,
* points are divided using the grid method (distance property is a grid
* size) to find the initial amount of clusters. Next, each point is
* classified by computing the distance between each cluster center and that
* point. When the closest cluster distance is lower than distance property
* set by a user the point is added to this cluster otherwise is classified
* as `noise`. The algorithm is repeated until each cluster center not
* change its previous position more than one pixel. This technique is more
* accurate but also more time consuming than the `grid` algorithm,
* especially for big datasets.
*
* 3) `optimizedKmeans` - based on K-Means clustering technique. This
* algorithm uses k-means algorithm only on the chart initialization or when
* chart extremes have greater range than on initialization. When a chart is
* redrawn the algorithm checks only clustered points distance from the
* cluster center and rebuild it when the point is spaced enough to be
* outside the cluster. It provides performance improvement and more stable
* clusters position yet can be used rather on small and sparse datasets.
*
* By default, the algorithm depends on visible quantity of points and
* `kmeansThreshold`. When there are more visible points than the
* `kmeansThreshold` the `grid` algorithm is used, otherwise `kmeans`.
*
* The custom clustering algorithm can be added by assigning a callback
* function as the type property. This function takes an array of
* `processedXData`, `processedYData`, `processedXData` indexes and
* `layoutAlgorithm` options as arguments and should return an object with
* grouped data.
*
* The algorithm should return an object like that: (see online
* documentation for example)
*
* `clusterId` (example above - unique id of a cluster or noise) is an array
* of points belonging to a cluster. If the array has only one point or
* fewer points than set in `cluster.minimumClusterSize` it won't be
* combined into a cluster.
*/
type?: (string|Function);
}
export interface PlotVectorClusterStatesHoverOptions {
/**
* (Highcharts, Highmaps) The fill color of the cluster marker in hover
* state. When `undefined`, the series' or point's fillColor for normal
* state is used.
*/
fillColor?: ColorType;
}
/**
* (Highcharts, Highmaps) An array defining zones within marker clusters.
*
* In styled mode, the color zones are styled with the
* `.highcharts-cluster-zone-{n}` class, or custom classed from the `className`
* option.
*/
export interface PlotVectorClusterZonesOptions {
/**
* (Highcharts, Highmaps) Styled mode only. A custom class name for the
* zone.
*/
className?: string;
/**
* (Highcharts, Highmaps) The value where the zone starts.
*/
from?: number;
/**
* (Highcharts, Highmaps) Settings for the cluster marker belonging to the
* zone.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highcharts, Highmaps) The value where the zone ends.
*/
to?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotVectorDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotVectorDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: (VerticalAlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highcharts, Highstock) Options for the connector in the _Series on point_
* feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotVectorOnPointConnectorOptions {
/**
* (Highcharts, Highstock) A name for the dash style to use for the
* connector.
*/
dashstyle?: string;
/**
* (Highcharts, Highstock) Color of the connector line. By default it's the
* series' color.
*/
stroke?: string;
/**
* (Highcharts, Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highcharts, Highstock) Options allowing to set a position and an offset of
* the series in the _Series on point_ feature.
*/
export interface PlotVectorOnPointPositionOptions {
/**
* (Highcharts, Highstock) Series center offset from the original x
* position. If defined, the connector line is drawn connecting original
* position with new position.
*/
offsetX?: number;
/**
* (Highcharts, Highstock) Series center offset from the original y
* position. If defined, the connector line is drawn from original position
* to a new position.
*/
offsetY?: number;
/**
* (Highcharts, Highstock) X position of the series center. By default, the
* series is displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highcharts, Highstock) Y position of the series center. By default, the
* series is displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highcharts) Point accessibility options for a series.
*/
export interface PlotVennAccessibilityPointOptions {
/**
* (Highcharts) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highcharts) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highcharts) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highcharts) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highcharts) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highcharts) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highcharts) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highmaps) Options for layout algorithm. Inside there are options
* to change the type of the algorithm, gridSize, distance or iterations.
*/
export interface PlotVennClusterLayoutAlgorithmOptions {
/**
* (Highcharts, Highmaps) When `type` is set to `kmeans`, `distance` is a
* maximum distance between point and cluster center so that this point will
* be inside the cluster. The distance is either a number defining pixels or
* a percentage defining a percentage of the plot area width.
*/
distance?: (number|string);
/**
* (Highcharts, Highmaps) When `type` is set to the `grid`, `gridSize` is a
* size of a grid square element either as a number defining pixels, or a
* percentage defining a percentage of the plot area width.
*/
gridSize?: (number|string);
/**
* (Highcharts, Highmaps) When `type` is set to `kmeans`, `iterations` are
* the number of iterations that this algorithm will be repeated to find
* clusters positions.
*/
iterations?: number;
/**
* (Highcharts, Highmaps) When `type` is set to `undefined` and there are
* more visible points than the kmeansThreshold the `grid` algorithm is used
* to find clusters, otherwise `kmeans`. It ensures good performance on
* large datasets and better clusters arrangement after the zoom.
*/
kmeansThreshold?: number;
/**
* (Highcharts, Highmaps) Type of the algorithm used to combine points into
* a cluster. There are three available algorithms:
*
* 1) `grid` - grid-based clustering technique. Points are assigned to
* squares of set size depending on their position on the plot area. Points
* inside the grid square are combined into a cluster. The grid size can be
* controlled by `gridSize` property (grid size changes at certain zoom
* levels).
*
* 2) `kmeans` - based on K-Means clustering technique. In the first step,
* points are divided using the grid method (distance property is a grid
* size) to find the initial amount of clusters. Next, each point is
* classified by computing the distance between each cluster center and that
* point. When the closest cluster distance is lower than distance property
* set by a user the point is added to this cluster otherwise is classified
* as `noise`. The algorithm is repeated until each cluster center not
* change its previous position more than one pixel. This technique is more
* accurate but also more time consuming than the `grid` algorithm,
* especially for big datasets.
*
* 3) `optimizedKmeans` - based on K-Means clustering technique. This
* algorithm uses k-means algorithm only on the chart initialization or when
* chart extremes have greater range than on initialization. When a chart is
* redrawn the algorithm checks only clustered points distance from the
* cluster center and rebuild it when the point is spaced enough to be
* outside the cluster. It provides performance improvement and more stable
* clusters position yet can be used rather on small and sparse datasets.
*
* By default, the algorithm depends on visible quantity of points and
* `kmeansThreshold`. When there are more visible points than the
* `kmeansThreshold` the `grid` algorithm is used, otherwise `kmeans`.
*
* The custom clustering algorithm can be added by assigning a callback
* function as the type property. This function takes an array of
* `processedXData`, `processedYData`, `processedXData` indexes and
* `layoutAlgorithm` options as arguments and should return an object with
* grouped data.
*
* The algorithm should return an object like that: (see online
* documentation for example)
*
* `clusterId` (example above - unique id of a cluster or noise) is an array
* of points belonging to a cluster. If the array has only one point or
* fewer points than set in `cluster.minimumClusterSize` it won't be
* combined into a cluster.
*/
type?: (string|Function);
}
export interface PlotVennClusterStatesHoverOptions {
/**
* (Highcharts, Highmaps) The fill color of the cluster marker in hover
* state. When `undefined`, the series' or point's fillColor for normal
* state is used.
*/
fillColor?: ColorType;
}
/**
* (Highcharts, Highmaps) An array defining zones within marker clusters.
*
* In styled mode, the color zones are styled with the
* `.highcharts-cluster-zone-{n}` class, or custom classed from the `className`
* option.
*/
export interface PlotVennClusterZonesOptions {
/**
* (Highcharts, Highmaps) Styled mode only. A custom class name for the
* zone.
*/
className?: string;
/**
* (Highcharts, Highmaps) The value where the zone starts.
*/
from?: number;
/**
* (Highcharts, Highmaps) Settings for the cluster marker belonging to the
* zone.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highcharts, Highmaps) The value where the zone ends.
*/
to?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotVennDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotVennDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highcharts) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotVennOnPointOptions {
/**
* (Highcharts) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotVennOnPointConnectorOptions|SVGAttributes);
/**
* (Highcharts) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highcharts) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotVennOnPointPositionOptions);
}
/**
* (Highcharts) A Venn diagram displays all possible logical relations between a
* collection of different sets. The sets are represented by circles, and the
* relation between the sets are displayed by the overlap or lack of overlap
* between them. The venn diagram is a special case of Euler diagrams, which can
* also be displayed by this series type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `venn` series are defined in plotOptions.venn.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotVennOptions {
/**
* (Highcharts) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highcharts) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highcharts) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highcharts) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
borderDashStyle?: string;
brighten?: number;
/**
* (Highcharts) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highcharts) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highcharts, Highmaps) Options for marker clusters, the concept of
* sampling the data values into larger blocks in order to ease readability
* and increase performance of the JavaScript charts.
*
* Note: marker clusters module is not working with `boost` and
* `draggable-points` modules.
*
* The marker clusters feature requires the marker-clusters.js file to be
* loaded, found in the modules directory of the download package, or online
* at code.highcharts.com/modules/marker-clusters.js.
*/
cluster?: PlotVennClusterOptions;
/**
* (Highcharts) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
* this number defines which colorAxis the particular series is connected
* to. It refers to either the axis id or the index of the axis in the
* colorAxis array, with 0 being the first. Set this option to false to
* prevent a series from connecting to the default color axis.
*
* Since v7.2.0 the option can also be an axis id or an axis index instead
* of a boolean flag.
*/
colorAxis?: (boolean|number|string);
colorByPoint?: boolean;
/**
* (Highcharts) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highcharts) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highcharts) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotVennDataLabelsOptions|Array<PlotVennDataLabelsOptions>);
/**
* (Highcharts) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highcharts) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highcharts) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highcharts) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highcharts) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts) An array specifying which option maps to which key in the
* data point array. This makes it convenient to work with unstructured data
* arrays from different sources.
*/
keys?: Array<string>;
/**
* (Highcharts) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotVennOnPointOptions);
/**
* (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highcharts) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highcharts) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highcharts) Same as accessibility.series.descriptionFormatter, but for
* an individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highcharts) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highcharts) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highcharts) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highcharts) If set to `true`, the accessibility module will skip past
* the points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock) Whether to apply steps to the line. Possible
* values are `left`, `center` and `right`.
*/
step?: OptionsStepValue;
/**
* (Highcharts, Highstock, Highmaps) Sticky tracking of mouse events. When
* true, the `mouseOut` event on a series isn't triggered until the mouse
* moves over another series, or out of the plot area. When false, the
* `mouseOut` event on a series is triggered when the mouse leaves the area
* around the series' graph or markers. This also implies the tooltip. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock, Highmaps) A configuration object for the tooltip
* rendering of each single series. Properties are inherited from tooltip.
* Overridable properties are `headerFormat`, `pointFormat`, `yDecimals`,
* `xDateFormat`, `yPrefix` and `ySuffix`. Unlike other series, in a scatter
* plot the series.name by default shows in the headerFormat and point.x and
* point.y in the pointFormat.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highcharts) Set the initial visibility of the series.
*/
visible?: boolean;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotVwapDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotVwapDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotVwapOnPointOptions {
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotVwapOnPointConnectorOptions|SVGAttributes);
/**
* (Highstock) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highstock) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotVwapOnPointPositionOptions);
}
/**
* (Highstock) Volume Weighted Average Price indicator.
*
* This series requires `linkedTo` option to be set.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `vwap` series are defined in plotOptions.vwap.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotVwapOptions {
/**
* (Highstock) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highstock) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highstock) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highstock) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highstock) Sets the color blending in the boost module.
*/
boostBlending?: OptionsBoostBlendingValue;
/**
* (Highstock) Set the point threshold for when a series should enter boost
* mode.
*
* Setting it to e.g. 2000 will cause the series to enter boost mode when
* there are 2000 or more points in the series.
*
* To disable boosting on the series, set the `boostThreshold` to 0. Setting
* it to 1 will force boosting.
*
* Note that the cropThreshold also affects this setting. When zooming in on
* a series that has fewer points than the `cropThreshold`, all points are
* rendered although outside the visible plot area, and the `boostThreshold`
* won't take effect.
*/
boostThreshold?: number;
/**
* (Highstock) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highstock) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highstock) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highstock) Compare the values of the series against the first non-null,
* non- zero value in the visible range. The y axis will show percentage or
* absolute change depending on whether `compare` is set to `"percent"` or
* `"value"`. When this is applied to multiple series, it allows comparing
* the development of the series against each other. Adds a `change` field
* to every point object.
*/
compare?: OptionsCompareValue;
/**
* (Highstock) When compare is `percent`, this option dictates whether to
* use 0 or 100 as the base of comparison.
*/
compareBase?: (0|100);
/**
* (Highstock) Defines if comparison should start from the first point
* within the visible range or should start from the first point **before**
* the range.
*
* In other words, this flag determines if first point within the visible
* range will have 0% (`compareStart=true`) or should have been already
* calculated according to the previous point (`compareStart=false`).
*/
compareStart?: boolean;
/**
* (Highstock) Whether to compare indicator to the main series values or
* indicator values.
*/
compareToMain?: boolean;
/**
* (Highcharts, Highstock) Whether to connect a graph line across null
* points, or render a gap between the two points on either side of the
* null.
*
* In stacked area chart, if `connectNulls` is set to true, null points are
* interpreted as 0.
*/
connectNulls?: boolean;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highstock) When the series contains less points than the
* crop threshold, all points are drawn, even if the points fall outside the
* visible plot area at the current zoom. The advantage of drawing all
* points (including markers and columns), is that animation is performed on
* updates. On the other hand, when the series contains more points than the
* crop threshold, the series data is cropped to only contain points that
* fall within the plot area. The advantage of cropping away invisible
* points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highstock) Cumulative Sum feature replaces points' values with the
* following formula: `sum of all previous points' values + current point's
* value`. Works only for points in a visible range. Adds the
* `cumulativeSum` field to each point object that can be accessed e.g. in
* the tooltip.pointFormat.
*
* With `dataGrouping` enabled, default grouping approximation is set to
* `sum`.
*/
cumulative?: boolean;
/**
* (Highstock) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highstock) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highstock) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) Data grouping is the concept of sampling the data values into
* larger blocks in order to ease readability and increase performance of
* the JavaScript charts. Highcharts Stock by default applies data grouping
* when the points become closer than a certain pixel value, determined by
* the `groupPixelWidth` option.
*
* If data grouping is applied, the grouping information of grouped points
* can be read from the Point.dataGroup. If point options other than the
* data itself are set, for example `name` or `color` or custom properties,
* the grouping logic doesn't know how to group it. In this case the options
* of the first point instance are copied over to the group point. This can
* be altered through a custom `approximation` callback function.
*/
dataGrouping?: DataGroupingOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotVwapDataLabelsOptions|Array<PlotVwapDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotVwapDataSortingOptions);
/**
* (Highstock) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highstock) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highstock) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highstock) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highstock) Defines when to display a gap in the graph, together with the
* gapUnit option.
*
* In case when `dataGrouping` is enabled, points can be grouped into a
* larger time span. This can make the grouped points to have a greater
* distance than the absolute value of `gapSize` property, which will result
* in disappearing graph completely. To prevent this situation the mentioned
* distance between grouped points is used instead of previously defined
* `gapSize`.
*
* In practice, this option is most often used to visualize gaps in time
* series. In a stock chart, intraday data is available for daytime hours,
* while gaps will appear in nights and weekends.
*/
gapSize?: number;
/**
* (Highstock) Together with gapSize, this option defines where to draw gaps
* in the graph.
*
* When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
* if the distance between two points is greater than 5 times that of the
* two closest points, the graph will be broken.
*
* When the `gapUnit` is `"value"`, the gap is based on absolute axis
* values, which on a datetime axis is milliseconds. This also applies to
* the navigator series that inherits gap options from the base series.
*/
gapUnit?: OptionsGapUnitValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highstock) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highstock) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highstock) The line marks the last price from all points.
*/
lastPrice?: SeriesLastPriceOptionsObject;
/**
* (Highstock) The line marks the last price from visible range of points.
*/
lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
/**
* (Highstock) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
* `stroke-linejoin` of a line graph. Round means that lines are rounded in
* the ends and bends.
*/
linecap?: SeriesLinecapValue;
/**
* (Highcharts, Highstock) Pixel width of the graph line.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The main series ID that indicator will be
* based on. Required for this indicator.
*/
linkedTo?: string;
/**
* (Highstock) Options for the point markers of line and scatter-like
* series. Properties like `fillColor`, `lineColor` and `lineWidth` define
* the visual appearance of the markers. The `symbol` option defines the
* shape. Other series types, like column series, don't have markers, but
* have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highstock) The name of the series as shown in the legend, tooltip etc.
* If not set, it will be based on a technical indicator type and default
* params.
*/
name?: string;
/**
* (Highstock) The color for the parts of the graph or points that are below
* the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotVwapOnPointOptions);
/**
* (Highstock) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
params?: PlotVwapParamsOptions;
/**
* (Highstock) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highstock) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highstock) Same as accessibility.series.descriptionFormatter, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highstock) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highstock) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highstock) If set to `true`, the accessibility module will skip past the
* points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highstock) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock) Whether to apply steps to the line. Possible
* values are `left`, `center` and `right`.
*/
step?: OptionsStepValue;
/**
* (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock) The threshold, also called zero level or base
* level. For line type series this is only used in conjunction with
* negativeColor.
*/
threshold?: (number|null);
/**
* (Highstock) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highstock) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highcharts) Point accessibility options for a series.
*/
export interface PlotWaterfallAccessibilityPointOptions {
/**
* (Highcharts) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highcharts) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highcharts) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highcharts) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highcharts) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highcharts) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highcharts) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotWaterfallDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotWaterfallDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highcharts) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotWaterfallOnPointConnectorOptions {
/**
* (Highcharts) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highcharts) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highcharts) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highcharts) Options allowing to set a position and an offset of the series
* in the _Series on point_ feature.
*/
export interface PlotWaterfallOnPointPositionOptions {
/**
* (Highcharts) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highcharts) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highcharts) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highcharts) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Point accessibility options for a series.
*/
export interface PlotWilliamsrAccessibilityPointOptions {
/**
* (Highstock) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highstock) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highstock) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highstock) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highstock) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highstock) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highstock) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highstock) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotWilliamsrDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotWilliamsrDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: (VerticalAlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotWilliamsrOnPointConnectorOptions {
/**
* (Highstock) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highstock) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highstock) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highstock) Options allowing to set a position and an offset of the series in
* the _Series on point_ feature.
*/
export interface PlotWilliamsrOnPointPositionOptions {
/**
* (Highstock) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position with
* new position.
*/
offsetX?: number;
/**
* (Highstock) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highstock) X position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highstock) Y position of the series center. By default, the series is
* displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highstock) Parameters used in calculation of Williams %R series points.
*/
export interface PlotWilliamsrParamsOptions {
index?: string;
/**
* (Highstock) Period for Williams %R oscillator
*/
period?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotWindbarbDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotWindbarbDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highcharts, Highstock) Options for the _Series on point_ feature. Only `pie`
* and `sunburst` series are supported at this moment.
*/
export interface PlotWindbarbOnPointOptions {
/**
* (Highcharts, Highstock) Options for the connector in the _Series on
* point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotWindbarbOnPointConnectorOptions|SVGAttributes);
/**
* (Highcharts, Highstock) The `id` of the point that we connect the series
* to. Only points with a given `plotX` and `plotY` values and map points
* are valid.
*/
id?: string;
/**
* (Highcharts, Highstock) Options allowing to set a position and an offset
* of the series in the _Series on point_ feature.
*/
position?: (object|PlotWindbarbOnPointPositionOptions);
}
/**
* (Highcharts, Highstock) Wind barbs are a convenient way to represent wind
* speed and direction in one graphical form. Wind direction is given by the
* stem direction, and wind speed by the number and shape of barbs.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `windbarb` series are defined in plotOptions.windbarb.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotWindbarbOptions {
/**
* (Highcharts, Highstock) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highcharts, Highstock) Allow this series' points to be selected by
* clicking on the graphic (columns, point markers, pie slices, map areas
* etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highcharts, Highstock) Enable or disable the initial animation when a
* series is displayed. The animation can also be set as a configuration
* object. Please note that this option only applies to the initial
* animation of the series itself. For other animations, see chart.animation
* and the animation parameter under the API methods. The following
* properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highcharts, Highstock) For some series, there is a limit that shuts down
* animation by default when the total number of points in the chart is too
* high. For example, for a column chart and its derivatives, animation does
* not run if there is more than 250 points totally. To disable this cap,
* set `animationLimit` to `Infinity`. This option works if animation is
* fired on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highcharts, Highstock, Gantt) The color of the border surrounding each
* column or bar.
*
* In styled mode, the border stroke can be set with the `.highcharts-point`
* rule.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Gantt) The corner radius of the border
* surrounding each column or bar. A number signifies pixels. A percentage
* string, like for example `50%`, signifies a relative size. For columns
* this is relative to the column width, for pies it is relative to the
* radius and the inner radius.
*/
borderRadius?: (number|string|BorderRadiusOptionsObject);
/**
* (Highcharts, Highstock, Gantt) The width of the border surrounding each
* column or bar. Defaults to `1` when there is room for a border, but to
* `0` when the columns are so dense that a border would cover the next
* column.
*
* In styled mode, the stroke width can be set with the `.highcharts-point`
* rule.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Gantt) When `true`, the columns will center in
* the category, ignoring null or missing points. When `false`, space will
* be reserved for null or missing points.
*/
centerInCategory?: boolean;
/**
* (Highcharts, Highstock) An additional class name to apply to the series'
* graphical elements. This option does not replace default class names of
* the graphical element. Changes to the series' color will also be
* reflected in a chart's legend and tooltip.
*/
className?: string;
/**
* (Highcharts, Highstock) Disable this option to allow series rendering in
* the whole plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highcharts, Highstock) The main color of the series. In line type series
* it applies to the line and the point markers unless otherwise specified.
* In bar type series it applies to the bars unless a color is specified per
* point. The default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps) When using dual or multiple color axes,
* this number defines which colorAxis the particular series is connected
* to. It refers to either the axis id or the index of the axis in the
* colorAxis array, with 0 being the first. Set this option to false to
* prevent a series from connecting to the default color axis.
*
* Since v7.2.0 the option can also be an axis id or an axis index instead
* of a boolean flag.
*/
colorAxis?: (boolean|number|string);
/**
* (Highcharts, Highstock, Gantt) When using automatic point colors pulled
* from the global colors or series-specific plotOptions.column.colors
* collections, this option determines whether the chart should receive one
* color per series or one color per point.
*
* In styled mode, the `colors` or `series.colors` arrays are not supported,
* and instead this option gives the points individual color class names on
* the form `highcharts-color-{n}`.
*/
colorByPoint?: boolean;
/**
* (Highcharts, Highstock) Styled mode only. A specific color index to use
* for the series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highcharts, Highstock, Gantt) A series specific or series type specific
* color set to apply instead of the global colors when colorByPoint is
* true.
*/
colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
/**
* (Highstock) Compare the values of the series against the first non-null,
* non- zero value in the visible range. The y axis will show percentage or
* absolute change depending on whether `compare` is set to `"percent"` or
* `"value"`. When this is applied to multiple series, it allows comparing
* the development of the series against each other. Adds a `change` field
* to every point object.
*/
compare?: OptionsCompareValue;
/**
* (Highstock) When compare is `percent`, this option dictates whether to
* use 0 or 100 as the base of comparison.
*/
compareBase?: (0|100);
/**
* (Highstock) Defines if comparison should start from the first point
* within the visible range or should start from the first point **before**
* the range.
*
* In other words, this flag determines if first point within the visible
* range will have 0% (`compareStart=true`) or should have been already
* calculated according to the previous point (`compareStart=false`).
*/
compareStart?: boolean;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highstock) Cumulative Sum feature replaces points' values with the
* following formula: `sum of all previous points' values + current point's
* value`. Works only for points in a visible range. Adds the
* `cumulativeSum` field to each point object that can be accessed e.g. in
* the tooltip.pointFormat.
*
* With `dataGrouping` enabled, default grouping approximation is set to
* `sum`.
*/
cumulative?: boolean;
/**
* (Highcharts, Highstock) You can set the cursor to "pointer" if you have
* click events attached to the series, to signal to the user that the
* points and lines can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highcharts, Highstock) A reserved subspace to store options and values
* for customized functionality. Here you can add additional data for your
* own event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highcharts, Highstock) Data grouping options for the wind barbs. In
* Highcharts, this requires the `modules/datagrouping.js` module to be
* loaded. In Highcharts Stock, data grouping is included.
*/
dataGrouping?: DataGroupingOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotWindbarbDataLabelsOptions|Array<PlotWindbarbDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotWindbarbDataSortingOptions);
/**
* (Highcharts) Depth of the columns in a 3D column chart.
*/
depth?: number;
/**
* (Highcharts, Highstock) A description of the series to add to the screen
* reader information about the series.
*/
description?: string;
/**
* (Highcharts) 3D columns only. The color of the edges. Similar to
* `borderColor`, except it defaults to the same color as the column.
*/
edgeColor?: ColorString;
/**
* (Highcharts) 3D columns only. The width of the colored edges.
*/
edgeWidth?: number;
/**
* (Highcharts, Highstock) Enable or disable the mouse tracking for a
* specific series. This includes point tooltips and click events on graphs
* and points. For large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highcharts, Highstock) General event handlers for the series items.
* These event hooks can also be attached to the series at run time using
* the `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highcharts, Highstock) Determines whether the series should look for the
* nearest point in both dimensions or just the x-dimension when hovering
* the series. Defaults to `'xy'` for scatter series and `'x'` for most
* other series. If the data has duplicate x-values, it is recommended to
* set this to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to group non-stacked columns or to
* let them render independent of each other. Non-grouped columns will be
* laid out individually and overlap each other.
*/
grouping?: boolean;
/**
* (Highcharts, Highstock, Gantt) Padding between each value groups, in x
* axis units.
*/
groupPadding?: number;
/**
* (Highcharts) The spacing between columns on the Z Axis in a 3D chart.
*/
groupZPadding?: number;
/**
* (Highcharts, Highstock) Highlight only the hovered point and fade the
* remaining points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highcharts, Highstock) When set to `false` will prevent the series data
* from being included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highstock) An array specifying which option maps to which
* key in the data point array. This makes it convenient to work with
* unstructured data arrays from different sources.
*/
keys?: Array<string>;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highstock) The line marks the last price from all points.
*/
lastPrice?: SeriesLastPriceOptionsObject;
/**
* (Highstock) The line marks the last price from visible range of points.
*/
lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
/**
* (Highcharts, Highstock) What type of legend symbol to render for this
* series. Can be one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The line width of the wind barb symbols.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The id of another series to link to.
* Additionally, the value can be ":previous" to link to the previous
* series. When two series are linked, only the first one appears in the
* legend. Toggling the visibility of this also toggles the linked series.
*
* If master series uses data sorting and linked series does not have its
* own sorting definition, the linked series will be sorted in the same
* order as the master one.
*/
linkedTo?: string;
/**
* (Highcharts, Highstock, Gantt) The maximum allowed pixel width for a
* column, translated to the height of a bar in a bar chart. This prevents
* the columns from becoming too wide when there is a small number of points
* in the chart.
*/
maxPointWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The minimal height for a column or width
* for a bar. By default, 0 values are not shown. To visualize a 0 (or close
* to zero) point, set the minimal point length to a pixel value like 3\. In
* stacked column charts, minPointLength might not be respected for tightly
* packed values.
*/
minPointLength?: number;
/**
* (Highstock) Options for the corresponding navigator series if
* `showInNavigator` is `true` for this series. Available options are the
* same as any series, documented at plotOptions and series.
*
* These options are merged with options in navigator.series, and will take
* precedence if the same option is defined both places.
*/
navigatorOptions?: PlotSeriesOptions;
/**
* (Highcharts, Highstock) The color for the parts of the graph or points
* that are below the threshold. Note that `zones` takes precedence over the
* negative color. Using `negativeColor` is equivalent to applying a zone
* with value of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock) Options for the _Series on point_ feature. Only
* `pie` and `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotWindbarbOnPointOptions);
/**
* (Highcharts, Highstock) The id of another series in the chart that the
* wind barbs are projected on. When `null`, the wind symbols are drawn on
* the X axis, but offset up or down by the `yOffset` setting.
*/
onSeries?: (string|null);
/**
* (Highcharts, Highstock) Opacity of a series parts: line, fill (e.g. area)
* and dataLabels.
*/
opacity?: number;
/**
* (Highcharts, Highstock) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highcharts, Highstock) Same as accessibility.point.descriptionFormat,
* but for an individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highcharts, Highstock) Same as
* accessibility.series.descriptionFormatter, but for an individual series.
* Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock, Gantt) If no x values are given for the points in
* a series, `pointInterval` defines the interval of the x values. For
* example, if a series contains one value every decade starting from year
* 0, set `pointInterval` to `10`. In true `datetime` axes, the
* `pointInterval` is set in milliseconds.
*
* It can be also be combined with `pointIntervalUnit` to draw irregular
* time intervals.
*
* If combined with `relativeXValue`, an x value can be set on each point,
* and the `pointInterval` is added x times to the `pointStart` setting.
*
* Please note that this options applies to the _series data_, not the
* interval of the axis ticks, which is independent.
*/
pointInterval?: number;
/**
* (Highcharts, Highstock, Gantt) On datetime series, this allows for
* setting the pointInterval to irregular time units, `day`, `month` and
* `year`. A day is usually the same as 24 hours, but `pointIntervalUnit`
* also takes the DST crossover into consideration when dealing with local
* time. Combine this option with `pointInterval` to draw weeks, quarters, 6
* months, 10 years etc.
*
* Please note that this options applies to the _series data_, not the
* interval of the axis ticks, which is independent.
*/
pointIntervalUnit?: OptionsPointIntervalUnitValue;
/**
* (Highcharts, Highstock, Gantt) Padding between each column or bar, in x
* axis units.
*/
pointPadding?: number;
/**
* (Highcharts, Highstock, Gantt) Possible values: `"on"`, `"between"`,
* `number`.
*
* In a column chart, when pointPlacement is `"on"`, the point will not
* create any padding of the X axis. In a polar column chart this means that
* the first column points directly north. If the pointPlacement is
* `"between"`, the columns will be laid out between ticks. This is useful
* for example for visualising an amount between two points in time or in a
* certain sector of a polar chart.
*
* Since Highcharts 3.0.2, the point placement can also be numeric, where 0
* is on the axis value, -0.5 is between this value and the previous, and
* 0.5 is between this value and the next. Unlike the textual options,
* numeric point placement options won't affect axis padding.
*
* Note that pointPlacement needs a pointRange to work. For column series
* this is computed, but for line-type series it needs to be set.
*
* For the `xrange` series type and gantt charts, if the Y axis is a
* category axis, the `pointPlacement` applies to the Y axis rather than the
* (typically datetime) X axis.
*
* Defaults to `undefined` in cartesian charts, `"between"` in polar charts.
*/
pointPlacement?: (number|string);
/**
* (Highcharts, Highstock, Gantt) The X axis range that each point is valid
* for. This determines the width of the column. On a categorized axis, the
* range will be 1 by default (one category unit). On linear and datetime
* axes, the range will be computed as the distance between the two closest
* data points.
*
* The default `null` means it is computed automatically, but this option
* can be used to override the automatic value.
*
* This option is set by default to 1 if data sorting is enabled.
*/
pointRange?: (number|null);
/**
* (Highcharts, Highstock, Gantt) If no x values are given for the points in
* a series, pointStart defines on what value to start. For example, if a
* series contains one yearly value starting from 1945, set pointStart to
* 1945.
*
* If combined with `relativeXValue`, an x value can be set on each point.
* The x value from the point options is multiplied by `pointInterval` and
* added to `pointStart` to produce a modified x value.
*/
pointStart?: number;
/**
* (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
* each column or bar point. When set to `undefined`, the width is
* calculated from the `pointPadding` and `groupPadding`. The width effects
* the dimension that is not based on the point value. For column series it
* is the horizontal length and for bar series it is the vertical length.
*/
pointWidth?: number;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highcharts, Highstock) Whether to select the series initially. If
* `showCheckbox` is true, the checkbox next to the series name in the
* legend will be checked for a selected series.
*/
selected?: boolean;
/**
* (Highcharts, Highstock) If true, a checkbox is displayed next to the
* legend item to allow selecting the series. The state of the checkbox is
* determined by the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highcharts, Highstock) Whether to display this particular series or
* series type in the legend. Standalone series are shown in legend by
* default, and linked series are not. Since v7.2.0 it is possible to show
* series that use colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highstock) Whether or not to show the series in the navigator. Takes
* precedence over navigator.baseSeries if defined.
*/
showInNavigator?: boolean;
/**
* (Highcharts, Highstock) If set to `true`, the accessibility module will
* skip past the points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highcharts, Highstock) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock) Sticky tracking of mouse events. When true, the
* `mouseOut` event on a series isn't triggered until the mouse moves over
* another series, or out of the plot area. When false, the `mouseOut` event
* on a series is triggered when the mouse leaves the area around the
* series' graph or markers. This also implies the tooltip when not shared.
* When `stickyTracking` is false and `tooltip.shared` is false, the tooltip
* will be hidden when moving the mouse between series. Defaults to true for
* line and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts) The Y axis value to serve as the base for the columns, for
* distinguishing between values above and below a threshold. If `null`, the
* columns extend from the padding Y axis minimum.
*/
threshold?: (number|null);
/**
* (Highcharts, Highstock) A configuration object for the tooltip rendering
* of each single series. Properties are inherited from tooltip, but only
* the following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highcharts, Highstock) Pixel length of the stems.
*/
vectorLength?: number;
/**
* (Highcharts, Highstock) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Horizontal offset from the cartesian position, in
* pixels. When the chart is inverted, this option allows translation like
* yOffset in non inverted charts.
*/
xOffset?: number;
/**
* (Highcharts, Highstock) Vertical offset from the cartesian position, in
* pixels. The default value makes sure the symbols don't overlap the X axis
* when `onSeries` is `null`, and that they don't overlap the linked series
* when `onSeries` is given.
*/
yOffset?: number;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotWmaDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotWmaDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotWmaOnPointOptions {
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotWmaOnPointConnectorOptions|SVGAttributes);
/**
* (Highstock) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highstock) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotWmaOnPointPositionOptions);
}
/**
* (Highstock) Weighted moving average indicator (WMA). This series requires
* `linkedTo` option to be set.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `wma` series are defined in plotOptions.wma.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotWmaOptions {
/**
* (Highstock) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highstock) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highstock) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highstock) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highstock) Sets the color blending in the boost module.
*/
boostBlending?: OptionsBoostBlendingValue;
/**
* (Highstock) Set the point threshold for when a series should enter boost
* mode.
*
* Setting it to e.g. 2000 will cause the series to enter boost mode when
* there are 2000 or more points in the series.
*
* To disable boosting on the series, set the `boostThreshold` to 0. Setting
* it to 1 will force boosting.
*
* Note that the cropThreshold also affects this setting. When zooming in on
* a series that has fewer points than the `cropThreshold`, all points are
* rendered although outside the visible plot area, and the `boostThreshold`
* won't take effect.
*/
boostThreshold?: number;
/**
* (Highstock) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highstock) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highstock) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highstock) Compare the values of the series against the first non-null,
* non- zero value in the visible range. The y axis will show percentage or
* absolute change depending on whether `compare` is set to `"percent"` or
* `"value"`. When this is applied to multiple series, it allows comparing
* the development of the series against each other. Adds a `change` field
* to every point object.
*/
compare?: OptionsCompareValue;
/**
* (Highstock) When compare is `percent`, this option dictates whether to
* use 0 or 100 as the base of comparison.
*/
compareBase?: (0|100);
/**
* (Highstock) Defines if comparison should start from the first point
* within the visible range or should start from the first point **before**
* the range.
*
* In other words, this flag determines if first point within the visible
* range will have 0% (`compareStart=true`) or should have been already
* calculated according to the previous point (`compareStart=false`).
*/
compareStart?: boolean;
/**
* (Highstock) Whether to compare indicator to the main series values or
* indicator values.
*/
compareToMain?: boolean;
/**
* (Highcharts, Highstock) Whether to connect a graph line across null
* points, or render a gap between the two points on either side of the
* null.
*
* In stacked area chart, if `connectNulls` is set to true, null points are
* interpreted as 0.
*/
connectNulls?: boolean;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highstock) When the series contains less points than the
* crop threshold, all points are drawn, even if the points fall outside the
* visible plot area at the current zoom. The advantage of drawing all
* points (including markers and columns), is that animation is performed on
* updates. On the other hand, when the series contains more points than the
* crop threshold, the series data is cropped to only contain points that
* fall within the plot area. The advantage of cropping away invisible
* points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highstock) Cumulative Sum feature replaces points' values with the
* following formula: `sum of all previous points' values + current point's
* value`. Works only for points in a visible range. Adds the
* `cumulativeSum` field to each point object that can be accessed e.g. in
* the tooltip.pointFormat.
*
* With `dataGrouping` enabled, default grouping approximation is set to
* `sum`.
*/
cumulative?: boolean;
/**
* (Highstock) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highstock) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highstock) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) Data grouping is the concept of sampling the data values into
* larger blocks in order to ease readability and increase performance of
* the JavaScript charts. Highcharts Stock by default applies data grouping
* when the points become closer than a certain pixel value, determined by
* the `groupPixelWidth` option.
*
* If data grouping is applied, the grouping information of grouped points
* can be read from the Point.dataGroup. If point options other than the
* data itself are set, for example `name` or `color` or custom properties,
* the grouping logic doesn't know how to group it. In this case the options
* of the first point instance are copied over to the group point. This can
* be altered through a custom `approximation` callback function.
*/
dataGrouping?: DataGroupingOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotWmaDataLabelsOptions|Array<PlotWmaDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotWmaDataSortingOptions);
/**
* (Highstock) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highstock) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highstock) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highstock) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highstock) Defines when to display a gap in the graph, together with the
* gapUnit option.
*
* In case when `dataGrouping` is enabled, points can be grouped into a
* larger time span. This can make the grouped points to have a greater
* distance than the absolute value of `gapSize` property, which will result
* in disappearing graph completely. To prevent this situation the mentioned
* distance between grouped points is used instead of previously defined
* `gapSize`.
*
* In practice, this option is most often used to visualize gaps in time
* series. In a stock chart, intraday data is available for daytime hours,
* while gaps will appear in nights and weekends.
*/
gapSize?: number;
/**
* (Highstock) Together with gapSize, this option defines where to draw gaps
* in the graph.
*
* When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
* if the distance between two points is greater than 5 times that of the
* two closest points, the graph will be broken.
*
* When the `gapUnit` is `"value"`, the gap is based on absolute axis
* values, which on a datetime axis is milliseconds. This also applies to
* the navigator series that inherits gap options from the base series.
*/
gapUnit?: OptionsGapUnitValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highstock) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highstock) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highstock) The line marks the last price from all points.
*/
lastPrice?: SeriesLastPriceOptionsObject;
/**
* (Highstock) The line marks the last price from visible range of points.
*/
lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
/**
* (Highstock) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
* `stroke-linejoin` of a line graph. Round means that lines are rounded in
* the ends and bends.
*/
linecap?: SeriesLinecapValue;
/**
* (Highcharts, Highstock) Pixel width of the graph line.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The main series ID that indicator will be
* based on. Required for this indicator.
*/
linkedTo?: string;
/**
* (Highstock) Options for the point markers of line and scatter-like
* series. Properties like `fillColor`, `lineColor` and `lineWidth` define
* the visual appearance of the markers. The `symbol` option defines the
* shape. Other series types, like column series, don't have markers, but
* have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highstock) The name of the series as shown in the legend, tooltip etc.
* If not set, it will be based on a technical indicator type and default
* params.
*/
name?: string;
/**
* (Highstock) The color for the parts of the graph or points that are below
* the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotWmaOnPointOptions);
/**
* (Highstock) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
params?: PlotWmaParamsOptions;
/**
* (Highstock) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highstock) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highstock) Same as accessibility.series.descriptionFormatter, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highstock) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highstock) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highstock) If set to `true`, the accessibility module will skip past the
* points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highstock) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock) Whether to apply steps to the line. Possible
* values are `left`, `center` and `right`.
*/
step?: OptionsStepValue;
/**
* (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock) The threshold, also called zero level or base
* level. For line type series this is only used in conjunction with
* negativeColor.
*/
threshold?: (number|null);
/**
* (Highstock) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highstock) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highcharts) Point accessibility options for a series.
*/
export interface PlotWordcloudAccessibilityPointOptions {
/**
* (Highcharts) Date format to use for points on datetime axes when
* describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highcharts) Formatter function to determine the date/time format used
* with points on datetime axes when describing them to screen reader users.
* Receives one argument, `point`, referring to the point to describe.
* Should return a date format string compatible with dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts) Whether or not to describe points with the value `null` to
* assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highcharts) A format string to use instead of the default for point
* descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highcharts) Formatter function to use instead of the default for point
* descriptions. Same as `accessibility.point.descriptionFormatter`, but
* applies to a series instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts) Decimals to use for the values in the point descriptions.
* Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highcharts) Format to use for describing the values of data points to
* assistive technology - including screen readers. The point context is
* available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highcharts) Prefix to add to the values in the point descriptions. Uses
* tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highcharts) Suffix to add to the values in the point descriptions. Uses
* tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotWordcloudOnPointOptions {
/**
* (Highcharts) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotWordcloudOnPointConnectorOptions|SVGAttributes);
/**
* (Highcharts) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highcharts) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotWordcloudOnPointPositionOptions);
}
/**
* (Highcharts) A word cloud is a visualization of a set of words, where the
* size and placement of a word is determined by how it is weighted.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `wordcloud` series are defined in plotOptions.wordcloud.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotWordcloudOptions {
/**
* (Highcharts) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highcharts) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highcharts) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highcharts) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highcharts, Highstock, Gantt) The color of the border surrounding each
* column or bar.
*
* In styled mode, the border stroke can be set with the `.highcharts-point`
* rule.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Gantt) The corner radius of the border
* surrounding each column or bar. A number signifies pixels. A percentage
* string, like for example `50%`, signifies a relative size. For columns
* this is relative to the column width, for pies it is relative to the
* radius and the inner radius.
*/
borderRadius?: (number|string|BorderRadiusOptionsObject);
/**
* (Highcharts, Highstock, Gantt) The width of the border surrounding each
* column or bar. Defaults to `1` when there is room for a border, but to
* `0` when the columns are so dense that a border would cover the next
* column.
*
* In styled mode, the stroke width can be set with the `.highcharts-point`
* rule.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Gantt) When `true`, the columns will center in
* the category, ignoring null or missing points. When `false`, space will
* be reserved for null or missing points.
*/
centerInCategory?: boolean;
/**
* (Highcharts) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highcharts) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Gantt) When using automatic point colors pulled
* from the global colors or series-specific plotOptions.column.colors
* collections, this option determines whether the chart should receive one
* color per series or one color per point.
*
* In styled mode, the `colors` or `series.colors` arrays are not supported,
* and instead this option gives the points individual color class names on
* the form `highcharts-color-{n}`.
*/
colorByPoint?: boolean;
/**
* (Highcharts) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highcharts, Highstock, Gantt) A series specific or series type specific
* color set to apply instead of the global colors when colorByPoint is
* true.
*/
colors?: Array<(ColorString|GradientColorObject|PatternObject)>;
/**
* (Highcharts) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highcharts) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highcharts) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highcharts) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highcharts) 3D columns only. The width of the colored edges.
*/
edgeWidth?: number;
/**
* (Highcharts) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highcharts) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highcharts) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highcharts) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts) An array specifying which option maps to which key in the
* data point array. This makes it convenient to work with unstructured data
* arrays from different sources.
*/
keys?: Array<string>;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highcharts) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock, Gantt) The id of another series to link to.
* Additionally, the value can be ":previous" to link to the previous
* series. When two series are linked, only the first one appears in the
* legend. Toggling the visibility of this also toggles the linked series.
*
* If master series uses data sorting and linked series does not have its
* own sorting definition, the linked series will be sorted in the same
* order as the master one.
*/
linkedTo?: string;
/**
* (Highcharts) The word with the largest weight will have a font size equal
* to this value. The font size of a word is the ratio between its weight
* and the largest occuring weight, multiplied with the value of
* maxFontSize.
*/
maxFontSize?: number;
/**
* (Highcharts) A threshold determining the minimum font size that can be
* applied to a word.
*/
minFontSize?: number;
/**
* (Highcharts) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotWordcloudOnPointOptions);
/**
* (Highcharts) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highcharts) This option decides which algorithm is used for placement,
* and rotation of a word. The choice of algorith is therefore a crucial
* part of the resulting layout of the wordcloud. It is possible for users
* to add their own custom placement strategies for use in word cloud. Read
* more about it in our documentation
*/
placementStrategy?: OptionsPlacementStrategyValue;
/**
* (Highcharts) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highcharts) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highcharts) Same as accessibility.series.descriptionFormatter, but for
* an individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highcharts) Rotation options for the words in the wordcloud.
*/
rotation?: PlotWordcloudRotationOptions;
/**
* (Highcharts) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highcharts) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highcharts) If set to `true`, the accessibility module will skip past
* the points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
/**
* (Highcharts) Spiral used for placing a word after the initial position
* experienced a collision with either another word or the borders. It is
* possible for users to add their own custom spiralling algorithms for use
* in word cloud. Read more about it in our documentation
*/
spiral?: OptionsSpiralValue;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts) CSS styles for the words.
*/
style?: CSSObject;
/**
* (Highcharts) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highcharts) Set the initial visibility of the series.
*/
visible?: boolean;
}
/**
* (Highcharts, Highstock, Gantt) Point accessibility options for a series.
*/
export interface PlotXrangeAccessibilityPointOptions {
/**
* (Highcharts, Highstock, Gantt) Date format to use for points on datetime
* axes when describing them to screen reader users.
*
* Defaults to the same format as in tooltip.
*
* For an overview of the replacement codes, see dateFormat.
*/
dateFormat?: string;
/**
* (Highcharts, Highstock, Gantt) Formatter function to determine the
* date/time format used with points on datetime axes when describing them
* to screen reader users. Receives one argument, `point`, referring to the
* point to describe. Should return a date format string compatible with
* dateFormat.
*/
dateFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts, Highstock, Gantt) Whether or not to describe points with the
* value `null` to assistive technology, such as screen readers.
*/
describeNull?: boolean;
/**
* (Highcharts, Highstock, Gantt) A format string to use instead of the
* default for point descriptions.
*
* The context of the format string is the point instance.
*
* As opposed to accessibility.point.valueDescriptionFormat, this option
* replaces the whole description.
*/
descriptionFormat?: string;
/**
* (Highcharts, Highstock, Gantt) Formatter function to use instead of the
* default for point descriptions. Same as
* `accessibility.point.descriptionFormatter`, but applies to a series
* instead of the whole chart.
*
* Note: Prefer using accessibility.point.valueDescriptionFormat instead if
* possible, as default functionality such as describing annotations will be
* preserved.
*/
descriptionFormatter?: ScreenReaderFormatterCallbackFunction<Point>;
/**
* (Highcharts, Highstock, Gantt) Decimals to use for the values in the
* point descriptions. Uses tooltip.valueDecimals if not defined.
*/
valueDecimals?: number;
/**
* (Highcharts, Highstock, Gantt) Format to use for describing the values of
* data points to assistive technology - including screen readers. The point
* context is available as `{point}`.
*
* Other available context variables include `{index}`, `{value}`, and
* `{xDescription}`.
*
* Additionally, the series name, annotation info, and description added in
* `point.accessibility.description` is added by default if relevant. To
* override this, use the accessibility.point.descriptionFormatter option.
*/
valueDescriptionFormat?: string;
/**
* (Highcharts, Highstock, Gantt) Prefix to add to the values in the point
* descriptions. Uses tooltip.valuePrefix if not defined.
*/
valuePrefix?: string;
/**
* (Highcharts, Highstock, Gantt) Suffix to add to the values in the point
* descriptions. Uses tooltip.valueSuffix if not defined.
*/
valueSuffix?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface PlotXrangeDataLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotXrangeDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: (CSSObject|PlotXrangeDataLabelsStyleOptions);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highcharts, Highstock, Gantt) Options for the connector in the _Series on
* point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
export interface PlotXrangeOnPointConnectorOptions {
/**
* (Highcharts, Highstock, Gantt) A name for the dash style to use for the
* connector.
*/
dashstyle?: string;
/**
* (Highcharts, Highstock, Gantt) Color of the connector line. By default
* it's the series' color.
*/
stroke?: string;
/**
* (Highcharts, Highstock, Gantt) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highcharts, Highstock, Gantt) Options allowing to set a position and an
* offset of the series in the _Series on point_ feature.
*/
export interface PlotXrangeOnPointPositionOptions {
/**
* (Highcharts, Highstock, Gantt) Series center offset from the original x
* position. If defined, the connector line is drawn connecting original
* position with new position.
*/
offsetX?: number;
/**
* (Highcharts, Highstock, Gantt) Series center offset from the original y
* position. If defined, the connector line is drawn from original position
* to a new position.
*/
offsetY?: number;
/**
* (Highcharts, Highstock, Gantt) X position of the series center. By
* default, the series is displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highcharts, Highstock, Gantt) Y position of the series center. By
* default, the series is displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highcharts, Highstock, Gantt) A partial fill for each point, typically used
* to visualize how much of a task is performed. The partial fill object can be
* set either on series or point level.
*/
export interface PlotXrangePartialFillOptions {
/**
* (Highcharts, Highstock, Gantt) The fill color to be used for partial
* fills. Defaults to a darker shade of the point color.
*/
fill?: (ColorString|GradientColorObject|PatternObject);
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface PlotZigzagDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
export interface PlotZigzagDataSortingOptions {
/**
* (Highcharts, Highstock) Enable or disable data sorting for the series.
* Use xAxis.reversed to change the sorting order.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Whether to allow matching points by name in an
* update. If this option is disabled, points will be matched by order.
*/
matchByName?: boolean;
/**
* (Highcharts, Highstock) Determines what data value should be used to sort
* by.
*/
sortKey?: string;
}
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
export interface PlotZigzagOnPointOptions {
/**
* (Highstock) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
connectorOptions?: (PlotZigzagOnPointConnectorOptions|SVGAttributes);
/**
* (Highstock) The `id` of the point that we connect the series to. Only
* points with a given `plotX` and `plotY` values and map points are valid.
*/
id?: string;
/**
* (Highstock) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
position?: (object|PlotZigzagOnPointPositionOptions);
}
/**
* (Highstock) Zig Zag indicator.
*
* This series requires `linkedTo` option to be set.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `zigzag` series are defined in plotOptions.zigzag.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*/
export interface PlotZigzagOptions {
/**
* (Highstock) Accessibility options for a series.
*/
accessibility?: SeriesAccessibilityOptionsObject;
/**
* (Highstock) Allow this series' points to be selected by clicking on the
* graphic (columns, point markers, pie slices, map areas etc).
*
* The selected points can be handled by point select and unselect events,
* or collectively by the getSelectedPoints function.
*
* And alternative way of selecting points is through dragging.
*/
allowPointSelect?: boolean;
/**
* (Highstock) Enable or disable the initial animation when a series is
* displayed. The animation can also be set as a configuration object.
* Please note that this option only applies to the initial animation of the
* series itself. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*
* - `duration`: The duration of the animation in milliseconds. (Defaults to
* `1000`)
*
* - `easing`: Can be a string reference to an easing function set on the
* `Math` object or a function. See the _Custom easing function_ demo below.
* (Defaults to `easeInOutSine`)
*
* Due to poor performance, animation is disabled in old IE browsers for
* several chart types.
*/
animation?: (boolean|AnimationOptionsObject);
/**
* (Highstock) For some series, there is a limit that shuts down animation
* by default when the total number of points in the chart is too high. For
* example, for a column chart and its derivatives, animation does not run
* if there is more than 250 points totally. To disable this cap, set
* `animationLimit` to `Infinity`. This option works if animation is fired
* on individual points, not on a group of points like e.g. during the
* initial animation.
*/
animationLimit?: number;
/**
* (Highstock) Sets the color blending in the boost module.
*/
boostBlending?: OptionsBoostBlendingValue;
/**
* (Highstock) Set the point threshold for when a series should enter boost
* mode.
*
* Setting it to e.g. 2000 will cause the series to enter boost mode when
* there are 2000 or more points in the series.
*
* To disable boosting on the series, set the `boostThreshold` to 0. Setting
* it to 1 will force boosting.
*
* Note that the cropThreshold also affects this setting. When zooming in on
* a series that has fewer points than the `cropThreshold`, all points are
* rendered although outside the visible plot area, and the `boostThreshold`
* won't take effect.
*/
boostThreshold?: number;
/**
* (Highstock) An additional class name to apply to the series' graphical
* elements. This option does not replace default class names of the
* graphical element. Changes to the series' color will also be reflected in
* a chart's legend and tooltip.
*/
className?: string;
/**
* (Highstock) Disable this option to allow series rendering in the whole
* plotting area.
*
* **Note:** Clipping should be always enabled when chart.zoomType is set
*/
clip?: boolean;
/**
* (Highstock) The main color of the series. In line type series it applies
* to the line and the point markers unless otherwise specified. In bar type
* series it applies to the bars unless a color is specified per point. The
* default value is pulled from the `options.colors` array.
*
* In styled mode, the color can be defined by the colorIndex option. Also,
* the series color can be set with the `.highcharts-series`,
* `.highcharts-color-{n}`, `.highcharts-{type}-series` or
* `.highcharts-series-{n}` class, or individual classes given by the
* `className` option.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Styled mode only. A specific color index to use for the
* series, so its graphic representations are given the class name
* `highcharts-color-{n}`.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts, Highstock, Highmaps) Determines what data value should be
* used to calculate point color if `colorAxis` is used. Requires to set
* `min` and `max` if some custom point property is used or if approximation
* for data grouping is set to `'sum'`.
*/
colorKey?: string;
/**
* (Highstock) Compare the values of the series against the first non-null,
* non- zero value in the visible range. The y axis will show percentage or
* absolute change depending on whether `compare` is set to `"percent"` or
* `"value"`. When this is applied to multiple series, it allows comparing
* the development of the series against each other. Adds a `change` field
* to every point object.
*/
compare?: OptionsCompareValue;
/**
* (Highstock) When compare is `percent`, this option dictates whether to
* use 0 or 100 as the base of comparison.
*/
compareBase?: (0|100);
/**
* (Highstock) Defines if comparison should start from the first point
* within the visible range or should start from the first point **before**
* the range.
*
* In other words, this flag determines if first point within the visible
* range will have 0% (`compareStart=true`) or should have been already
* calculated according to the previous point (`compareStart=false`).
*/
compareStart?: boolean;
/**
* (Highstock) Whether to compare indicator to the main series values or
* indicator values.
*/
compareToMain?: boolean;
/**
* (Highcharts, Highstock) Whether to connect a graph line across null
* points, or render a gap between the two points on either side of the
* null.
*
* In stacked area chart, if `connectNulls` is set to true, null points are
* interpreted as 0.
*/
connectNulls?: boolean;
/**
* (Highcharts, Highstock, Gantt) When true, each point or column edge is
* rounded to its nearest pixel in order to render sharp on screen. In some
* cases, when there are a lot of densely packed columns, this leads to
* visible difference in column widths or distance between columns. In these
* cases, setting `crisp` to `false` may look better, even though each
* column is rendered blurry.
*/
crisp?: boolean;
/**
* (Highcharts, Highstock) When the series contains less points than the
* crop threshold, all points are drawn, even if the points fall outside the
* visible plot area at the current zoom. The advantage of drawing all
* points (including markers and columns), is that animation is performed on
* updates. On the other hand, when the series contains more points than the
* crop threshold, the series data is cropped to only contain points that
* fall within the plot area. The advantage of cropping away invisible
* points is to increase performance on large series.
*/
cropThreshold?: number;
/**
* (Highstock) Cumulative Sum feature replaces points' values with the
* following formula: `sum of all previous points' values + current point's
* value`. Works only for points in a visible range. Adds the
* `cumulativeSum` field to each point object that can be accessed e.g. in
* the tooltip.pointFormat.
*
* With `dataGrouping` enabled, default grouping approximation is set to
* `sum`.
*/
cumulative?: boolean;
/**
* (Highstock) You can set the cursor to "pointer" if you have click events
* attached to the series, to signal to the user that the points and lines
* can be clicked.
*
* In styled mode, the series cursor can be set with the same classes as
* listed under series.color.
*/
cursor?: (string|CursorValue);
/**
* (Highstock) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highstock) Name of the dash style to use for the graph, or for some
* series types the outline of each shape.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under series.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highstock) Data grouping is the concept of sampling the data values into
* larger blocks in order to ease readability and increase performance of
* the JavaScript charts. Highcharts Stock by default applies data grouping
* when the points become closer than a certain pixel value, determined by
* the `groupPixelWidth` option.
*
* If data grouping is applied, the grouping information of grouped points
* can be read from the Point.dataGroup. If point options other than the
* data itself are set, for example `name` or `color` or custom properties,
* the grouping logic doesn't know how to group it. In this case the options
* of the first point instance are copied over to the group point. This can
* be altered through a custom `approximation` callback function.
*/
dataGrouping?: DataGroupingOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data
* labels, appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names
* (see example).
*/
dataLabels?: (PlotZigzagDataLabelsOptions|Array<PlotZigzagDataLabelsOptions>);
/**
* (Highcharts, Highstock) Options for the series data sorting.
*/
dataSorting?: (DataSortingOptionsObject|PlotZigzagDataSortingOptions);
/**
* (Highstock) A description of the series to add to the screen reader
* information about the series.
*/
description?: string;
/**
* (Highstock) Enable or disable the mouse tracking for a specific series.
* This includes point tooltips and click events on graphs and points. For
* large datasets it improves performance.
*/
enableMouseTracking?: boolean;
/**
* (Highstock) General event handlers for the series items. These event
* hooks can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
events?: SeriesEventsOptionsObject;
/**
* (Highstock) Determines whether the series should look for the nearest
* point in both dimensions or just the x-dimension when hovering the
* series. Defaults to `'xy'` for scatter series and `'x'` for most other
* series. If the data has duplicate x-values, it is recommended to set this
* to `'xy'` to allow hovering over all points.
*
* Applies only to series types using nearest neighbor search (not direct
* hover) for tooltip.
*/
findNearestPointBy?: OptionsFindNearestPointByValue;
/**
* (Highstock) Defines when to display a gap in the graph, together with the
* gapUnit option.
*
* In case when `dataGrouping` is enabled, points can be grouped into a
* larger time span. This can make the grouped points to have a greater
* distance than the absolute value of `gapSize` property, which will result
* in disappearing graph completely. To prevent this situation the mentioned
* distance between grouped points is used instead of previously defined
* `gapSize`.
*
* In practice, this option is most often used to visualize gaps in time
* series. In a stock chart, intraday data is available for daytime hours,
* while gaps will appear in nights and weekends.
*/
gapSize?: number;
/**
* (Highstock) Together with gapSize, this option defines where to draw gaps
* in the graph.
*
* When the `gapUnit` is `"relative"` (default), a gap size of 5 means that
* if the distance between two points is greater than 5 times that of the
* two closest points, the graph will be broken.
*
* When the `gapUnit` is `"value"`, the gap is based on absolute axis
* values, which on a datetime axis is milliseconds. This also applies to
* the navigator series that inherits gap options from the base series.
*/
gapUnit?: OptionsGapUnitValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use the Y extremes of the total
* chart width or only the zoomed area when zooming in on parts of the X
* axis. By default, the Y axis adjusts to the min and max of the visible
* data. Cartesian series only.
*/
getExtremesFromAll?: boolean;
/**
* (Highstock) Highlight only the hovered point and fade the remaining
* points.
*
* Scatter-type series require enabling the 'inactive' marker state and
* adjusting opacity. Note that this approach could affect performance with
* large datasets.
*/
inactiveOtherPoints?: boolean;
/**
* (Highstock) When set to `false` will prevent the series data from being
* included in any form of data export.
*
* Since version 6.0.0 until 7.1.0 the option was existing undocumented as
* `includeInCSVExport`.
*/
includeInDataExport?: boolean;
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The
* goal of this feature is to make the chart more easily readable, like if a
* human designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
label?: SeriesLabelOptionsObject;
/**
* (Highstock) The line marks the last price from all points.
*/
lastPrice?: SeriesLastPriceOptionsObject;
/**
* (Highstock) The line marks the last price from visible range of points.
*/
lastVisiblePrice?: SeriesLastVisiblePriceOptionsObject;
/**
* (Highstock) What type of legend symbol to render for this series. Can be
* one of `areaMarker`, `lineMarker` or `rectangle`.
*/
legendSymbol?: OptionsLegendSymbolValue;
/**
* (Highcharts, Highstock) The SVG value used for the `stroke-linecap` and
* `stroke-linejoin` of a line graph. Round means that lines are rounded in
* the ends and bends.
*/
linecap?: SeriesLinecapValue;
/**
* (Highcharts, Highstock) Pixel width of the graph line.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The main series ID that indicator will be
* based on. Required for this indicator.
*/
linkedTo?: string;
/**
* (Highstock) Options for the point markers of line and scatter-like
* series. Properties like `fillColor`, `lineColor` and `lineWidth` define
* the visual appearance of the markers. The `symbol` option defines the
* shape. Other series types, like column series, don't have markers, but
* have visual options on the series level instead.
*
* In styled mode, the markers can be styled with the `.highcharts-point`,
* `.highcharts-point-hover` and `.highcharts-point-select` class names.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highstock) The name of the series as shown in the legend, tooltip etc.
* If not set, it will be based on a technical indicator type and default
* params.
*/
name?: string;
/**
* (Highstock) The color for the parts of the graph or points that are below
* the threshold. Note that `zones` takes precedence over the negative
* color. Using `negativeColor` is equivalent to applying a zone with value
* of 0.
*/
negativeColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Options for the _Series on point_ feature. Only `pie` and
* `sunburst` series are supported at this moment.
*/
onPoint?: (object|PlotZigzagOnPointOptions);
/**
* (Highstock) Opacity of a series parts: line, fill (e.g. area) and
* dataLabels.
*/
opacity?: number;
/**
* (Highstock) Parameters used in calculation of regression series' points.
*/
params?: PlotZigzagParamsOptions;
/**
* (Highstock) Properties for each single point.
*/
point?: PlotSeriesPointOptions;
/**
* (Highstock) Same as accessibility.point.descriptionFormat, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormat?: Function;
/**
* (Highstock) Same as accessibility.series.descriptionFormatter, but for an
* individual series. Overrides the chart wide configuration.
*/
pointDescriptionFormatter?: Function;
/**
* (Highcharts, Highstock) When true, X values in the data set are relative
* to the current `pointStart`, `pointInterval` and `pointIntervalUnit`
* settings. This allows compression of the data for datasets with irregular
* X values.
*
* The real X values are computed on the formula `f(x) = ax + b`, where `a`
* is the `pointInterval` (optionally with a time unit given by
* `pointIntervalUnit`), and `b` is the `pointStart`.
*/
relativeXValue?: boolean;
/**
* (Highstock) Whether to select the series initially. If `showCheckbox` is
* true, the checkbox next to the series name in the legend will be checked
* for a selected series.
*/
selected?: boolean;
/**
* (Highstock) Whether to apply a drop shadow to the graph line. Since 2.3
* the shadow can be an object configuration containing `color`, `offsetX`,
* `offsetY`, `opacity` and `width`.
*
* Note that in some cases, like stacked columns or other dense layouts, the
* series may cast shadows on each other. In that case, the
* `chart.seriesGroupShadow` allows applying a common drop shadow to the
* whole series group.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highstock) If true, a checkbox is displayed next to the legend item to
* allow selecting the series. The state of the checkbox is determined by
* the `selected` option.
*/
showCheckbox?: boolean;
/**
* (Highstock) Whether to display this particular series or series type in
* the legend. Standalone series are shown in legend by default, and linked
* series are not. Since v7.2.0 it is possible to show series that use
* colorAxis by setting this option to `true`.
*/
showInLegend?: boolean;
/**
* (Highstock) If set to `true`, the accessibility module will skip past the
* points in this series for keyboard navigation.
*/
skipKeyboardNavigation?: boolean;
/**
* (Highcharts, Highstock) When this is true, the series will not cause the
* Y axis to cross the zero plane (or threshold option) unless the data
* actually crosses the plane.
*
* For example, if `softThreshold` is `false`, a series of 0, 1, 2, 3 will
* make the Y axis show negative values according to the `minPadding`
* option. If `softThreshold` is `true`, the Y axis starts at 0.
*/
softThreshold?: boolean;
/**
* (Highstock) Sonification/audio chart options for a series.
*/
sonification?: SeriesSonificationOptions;
states?: SeriesStatesOptionsObject;
/**
* (Highcharts, Highstock) Whether to apply steps to the line. Possible
* values are `left`, `center` and `right`.
*/
step?: OptionsStepValue;
/**
* (Highstock) Sticky tracking of mouse events. When true, the `mouseOut`
* event on a series isn't triggered until the mouse moves over another
* series, or out of the plot area. When false, the `mouseOut` event on a
* series is triggered when the mouse leaves the area around the series'
* graph or markers. This also implies the tooltip when not shared. When
* `stickyTracking` is false and `tooltip.shared` is false, the tooltip will
* be hidden when moving the mouse between series. Defaults to true for line
* and area type series, but to false for columns, pies etc.
*
* **Note:** The boost module will force this option because of technical
* limitations.
*/
stickyTracking?: boolean;
/**
* (Highcharts, Highstock) The threshold, also called zero level or base
* level. For line type series this is only used in conjunction with
* negativeColor.
*/
threshold?: (number|null);
/**
* (Highstock) A configuration object for the tooltip rendering of each
* single series. Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
tooltip?: SeriesTooltipOptionsObject;
/**
* (Highcharts, Highstock, Gantt) When a series contains a data array that
* is longer than this, only one dimensional arrays of numbers, or two
* dimensional arrays with x and y values are allowed. Also, only the first
* point is tested, and the rest are assumed to be the same format. This
* saves expensive data checking and indexing in long series. Set it to `0`
* disable.
*
* Note: In boost mode turbo threshold is forced. Only array of numbers or
* two dimensional arrays are allowed.
*/
turboThreshold?: number;
/**
* (Highstock) Set the initial visibility of the series.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) Defines the Axis on which the zones are applied.
*/
zoneAxis?: string;
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones
* can be applied to the X axis, Y axis or Z axis for bubbles, according to
* the `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the
* `.highcharts-zone-{n}` class, or custom classed from the `className`
* option (view live demo).
*/
zones?: Array<SeriesZonesOptionsObject>;
}
/**
* (Highcharts, Highstock, Gantt) Accessibility options for a data point.
*/
export interface PointAccessibilityOptionsObject {
/**
* (Highcharts, Highstock, Gantt) Provide a description of the data point,
* announced to screen readers.
*/
description?: string;
/**
* (Highcharts, Highstock, Gantt) Set to false to disable accessibility
* functionality for a specific point. The point will not be included in
* keyboard navigation, and will not be exposed to assistive technology.
*/
enabled?: boolean;
}
/**
* Common information for a click event on a series point.
*/
export interface PointClickEventObject extends PointerEventObject {
/**
* Clicked point.
*/
point: Point;
}
/**
* Contains information about a points new values.
*/
export interface PointDragDropObject {
/**
* New values.
*/
newValues: Dictionary<number>;
/**
* Updated point.
*/
point: Point;
}
/**
* Contains common information for a drag event on series points.
*/
export interface PointDragEventObject {
/**
* New points during drag.
*/
newPoints: Dictionary<PointDragDropObject>;
/**
* Original data.
*/
origin: DragDropPositionObject;
/**
* Prevent default drag action.
*/
preventDefault: Function;
/**
* Target point that caused the event.
*/
target: Point;
/**
* Event type.
*/
type: "drag";
}
/**
* Contains common information for a drag event on series point.
*/
export interface PointDragStartEventObject extends MouseEvent {
/**
* Data property being dragged.
*/
updateProp?: string;
}
/**
* Contains common information for a drop event on series points.
*/
export interface PointDropEventObject {
/**
* New point after drag if only a single one.
*/
newPoint?: PointDragDropObject;
/**
* New point id after drag if only a single one.
*/
newPointId?: string;
/**
* New points after drop.
*/
newPoints: Dictionary<PointDragDropObject>;
/**
* Number of new points.
*/
numNewPoints: number;
/**
* Original data.
*/
origin: DragDropPositionObject;
/**
* Prevent default drop action.
*/
preventDefault: Function;
/**
* Target point that caused the event.
*/
target: Point;
/**
* Event type.
*/
type: "drop";
}
/**
* One position in relation to an axis.
*/
export interface PointerAxisCoordinateObject {
/**
* Related axis.
*/
axis: Axis;
/**
* Axis value.
*/
value: number;
}
/**
* Positions in terms of axis values.
*/
export interface PointerAxisCoordinatesObject {
/**
* Positions on the x-axis.
*/
xAxis: Array<PointerAxisCoordinateObject>;
/**
* Positions on the y-axis.
*/
yAxis: Array<PointerAxisCoordinateObject>;
}
/**
* Pointer coordinates.
*/
export interface PointerCoordinatesObject {
chartX: number;
chartY: number;
}
/**
* A native browser mouse or touch event, extended with position information
* relative to the Chart.container.
*/
export interface PointerEventObject extends PointerEvent {
/**
* The X coordinate of the pointer interaction relative to the chart.
*/
chartX: number;
/**
* The Y coordinate of the pointer interaction relative to the chart.
*/
chartY: number;
}
/**
* (Highcharts, Highstock, Gantt) The individual point events.
*/
export interface PointEventsOptionsObject {
/**
* (Highcharts, Highstock, Gantt) Fires when a point is clicked. One
* parameter, `event`, is passed to the function, containing common event
* information.
*
* If the `series.allowPointSelect` option is true, the default action for
* the point's click event is to toggle the point's select state. Returning
* `false` cancels this action.
*/
click?: PointClickCallbackFunction;
/**
* (Highcharts, Highstock, Gantt) Callback that fires while dragging a
* point. The mouse event is passed in as parameter. The original data can
* be accessed from `e.origin`, and the new point values can be accessed
* from `e.newPoints`. If there is only a single point being updated, it can
* be accessed from `e.newPoint` for simplicity, and its ID can be accessed
* from `e.newPointId`. The `this` context is the point being dragged. To
* stop the default drag action, return false. See drag and drop options.
*/
drag?: PointDragCallbackFunction;
/**
* (Highcharts, Highstock, Gantt) Callback that fires when starting to drag
* a point. The mouse event object is passed in as an argument. If a drag
* handle is used, `e.updateProp` is set to the data property being dragged.
* The `this` context is the point. See drag and drop options.
*/
dragStart?: PointDragStartCallbackFunction;
/**
* (Highcharts, Highstock, Gantt) Callback that fires when the point is
* dropped. The parameters passed are the same as for drag. To stop the
* default drop action, return false. See drag and drop options.
*/
drop?: PointDropCallbackFunction;
/**
* (Highcharts, Highmaps) Fires when the legend item belonging to the pie
* point (slice) is clicked. The `this` keyword refers to the point itself.
* One parameter, `event`, is passed to the function, containing common
* event information. The default action is to toggle the visibility of the
* point. This can be prevented by calling `event.preventDefault()`.
*/
legendItemClick?: PointLegendItemClickCallbackFunction;
/**
* (Highcharts, Highstock, Gantt) Fires when the mouse leaves the area close
* to the point. One parameter, `event`, is passed to the function,
* containing common event information.
*/
mouseOut?: PointMouseOutCallbackFunction;
/**
* (Highcharts, Highstock, Gantt) Fires when the mouse enters the area close
* to the point. One parameter, `event`, is passed to the function,
* containing common event information.
*
* Returning `false` cancels the default behavior, which is to show a
* tooltip for the point.
*/
mouseOver?: PointMouseOverCallbackFunction;
/**
* (Highcharts, Highstock, Gantt) Fires when the point is removed using the
* `.remove()` method. One parameter, `event`, is passed to the function.
* Returning `false` cancels the operation.
*/
remove?: PointRemoveCallbackFunction;
/**
* Fires when the point is selected either programmatically or following a
* click on the point. One parameter, `event`, is passed to the function.
* Returning `false` cancels the operation.
*/
select?: PointSelectCallbackFunction;
/**
* Fires when the point is unselected either programmatically or following a
* click on the point. One parameter, `event`, is passed to the function.
* Returning `false` cancels the operation.
*/
unselect?: PointUnselectCallbackFunction;
/**
* (Highcharts, Highstock, Gantt) Fires when the point is updated
* programmatically through the `.update()` method. One parameter, `event`,
* is passed to the function. The new point options can be accessed through
* `event.options`. Returning `false` cancels the operation.
*/
update?: PointUpdateCallbackFunction;
}
/**
* Information about the select/unselect event.
*/
export interface PointInteractionEventObject extends Event {
accumulate: boolean;
}
/**
* Configuration for the data label and tooltip formatters.
*/
export interface PointLabelObject {
/**
* The point's current color.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* The point's current color index, used in styled mode instead of `color`.
* The color index is inserted in class names used for styling.
*/
colorIndex: number;
/**
* The name of the related point.
*/
key?: string;
/**
* The percentage for related points in a stacked series or pies.
*/
percentage: number;
/**
* The related point. The point name, if defined, is available through
* `this.point.name`.
*/
point: Point;
/**
* The related series. The series name is available through
* `this.series.name`.
*/
series: Series;
/**
* The total of values in either a stack for stacked series, or a pie in a
* pie series.
*/
total?: number;
/**
* For categorized axes this property holds the category name for the point.
* For other axes it holds the X value.
*/
x?: (number|string);
/**
* The y value of the point.
*/
y?: (number|null);
}
/**
* Information about the legend click event.
*/
export interface PointLegendItemClickEventObject {
/**
* Related browser event.
*/
browserEvent: PointerEvent;
/**
* Prevent the default action of toggle the visibility of the point.
*/
preventDefault: Function;
/**
* Related point.
*/
target: Point;
/**
* Event type.
*/
type: "legendItemClick";
}
/**
* (Highcharts, Highstock) Options for the point markers of line-like series.
*/
export interface PointMarkerOptionsObject {
/**
* (Highcharts, Highstock, Highmaps) Animation for the marker as it moves
* between values. Set to `false` to disable animation. Defaults to `{
* duration: 50 }`.
*/
animation?: (boolean|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps) The color of the marker.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock) Enable or disable the point marker. If
* `undefined`, the markers are hidden when the data is dense, and shown for
* more widespread data points.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) The threshold for how dense the point markers
* should be before they are hidden, given that `enabled` is not defined.
* The number indicates the horizontal distance between the two closest
* points in the series, as multiples of the `marker.radius`. In other
* words, the default value of 2 means points are hidden if overlapping
* horizontally.
*/
enabledThreshold?: number;
/**
* (Highcharts, Highstock) The fill color of the point marker. When
* `undefined`, the series' or point's color is used.
*/
fillColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) The fill opacity of the bubble markers.
*/
fillOpacity?: number;
/**
* (Highcharts, Highstock) Image markers only. Set the image width
* explicitly. When using this option, a `width` must also be set.
*/
height?: number;
/**
* (Highcharts, Highstock) The color of the point marker's outline. When
* `undefined`, the series' or point's color is used.
*/
lineColor?: (string|ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock) The width of the point marker's outline.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock) The radius of the point marker.
*/
radius?: number;
/**
* (Highcharts, Highstock) States for a single point marker.
*/
states?: PointStatesOptionsObject;
/**
* (Highcharts, Highstock) A predefined shape or symbol for the marker. When
* undefined, the symbol is pulled from options.symbols. Other possible
* values are `'circle'`, `'square'`,`'diamond'`, `'triangle'` and
* `'triangle-down'`.
*
* Additionally, the URL to a graphic can be given on this form:
* `'url(graphic.png)'`. Note that for the image to be applied to exported
* charts, its URL needs to be accessible by the export server.
*
* Custom callbacks for symbol path generation can also be added to
* `Highcharts.SVGRenderer.prototype.symbols`. The callback is then used by
* its method name, as shown in the demo.
*/
symbol?: (string|SymbolKeyValue);
/**
* (Highcharts, Highstock) Image markers only. Set the image width
* explicitly. When using this option, a `height` must also be set.
*/
width?: number;
}
/**
* The generic point options for all series.
*
* In TypeScript you have to extend `PointOptionsObject` with an additional
* declaration to allow custom data options: (see online documentation for
* example)
*/
export interface PointOptionsObject {
/**
* (Highcharts) Accessibility options for a data point.
*/
accessibility?: PointAccessibilityOptionsObject;
/**
* (Highcharts, Highstock) The color of the border surrounding the column or
* bar.
*
* In styled mode, the border stroke can be set with the `.highcharts-point`
* rule.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock) The width of the border surrounding the column or
* bar.
*
* In styled mode, the stroke width can be set with the `.highcharts-point`
* rule.
*/
borderWidth?: number;
/**
* (Highcharts) The dash style of the box.
*/
boxDashStyle?: DashStyleValue;
/**
* (Highcharts, Gantt) An additional, individual class name for the data
* point's graphic representation. Changes to a point's color will also be
* reflected in a chart's legend and tooltip.
*/
className?: string;
/**
* (Highstock) The closing value of each data point.
*/
close?: number;
/**
* (Highcharts) Options used for button, which toggles the collapse status
* of the node.
*/
collapseButton?: object;
/**
* (Highcharts) If point's children should be initially hidden
*/
collapsed?: boolean;
/**
* (Highcharts, Highstock, Gantt) Individual color for the point. By default
* the color is pulled from the global `colors` array.
*
* In styled mode, the `color` option doesn't take effect. Instead, use
* `colorIndex`.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Gantt) A specific color index to use for the point, so its
* graphic representations are given the class name `highcharts-color-{n}`.
* In styled mode this will change the color of the graphic. In non-styled
* mode, the color is set by the `fill` attribute, so the change in class
* name won't have a visual effect by default.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts) Serves a purpose only if a `colorAxis` object is defined in
* the chart options. This value will decide which color the point gets from
* the scale of the colorAxis.
*/
colorValue?: number;
/**
* (Highcharts, Highstock) Color of the line that connects the dumbbell
* point's values. By default it is the series' color.
*/
connectorColor?: string;
/**
* (Highcharts, Highstock) Pixel width of the line that connects the
* dumbbell point's values.
*/
connectorWidth?: number;
/**
* (Highcharts) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highcharts) A name for the dash style to use for the column or bar.
* Overrides dashStyle on the series.
*
* In styled mode, the stroke dash-array can be set with the same classes as
* listed under data.color.
*/
dashStyle?: DashStyleValue;
/**
* (Highcharts, Highstock, Gantt) Individual data label for each point. The
* options are the same as the ones for plotOptions.series.dataLabels.
*/
dataLabels?: (DataLabelsOptions|SeriesNetworkgraphDataLabelsOptionsObject|SeriesPackedBubbleDataLabelsOptionsObject|SeriesPieDataLabelsOptionsObject|SeriesSunburstDataLabelsOptionsObject|
SeriesTreegraphDataLabelsOptionsObject|Array<DataLabelsOptions>|Array<SeriesNetworkgraphDataLabelsOptionsObject>|Array<SeriesPackedBubbleDataLabelsOptionsObject>|
Array<SeriesSunburstDataLabelsOptionsObject>|Array<SeriesTreegraphDataLabelsOptionsObject>);
/**
* (Highcharts) A description of the point to add to the screen reader
* information about the point.
*/
description?: string;
/**
* (Highcharts, Highstock) The wind direction in degrees, where 0 is north
* (pointing towards south).
*/
direction?: number;
/**
* (Highcharts) Point specific options for the draggable-points module.
* Overrides options on `series.dragDrop`.
*/
dragDrop?: SeriesLineDataDragDropOptions;
/**
* (Highcharts) The `id` of a series in the drilldown.series array to use
* for a drilldown for this point.
*/
drilldown?: string;
/**
* (Highcharts, Highstock, Gantt) The individual point events.
*/
events?: PointEventsOptionsObject;
/**
* (Highstock) The fill color of an individual flag. By default it inherits
* from the series color.
*/
fillColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) The node that the link runs from.
*/
from?: string;
/**
* (Highcharts) By default sides fill is set to a gradient through this
* option being set to `true`. Set to `false` to get solid color for the
* sides.
*/
gradientForSides?: boolean;
/**
* (Highcharts, Highstock) The high or maximum value for each data point.
*/
high?: number;
/**
* (Highcharts, Highstock, Gantt) An id for the point. This can be used
* after render time to get a pointer to the point object through
* `chart.get()`.
*/
id?: string;
/**
* (Highcharts) The inner radius of an individual point in a solid gauge.
* Can be given only in percentage, either as a number or a string like
* `"50%"`.
*/
innerRadius?: string;
/**
* (Highcharts) When this property is true, the points acts as a summary
* column for the values added or subtracted since the last intermediate
* sum, or since the start of the series. The `y` value is ignored.
*/
isIntermediateSum?: boolean;
/**
* (Highcharts) When this property is true, the point display the total sum
* across the entire series. The `y` value is ignored.
*/
isSum?: boolean;
/**
* (Highcharts) The label of event.
*/
label?: string;
/**
* (Highcharts) The rank for this point's data label in case of collision.
* If two data labels are about to overlap, only the one with the highest
* `labelrank` will be drawn.
*/
labelrank?: number;
/**
* (Highcharts, Highmaps) The sequential index of the data point in the
* legend.
*/
legendIndex?: number;
/**
* (Highcharts, Highstock) The length of the vector. The rendered length
* will relate to the `vectorLength` setting.
*/
length?: number;
/**
* (Highcharts, Highstock) The low or minimum value for each data point.
*/
low?: number;
/**
* (Highcharts, Highstock) Color of the start markers in a dumbbell graph.
* This option takes priority over the series color. To avoid this, set
* `lowColor` to `undefined`.
*/
lowColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock) Options for the point markers of line-like
* series.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highcharts) The median for each data point. This is drawn as a line
* through the middle area of the box.
*/
median?: number;
/**
* (Highcharts) The dash style of the median.
*/
medianDashStyle?: DashStyleValue;
/**
* (Highcharts) The name decides the text for a word.
*/
name?: (number|string);
/**
* (Highstock) The opening value of each data point.
*/
open?: number;
/**
* (Highcharts) Only for treemap. Use this option to build a tree structure.
* The value should be the id of the point which is the parent. If no points
* has a matching id, or this option is undefined, then the parent will be
* set to the root.
*/
parent?: string;
/**
* (Highcharts, Highmaps) Point padding for a single point.
*/
pointPadding?: number;
/**
* (Highcharts, Highstock, Gantt) A pixel value specifying a fixed width for
* the column or bar. Overrides pointWidth on the series. The width effects
* the dimension that is not based on the point value.
*/
pointWidth?: number;
/**
* (Highcharts) The lower quartile for each data point. This is the bottom
* of the box.
*/
q1?: number;
/**
* (Highcharts) The higher quartile for each data point. This is the top of
* the box.
*/
q3?: number;
/**
* (Highcharts) The outer radius of an individual point in a solid gauge.
* Can be given only in percentage, either as a number or a string like
* `"100%"`.
*/
radius?: string;
/**
* (Highcharts, Highstock, Gantt) Whether the data point is selected
* initially.
*/
selected?: boolean;
/**
* (Highcharts) The set or sets the options will be applied to. If a single
* entry is defined, then it will create a new set. If more than one entry
* is defined, then it will define the overlap between the sets in the
* array.
*/
sets?: Array<string>;
/**
* (Highcharts, Highmaps) Whether to display a slice offset from the center.
*/
sliced?: boolean;
/**
* (Highcharts) The dash style of the stem.
*/
stemDashStyle?: DashStyleValue;
/**
* (Highcharts) The target value of a point.
*/
target?: number;
/**
* (Highcharts) Individual target options for each point.
*/
targetOptions?: SeriesBulletDataTargetOptions;
/**
* (Highstock) The longer text to be shown in the flag's tooltip.
*/
text?: string;
/**
* (Highstock) The short text to be shown on the flag.
*/
title?: string;
/**
* (Highcharts) The node that the link runs to.
*/
to?: string;
/**
* (Highcharts, Highstock) The wind speed in meters per second.
*/
value?: (number|null);
/**
* (Highcharts) The weighting of a word. The weight decides the relative
* size of a word compared to the rest of the collection.
*/
weight?: number;
/**
* (Highcharts) The dash style of the whiskers.
*/
whiskerDashStyle?: DashStyleValue;
/**
* (Highcharts, Highstock) The x value of the point. For datetime axes, the
* X value is the timestamp in milliseconds since 1970.
*/
x?: number;
/**
* (Highcharts, Highstock) The y value of the point.
*/
y?: (number|null);
/**
* (Highcharts) The relative width for each column. On a category axis, the
* widths are distributed so they sum up to the X axis length. On linear and
* datetime axes, the columns will be laid out from the X value and Z units
* along the axis.
*/
z?: (number|null);
}
/**
* (Highcharts, Highstock) The hover state for a single point marker.
*/
export interface PointStatesHoverOptionsObject {
/**
* (Highcharts, Highstock) Animation when hovering over the marker.
*/
animation?: (boolean|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock) Enable or disable the point marker.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) The fill color of the marker in hover state. When
* `undefined`, the series' or point's fillColor for normal state is used.
*/
fillColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highmaps) Set the marker's fixed height on hover state.
*/
height?: (number|undefined);
/**
* (Highcharts, Highstock) The number of pixels to increase the height of
* the hovered point.
*/
heightPlus?: (number|undefined);
/**
* (Highcharts, Highstock) The color of the point marker's outline. When
* `undefined`, the series' or point's lineColor for normal state is used.
*/
lineColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock) The width of the point marker's outline. When
* `undefined`, the series' or point's lineWidth for normal state is used.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock) The additional line width for a hovered point.
*/
lineWidthPlus?: (number|undefined);
/**
* (Highcharts, Highstock) The radius of the point marker. In hover state,
* it defaults to the normal state's radius + 2 as per the radiusPlus
* option.
*/
radius?: number;
/**
* (Highcharts, Highstock) The number of pixels to increase the radius of
* the hovered point.
*/
radiusPlus?: number;
/**
* (Highcharts, Highmaps) Set the marker's fixed width on hover state.
*/
width?: (number|undefined);
/**
* (Highcharts, Highstock) The number of pixels to increase the width of the
* hovered point.
*/
widthPlus?: (number|undefined);
}
/**
* (Highcharts) The opposite state of a hover for a single point node. Applied
* to all not connected nodes to the hovered one.
*/
export interface PointStatesInactiveOptionsObject {
/**
* (Highcharts) Animation when not hovering over the node.
*/
animation?: (boolean|Partial<AnimationOptionsObject>);
/**
* (Highcharts) Opacity of inactive markers.
*/
opacity?: number;
}
/**
* (Highcharts, Highstock) The normal state of a single point marker. Currently
* only used for setting animation when returning to normal state from hover.
*/
export interface PointStatesNormalOptionsObject {
/**
* (Highcharts, Highstock) Animation when returning to normal state after
* hovering.
*/
animation?: (boolean|Partial<AnimationOptionsObject>);
}
/**
* (Highcharts, Highstock) States for a single point marker.
*/
export interface PointStatesOptionsObject {
/**
* (Highcharts, Highstock) The hover state for a single point marker.
*/
hover?: PointStatesHoverOptionsObject;
/**
* (Highcharts) The opposite state of a hover for a single point node.
* Applied to all not connected nodes to the hovered one.
*/
inactive?: PointStatesInactiveOptionsObject;
/**
* (Highcharts, Highstock) The normal state of a single point marker.
* Currently only used for setting animation when returning to normal state
* from hover.
*/
normal?: PointStatesNormalOptionsObject;
/**
* (Highcharts, Highstock) The appearance of the point marker when selected.
* In order to allow a point to be selected, set the
* `series.allowPointSelect` option to true.
*/
select?: PointStatesSelectOptionsObject;
}
/**
* (Highcharts, Highstock) The appearance of the point marker when selected. In
* order to allow a point to be selected, set the `series.allowPointSelect`
* option to true.
*/
export interface PointStatesSelectOptionsObject {
/**
* (Highcharts, Highstock) Enable or disable visible feedback for selection.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) The fill color of the point marker.
*/
fillColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highmaps) Set the marker's fixed height on select state.
*/
height?: (number|undefined);
/**
* (Highcharts, Highstock) The number of pixels to increase the height of
* the hovered point.
*/
heightPlus?: (number|undefined);
/**
* (Highcharts, Highstock) The color of the point marker's outline. When
* `undefined`, the series' or point's color is used.
*/
lineColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock) The width of the point marker's outline.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock) The radius of the point marker. In hover state,
* it defaults to the normal state's radius + 2.
*/
radius?: number;
/**
* (Highcharts, Highmaps) Set the marker's fixed width on select state.
*/
width?: (number|undefined);
/**
* (Highcharts, Highstock) The number of pixels to increase the width of the
* hovered point.
*/
widthPlus?: (number|undefined);
}
/**
* Information about the update event.
*/
export interface PointUpdateEventObject extends Event {
/**
* Options data of the update event.
*/
options: PointOptionsType;
}
/**
* An object containing `x` and `y` properties for the position of an element.
*/
export interface PositionObject {
/**
* X position of the element.
*/
x: number;
/**
* Y position of the element.
*/
y: number;
}
/**
* Defines the center position and the radius for a gradient.
*/
export interface RadialGradientColorObject {
/**
* Center horizontal position relative to the shape. Float ranges 0-1.
*/
cx: number;
/**
* Center vertical position relative to the shape. Float ranges 0-1.
*/
cy: number;
/**
* Radius relative to the shape. Float ranges 0-1.
*/
r: number;
}
/**
* Describes a range.
*/
export interface RangeObject {
/**
* Maximum number of the range.
*/
max: number;
/**
* Minimum number of the range.
*/
min: number;
}
/**
* (Highstock, Gantt) Positioning for the button row.
*/
export interface RangeSelectorButtonPositionOptions {
/**
* (Highstock, Gantt) The alignment of the input box. Allowed properties are
* `left`, `center`, `right`.
*/
align?: AlignValue;
/**
* (Highstock, Gantt) X offset of the button row.
*/
x?: number;
/**
* (Highstock, Gantt) Y offset of the button row.
*/
y?: number;
}
export interface RangeSelectorButtonsEventsOptions {
/**
* (Highstock, Gantt) Fires when clicking on the rangeSelector button. One
* parameter, event, is passed to the function, containing common event
* information. (see online documentation for example)
*
* Return false to stop default button's click action.
*/
click?: RangeSelectorClickCallbackFunction;
}
/**
* (Highstock, Gantt) An array of configuration objects for the buttons.
*
* Defaults to: (see online documentation for example)
*/
export interface RangeSelectorButtonsOptions {
/**
* (Highstock, Gantt) How many units of the defined type the button should
* span. If `type` is "month" and `count` is 3, the button spans three
* months.
*/
count?: number;
/**
* (Highstock) A custom data grouping object for each button.
*/
dataGrouping?: DataGroupingOptionsObject;
events?: RangeSelectorButtonsEventsOptions;
/**
* (Highstock, Gantt) Additional range (in milliseconds) added to the end of
* the calculated time span.
*/
offsetMax?: number;
/**
* (Highstock, Gantt) Additional range (in milliseconds) added to the start
* of the calculated time span.
*/
offsetMin?: number;
/**
* (Highstock, Gantt) When buttons apply dataGrouping on a series, by
* default zooming in/out will deselect buttons and unset dataGrouping.
* Enable this option to keep buttons selected when extremes change.
*/
preserveDataGrouping?: boolean;
/**
* (Highstock, Gantt) The text for the button itself.
*/
text?: string;
/**
* (Highstock, Gantt) Explanation for the button, shown as a tooltip on
* hover, and used by assistive technology.
*/
title?: string;
/**
* (Highstock, Gantt) Defined the time span for the button. Can be one of
* `millisecond`, `second`, `minute`, `hour`, `day`, `week`, `month`,
* `year`, `ytd`, and `all`.
*/
type?: RangeSelectorButtonTypeValue;
}
/**
* (Highstock, Gantt) Positioning for the input boxes. Allowed properties are
* `align`, `x` and `y`.
*/
export interface RangeSelectorInputPositionOptions {
/**
* (Highstock, Gantt) The alignment of the input box. Allowed properties are
* `left`, `center`, `right`.
*/
align?: AlignValue;
/**
* (Highstock, Gantt) X offset of the input row.
*/
x?: number;
/**
* (Highstock, Gantt) Y offset of the input row.
*/
y?: number;
}
/**
* (Highstock, Gantt) The range selector is a tool for selecting ranges to
* display within the chart. It provides buttons to select preconfigured ranges
* in the chart, like 1 day, 1 week, 1 month etc. It also provides input boxes
* where min and max dates can be manually input.
*/
export interface RangeSelectorOptions {
/**
* (Highstock, Gantt) Whether to enable all buttons from the start. By
* default buttons are only enabled if the corresponding time range exists
* on the X axis, but enabling all buttons allows for dynamically loading
* different time ranges.
*/
allButtonsEnabled?: boolean;
/**
* (Highstock, Gantt) Positioning for the button row.
*/
buttonPosition?: RangeSelectorButtonPositionOptions;
/**
* (Highstock, Gantt) An array of configuration objects for the buttons.
*
* Defaults to: (see online documentation for example)
*/
buttons?: Array<RangeSelectorButtonsOptions>;
/**
* (Highstock, Gantt) The space in pixels between the buttons in the range
* selector.
*/
buttonSpacing?: number;
/**
* (Highstock, Gantt) A collection of attributes for the buttons. The object
* takes SVG attributes like `fill`, `stroke`, `stroke-width`, as well as
* `style`, a collection of CSS properties for the text.
*
* The object can also be extended with states, so you can set
* presentational options for `hover`, `select` or `disabled` button states.
*
* CSS styles for the text label.
*
* In styled mode, the buttons are styled by the
* `.highcharts-range-selector-buttons .highcharts-button` rule with its
* different states.
*/
buttonTheme?: SVGAttributes;
/**
* (Highstock, Gantt) Whether to collapse the range selector buttons into a
* dropdown when there is not enough room to show everything in a single
* row, instead of dividing the range selector into multiple rows. Can be
* one of the following:
*
* - `always`: Always collapse
*
* - `responsive`: Only collapse when there is not enough room
*
* - `never`: Never collapse
*/
dropdown?: OptionsDropdownValue;
/**
* (Highstock, Gantt) Enable or disable the range selector. Default to
* `true` for stock charts, using the `stockChart` factory.
*/
enabled?: (boolean|undefined);
/**
* (Highstock, Gantt) When the rangeselector is floating, the plot area does
* not reserve space for it. This opens for positioning anywhere on the
* chart.
*/
floating?: boolean;
/**
* (Highstock, Gantt) The border color of the date input boxes.
*/
inputBoxBorderColor?: ColorString;
/**
* (Highstock, Gantt) The pixel height of the date input boxes.
*/
inputBoxHeight?: number;
/**
* (Highstock, Gantt) The pixel width of the date input boxes. When
* `undefined`, the width is fitted to the rendered content.
*/
inputBoxWidth?: (number|undefined);
/**
* (Highstock, Gantt) The date format in the input boxes when not selected
* for editing. Defaults to `%e %b %Y`.
*
* This is used to determine which type of input to show, `datetime-local`,
* `date` or `time` and falling back to `text` when the browser does not
* support the input type or the format contains milliseconds.
*/
inputDateFormat?: string;
/**
* (Highstock, Gantt) A custom callback function to parse values entered in
* the input boxes and return a valid JavaScript time as milliseconds since
* 1970. The first argument passed is a value to parse, second is a boolean
* indicating use of the UTC time.
*
* This will only get called for inputs of type `text`. Since v8.2.3, the
* input type is dynamically determined based on the granularity of the
* `inputDateFormat` and the browser support.
*/
inputDateParser?: RangeSelectorParseCallbackFunction;
/**
* (Highstock, Gantt) The date format in the input boxes when they are
* selected for editing. This must be a format that is recognized by
* JavaScript Date.parse.
*
* This will only be used for inputs of type `text`. Since v8.2.3, the input
* type is dynamically determined based on the granularity of the
* `inputDateFormat` and the browser support.
*/
inputEditDateFormat?: string;
/**
* (Highstock, Gantt) Enable or disable the date input boxes.
*/
inputEnabled?: boolean;
/**
* (Highstock, Gantt) Positioning for the input boxes. Allowed properties
* are `align`, `x` and `y`.
*/
inputPosition?: RangeSelectorInputPositionOptions;
/**
* (Highstock, Gantt) The space in pixels between the labels and the date
* input boxes in the range selector.
*/
inputSpacing?: number;
/**
* (Highstock, Gantt) CSS for the HTML inputs in the range selector.
*
* In styled mode, the inputs are styled by the `.highcharts-range-input
* text` rule in SVG mode, and `input.highcharts-range-selector` when
* active.
*/
inputStyle?: CSSObject;
/**
* (Highstock, Gantt) CSS styles for the labels - the Zoom, From and To
* texts.
*
* In styled mode, the labels are styled by the `.highcharts-range-label`
* class.
*/
labelStyle?: CSSObject;
/**
* (Highstock, Gantt) The index of the button to appear pre-selected. If the
* selected range exceeds the total data range and the 'all' option is
* available, the 'all' option, showing the full range, is automatically
* selected.
*/
selected?: number;
/**
* (Highstock, Gantt) The vertical alignment of the rangeselector box.
* Allowed properties are `top`, `middle`, `bottom`.
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highstock, Gantt) The x offset of the range selector relative to its
* horizontal alignment within `chart.spacingLeft` and `chart.spacingRight`.
*/
x?: number;
/**
* (Highstock, Gantt) The y offset of the range selector relative to its
* horizontal alignment within `chart.spacingLeft` and `chart.spacingRight`.
*/
y?: number;
}
/**
* A rectangle.
*/
export interface RectangleObject {
/**
* Height of the rectangle.
*/
height: number;
/**
* Width of the rectangle.
*/
width: number;
/**
* Horizontal position of the rectangle.
*/
x: number;
/**
* Vertical position of the rectangle.
*/
y: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Allows setting a set of rules to
* apply for different screen or chart sizes. Each rule specifies additional
* chart options.
*/
export interface ResponsiveOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) A set of rules for responsive
* settings. The rules are executed from the top down.
*/
rules?: Array<ResponsiveRulesOptions>;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Under which conditions the rule
* applies.
*/
export interface ResponsiveRulesConditionOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) A callback function to gain
* complete control on when the responsive rule applies. Return `true` if it
* applies. This opens for checking against other metrics than the chart
* size, for example the document size or other elements.
*/
callback?: ResponsiveCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The responsive rule applies if
* the chart height is less than this.
*/
maxHeight?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The responsive rule applies if
* the chart width is less than this.
*/
maxWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The responsive rule applies if
* the chart height is greater than this.
*/
minHeight?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The responsive rule applies if
* the chart width is greater than this.
*/
minWidth?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) A set of rules for responsive
* settings. The rules are executed from the top down.
*/
export interface ResponsiveRulesOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) A full set of chart options to
* apply as overrides to the general chart options. The chart options are
* applied when the given rule is active.
*
* A special case is configuration objects that take arrays, for example
* xAxis, yAxis or series. For these collections, an `id` option is used to
* map the new option set to an existing object. If an existing object of
* the same id is not found, the item of the same index updated. So for
* example, setting `chartOptions` with two series items without an `id`,
* will cause the existing chart's two series to be updated with respective
* options.
*/
chartOptions?: Options;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Under which conditions the rule
* applies.
*/
condition?: ResponsiveRulesConditionOptions;
}
/**
* (Highcharts) A node in a sankey diagram.
*/
export interface SankeyNodeObject extends Point {
/**
* The color of the auto generated node.
*/
color: (ColorString|GradientColorObject|PatternObject);
/**
* The color index of the auto generated node, especially for use in styled
* mode.
*/
colorIndex: number;
/**
* An optional column index of where to place the node. The default
* behaviour is to place it next to the preceding node.
*/
column: number;
/**
* The id of the auto-generated node, refering to the `from` or `to` setting
* of the link.
*/
id: string;
/**
* (Highcharts) The name to display for the node in data labels and
* tooltips. Use this when the name is different from the `id`. Where the id
* must be unique for each node, this is not necessary for the name.
*/
name: string;
/**
* This option is deprecated, use
* Highcharts.SankeyNodeObject#offsetHorizontal and
* Highcharts.SankeyNodeObject#offsetVertical instead.
*
* The vertical offset of a node in terms of weight. Positive values shift
* the node downwards, negative shift it upwards.
*
* If a percentage string is given, the node is offset by the percentage of
* the node size plus `nodePadding`.
*/
offset: (number|string);
/**
* The horizontal offset of a node. Positive values shift the node right,
* negative shift it left.
*
* If a percentage string is given, the node is offset by the percentage of
* the node size.
*/
offsetHorizontal: (number|string);
/**
* The vertical offset of a node. Positive values shift the node down,
* negative shift it up.
*
* If a percentage string is given, the node is offset by the percentage of
* the node size.
*/
offsetVertical: (number|string);
}
/**
* (Highstock, Gantt) The scrollbar is a means of panning over the X axis of a
* stock chart. Scrollbars can also be applied to other types of axes.
*
* Another approach to scrollable charts is the chart.scrollablePlotArea option
* that is especially suitable for simpler cartesian charts on mobile.
*
* In styled mode, all the presentational options for the scrollbar are replaced
* by the classes `.highcharts-scrollbar-thumb`, `.highcharts-scrollbar-arrow`,
* `.highcharts-scrollbar-button`, `.highcharts-scrollbar-rifles` and
* `.highcharts-scrollbar-track`.
*/
export interface ScrollbarOptions {
/**
* (Highstock, Gantt) The background color of the scrollbar itself.
*/
barBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock, Gantt) The color of the scrollbar's border.
*/
barBorderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock, Gantt) The border rounding radius of the bar.
*/
barBorderRadius?: number;
/**
* (Highstock, Gantt) The width of the bar's border.
*/
barBorderWidth?: number;
/**
* (Highstock, Gantt) The color of the small arrow inside the scrollbar
* buttons.
*/
buttonArrowColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock, Gantt) The color of scrollbar buttons.
*/
buttonBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock, Gantt) The color of the border of the scrollbar buttons.
*/
buttonBorderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock, Gantt) The corner radius of the scrollbar buttons.
*/
buttonBorderRadius?: number;
/**
* (Highstock, Gantt) The border width of the scrollbar buttons.
*/
buttonBorderWidth?: number;
/**
* (Highstock, Gantt) Enable or disable the buttons at the end of the
* scrollbar.
*/
buttonsEnabled?: boolean;
/**
* (Highstock, Gantt) Enable or disable the scrollbar.
*/
enabled?: boolean;
/**
* (Highstock, Gantt) The height of the scrollbar. If `buttonsEnabled` is
* true , the height also applies to the width of the scroll arrows so that
* they are always squares.
*/
height?: number;
/**
* (Highstock, Gantt) Whether to redraw the main chart as the scrollbar or
* the navigator zoomed window is moved. Defaults to `true` for modern
* browsers and `false` for legacy IE browsers as well as mobile devices.
*/
liveRedraw?: boolean;
/**
* (Highstock, Gantt) The margin between the scrollbar and its axis when the
* scrollbar is applied directly to an axis, or the navigator in case that
* is enabled. Defaults to 10 for axis, 0 for navigator.
*/
margin?: (number|undefined);
/**
* (Highstock, Gantt) The minimum width of the scrollbar.
*/
minWidth?: number;
/**
* (Highstock, Gantt) The color of the small rifles in the middle of the
* scrollbar.
*/
rifleColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock, Gantt) Whether to show or hide the scrollbar when the
* scrolled content is zoomed out to it full extent.
*/
showFull?: boolean;
/**
* (Highstock, Gantt) The color of the track background.
*/
trackBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock, Gantt) The color of the border of the scrollbar track.
*/
trackBorderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock, Gantt) The corner radius of the border of the scrollbar
* track.
*/
trackBorderRadius?: number;
/**
* (Highstock, Gantt) The width of the border of the scrollbar track.
*/
trackBorderWidth?: number;
/**
* (Highstock, Gantt) The z index of the scrollbar group.
*/
zIndex?: number;
}
/**
* Axis-specific data of a selection.
*/
export interface SelectDataObject {
/**
* The selected Axis.
*/
axis: Axis;
/**
* The maximum axis value, either automatic or set manually.
*/
max: number;
/**
* The minimum axis value, either automatic or set manually.
*/
min: number;
}
/**
* Object for select events. The primary axes are `xAxis[0]` and `yAxis[0]`.
* Remember the unit of a datetime axis is milliseconds since 1970-01-01
* 00:00:00.
*/
export interface SelectEventObject {
/**
* The related browser event.
*/
originalEvent: Event;
/**
* Indicates a reset event to restore default state.
*/
resetSelection?: boolean;
/**
* Arrays containing the axes of each dimension and each axis' min and max
* values.
*/
xAxis: Array<SelectDataObject>;
/**
* Arrays containing the axes of each dimension and each axis' min and max
* values.
*/
yAxis: Array<SelectDataObject>;
}
/**
* (Highstock) Keyboard navigation for a series
*/
export interface SeriesAccessibilityKeyboardNavigationOptionsObject {
/**
* (Highstock) Enable/disable keyboard navigation support for a specific
* series.
*/
enabled?: boolean;
}
/**
* (Highstock) Accessibility options for a series.
*/
export interface SeriesAccessibilityOptionsObject {
/**
* (Highstock) Provide a description of the series, announced to screen
* readers.
*/
description?: string;
/**
* (Highstock) Format to use for describing the data series group to
* assistive technology - including screen readers.
*/
descriptionFormat?: string;
/**
* (Highstock) Enable/disable accessibility functionality for a specific
* series.
*/
enabled?: boolean;
/**
* (Highstock) Expose only the series element to screen readers, not its
* points.
*/
exposeAsGroupOnly?: boolean;
/**
* (Highstock) Keyboard navigation for a series
*/
keyboardNavigation?: SeriesAccessibilityKeyboardNavigationOptionsObject;
/**
* (Highstock) Point accessibility options for a series.
*/
point?: (PlotAbandsAccessibilityPointOptions|PlotAdAccessibilityPointOptions|PlotAoAccessibilityPointOptions|PlotApoAccessibilityPointOptions|PlotArcdiagramAccessibilityPointOptions|
PlotAreaAccessibilityPointOptions|PlotArearangeAccessibilityPointOptions|PlotAreasplineAccessibilityPointOptions|PlotAreasplinerangeAccessibilityPointOptions|PlotAroonAccessibilityPointOptions|
PlotAroonoscillatorAccessibilityPointOptions|PlotAtrAccessibilityPointOptions|PlotBarAccessibilityPointOptions|PlotBbAccessibilityPointOptions|PlotBellcurveAccessibilityPointOptions|
PlotBoxplotAccessibilityPointOptions|PlotBubbleAccessibilityPointOptions|PlotBulletAccessibilityPointOptions|PlotCandlestickAccessibilityPointOptions|PlotCciAccessibilityPointOptions|
PlotChaikinAccessibilityPointOptions|PlotCmfAccessibilityPointOptions|PlotCmoAccessibilityPointOptions|PlotColumnAccessibilityPointOptions|PlotColumnpyramidAccessibilityPointOptions|
PlotColumnrangeAccessibilityPointOptions|PlotCylinderAccessibilityPointOptions|PlotDemaAccessibilityPointOptions|PlotDependencywheelAccessibilityPointOptions|
PlotDisparityindexAccessibilityPointOptions|PlotDmiAccessibilityPointOptions|PlotDpoAccessibilityPointOptions|PlotDumbbellAccessibilityPointOptions|PlotEmaAccessibilityPointOptions|
PlotErrorbarAccessibilityPointOptions|PlotFlagsAccessibilityPointOptions|PlotFlowmapAccessibilityPointOptions|PlotFunnel3dAccessibilityPointOptions|PlotFunnelAccessibilityPointOptions|
PlotGanttAccessibilityPointOptions|PlotGaugeAccessibilityPointOptions|PlotGeoheatmapAccessibilityPointOptions|PlotHeatmapAccessibilityPointOptions|PlotHeikinashiAccessibilityPointOptions|
PlotHistogramAccessibilityPointOptions|PlotHlcAccessibilityPointOptions|PlotHollowcandlestickAccessibilityPointOptions|PlotIkhAccessibilityPointOptions|PlotItemAccessibilityPointOptions|
PlotKeltnerchannelsAccessibilityPointOptions|PlotKlingerAccessibilityPointOptions|PlotLineAccessibilityPointOptions|PlotLinearregressionAccessibilityPointOptions|
PlotLinearregressionangleAccessibilityPointOptions|PlotLinearregressioninterceptAccessibilityPointOptions|PlotLinearregressionslopeAccessibilityPointOptions|PlotLollipopAccessibilityPointOptions|
PlotMacdAccessibilityPointOptions|PlotMapAccessibilityPointOptions|PlotMapbubbleAccessibilityPointOptions|PlotMaplineAccessibilityPointOptions|PlotMappointAccessibilityPointOptions|
PlotMfiAccessibilityPointOptions|PlotMomentumAccessibilityPointOptions|PlotNatrAccessibilityPointOptions|PlotNetworkgraphAccessibilityPointOptions|PlotObvAccessibilityPointOptions|
PlotOhlcAccessibilityPointOptions|PlotOrganizationAccessibilityPointOptions|PlotPackedbubbleAccessibilityPointOptions|PlotParetoAccessibilityPointOptions|PlotPcAccessibilityPointOptions|
PlotPictorialAccessibilityPointOptions|PlotPieAccessibilityPointOptions|PlotPivotpointsAccessibilityPointOptions|PlotPolygonAccessibilityPointOptions|PlotPpoAccessibilityPointOptions|
PlotPriceenvelopesAccessibilityPointOptions|PlotPsarAccessibilityPointOptions|PlotPyramid3dAccessibilityPointOptions|PlotPyramidAccessibilityPointOptions|PlotRocAccessibilityPointOptions|
PlotRsiAccessibilityPointOptions|PlotSankeyAccessibilityPointOptions|PlotScatter3dAccessibilityPointOptions|PlotScatterAccessibilityPointOptions|PlotSeriesAccessibilityPointOptions|
PlotSlowstochasticAccessibilityPointOptions|PlotSmaAccessibilityPointOptions|PlotSolidgaugeAccessibilityPointOptions|PlotSplineAccessibilityPointOptions|PlotStochasticAccessibilityPointOptions|
PlotStreamgraphAccessibilityPointOptions|PlotSunburstAccessibilityPointOptions|PlotSupertrendAccessibilityPointOptions|PlotTemaAccessibilityPointOptions|PlotTiledwebmapAccessibilityPointOptions|
PlotTilemapAccessibilityPointOptions|PlotTimelineAccessibilityPointOptions|PlotTreegraphAccessibilityPointOptions|PlotTreemapAccessibilityPointOptions|PlotTrendlineAccessibilityPointOptions|
PlotTrixAccessibilityPointOptions|PlotVariablepieAccessibilityPointOptions|PlotVariwideAccessibilityPointOptions|PlotVbpAccessibilityPointOptions|PlotVectorAccessibilityPointOptions|
PlotVennAccessibilityPointOptions|PlotVwapAccessibilityPointOptions|PlotWaterfallAccessibilityPointOptions|PlotWilliamsrAccessibilityPointOptions|PlotWindbarbAccessibilityPointOptions|
PlotWmaAccessibilityPointOptions|PlotWordcloudAccessibilityPointOptions|PlotXrangeAccessibilityPointOptions|PlotZigzagAccessibilityPointOptions);
}
/**
* Event information regarding completed animation of a series.
*/
export interface SeriesAfterAnimateEventObject {
/**
* Animated series.
*/
target: Series;
/**
* Event type.
*/
type: "afterAnimate";
}
/**
* (Highstock) An `AO` series. If the type option is not specified, it is
* inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `ao` series are defined in plotOptions.ao.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesAoOptions` via an interface to allow custom
* properties: ``` declare interface SeriesAoOptions { customProperty: string; }
*
*/
export interface SeriesAoOptions extends PlotAoOptions, SeriesOptions {
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "ao";
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the data labels
* appearing on top of the nodes and links. For arc diagram charts, data labels
* are visible for the nodes by default, but hidden for links. This is
* controlled by modifying the `nodeFormat`, and the `format` that applies to
* links and is an empty string by default.
*/
export interface SeriesArcDiagramDataLabelsOptionsObject {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotArcdiagramDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: SeriesSankeyDataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a _link_ label text
* which should follow link connection. Border and background are disabled
* for a label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
linkTextPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The format string specifying
* what to show for _nodes_ in the sankey diagram. By default the
* `nodeFormatter` returns `{point.name}`.
*/
nodeFormat?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback to format data labels
* for _nodes_ in the sankey diagram. The `nodeFormat` option takes
* precedence over the `nodeFormatter`.
*/
nodeFormatter?: SeriesSankeyDataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highcharts) An `arcdiagram` series. If the type option is not specified, it
* is inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `arcdiagram` series are defined in plotOptions.arcdiagram.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesArcdiagramOptions` via an interface to allow
* custom properties: ``` declare interface SeriesArcdiagramOptions {
* customProperty: string; }
*
*/
export interface SeriesArcdiagramOptions extends PlotArcdiagramOptions, SeriesOptions {
/**
* Not available
*/
centerInCategory?: undefined;
/**
* Not available
*/
curveFactor?: undefined;
/**
* (Highcharts) An array of data points for the series. For the `arcdiagram`
* series type, points can be given in the following way:
*
* An array of objects with named values. The following snippet shows only a
* few settings, see the complete options set below. If the total number of
* data points exceeds the series' turboThreshold, this option is not
* available. (see online documentation for example)
*/
data?: Array<SeriesSankeyPointOptionsObject>;
/**
* (Highcharts) The radius of the link arc. If not set, series renders a
* semi-circle between the nodes, except when overflowing the edge of the
* plot area, in which case an arc touching the edge is rendered. If
* `linkRadius` is set, an arc extending to the given value is rendered.
*/
linkRadius?: number;
/**
* (Highcharts) The global link weight, in pixels. If not set, width is
* calculated per link, depending on the weight value.
*/
linkWeight?: number;
/**
* Not available
*/
nodePadding?: undefined;
/**
* (Highcharts) A collection of options for the individual nodes. The nodes
* in an arc diagram are auto-generated instances of `Highcharts.Point`, but
* options can be applied here and linked by the `id`.
*/
nodes?: Array<SeriesSankeyNodesOptionsObject>;
/**
* (Highcharts) The offset of an arc diagram nodes column in relation to the
* `plotArea`. The offset equal to 50% places nodes in the center of a
* chart. By default the series is placed so that the biggest node is
* touching the bottom border of the `plotArea`.
*/
offset?: string;
/**
* Not available
*/
stack?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "arcdiagram";
/**
* Not available
*/
xAxis?: undefined;
/**
* Not available
*/
yAxis?: undefined;
}
/**
* (Highcharts, Highstock) A `area` series. If the type option is not specified,
* it is inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `area` series are defined in plotOptions.area.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesAreaOptions` via an interface to allow custom
* properties: ``` declare interface SeriesAreaOptions { customProperty: string;
* }
*
*/
export interface SeriesAreaOptions extends PlotAreaOptions, SeriesOptions {
/**
* (Highcharts, Highstock) An array of data points for the series. For the
* `area` series type, points can be given in the following ways:
*
* 1. An array of numerical values. In this case, the numerical values will
* be interpreted as `y` options. The `x` values will be automatically
* calculated, either starting at 0 and incremented by 1, or from
* `pointStart` * and `pointInterval` given in the series options. If the
* axis has categories, these will be used. Example: (see online
* documentation for example)
*
* 2. An array of arrays with 2 values. In this case, the values correspond
* to `x,y`. If the first value is a string, it is applied as the name of
* the point, and the `x` value is inferred. (see online documentation for
* example)
*
* 3. An array of objects with named values. The following snippet shows
* only a few settings, see the complete options set below. If the total
* number of data points exceeds the series' turboThreshold, this option is
* not available. (see online documentation for example)
*/
data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "area";
/**
* Not available
*/
useOhlcData?: undefined;
}
/**
* (Highcharts, Highstock) Extended data labels for range series types. Range
* series data labels use no `x` and `y` options. Instead, they have `xLow`,
* `xHigh`, `yLow` and `yHigh` options to allow the higher and lower data label
* sets individually.
*/
export interface SeriesAreaRangeDataLabelsOptionsObject {
/**
* (Highcharts, Highstock) The alignment of the data label compared to the
* point. If `right`, the right side of the label should be touching the
* point. For points with an extent, like columns, the alignments also
* dictates how to align it inside the box, as given with the inside option.
* Can be one of `left`, `center` or `right`.
*/
align?: string;
/**
* (Highcharts, Highstock) Whether to allow data labels to overlap. To make
* the labels less sensitive for overlapping, the dataLabels.padding can be
* set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock) Enable or disable the initial animation when a
* series is displayed for the `dataLabels`. The animation can also be set
* as a configuration object. Please note that this option only applies to
* the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotArearangeDataLabelsAnimationOptions|PlotAreasplinerangeDataLabelsAnimationOptions|PlotColumnrangeDataLabelsAnimationOptions|PlotDumbbellDataLabelsAnimationOptions|
PlotLollipopDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock) The background color or gradient for the data
* label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock) The border color for the data label. Setting it
* to `auto` will use the point's color. Defaults to `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock) The border radius in pixels for the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock) The border width in pixels for the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock) A class name for the data label. Particularly in
* styled mode, this can be used to give each series' or point's data label
* unique styling. In addition to this option, a default color class name is
* added so that we can give the labels a contrast text shadow.
*/
className?: string;
/**
* (Highcharts, Highstock) This options is deprecated. Use style.color
* instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock) Whether to hide data labels that are outside the
* plot area. By default, the data label is moved inside the plot area
* according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock) Enable or disable the data labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) A declarative filter to control of which data
* labels to display. The declarative filter is designed for use when
* callback functions are not available, like when the chart options require
* a pure JSON structure or for use with graphical editors. For programmatic
* control, use the `formatter` instead, and return `undefined` to disable a
* single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock) A format string for the data label. Available
* variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock) Callback JavaScript function to format the data
* label. Note that if a `format` is defined, the format takes precedence
* and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock) For points with an extent, like columns or map
* areas, whether to align the data label inside the box or to the actual
* value point. Defaults to `false` in most cases, `true` in stacked
* columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock) Format for points with the value of null. Works
* analogously to format. `nullFormat` can be applied only to series which
* support displaying null points i.e `heatmap` or `tilemap`. Does not work
* with series that don't display null points, like `line`, `column`, `bar`
* or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock) Callback JavaScript function that defines
* formatting for points with the value of null. Works analogously to
* formatter. `nullFormatter` can be applied only to series which support
* displaying null points i.e `heatmap` or `tilemap`. Does not work with
* series that don't display null points, like `line`, `column`, `bar` or
* `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock) How to handle data labels that flow outside the
* plot area. The default is `"justify"`, which aligns them inside the plot
* area. For columns and bars, this means it will be moved inside the bar.
* To display data labels outside the plot area, set `crop` to `false` and
* `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock) When either the `borderWidth` or the
* `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock) Aligns data labels relative to points. If
* `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock) Text rotation in degrees. Note that due to a more
* complex structure, backgrounds, borders and padding will be lost on a
* rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock) The shadow of the box. Works best with
* `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be an object
* configuration containing `color`, `offsetX`, `offsetY`, `opacity` and
* `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock) The name of a symbol to use for the border around
* the label. Symbols are predefined functions on the Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock) Styles for the label. The default `color` setting
* is `"contrast"`, which is a pseudo color that Highcharts picks up and
* applies the maximum contrast to the underlying point item, for example
* the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock) Options for a label text which should follow
* marker's shape. Border and background are disabled for a label that
* follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock) Whether to use HTML to render the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock) The vertical alignment of a data label. Can be
* one of `top`, `middle` or `bottom`. The default value depends on the
* data, for instance in a column chart, the label is above positive values
* and below negative values.
*/
verticalAlign?: string;
/**
* (Highcharts, Highstock) The x position offset of the label relative to
* the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock) X offset of the higher data labels relative to
* the point value.
*/
xHigh?: number;
/**
* (Highcharts, Highstock) X offset of the lower data labels relative to the
* point value.
*/
xLow?: number;
/**
* (Highcharts, Highstock) The y position offset of the label relative to
* the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock) Y offset of the higher data labels relative to
* the point value.
*/
yHigh?: number;
/**
* (Highcharts, Highstock) Y offset of the lower data labels relative to the
* point value.
*/
yLow?: number;
/**
* (Highcharts, Highstock) The z index of the data labels. Use a `zIndex` of
* 6 to display it above the series, or use a `zIndex` of 2 to display it
* behind the series.
*/
zIndex?: number;
}
/**
* (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
* series is displayed for the `dataLabels`. The animation can also be set as a
* configuration object. Please note that this option only applies to the
* initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface SeriesAreasplineDataDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
* Set to `0` to render the data labels immediately. As `undefined` inherits
* defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Enable or disable the initial animation when a series
* is displayed for the `dataLabels`. The animation can also be set as a
* configuration object. Please note that this option only applies to the
* initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface SeriesAreasplinerangeDataDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock) The animation delay time in milliseconds. Set to
* `0` to render the data labels immediately. As `undefined` inherits defer
* time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highstock) A Aroon indicator. If the type option is not specified, it is
* inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `aroon` series are defined in plotOptions.aroon.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesAroonOptions` via an interface to allow custom
* properties: ``` declare interface SeriesAroonOptions { customProperty:
* string; }
*
*/
export interface SeriesAroonOptions extends PlotAroonOptions, SeriesOptions {
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "aroon";
}
/**
* (Highstock) A `ATR` series. If the type option is not specified, it is
* inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `atr` series are defined in plotOptions.atr.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesAtrOptions` via an interface to allow custom
* properties: ``` declare interface SeriesAtrOptions { customProperty: string;
* }
*
*/
export interface SeriesAtrOptions extends PlotAtrOptions, SeriesOptions {
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "atr";
}
/**
* (Highcharts) A `bar` series. If the type option is not specified, it is
* inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `bar` series are defined in plotOptions.bar.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesBarOptions` via an interface to allow custom
* properties: ``` declare interface SeriesBarOptions { customProperty: string;
* }
*
*/
export interface SeriesBarOptions extends PlotBarOptions, SeriesOptions {
/**
* (Highcharts) An array of data points for the series. For the `bar` series
* type, points can be given in the following ways:
*
* 1. An array of numerical values. In this case, the numerical values will
* be interpreted as `y` options. The `x` values will be automatically
* calculated, either starting at 0 and incremented by 1, or from
* `pointStart` and `pointInterval` given in the series options. If the axis
* has categories, these will be used. Example: (see online documentation
* for example)
*
* 2. An array of arrays with 2 values. In this case, the values correspond
* to `x,y`. If the first value is a string, it is applied as the name of
* the point, and the `x` value is inferred. (see online documentation for
* example)
*
* 3. An array of objects with named values. The following snippet shows
* only a few settings, see the complete options set below. If the total
* number of data points exceeds the series' turboThreshold, this option is
* not available. (see online documentation for example)
*/
data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "bar";
}
/**
* (Highcharts) A `bellcurve` series. If the type option is not specified, it is
* inherited from chart.type.
*
* For options that apply to multiple series, it is recommended to add them to
* the plotOptions.series options structure. To apply to all series of this
* specific type, apply it to plotOptions.bellcurve.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `bellcurve` series are defined in plotOptions.bellcurve.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesBellcurveOptions` via an interface to allow
* custom properties: ``` declare interface SeriesBellcurveOptions {
* customProperty: string; }
*
*/
export interface SeriesBellcurveOptions extends PlotBellcurveOptions, SeriesOptions {
/**
* (Highcharts) An integer identifying the index to use for the base series,
* or a string representing the id of the series.
*/
baseSeries?: (number|string);
/**
* Not available
*/
data?: undefined;
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "bellcurve";
}
/**
* (Highcharts) A `boxplot` series. If the type option is not specified, it is
* inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `boxplot` series are defined in plotOptions.boxplot.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesBoxplotOptions` via an interface to allow
* custom properties: ``` declare interface SeriesBoxplotOptions {
* customProperty: string; }
*
*/
export interface SeriesBoxplotOptions extends PlotBoxplotOptions, SeriesOptions {
/**
* (Highcharts) An array of data points for the series. For the `boxplot`
* series type, points can be given in the following ways:
*
* 1. An array of arrays with 6 or 5 values. In this case, the values
* correspond to `x,low,q1,median,q3,high`. If the first value is a string,
* it is applied as the name of the point, and the `x` value is inferred.
* The `x` value can also be omitted, in which case the inner arrays should
* be of length 5. Then the `x` value is automatically calculated, either
* starting at 0 and incremented by 1, or from `pointStart` and
* `pointInterval` given in the series options. (see online documentation
* for example)
*
* 2. An array of objects with named values. The following snippet shows
* only a few settings, see the complete options set below. If the total
* number of data points exceeds the series' turboThreshold, this option is
* not available. (see online documentation for example)
*/
data?: Array<([(number|string), number, number, number, number]|[(number|string), number, number, number, number, number]|PointOptionsObject)>;
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* Not available
*/
stack?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "boxplot";
}
/**
* (Highcharts, Highstock) A `bubble` series. If the type option is not
* specified, it is inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `bubble` series are defined in plotOptions.bubble.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesBubbleOptions` via an interface to allow custom
* properties: ``` declare interface SeriesBubbleOptions { customProperty:
* string; }
*
*/
export interface SeriesBubbleOptions extends PlotBubbleOptions, SeriesOptions {
/**
* (Highcharts) An array of data points for the series. For the `bubble`
* series type, points can be given in the following ways:
*
* 1. An array of arrays with 3 or 2 values. In this case, the values
* correspond to `x,y,z`. If the first value is a string, it is applied as
* the name of the point, and the `x` value is inferred. The `x` value can
* also be omitted, in which case the inner arrays should be of length 2\.
* Then the `x` value is automatically calculated, either starting at 0 and
* incremented by 1, or from `pointStart` and `pointInterval` given in the
* series options. (see online documentation for example)
*
* 2. An array of objects with named values. The following snippet shows
* only a few settings, see the complete options set below. If the total
* number of data points exceeds the series' turboThreshold, this option is
* not available. (see online documentation for example)
*/
data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* Not available
*/
stack?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "bubble";
}
/**
* (Highcharts) Individual target options for each point.
*/
export interface SeriesBulletDataTargetOptions {
/**
* (Highcharts) The border color of the rectangle representing the target.
* When not set, the point's border color is used.
*
* In styled mode, use class `highcharts-bullet-target` instead.
*/
borderColor?: ColorString;
/**
* (Highcharts) The border radius of the rectangle representing the target.
*/
borderRadius?: number;
/**
* (Highcharts) The border width of the rectangle representing the target.
*
* In styled mode, use class `highcharts-bullet-target` instead.
*/
borderWidth?: number;
/**
* (Highcharts) The color of the rectangle representing the target. When not
* set, point's color (if set in point's options - `color`) or zone of the
* target value (if `zones` or `negativeColor` are set) or the same color as
* the point has is used.
*
* In styled mode, use class `highcharts-bullet-target` instead.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) The height of the rectangle representing the target.
*/
height?: number;
/**
* (Highcharts) The width of the rectangle representing the target. Could be
* set as a pixel value or as a percentage of a column width.
*/
width?: (number|string);
}
/**
* (Highcharts, Highstock) Enable or disable the initial animation when a series
* is displayed for the `dataLabels`. The animation can also be set as a
* configuration object. Please note that this option only applies to the
* initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface SeriesCandlestickDataDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock) The animation delay time in milliseconds. Set to
* `0` to render the data labels immediately. As `undefined` inherits defer
* time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highstock) A `CCI` series. If the type option is not specified, it is
* inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `cci` series are defined in plotOptions.cci.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesCciOptions` via an interface to allow custom
* properties: ``` declare interface SeriesCciOptions { customProperty: string;
* }
*
*/
export interface SeriesCciOptions extends PlotCciOptions, SeriesOptions {
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "cci";
}
/**
* Event information regarding check of a series box.
*/
export interface SeriesCheckboxClickEventObject {
/**
* Whether the box has been checked.
*/
checked: boolean;
/**
* Related series.
*/
item: Series;
/**
* Related series.
*/
target: Series;
/**
* Event type.
*/
type: "checkboxClick";
}
/**
* Common information for a click event on a series.
*/
export interface SeriesClickEventObject extends Event {
/**
* Nearest point on the graph.
*/
point: Point;
}
/**
* (Highstock) A `CMF` series. If the type option is not specified, it is
* inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `cmf` series are defined in plotOptions.cmf.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesCmfOptions` via an interface to allow custom
* properties: ``` declare interface SeriesCmfOptions { customProperty: string;
* }
*
*/
export interface SeriesCmfOptions extends PlotCmfOptions, SeriesOptions {
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "cmf";
}
/**
* (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
* series is displayed for the `dataLabels`. The animation can also be set as a
* configuration object. Please note that this option only applies to the
* initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface SeriesColumnDataDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
* Set to `0` to render the data labels immediately. As `undefined` inherits
* defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
* series is displayed for the `dataLabels`. The animation can also be set as a
* configuration object. Please note that this option only applies to the
* initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface SeriesColumnpyramidDataDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
* Set to `0` to render the data labels immediately. As `undefined` inherits
* defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Enable or disable the initial animation when a series
* is displayed for the `dataLabels`. The animation can also be set as a
* configuration object. Please note that this option only applies to the
* initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface SeriesColumnrangeDataDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock) The animation delay time in milliseconds. Set to
* `0` to render the data labels immediately. As `undefined` inherits defer
* time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Gantt) Override Pathfinder connector options for a series. Requires
* Highcharts Gantt to be loaded.
*/
export interface SeriesConnectorsOptionsObject {
animation?: ConnectorsAnimationOptionsObject;
/**
* (Gantt) Set the default dash style for this chart's connecting lines.
*/
dashStyle?: string;
/**
* (Gantt) Marker options specific to the end markers for this chart's
* Pathfinder connectors. Overrides the generic marker options.
*/
endMarker?: ConnectorsEndMarkerOptions;
/**
* (Gantt) Set the default color for this chart's Pathfinder connecting
* lines. Defaults to the color of the point being connected.
*/
lineColor?: ColorString;
/**
* (Gantt) Set the default pixel width for this chart's Pathfinder
* connecting lines.
*/
lineWidth?: number;
/**
* (Gantt) Marker options for this chart's Pathfinder connectors. Note that
* this option is overridden by the `startMarker` and `endMarker` options.
*/
marker?: ConnectorsMarkerOptions;
/**
* (Gantt) The corner radius for the connector line.
*/
radius?: number;
/**
* (Gantt) Marker options specific to the start markers for this chart's
* Pathfinder connectors. Overrides the generic marker options.
*/
startMarker?: ConnectorsStartMarkerOptions;
/**
* (Gantt) Set the default pathfinder algorithm to use for this chart. It is
* possible to define your own algorithms by adding them to the
* Highcharts.Pathfinder.prototype.algorithms object before the chart has
* been created.
*
* The default algorithms are as follows:
*
* `straight`: Draws a straight line between the connecting points. Does not
* avoid other points when drawing.
*
* `simpleConnect`: Finds a path between the points using right angles only.
* Takes only starting/ending points into account, and will not avoid other
* points.
*
* `fastAvoid`: Finds a path between the points using right angles only.
* Will attempt to avoid other points, but its focus is performance over
* accuracy. Works well with less dense datasets.
*
* Default value: `straight` is used as default for most series types, while
* `simpleConnect` is used as default for Gantt series, to show dependencies
* between points.
*/
type?: (string|PathfinderTypeValue);
}
/**
* (Highcharts) A `cylinder` series. If the type option is not specified, it is
* inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `cylinder` series are defined in plotOptions.cylinder.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesCylinderOptions` via an interface to allow
* custom properties: ``` declare interface SeriesCylinderOptions {
* customProperty: string; }
*
*/
export interface SeriesCylinderOptions extends PlotCylinderOptions, SeriesOptions {
/**
* (Highcharts, Highstock) An array of data points for the series. For the
* `cylinder` series type, points can be given in the following ways:
*
* 1. An array of numerical values. In this case, the numerical values will
* be interpreted as `y` options. The `x` values will be automatically
* calculated, either starting at 0 and incremented by 1, or from
* `pointStart` and `pointInterval` given in the series options. If the axis
* has categories, these will be used. Example: (see online documentation
* for example)
*
* 2. An array of arrays with 2 values. In this case, the values correspond
* to `x,y`. If the first value is a string, it is applied as the name of
* the point, and the `x` value is inferred. (see online documentation for
* example)
*
* 3. An array of objects with named values. The following snippet shows
* only a few settings, see the complete options set below. If the total
* number of data points exceeds the series' turboThreshold, this option is
* not available. (see online documentation for example)
*/
data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "cylinder";
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation can
* also be set as a configuration object. Please note that this option only
* applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface SeriesDependencywheelNodesDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highstock) The Disparity Index indicator series. If the type option is not
* specified, it is inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `disparityindex` series are defined in
* plotOptions.disparityindex.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesDisparityindexOptions` via an interface to
* allow custom properties: ``` declare interface SeriesDisparityindexOptions {
* customProperty: string; }
*
*/
export interface SeriesDisparityindexOptions extends PlotDisparityindexOptions, SeriesOptions {
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "disparityindex";
}
/**
* (Highstock) A Detrended Price Oscillator. If the type option is not
* specified, it is inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `dpo` series are defined in plotOptions.dpo.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesDpoOptions` via an interface to allow custom
* properties: ``` declare interface SeriesDpoOptions { customProperty: string;
* }
*
*/
export interface SeriesDpoOptions extends PlotDpoOptions, SeriesOptions {
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "dpo";
}
/**
* (Highcharts, Highstock, Gantt) The draggable-points module allows points to
* be moved around or modified in the chart. In addition to the options
* mentioned under the `dragDrop` API structure, the module fires three events,
* point.dragStart, point.drag and point.drop.
*/
export interface SeriesDragDropOptionsObject {
/**
* (Highstock) Allow close value to be dragged individually.
*/
draggableClose?: boolean;
/**
* (Gantt) Allow end value to be dragged individually.
*/
draggableEnd?: boolean;
/**
* (Highstock) Allow high value to be dragged individually.
*/
draggableHigh?: boolean;
/**
* (Highstock) Allow low value to be dragged individually.
*/
draggableLow?: boolean;
/**
* (Highstock) Allow open value to be dragged individually.
*/
draggableOpen?: boolean;
/**
* (Highcharts) Allow Q1 value to be dragged individually.
*/
draggableQ1?: boolean;
/**
* (Highcharts) Allow Q3 value to be dragged individually.
*/
draggableQ3?: boolean;
/**
* (Gantt) Allow start value to be dragged individually.
*/
draggableStart?: boolean;
/**
* (Highcharts) Allow target value to be dragged individually.
*/
draggableTarget?: boolean;
/**
* (Highcharts, Highstock, Gantt) Enable dragging in the X dimension.
*/
draggableX?: boolean;
/**
* (Highcharts, Highstock, Gantt) Allow x value to be dragged individually.
*/
draggableX1?: boolean;
/**
* (Highcharts, Highstock, Gantt) Allow x2 value to be dragged individually.
*/
draggableX2?: boolean;
/**
* (Highcharts, Highstock, Gantt) Enable dragging in the Y dimension. Note
* that this is not supported for TreeGrid axes (the default axis type in
* Gantt charts).
*/
draggableY?: boolean;
/**
* (Highcharts, Highstock, Gantt) Options for the drag handles available in
* column series.
*/
dragHandle?: DragDropHandleOptionsObject;
/**
* (Highcharts, Highstock, Gantt) Set the maximum X value the points can be
* moved to.
*/
dragMaxX?: number;
/**
* (Highcharts, Highstock, Gantt) Set the maximum Y value the points can be
* moved to.
*/
dragMaxY?: number;
/**
* (Highcharts, Highstock, Gantt) Set the minimum X value the points can be
* moved to.
*/
dragMinX?: number;
/**
* (Highcharts, Highstock, Gantt) Set the minimum Y value the points can be
* moved to.
*/
dragMinY?: number;
/**
* (Highcharts, Highstock, Gantt) The X precision value to drag to for this
* series. Set to 0 to disable. By default this is disabled, except for
* category axes, where the default is `1`.
*/
dragPrecisionX?: number;
/**
* (Highcharts, Highstock, Gantt) The Y precision value to drag to for this
* series. Set to 0 to disable. By default this is disabled, except for
* category axes, where the default is `1`.
*/
dragPrecisionY?: number;
/**
* (Highcharts, Highstock, Gantt) The amount of pixels to drag the pointer
* before it counts as a drag operation. This prevents drag/drop to fire
* when just clicking or selecting points.
*/
dragSensitivity?: number;
/**
* (Highcharts, Highstock, Gantt) Group the points by a property. Points
* with the same property value will be grouped together when moving.
*/
groupBy?: string;
/**
* (Highcharts, Highstock, Gantt) Style options for the guide box. The guide
* box has one state by default, the `default` state.
*/
guideBox?: (PlotOptionsSeriesDragDropGuideBoxOptions|Dictionary<DragDropGuideBoxOptionsObject>);
/**
* (Highcharts, Highstock, Gantt) Update points as they are dragged. If
* false, a guide box is drawn to illustrate the new point size.
*/
liveRedraw?: boolean;
}
/**
* (Highcharts, Highstock) The `dumbbell` series. If the type option is not
* specified, it is inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `dumbbell` series are defined in plotOptions.dumbbell.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesDumbbellOptions` via an interface to allow
* custom properties: ``` declare interface SeriesDumbbellOptions {
* customProperty: string; }
*
*/
export interface SeriesDumbbellOptions extends PlotDumbbellOptions, SeriesOptions {
/**
* (Highcharts, Highstock) An array of data points for the series. For the
* `dumbbell` series type, points can be given in the following ways:
*
* 1. An array of arrays with 3 or 2 values. In this case, the values
* correspond to `x,low,high`. If the first value is a string, it is applied
* as the name of the point, and the `x` value is inferred. The `x` value
* can also be omitted, in which case the inner arrays should be of length
* 2\. Then the `x` value is automatically calculated, either starting at 0
* and incremented by 1, or from `pointStart` and `pointInterval` given in
* the series options. (see online documentation for example)
*
* 2. An array of objects with named values. The following snippet shows
* only a few settings, see the complete options set below. If the total
* number of data points exceeds the series' turboThreshold, this option is
* not available. (see online documentation for example)
*/
data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "dumbbell";
}
/**
* (Highcharts) A `errorbar` series. If the type option is not specified, it is
* inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `errorbar` series are defined in plotOptions.errorbar.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesErrorbarOptions` via an interface to allow
* custom properties: ``` declare interface SeriesErrorbarOptions {
* customProperty: string; }
*
*/
export interface SeriesErrorbarOptions extends PlotErrorbarOptions, SeriesOptions {
/**
* (Highcharts) An array of data points for the series. For the `errorbar`
* series type, points can be given in the following ways:
*
* 1. An array of arrays with 3 or 2 values. In this case, the values
* correspond to `x,low,high`. If the first value is a string, it is applied
* as the name of the point, and the `x` value is inferred. The `x` value
* can also be omitted, in which case the inner arrays should be of length
* 2\. Then the `x` value is automatically calculated, either starting at 0
* and incremented by 1, or from `pointStart` and `pointInterval` given in
* the series options. (see online documentation for example)
*
* 2. An array of objects with named values. The following snippet shows
* only a few settings, see the complete options set below. If the total
* number of data points exceeds the series' turboThreshold, this option is
* not available. (see online documentation for example)
*/
data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* Not available
*/
stack?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "errorbar";
}
/**
* (Highstock) General event handlers for the series items. These event hooks
* can also be attached to the series at run time using the
* `Highcharts.addEvent` function.
*/
export interface SeriesEventsOptionsObject {
/**
* (Highcharts, Highstock, Gantt) Fires after the series has finished its
* initial animation, or in case animation is disabled, immediately as the
* series is displayed.
*/
afterAnimate?: SeriesAfterAnimateCallbackFunction;
/**
* (Highstock) Fires when the checkbox next to the series' name in the
* legend is clicked. One parameter, `event`, is passed to the function. The
* state of the checkbox is found by `event.checked`. The checked item is
* found by `event.item`. Return `false` to prevent the default action which
* is to toggle the select state of the series.
*/
checkboxClick?: (Function|SeriesCheckboxClickCallbackFunction);
/**
* (Highstock) Fires when the series is clicked. One parameter, `event`, is
* passed to the function, containing common event information.
* Additionally, `event.point` holds a pointer to the nearest point on the
* graph.
*/
click?: SeriesClickCallbackFunction;
/**
* (Highstock) Fires when the series is hidden after chart generation time,
* either by clicking the legend item or by calling `.hide()`.
*/
hide?: SeriesHideCallbackFunction;
/**
* (Highstock) Fires when the legend item belonging to the series is
* clicked. One parameter, `event`, is passed to the function. The default
* action is to toggle the visibility of the series. This can be prevented
* by returning `false` or calling `event.preventDefault()`.
*/
legendItemClick?: SeriesLegendItemClickCallbackFunction;
/**
* (Highstock) Fires when the mouse leaves the graph. One parameter,
* `event`, is passed to the function, containing common event information.
* If the stickyTracking option is true, `mouseOut` doesn't happen before
* the mouse enters another graph or leaves the plot area.
*/
mouseOut?: SeriesMouseOutCallbackFunction;
/**
* (Highstock) Fires when the mouse enters the graph. One parameter,
* `event`, is passed to the function, containing common event information.
*/
mouseOver?: SeriesMouseOverCallbackFunction;
/**
* (Highcharts) Fires on a request for change of root node for the tree,
* before the update is made. An event object is passed to the function,
* containing additional properties `newRootId`, `previousRootId`, `redraw`
* and `trigger`.
*/
setRootNode?: Function;
/**
* (Highstock) Fires when the series is shown after chart generation time,
* either by clicking the legend item or by calling `.show()`.
*/
show?: SeriesShowCallbackFunction;
}
/**
* (Highmaps) Specifying a `markerEnd` here will create an arrow symbol
* indicating the direction of flow at the destination of one individual link.
* If one has been previously specified at the higher level option it will be
* overridden for the current link.
*/
export interface SeriesFlowmapDataMarkerEndOptions {
/**
* (Highmaps) Enable or disable the `markerEnd`.
*/
enabled?: boolean;
/**
* (Highmaps) Height of the `markerEnd`. Can be a number in pixels or a
* percentage based on the weight of the link.
*/
height?: (number|string);
/**
* (Highmaps) Change the shape of the `markerEnd`. Can be `arrow` or
* `mushroom`.
*/
markerType?: string;
/**
* (Highmaps) Width of the `markerEnd`. Can be a number in pixels or a
* percentage based on the weight of the link.
*/
width?: (number|string);
}
/**
* (Highmaps) A `flowmap` series. If the type option is not specified, it is
* inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `flowmap` series are defined in plotOptions.flowmap.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesFlowmapOptions` via an interface to allow
* custom properties: ``` declare interface SeriesFlowmapOptions {
* customProperty: string; }
*
*/
export interface SeriesFlowmapOptions extends PlotFlowmapOptions, SeriesOptions {
/**
* Not available
*/
affectsMapView?: undefined;
/**
* (Highmaps) An array of data points for the series. For the `flowmap`
* series type, points can be given in the following ways:
*
* 1. An array of arrays with options as values. In this case, the values
* correspond to `from, to, weight`. Example: (see online documentation for
* example)
*
* 2. An array of objects with named values. The following snippet shows
* only a few settings, see the complete options set below. (see online
* documentation for example)
*
* 3. For objects with named values, instead of using the `mappoint` `id`,
* you can use `[longitude, latitude]` arrays. (see online documentation for
* example)
*/
data?: Array<(number|null|SeriesFlowmapDataOptions)>;
/**
* Not available
*/
mapData?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "flowmap";
}
/**
* (Highmaps) A `markerEnd` creates an arrow symbol indicating the direction of
* flow at the destination. Specifying a `markerEnd` here will create one for
* each link.
*/
export interface SeriesFlowMapSeriesOptionsObject {
/**
* (Highmaps) Enable or disable the `markerEnd`.
*/
enabled?: boolean;
/**
* (Highmaps) Height of the `markerEnd`. Can be a number in pixels or a
* percentage based on the weight of the link.
*/
height?: (number|string);
/**
* (Highmaps) Change the shape of the `markerEnd`. Can be `arrow` or
* `mushroom`.
*/
markerType?: string;
/**
* (Highmaps) Width of the `markerEnd`. Can be a number in pixels or a
* percentage based on the weight of the link.
*/
width?: (number|string);
}
/**
* (Highcharts) A `funnel3d` series. If the type option is not specified, it is
* inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `funnel3d` series are defined in plotOptions.funnel3d.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesFunnel3dOptions` via an interface to allow
* custom properties: ``` declare interface SeriesFunnel3dOptions {
* customProperty: string; }
*
*/
export interface SeriesFunnel3dOptions extends PlotFunnel3dOptions, SeriesOptions {
/**
* (Highcharts) An array of data points for the series. For the `funnel3d`
* series type, points can be given in the following ways:
*
* 1. An array of numerical values. In this case, the numerical values will
* be interpreted as `y` options. The `x` values will be automatically
* calculated, either starting at 0 and incremented by 1, or from
* `pointStart` and `pointInterval` given in the series options. If the axis
* has categories, these will be used. Example: (see online documentation
* for example)
*
* 2. An array of objects with named values. The following snippet shows
* only a few settings, see the complete options set below. If the total
* number of data points exceeds the series' turboThreshold, this option is
* not available. (see online documentation for example)
*/
data?: Array<(number|Array<number>|PointOptionsObject)>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "funnel3d";
}
/**
* (Highcharts) A `funnel` series. If the type option is not specified, it is
* inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `funnel` series are defined in plotOptions.funnel.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesFunnelOptions` via an interface to allow custom
* properties: ``` declare interface SeriesFunnelOptions { customProperty:
* string; }
*
*/
export interface SeriesFunnelOptions extends PlotFunnelOptions, SeriesOptions {
/**
* (Highcharts) An array of data points for the series. For the `funnel`
* series type, points can be given in the following ways:
*
* 1. An array of numerical values. In this case, the numerical values will
* be interpreted as `y` options. Example: (see online documentation for
* example)
*
* 2. An array of objects with named values. The following snippet shows
* only a few settings, see the complete options set below. If the total
* number of data points exceeds the series' turboThreshold, this option is
* not available. (see online documentation for example)
*/
data?: Array<(number|null|PointOptionsObject)>;
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* Not available
*/
stack?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "funnel";
/**
* Not available
*/
xAxis?: undefined;
/**
* Not available
*/
yAxis?: undefined;
}
/**
* (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
* series is displayed for the `dataLabels`. The animation can also be set as a
* configuration object. Please note that this option only applies to the
* initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface SeriesGaugeDataDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
* Set to `0` to render the data labels immediately. As `undefined` inherits
* defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highmaps) For map and mapline series types, the geometry of a point.
*
* To achieve a better separation between the structure and the data, it is
* recommended to use `mapData` to define the geometry instead of defining it on
* the data points themselves.
*
* The geometry object is compatible to that of a `feature` in GeoJSON, so
* features of GeoJSON can be passed directly into the `data`, optionally after
* first filtering and processing it.
*
* For pre-projected maps (like GeoJSON maps from our map collection), user has
* to specify coordinates in `projectedUnits` for geometry type other than
* `Point`, instead of `[longitude, latitude]`.
*/
export interface SeriesGeoheatmapDataGeometryOptions {
/**
* (Highmaps) The geometry coordinates in terms of arrays of `[longitude,
* latitude]`, or a two dimensional array of the same. The dimensionality
* must comply with the `type`.
*/
coordinates?: (Array<Array<LonLatArray>>|Array<LonLatArray>);
/**
* (Highmaps) The geometry type. Can be one of `LineString`, `Polygon`,
* `MultiLineString` or `MultiPolygon`.
*/
type?: MapGeometryTypeValue;
}
/**
* (Highmaps) A `geoheatmap` series. If the type option is not specified, it is
* inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `geoheatmap` series are defined in plotOptions.geoheatmap.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesGeoheatmapOptions` via an interface to allow
* custom properties: ``` declare interface SeriesGeoheatmapOptions {
* customProperty: string; }
*
*/
export interface SeriesGeoheatmapOptions extends PlotGeoheatmapOptions, SeriesOptions {
/**
* (Highmaps) An array of data points for the series. For the `geoheatmap`
* series type, points can be given in the following ways:
*
* 1. An array of arrays with 3 or 2 values. In this case, the values
* correspond to `lon,lat,value`. The `value` refers to the color on the
* `colorAxis`. (see online documentation for example)
*
* 2. An array of objects with named values. The following snippet shows
* only a few settings, see the complete options set below. If the total
* number of data points exceeds the series' turboThreshold, this option is
* not available. (see online documentation for example)
*/
data?: Array<(Array<number>|SeriesGeoheatmapDataOptions)>;
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* Not available
*/
mapData?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "geoheatmap";
}
/**
* (Highcharts, Highmaps) A `heatmap` series. If the type option is not
* specified, it is inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `heatmap` series are defined in plotOptions.heatmap.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesHeatmapOptions` via an interface to allow
* custom properties: ``` declare interface SeriesHeatmapOptions {
* customProperty: string; }
*
*/
export interface SeriesHeatmapOptions extends PlotHeatmapOptions, SeriesOptions {
/**
* (Highcharts, Highmaps) An array of data points for the series. For the
* `heatmap` series type, points can be given in the following ways:
*
* 1. An array of arrays with 3 or 2 values. In this case, the values
* correspond to `x,y,value`. If the first value is a string, it is applied
* as the name of the point, and the `x` value is inferred. The `x` value
* can also be omitted, in which case the inner arrays should be of length
* 2\. Then the `x` value is automatically calculated, either starting at 0
* and incremented by 1, or from `pointStart` and `pointInterval` given in
* the series options. (see online documentation for example)
*
* 2. An array of objects with named values. The following snippet shows
* only a few settings, see the complete options set below. If the total
* number of data points exceeds the series' turboThreshold, this option is
* not available. (see online documentation for example)
*/
data?: Array<(Array<number>|PointOptionsObject)>;
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* Not available
*/
stack?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "heatmap";
}
/**
* (Highstock) A `heikinashi` series. If the type option is not specified, it is
* inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `heikinashi` series are defined in plotOptions.heikinashi.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesHeikinashiOptions` via an interface to allow
* custom properties: ``` declare interface SeriesHeikinashiOptions {
* customProperty: string; }
*
*/
export interface SeriesHeikinashiOptions extends PlotHeikinashiOptions, SeriesOptions {
/**
* (Highstock) An array of data points for the series. For the `heikinashi`
* series type, points can be given in the following ways:
*
* 1. An array of arrays with 5 or 4 values. In this case, the values
* correspond to `x,open,high,low,close`. If the first value is a string, it
* is applied as the name of the point, and the `x` value is inferred. The
* `x` value can also be omitted, in which case the inner arrays should be
* of length 4. Then the `x` value is automatically calculated, either
* starting at 0 and incremented by 1, or from `pointStart` and
* `pointInterval` given in the series options. (see online documentation
* for example)
*
* 2. An array of objects with named values. The following snippet shows
* only a few settings, see the complete options set below. If the total
* number of data points exceeds the series' turboThreshold, this option is
* not available. (see online documentation for example)
*/
data?: Array<([(number|string), number, number, number]|[(number|string), number, number, number, number]|PointOptionsObject)>;
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "heikinashi";
}
/**
* (Highcharts, Highstock) Enable or disable the initial animation when a series
* is displayed for the `dataLabels`. The animation can also be set as a
* configuration object. Please note that this option only applies to the
* initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface SeriesHlcDataDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock) The animation delay time in milliseconds. Set to
* `0` to render the data labels immediately. As `undefined` inherits defer
* time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock) Enable or disable the initial animation when a series
* is displayed for the `dataLabels`. The animation can also be set as a
* configuration object. Please note that this option only applies to the
* initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface SeriesHollowcandlestickDataDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock) The animation delay time in milliseconds. Set to
* `0` to render the data labels immediately. As `undefined` inherits defer
* time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highstock) A `IKH` series. If the type option is not specified, it is
* inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `ikh` series are defined in plotOptions.ikh.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesIkhOptions` via an interface to allow custom
* properties: ``` declare interface SeriesIkhOptions { customProperty: string;
* }
*
*/
export interface SeriesIkhOptions extends PlotIkhOptions, SeriesOptions {
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "ikh";
}
/**
* (Highcharts) An `item` series. If the type option is not specified, it is
* inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `item` series are defined in plotOptions.item.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesItemOptions` via an interface to allow custom
* properties: ``` declare interface SeriesItemOptions { customProperty: string;
* }
*
*/
export interface SeriesItemOptions extends PlotItemOptions, SeriesOptions {
/**
* (Highcharts) An array of data points for the series. For the `item`
* series type, points can be given in the following ways:
*
* 1. An array of numerical values. In this case, the numerical values will
* be interpreted as `y` options. Example: (see online documentation for
* example)
*
* 2. An array of objects with named values. The following snippet shows
* only a few settings, see the complete options set below. If the total
* number of data points exceeds the series' turboThreshold, this option is
* not available. (see online documentation for example)
*/
data?: Array<(number|[string, (number|null)]|null|PointOptionsObject)>;
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* Not available
*/
stack?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "item";
/**
* Not available
*/
xAxis?: undefined;
/**
* Not available
*/
yAxis?: undefined;
}
/**
* (Highstock) A Klinger oscillator. If the type option is not specified, it is
* inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `klinger` series are defined in plotOptions.klinger.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesKlingerOptions` via an interface to allow
* custom properties: ``` declare interface SeriesKlingerOptions {
* customProperty: string; }
*
*/
export interface SeriesKlingerOptions extends PlotKlingerOptions, SeriesOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "klinger";
/**
* Not available
*/
useOhlcData?: undefined;
}
/**
* (Highcharts, Highstock, Gantt) Series labels are placed as close to the
* series as possible in a natural way, seeking to avoid other series. The goal
* of this feature is to make the chart more easily readable, like if a human
* designer placed the labels in the optimal position.
*
* The series labels currently work with series types having a `graph` or an
* `area`.
*/
export interface SeriesLabelOptionsObject {
/**
* (Highcharts, Highstock, Gantt) An array of boxes to avoid when laying out
* the labels. Each item has a `left`, `right`, `top` and `bottom` property.
*/
boxesToAvoid?: Array<LabelIntersectBoxObject>;
/**
* (Highcharts, Highstock, Gantt) Allow labels to be placed distant to the
* graph if necessary, and draw a connector line to the graph. Setting this
* option to true may decrease the performance significantly, since the
* algorithm with systematically search for open spaces in the whole plot
* area. Visually, it may also result in a more cluttered chart, though more
* of the series will be labeled.
*/
connectorAllowed?: boolean;
/**
* (Highcharts, Highstock, Gantt) If the label is closer than this to a
* neighbour graph, draw a connector.
*/
connectorNeighbourDistance?: number;
/**
* (Highcharts, Highstock, Gantt) Enable the series label per series.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Gantt) A format string for the label, with
* support for a subset of HTML. Variables are enclosed by curly brackets.
* Available variables are `name`, `options.xxx`, `color` and other members
* from the `series` object. Use this option also to set a static text for
* the label.
*/
format?: string;
/**
* (Highcharts, Highstock, Gantt) Callback function to format each of the
* series' labels. The `this` keyword refers to the series object. By
* default the `formatter` is undefined and the `series.name` is rendered.
*/
formatter?: FormatterCallbackFunction<Series>;
/**
* (Highcharts, Highstock, Gantt) For area-like series, allow the font size
* to vary so that small areas get a smaller font size. The default applies
* this effect to area-like series but not line-like series.
*/
maxFontSize?: (number|null);
/**
* (Highcharts, Highstock, Gantt) For area-like series, allow the font size
* to vary so that small areas get a smaller font size. The default applies
* this effect to area-like series but not line-like series.
*/
minFontSize?: (number|null);
/**
* (Highcharts, Highstock, Gantt) Draw the label on the area of an area
* series. By default it is drawn on the area. Set it to `false` to draw it
* next to the graph instead.
*/
onArea?: (boolean|null);
/**
* (Highcharts, Highstock, Gantt) Styles for the series label. The color
* defaults to the series color, or a contrast color if `onArea`.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Gantt) Whether to use HTML to render the series
* label.
*/
useHTML?: boolean;
}
/**
* (Highstock) A label on the axis next to the crosshair.
*
* In styled mode, the label is styled with the `.highcharts-crosshair-label`
* class.
*/
export interface SeriesLastPriceLabelOptionsObject {
/**
* (Highstock) 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.
*/
align?: AlignValue;
/**
* (Highstock) The background color for the label. Defaults to the related
* series color, or `#666666` if that is not available.
*/
backgroundColor?: ColorType;
/**
* (Highstock) The border color of `lastPrice` label.
*/
borderColor?: ColorType;
/**
* (Highstock) The border radius of `lastPrice` label.
*/
borderRadius?: number;
/**
* (Highstock) The border width for the `lastPrice` label.
*/
borderWidth?: number;
/**
* (Highstock) Flag to enable `lastPrice` label.
*/
enabled?: boolean;
/**
* (Highstock) A format string for the `lastPrice` label. Defaults to
* `{value}` for numeric axes and `{value:%b %d, %Y}` for datetime axes.
*/
format?: string;
/**
* (Highstock) Formatter function for the label text.
*/
formatter?: XAxisCrosshairLabelFormatterCallbackFunction;
/**
* (Highstock) Padding inside the `lastPrice` label.
*/
padding?: number;
/**
* (Highstock) The shape to use for the label box.
*/
shape?: string;
/**
* (Highstock) Text styles for the `lastPrice` label.
*/
style?: CSSObject;
}
/**
* (Highstock) The line marks the last price from all points.
*/
export interface SeriesLastPriceOptionsObject {
/**
* (Highstock) The color of the line of last price. By default, the line has
* the same color as the series.
*/
color?: string;
/**
* (Highstock) Enable or disable the indicator.
*/
enabled?: boolean;
/**
* (Highstock) A label on the axis next to the crosshair.
*
* In styled mode, the label is styled with the
* `.highcharts-crosshair-label` class.
*/
label?: SeriesLastPriceLabelOptionsObject;
}
/**
* (Highstock) A label on the axis next to the crosshair.
*
* In styled mode, the label is styled with the `.highcharts-crosshair-label`
* class.
*/
export interface SeriesLastVisiblePriceLabelOptionsObject {
/**
* (Highstock) 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.
*/
align?: AlignValue;
/**
* (Highstock) The background color for the label. Defaults to the related
* series color, or `#666666` if that is not available.
*/
backgroundColor?: ColorType;
/**
* (Highstock) The border color for the `lastVisiblePrice` label.
*/
borderColor?: ColorType;
/**
* (Highstock) The border corner radius of the `lastVisiblePrice` label.
*/
borderRadius?: number;
/**
* (Highstock) The border width for the `lastVisiblePrice` label.
*/
borderWidth?: number;
/**
* (Highstock) Flag to enable `lastVisiblePrice` label.
*/
enabled?: boolean;
/**
* (Highstock) A format string for the `lastVisiblePrice` label. Defaults to
* `{value}` for numeric axes and `{value:%b %d, %Y}` for datetime axes.
*/
format?: string;
/**
* (Highstock) Formatter function for the label text.
*/
formatter?: XAxisCrosshairLabelFormatterCallbackFunction;
/**
* (Highstock) Padding inside the `lastVisiblePrice` label.
*/
padding?: number;
/**
* (Highstock) The shape to use for the label box.
*/
shape?: string;
/**
* (Highstock) Text styles for the `lastVisiblePrice` label.
*/
style?: CSSObject;
}
/**
* (Highstock) The line marks the last price from visible range of points.
*/
export interface SeriesLastVisiblePriceOptionsObject {
/**
* (Highstock) Enable or disable the indicator.
*/
enabled?: boolean;
/**
* (Highstock) A label on the axis next to the crosshair.
*
* In styled mode, the label is styled with the
* `.highcharts-crosshair-label` class.
*/
label?: SeriesLastVisiblePriceLabelOptionsObject;
}
/**
* Information about the legend click event.
*/
export interface SeriesLegendItemClickEventObject {
/**
* Related browser event.
*/
browserEvent: PointerEvent;
/**
* Prevent the default action of toggle the visibility of the series.
*/
preventDefault: Function;
/**
* Related series.
*/
target: Series;
/**
* Event type.
*/
type: "legendItemClick";
}
/**
* (Highstock) A linear regression intercept series. If the type option is not
* specified, it is inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `linearregressionintercept` series are defined in
* plotOptions.linearregressionintercept.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesLinearregressioninterceptOptions` via an
* interface to allow custom properties: ``` declare interface
* SeriesLinearregressioninterceptOptions { customProperty: string; }
*
*/
export interface SeriesLinearregressioninterceptOptions extends PlotLinearregressioninterceptOptions, SeriesOptions {
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "linearregressionintercept";
}
/**
* (Highstock) A linear regression intercept series. If the type option is not
* specified, it is inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `linearregressionslope` series are defined in
* plotOptions.linearregressionslope.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesLinearregressionslopeOptions` via an interface
* to allow custom properties: ``` declare interface
* SeriesLinearregressionslopeOptions { customProperty: string; }
*
*/
export interface SeriesLinearregressionslopeOptions extends PlotLinearregressionslopeOptions, SeriesOptions {
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "linearregressionslope";
}
/**
* (Highcharts, Highstock, Gantt) Point specific options for the
* draggable-points module. Overrides options on `series.dragDrop`.
*/
export interface SeriesLineDataDragDropOptions {
/**
* (Highcharts, Highstock, Gantt) Enable dragging in the X dimension.
*/
draggableX?: boolean;
/**
* (Highcharts, Highstock, Gantt) Enable dragging in the Y dimension. Note
* that this is not supported for TreeGrid axes (the default axis type in
* Gantt charts).
*/
draggableY?: boolean;
/**
* (Highcharts, Highstock, Gantt) Options for the drag handles available in
* column series.
*/
dragHandle?: DragDropHandleOptionsObject;
/**
* (Highcharts, Highstock, Gantt) Set the maximum X value the points can be
* moved to.
*/
dragMaxX?: number;
/**
* (Highcharts, Highstock, Gantt) Set the maximum Y value the points can be
* moved to.
*/
dragMaxY?: number;
/**
* (Highcharts, Highstock, Gantt) Set the minimum X value the points can be
* moved to.
*/
dragMinX?: number;
/**
* (Highcharts, Highstock, Gantt) Set the minimum Y value the points can be
* moved to.
*/
dragMinY?: number;
/**
* (Highcharts, Highstock, Gantt) The X precision value to drag to for this
* series. Set to 0 to disable. By default this is disabled, except for
* category axes, where the default is `1`.
*/
dragPrecisionX?: number;
/**
* (Highcharts, Highstock, Gantt) The Y precision value to drag to for this
* series. Set to 0 to disable. By default this is disabled, except for
* category axes, where the default is `1`.
*/
dragPrecisionY?: number;
/**
* (Highcharts, Highstock, Gantt) The amount of pixels to drag the pointer
* before it counts as a drag operation. This prevents drag/drop to fire
* when just clicking or selecting points.
*/
dragSensitivity?: number;
/**
* (Highcharts, Highstock, Gantt) Group the points by a property. Points
* with the same property value will be grouped together when moving.
*/
groupBy?: string;
/**
* (Highcharts, Highstock, Gantt) Style options for the guide box. The guide
* box has one state by default, the `default` state.
*/
guideBox?: (PlotOptionsSeriesDragDropGuideBoxOptions|Dictionary<DragDropGuideBoxOptionsObject>);
/**
* (Highcharts, Highstock, Gantt) Update points as they are dragged. If
* false, a guide box is drawn to illustrate the new point size.
*/
liveRedraw?: boolean;
}
/**
* (Highcharts, Highstock) Enable or disable the initial animation when a series
* is displayed for the `dataLabels`. The animation can also be set as a
* configuration object. Please note that this option only applies to the
* initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface SeriesLollipopDataDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock) The animation delay time in milliseconds. Set to
* `0` to render the data labels immediately. As `undefined` inherits defer
* time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highstock) A `MACD` series. If the type option is not specified, it is
* inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `macd` series are defined in plotOptions.macd.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesMacdOptions` via an interface to allow custom
* properties: ``` declare interface SeriesMacdOptions { customProperty: string;
* }
*
*/
export interface SeriesMacdOptions extends PlotMacdOptions, SeriesOptions {
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "macd";
}
/**
* (Highmaps) An array of data points for the series. For the `mapbubble` series
* type, points can be given in the following ways:
*
* 1. An array of numerical values. In this case, the numerical values will be
* interpreted as `z` options. Example: (see online documentation for example)
*
* 2. An array of objects with named values. The following snippet shows only a
* few settings, see the complete options set below. If the total number of data
* points exceeds the series' turboThreshold, this option is not available. (see
* online documentation for example)
*/
export interface SeriesMapbubbleDataOptions {
/**
* (Highmaps) Individual color for the point. By default the color is either
* used to denote the value, or pulled from the global `colors` array.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highmaps) Individual data label for each point. The options are the same
* as the ones for plotOptions.series.dataLabels.
*/
dataLabels?: DataLabelsOptions;
/**
* (Highmaps) The `id` of a series in the drilldown.series array to use for
* a drilldown for this point.
*/
drilldown?: string;
/**
* (Highmaps) Individual point events
*/
events?: PointEventsOptionsObject;
/**
* (Highmaps) The geometry of a point.
*
* To achieve a better separation between the structure and the data, it is
* recommended to use `mapData` to define the geometry instead of defining
* it on the data points themselves.
*
* The geometry object is compatible to that of a `feature` in geoJSON, so
* features of geoJSON can be passed directly into the `data`, optionally
* after first filtering and processing it.
*/
geometry?: (object|SeriesMapbubbleDataGeometryOptions);
/**
* (Highmaps) An id for the point. This can be used after render time to get
* a pointer to the point object through `chart.get()`.
*/
id?: string;
/**
* (Highmaps) The name of the point as shown in the legend, tooltip,
* dataLabel etc.
*/
name?: string;
/**
* (Highmaps) While the `x` and `y` values of the bubble are determined by
* the underlying map, the `z` indicates the actual value that gives the
* size of the bubble.
*/
z?: (number|null);
}
/**
* (Highmaps) For map and mapline series types, the geometry of a point.
*
* To achieve a better separation between the structure and the data, it is
* recommended to use `mapData` to define the geometry instead of defining it on
* the data points themselves.
*
* The geometry object is compatible to that of a `feature` in GeoJSON, so
* features of GeoJSON can be passed directly into the `data`, optionally after
* first filtering and processing it.
*
* For pre-projected maps (like GeoJSON maps from our map collection), user has
* to specify coordinates in `projectedUnits` for geometry type other than
* `Point`, instead of `[longitude, latitude]`.
*/
export interface SeriesMapDataGeometryOptions {
/**
* (Highmaps) The geometry coordinates in terms of arrays of `[longitude,
* latitude]`, or a two dimensional array of the same. The dimensionality
* must comply with the `type`.
*/
coordinates?: (Array<Array<LonLatArray>>|Array<LonLatArray>);
/**
* (Highmaps) The geometry type. Can be one of `LineString`, `Polygon`,
* `MultiLineString` or `MultiPolygon`.
*/
type?: MapGeometryTypeValue;
}
/**
* (Highmaps) For map and mapline series types, the geometry of a point.
*
* To achieve a better separation between the structure and the data, it is
* recommended to use `mapData` to define the geometry instead of defining it on
* the data points themselves.
*
* The geometry object is compatible to that of a `feature` in GeoJSON, so
* features of GeoJSON can be passed directly into the `data`, optionally after
* first filtering and processing it.
*
* For pre-projected maps (like GeoJSON maps from our map collection), user has
* to specify coordinates in `projectedUnits` for geometry type other than
* `Point`, instead of `[longitude, latitude]`.
*/
export interface SeriesMaplineDataGeometryOptions {
/**
* (Highmaps) The geometry coordinates in terms of arrays of `[longitude,
* latitude]`, or a two dimensional array of the same. The dimensionality
* must comply with the `type`.
*/
coordinates?: (Array<Array<LonLatArray>>|Array<LonLatArray>);
/**
* (Highmaps) The geometry type. Can be one of `LineString`, `Polygon`,
* `MultiLineString` or `MultiPolygon`.
*/
type?: MapGeometryTypeValue;
}
/**
* (Highmaps) A `mapline` series. If the type option is not specified, it is
* inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `mapline` series are defined in plotOptions.mapline.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesMaplineOptions` via an interface to allow
* custom properties: ``` declare interface SeriesMaplineOptions {
* customProperty: string; }
*
*/
export interface SeriesMaplineOptions extends PlotMaplineOptions, SeriesOptions {
/**
* (Highmaps) An array of data points for the series. For the `mapline`
* series type, points can be given in the following ways:
*
* 1. An array of numerical values. In this case, the numerical values will
* be interpreted as `value` options. Example: (see online documentation for
* example)
*
* 2. An array of arrays with 2 values. In this case, the values correspond
* to `[hc-key, value]`. Example: (see online documentation for example)
*
* 3. An array of objects with named values. The following snippet shows
* only a few settings, see the complete options set below. If the total
* number of data points exceeds the series' turboThreshold, this option is
* not available. (see online documentation for example)
*/
data?: Array<(number|[string, (number|null)]|null|SeriesMaplineDataOptions)>;
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "mapline";
}
/**
* (Highmaps) The geometry of a point.
*
* To achieve a better separation between the structure and the data, it is
* recommended to use `mapData` to define the geometry instead of defining it on
* the data points themselves.
*
* The geometry object is compatible to that of a `feature` in geoJSON, so
* features of geoJSON can be passed directly into the `data`, optionally after
* first filtering and processing it.
*/
export interface SeriesMappointDataGeometryOptions {
/**
* (Highmaps) The geometry coordinates in terms of `[longitude, latitude]`.
*/
coordinates?: LonLatArray;
/**
* (Highmaps) The geometry type, which in case of the `mappoint` series is
* always `Point`.
*/
type?: "Point";
}
/**
* (Highmaps) A `mappoint` series. If the type option is not specified, it is
* inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `mappoint` series are defined in plotOptions.mappoint.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesMappointOptions` via an interface to allow
* custom properties: ``` declare interface SeriesMappointOptions {
* customProperty: string; }
*
*/
export interface SeriesMappointOptions extends PlotMappointOptions, SeriesOptions {
/**
* (Highmaps) An array of data points for the series. For the `mappoint`
* series type, points can be given in the following ways:
*
* 1. An array of numerical values. In this case, the numerical values will
* be interpreted as `y` options. The `x` values will be automatically
* calculated, either starting at 0 and incremented by 1, or from
* `pointStart` and `pointInterval` given in the series options. If the axis
* has categories, these will be used. Example: (see online documentation
* for example)
*
* 2. An array of arrays with 2 values. In this case, the values correspond
* to `[hc-key, value]`. Example: (see online documentation for example)
*
* 3. An array of objects with named values. The following snippet shows
* only a few settings, see the complete options set below. If the total
* number of data points exceeds the series' turboThreshold, this option is
* not available. (see online documentation for example)
*/
data?: Array<(number|[number, (number|null)]|null|SeriesMappointDataOptions)>;
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "mappoint";
}
/**
* (Highstock) A `Momentum` series. If the type option is not specified, it is
* inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `momentum` series are defined in plotOptions.momentum.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesMomentumOptions` via an interface to allow
* custom properties: ``` declare interface SeriesMomentumOptions {
* customProperty: string; }
*
*/
export interface SeriesMomentumOptions extends PlotMomentumOptions, SeriesOptions {
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "momentum";
}
/**
* (Highcharts) Enable or disable the initial animation when a series is
* displayed for the `dataLabels`. The animation can also be set as a
* configuration object. Please note that this option only applies to the
* initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface SeriesNetworkgraphDataDataLabelsAnimationOptions {
/**
* (Highcharts) The animation delay time in milliseconds. Set to `0` to
* render the data labels immediately. As `undefined` inherits defer time
* from the series.animation.defer.
*/
defer?: number;
}
/**
* Context for the formatter function.
*/
export interface SeriesNetworkgraphDataLabelsFormatterContextObject extends PointLabelObject {
/**
* The color of the node.
*/
color: ColorString;
/**
* The ID of the node.
*/
key: string;
/**
* The point (node) object. The node name, if defined, is available through
* `this.point.name`. Arrays: `this.point.linksFrom` and
* `this.point.linksTo` contains all nodes connected to this point.
*/
point: Point;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface SeriesNetworkgraphDataLabelsOptionsObject {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotNetworkgraphDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The format string specifying
* what to show for _node_ in the networkgraph. In v7.0 defaults to `{key}`,
* since v7.1 defaults to `undefined` and `formatter` is used instead.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label for a node. Note that if a `format` is defined, the
* format takes precedence and the formatter is ignored.
*/
formatter?: SeriesNetworkgraphDataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The format string specifying
* what to show for _links_ in the networkgraph. (Default: `undefined`)
*/
linkFormat?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback to format data labels
* for _links_ in the sankey diagram. The `linkFormat` option takes
* precedence over the `linkFormatter`.
*/
linkFormatter?: SeriesNetworkgraphDataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a _link_ label text
* which should follow link connection. Border and background are disabled
* for a label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
linkTextPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: (CSSObject|PlotNetworkgraphDataLabelsStyleOptions);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: (VerticalAlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highcharts) A `networkgraph` series. If the type option is not specified, it
* is inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `networkgraph` series are defined in
* plotOptions.networkgraph.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesNetworkgraphOptions` via an interface to allow
* custom properties: ``` declare interface SeriesNetworkgraphOptions {
* customProperty: string; }
*
*/
export interface SeriesNetworkgraphOptions extends PlotNetworkgraphOptions, SeriesOptions {
/**
* (Highcharts) An array of data points for the series. For the
* `networkgraph` series type, points can be given in the following way:
*
* An array of objects with named values. The following snippet shows only a
* few settings, see the complete options set below. If the total number of
* data points exceeds the series' turboThreshold, this option is not
* available. (see online documentation for example)
*/
data?: (PointOptionsObject|Array<(object|any[]|number)>);
/**
* (Highcharts) A collection of options for the individual nodes. The nodes
* in a networkgraph diagram are auto-generated instances of
* `Highcharts.Point`, but options can be applied here and linked by the
* `id`.
*/
nodes?: Array<SeriesNetworkgraphNodesOptions>;
/**
* Not available
*/
stack?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "networkgraph";
/**
* Not available
*/
xAxis?: undefined;
/**
* Not available
*/
yAxis?: undefined;
}
/**
* (Highcharts, Highstock) Enable or disable the initial animation when a series
* is displayed for the `dataLabels`. The animation can also be set as a
* configuration object. Please note that this option only applies to the
* initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface SeriesOhlcDataDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock) The animation delay time in milliseconds. Set to
* `0` to render the data labels immediately. As `undefined` inherits defer
* time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Series options for specific data and
* the data itself. In TypeScript you have to cast the series options to
* specific series types, to get all possible options for a series.
*
* You have to extend the `SeriesOptions` via an interface to allow custom
* properties: ``` declare interface SeriesOptions { customProperty: string; }
*
*/
export interface SeriesOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) An id for the series. This can
* be used after render time to get a pointer to the series object through
* `chart.get()`.
*/
id?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The index of the series in the
* chart, affecting the internal index in the `chart.series` array, the
* visible Z index as well as the order in the legend.
*/
index?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The sequential index of the
* series in the legend.
*/
legendIndex?: number;
/**
* (Highmaps) An array of objects containing a `geometry` or `path`
* definition and optionally additional properties to join in the `data` as
* per the `joinBy` option. GeoJSON and TopoJSON structures can also be
* passed directly into `mapData`.
*/
mapData?: (GeoJSON|TopoJSON|Array<SeriesMapDataOptions>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of the series as shown
* in the legend, tooltip etc.
*/
name?: string;
/**
* (Highcharts, Highstock) This option allows grouping series in a stacked
* chart. The stack option can be a string or anything else, as long as the
* grouped series' stack options match each other after conversion into a
* string.
*/
stack?: (number|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The type of series, for example
* `line` or `column`. By default, the series type is inherited from
* chart.type, so unless the chart is a combination of series types, there
* is no need to set it on the series level.
*/
type: string;
/**
* (Highcharts, Highstock) When using dual or multiple x axes, this number
* defines which xAxis the particular series is connected to. It refers to
* either the axis id or the index of the axis in the xAxis array, with 0
* being the first.
*/
xAxis?: (number|string);
/**
* (Highcharts, Highstock) When using dual or multiple y axes, this number
* defines which yAxis the particular series is connected to. It refers to
* either the axis id or the index of the axis in the yAxis array, with 0
* being the first.
*/
yAxis?: (number|string);
/**
* (Highcharts, Highstock) Define the visual z index of the series.
*/
zIndex?: number;
}
/**
* The registry for all types of series options.
*/
export interface SeriesOptionsRegistry {
SeriesAbandsOptions: SeriesAbandsOptions;
SeriesAdOptions: SeriesAdOptions;
SeriesAoOptions: SeriesAoOptions;
SeriesApoOptions: SeriesApoOptions;
SeriesArcdiagramOptions: SeriesArcdiagramOptions;
SeriesAreaOptions: SeriesAreaOptions;
SeriesArearangeOptions: SeriesArearangeOptions;
SeriesAreasplineOptions: SeriesAreasplineOptions;
SeriesAreasplinerangeOptions: SeriesAreasplinerangeOptions;
SeriesAroonOptions: SeriesAroonOptions;
SeriesAroonoscillatorOptions: SeriesAroonoscillatorOptions;
SeriesAtrOptions: SeriesAtrOptions;
SeriesBarOptions: SeriesBarOptions;
SeriesBbOptions: SeriesBbOptions;
SeriesBellcurveOptions: SeriesBellcurveOptions;
SeriesBoxplotOptions: SeriesBoxplotOptions;
SeriesBubbleOptions: SeriesBubbleOptions;
SeriesBulletOptions: SeriesBulletOptions;
SeriesCandlestickOptions: SeriesCandlestickOptions;
SeriesCciOptions: SeriesCciOptions;
SeriesChaikinOptions: SeriesChaikinOptions;
SeriesCmfOptions: SeriesCmfOptions;
SeriesCmoOptions: SeriesCmoOptions;
SeriesColumnOptions: SeriesColumnOptions;
SeriesColumnpyramidOptions: SeriesColumnpyramidOptions;
SeriesColumnrangeOptions: SeriesColumnrangeOptions;
SeriesCylinderOptions: SeriesCylinderOptions;
SeriesDemaOptions: SeriesDemaOptions;
SeriesDependencywheelOptions: SeriesDependencywheelOptions;
SeriesDisparityindexOptions: SeriesDisparityindexOptions;
SeriesDmiOptions: SeriesDmiOptions;
SeriesDpoOptions: SeriesDpoOptions;
SeriesDumbbellOptions: SeriesDumbbellOptions;
SeriesEmaOptions: SeriesEmaOptions;
SeriesErrorbarOptions: SeriesErrorbarOptions;
SeriesFlagsOptions: SeriesFlagsOptions;
SeriesFlowmapOptions: SeriesFlowmapOptions;
SeriesFunnel3dOptions: SeriesFunnel3dOptions;
SeriesFunnelOptions: SeriesFunnelOptions;
SeriesGanttOptions: SeriesGanttOptions;
SeriesGaugeOptions: SeriesGaugeOptions;
SeriesGeoheatmapOptions: SeriesGeoheatmapOptions;
SeriesHeatmapOptions: SeriesHeatmapOptions;
SeriesHeikinashiOptions: SeriesHeikinashiOptions;
SeriesHistogramOptions: SeriesHistogramOptions;
SeriesHlcOptions: SeriesHlcOptions;
SeriesHollowcandlestickOptions: SeriesHollowcandlestickOptions;
SeriesIkhOptions: SeriesIkhOptions;
SeriesItemOptions: SeriesItemOptions;
SeriesKeltnerchannelsOptions: SeriesKeltnerchannelsOptions;
SeriesKlingerOptions: SeriesKlingerOptions;
SeriesLinearregressionangleOptions: SeriesLinearregressionangleOptions;
SeriesLinearregressioninterceptOptions: SeriesLinearregressioninterceptOptions;
SeriesLinearregressionOptions: SeriesLinearregressionOptions;
SeriesLinearregressionslopeOptions: SeriesLinearregressionslopeOptions;
SeriesLineOptions: SeriesLineOptions;
SeriesLollipopOptions: SeriesLollipopOptions;
SeriesMacdOptions: SeriesMacdOptions;
SeriesMapbubbleOptions: SeriesMapbubbleOptions;
SeriesMaplineOptions: SeriesMaplineOptions;
SeriesMapOptions: SeriesMapOptions;
SeriesMappointOptions: SeriesMappointOptions;
SeriesMfiOptions: SeriesMfiOptions;
SeriesMomentumOptions: SeriesMomentumOptions;
SeriesNatrOptions: SeriesNatrOptions;
SeriesNetworkgraphOptions: SeriesNetworkgraphOptions;
SeriesObvOptions: SeriesObvOptions;
SeriesOhlcOptions: SeriesOhlcOptions;
SeriesOrganizationOptions: SeriesOrganizationOptions;
SeriesPackedbubbleOptions: SeriesPackedbubbleOptions;
SeriesParetoOptions: SeriesParetoOptions;
SeriesPcOptions: SeriesPcOptions;
SeriesPictorialOptions: SeriesPictorialOptions;
SeriesPieOptions: SeriesPieOptions;
SeriesPivotpointsOptions: SeriesPivotpointsOptions;
SeriesPolygonOptions: SeriesPolygonOptions;
SeriesPpoOptions: SeriesPpoOptions;
SeriesPriceenvelopesOptions: SeriesPriceenvelopesOptions;
SeriesPsarOptions: SeriesPsarOptions;
SeriesPyramid3dOptions: SeriesPyramid3dOptions;
SeriesPyramidOptions: SeriesPyramidOptions;
SeriesRocOptions: SeriesRocOptions;
SeriesRsiOptions: SeriesRsiOptions;
SeriesSankeyOptions: SeriesSankeyOptions;
SeriesScatter3dOptions: SeriesScatter3dOptions;
SeriesScatterOptions: SeriesScatterOptions;
SeriesSlowstochasticOptions: SeriesSlowstochasticOptions;
SeriesSmaOptions: SeriesSmaOptions;
SeriesSolidgaugeOptions: SeriesSolidgaugeOptions;
SeriesSplineOptions: SeriesSplineOptions;
SeriesStochasticOptions: SeriesStochasticOptions;
SeriesStreamgraphOptions: SeriesStreamgraphOptions;
SeriesSunburstOptions: SeriesSunburstOptions;
SeriesSupertrendOptions: SeriesSupertrendOptions;
SeriesTemaOptions: SeriesTemaOptions;
SeriesTiledwebmapOptions: SeriesTiledwebmapOptions;
SeriesTilemapOptions: SeriesTilemapOptions;
SeriesTimelineOptions: SeriesTimelineOptions;
SeriesTreegraphOptions: SeriesTreegraphOptions;
SeriesTreemapOptions: SeriesTreemapOptions;
SeriesTrendlineOptions: SeriesTrendlineOptions;
SeriesTrixOptions: SeriesTrixOptions;
SeriesVariablepieOptions: SeriesVariablepieOptions;
SeriesVariwideOptions: SeriesVariwideOptions;
SeriesVbpOptions: SeriesVbpOptions;
SeriesVectorOptions: SeriesVectorOptions;
SeriesVennOptions: SeriesVennOptions;
SeriesVwapOptions: SeriesVwapOptions;
SeriesWaterfallOptions: SeriesWaterfallOptions;
SeriesWilliamsrOptions: SeriesWilliamsrOptions;
SeriesWindbarbOptions: SeriesWindbarbOptions;
SeriesWmaOptions: SeriesWmaOptions;
SeriesWordcloudOptions: SeriesWordcloudOptions;
SeriesXrangeOptions: SeriesXrangeOptions;
SeriesZigzagOptions: SeriesZigzagOptions;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the data labels
* appearing on top of the nodes and links. For sankey charts, data labels are
* visible for the nodes by default, but hidden for links. This is controlled by
* modifying the `nodeFormat`, and the `format` that applies to links and is an
* empty string by default.
*/
export interface SeriesOrganizationDataLabelsOptionsObject {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotOrganizationDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: SeriesSankeyDataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
linkTextPath?: PlotOrganizationDataLabelsLinkTextPathOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The format string specifying
* what to show for _nodes_ in the sankey diagram. By default the
* `nodeFormatter` returns `{point.name}`.
*/
nodeFormat?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A callback for defining the
* format for _nodes_ in the organization chart. The `nodeFormat` option
* takes precedence over `nodeFormatter`.
*
* In an organization chart, the `nodeFormatter` is a quite complex function
* of the available options, striving for a good default layout of cards
* with or without images. In organization chart, the data labels come with
* `useHTML` set to true, meaning they will be rendered as true HTML above
* the SVG.
*/
nodeFormatter?: SeriesSankeyDataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highcharts) An `organization` series. If the type option is not specified,
* it is inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `organization` series are defined in
* plotOptions.organization.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesOrganizationOptions` via an interface to allow
* custom properties: ``` declare interface SeriesOrganizationOptions {
* customProperty: string; }
*
*/
export interface SeriesOrganizationOptions extends PlotOrganizationOptions, SeriesOptions {
/**
* (Highcharts) An array of data points for the series. For the
* `organization` series type, points can be given in the following way:
*
* An array of objects with named values. The following snippet shows only a
* few settings, see the complete options set below. If the total number of
* data points exceeds the series' turboThreshold, this option is not
* available. (see online documentation for example)
*/
data?: Array<SeriesSankeyPointOptionsObject>;
/**
* (Highcharts) A collection of options for the individual nodes. The nodes
* in an org chart are auto-generated instances of `Highcharts.Point`, but
* options can be applied here and linked by the `id`.
*/
nodes?: Array<SeriesSankeyNodesOptionsObject>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "organization";
}
/**
* Context for the formatter function.
*/
export interface SeriesPackedBubbleDataLabelsFormatterContextObject extends PointLabelObject {
/**
* The color of the node.
*/
color: ColorString;
/**
* The ID of the node.
*/
key: string;
/**
* The point (node) object. The node name, if defined, is available through
* `this.point.name`. Arrays: `this.point.linksFrom` and
* `this.point.linksTo` contains all nodes connected to this point.
*/
point: Point;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface SeriesPackedBubbleDataLabelsOptionsObject {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotPackedbubbleDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Presentation attributes for the
* text path.
*/
attributes?: SVGAttributes;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The format string specifying
* what to show for _node_ in the networkgraph. In v7.0 defaults to `{key}`,
* since v7.1 defaults to `undefined` and `formatter` is used instead.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label for a node. Note that if a `format` is defined, the
* format takes precedence and the formatter is ignored.
*/
formatter?: SeriesPackedBubbleDataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
parentNodeFormat?: string;
parentNodeFormatter?: SeriesPackedBubbleDataLabelsFormatterCallbackFunction;
parentNodeTextPath?: SeriesPackedBubbleDataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: (CSSObject|PlotPackedbubbleDataLabelsStyleOptions);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a _node_ label text
* which should follow marker's shape.
*
* **Note:** Only SVG-based renderer supports this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
export interface SeriesPackedBubbleDataLabelsTextPathOptionsObject {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable `textPath`
* option for link's or marker's data labels.
*/
enabled?: boolean;
}
/**
* (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
* series is displayed for the `dataLabels`. The animation can also be set as a
* configuration object. Please note that this option only applies to the
* initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface SeriesParetoDataDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
* Set to `0` to render the data labels immediately. As `undefined` inherits
* defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highstock) A Price channel indicator. If the type option is not specified,
* it is inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `pc` series are defined in plotOptions.pc.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesPcOptions` via an interface to allow custom
* properties: ``` declare interface SeriesPcOptions { customProperty: string; }
*
*/
export interface SeriesPcOptions extends PlotPcOptions, SeriesOptions {
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "pc";
}
/**
* (Highcharts) A `pictorial` series. If the type option is not specified, it is
* inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `pictorial` series are defined in plotOptions.pictorial.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesPictorialOptions` via an interface to allow
* custom properties: ``` declare interface SeriesPictorialOptions {
* customProperty: string; }
*
*/
export interface SeriesPictorialOptions extends PlotPictorialOptions, SeriesOptions {
/**
* Not available
*/
borderRadius?: undefined;
/**
* Not available
*/
centerInCategory?: undefined;
/**
* (Highcharts) An array of data points for the series. For the `pictorial`
* series type, points can be given in the following ways:
*
* 1. An array of arrays with 2 values. In this case, the values correspond
* to `x,y`. If the first value is a string, it is applied as the name of
* the point, and the `x` value is inferred. The `x` value can also be
* omitted, in which case the inner arrays should be of length 2. Then the
* `x` value is automatically calculated, either starting at 0 and
* incremented by 1, or from `pointStart` and `pointInterval` given in the
* series options. (see online documentation for example)
*
* 2. An array of objects with named values. The following snippet shows
* only a few settings, see the complete options set below. If the total
* number of data points exceeds the series' turboThreshold, this option is
* not available. (see online documentation for example)
*/
data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
/**
* Not available
*/
dataAsColumns?: undefined;
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* (Highcharts) The paths include options describing the series image. For
* further details on preparing the SVG image, please refer to the pictorial
* documentation.
*/
paths?: Array<SeriesPictorialPathsOptionsObject>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "pictorial";
}
/**
* (Highcharts) The paths include options describing the series image. For
* further details on preparing the SVG image, please refer to the pictorial
* documentation.
*/
export interface SeriesPictorialPathsOptionsObject {
/**
* (Highcharts) The definition defines a path to be drawn. It corresponds
* `d` SVG attribute.
*/
definition?: string;
/**
* (Highcharts) The max option determines height of the image. It is the
* ratio of `yAxis.max` to the `paths.max`.
*/
max?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface SeriesPieDataLabelsOptionsObject {
/**
* (Highcharts, Highmaps) Alignment method for data labels. Possible values
* are:
*
* - `plotEdges`: Each label touches the nearest vertical edge of the plot
* area.
*
* - `connectors`: Connectors have the same x position and the widest label
* of each half (left & right) touches the nearest vertical edge of the plot
* area.
*/
alignTo?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotFunnelDataLabelsAnimationOptions|PlotItemDataLabelsAnimationOptions|PlotPieDataLabelsAnimationOptions|PlotPyramidDataLabelsAnimationOptions|
PlotVariablepieDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highmaps) The color of the line connecting the data label to
* the pie slice. The default color is the same as the point's color.
*
* In styled mode, the connector stroke is given in the
* `.highcharts-data-label-connector` class.
*/
connectorColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highmaps) The distance from the data label to the connector.
* Note that data labels also have a default `padding`, so in order for the
* connector to touch the text, the `padding` must also be 0.
*/
connectorPadding?: number;
/**
* (Highcharts, Highmaps) Specifies the method that is used to generate the
* connector path. Highcharts provides 3 built-in connector shapes:
* `'crookedLine'` (default since v11), `'fixedOffset'` and `'straight'`.
*
* Users can provide their own method by passing a function instead of a
* string. Three arguments are passed to the callback:
*
* - An object that holds the information about the coordinates of the label
* (`x` & `y` properties) and how the label is located in relation to the
* pie (`alignment` property). `alignment` can by one of the following:
* `'left'` (pie on the left side of the data label), `'right'` (pie on the
* right side of the data label) or `'center'` (data label overlaps the
* pie).
*
* - An object that holds the information about the position of the
* connector. Its `touchingSliceAt` porperty tells the position of the place
* where the connector touches the slice.
*
* - Data label options
*
* The function has to return an SVG path definition in array form (see the
* example).
*/
connectorShape?: (string|Function);
/**
* (Highcharts, Highmaps) The width of the line connecting the data label to
* the pie slice.
*
* In styled mode, the connector stroke width is given in the
* `.highcharts-data-label-connector` class.
*/
connectorWidth?: number;
/**
* (Highcharts, Highmaps) Works only if `connectorShape` is `'crookedLine'`.
* It defines how far from the vertical plot edge the coonnector path should
* be crooked. With the default, `undefined`, the crook is placed so that
* the horizontal line from the label intersects with the radial line
* extending through the center of the pie slice.
*/
crookDistance?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highmaps) The distance of the data label from the pie's
* edge. Negative numbers put the data label on top of the pie slices. Can
* also be defined as a percentage of pie's radius. Connectors are only
* shown for data labels outside the pie.
*/
distance?: (number|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highmaps) Whether to render the connector as a soft arc or a
* line with a sharp break. Works only if `connectorShape` equals to
* `fixedOffset`.
*/
softConnector?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: (string|VerticalAlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highstock) A pivot points indicator. If the type option is not specified, it
* is inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `pivotpoints` series are defined in
* plotOptions.pivotpoints.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesPivotpointsOptions` via an interface to allow
* custom properties: ``` declare interface SeriesPivotpointsOptions {
* customProperty: string; }
*
*/
export interface SeriesPivotpointsOptions extends PlotPivotpointsOptions, SeriesOptions {
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "pivotpoints";
}
/**
* Translation and scale for the plot area of a series.
*/
export interface SeriesPlotBoxObject {
scaleX: number;
scaleY: number;
translateX: number;
translateY: number;
}
/**
* (Highcharts, Highstock) A `polygon` series. If the type option is not
* specified, it is inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `polygon` series are defined in plotOptions.polygon.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesPolygonOptions` via an interface to allow
* custom properties: ``` declare interface SeriesPolygonOptions {
* customProperty: string; }
*
*/
export interface SeriesPolygonOptions extends PlotPolygonOptions, SeriesOptions {
/**
* (Highcharts, Highstock) An array of data points for the series. For the
* `polygon` series type, points can be given in the following ways:
*
* 1. An array of numerical values. In this case, the numerical values will
* be interpreted as `y` options. The `x` values will be automatically
* calculated, either starting at 0 and incremented by 1, or from
* `pointStart` and `pointInterval` given in the series options. If the axis
* has categories, these will be used. Example: (see online documentation
* for example)
*
* 2. An array of arrays with 2 values. In this case, the values correspond
* to `x,y`. If the first value is a string, it is applied as the name of
* the point, and the `x` value is inferred. (see online documentation for
* example)
*
* 3. An array of objects with named values. The following snippet shows
* only a few settings, see the complete options set below. If the total
* number of data points exceeds the series' turboThreshold, this option is
* not available. (see online documentation for example)
*/
data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* Not available
*/
stack?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "polygon";
}
/**
* (Highstock) A price envelopes indicator. If the type option is not specified,
* it is inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `priceenvelopes` series are defined in
* plotOptions.priceenvelopes.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesPriceenvelopesOptions` via an interface to
* allow custom properties: ``` declare interface SeriesPriceenvelopesOptions {
* customProperty: string; }
*
*/
export interface SeriesPriceenvelopesOptions extends PlotPriceenvelopesOptions, SeriesOptions {
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "priceenvelopes";
}
/**
* (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
* series is displayed for the `dataLabels`. The animation can also be set as a
* configuration object. Please note that this option only applies to the
* initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface SeriesPyramid3dDataDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
* Set to `0` to render the data labels immediately. As `undefined` inherits
* defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highmaps) Enable or disable the initial animation when a series
* is displayed for the `dataLabels`. The animation can also be set as a
* configuration object. Please note that this option only applies to the
* initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface SeriesPyramidDataDataLabelsAnimationOptions {
/**
* (Highcharts, Highmaps) The animation delay time in milliseconds. Set to
* `0` to render the data labels immediately. As `undefined` inherits defer
* time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highstock) A `ROC` series. If the type option is not specified, it is
* inherited from chart.type.
*
* Rate of change indicator (ROC). The indicator value for each point is defined
* as:
*
* `(C - Cn) / Cn * 100`
*
* where: `C` is the close value of the point of the same x in the linked series
* and `Cn` is the close value of the point `n` periods ago. `n` is set through
* period.
*
* This series requires `linkedTo` option to be set.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `roc` series are defined in plotOptions.roc.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesRocOptions` via an interface to allow custom
* properties: ``` declare interface SeriesRocOptions { customProperty: string;
* }
*
*/
export interface SeriesRocOptions extends PlotRocOptions, SeriesOptions {
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "roc";
}
/**
* (Highcharts) Enable or disable the initial animation when a series is
* displayed for the `dataLabels`. The animation can also be set as a
* configuration object. Please note that this option only applies to the
* initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface SeriesSankeyDataDataLabelsAnimationOptions {
/**
* (Highcharts) The animation delay time in milliseconds. Set to `0` to
* render the data labels immediately. As `undefined` inherits defer time
* from the series.animation.defer.
*/
defer?: number;
}
/**
* Context for the node formatter function.
*/
export interface SeriesSankeyDataLabelsFormatterContextObject extends PointLabelObject {
/**
* The node object. The node name, if defined, is available through
* `this.point.name`.
*/
point: SankeyNodeObject;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Individual data label for each node.
* The options are the same as the ones for series.sankey.dataLabels.
*/
export interface SeriesSankeyDataLabelsOptionsObject {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotArcdiagramLevelsDataLabelsAnimationOptions|PlotDependencywheelDataLabelsAnimationOptions|PlotDependencywheelLevelsDataLabelsAnimationOptions|
PlotOrganizationLevelsDataLabelsAnimationOptions|PlotSankeyDataLabelsAnimationOptions|PlotSankeyLevelsDataLabelsAnimationOptions|SeriesArcdiagramNodesDataLabelsAnimationOptions|
SeriesDependencywheelNodesDataLabelsAnimationOptions|SeriesOrganizationNodesDataLabelsAnimationOptions|SeriesSankeyNodesDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Distance between the data label
* and the center of the node.
*/
distance?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: SeriesSankeyDataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The format string specifying
* what to show for _nodes_ in the sankey diagram. By default the
* `nodeFormatter` returns `{point.name}`.
*/
nodeFormat?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback to format data labels
* for _nodes_ in the sankey diagram. The `nodeFormat` option takes
* precedence over the `nodeFormatter`.
*/
nodeFormatter?: SeriesSankeyDataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highcharts) A collection of options for the individual nodes. The nodes in a
* sankey diagram are auto-generated instances of `Highcharts.Point`, but
* options can be applied here and linked by the `id`.
*/
export interface SeriesSankeyNodesOptionsObject {
/**
* (Highcharts) The color of the auto generated node.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) The color index of the auto generated node, especially for
* use in styled mode.
*/
colorIndex?: number;
/**
* (Highcharts) An optional column index of where to place the node. The
* default behaviour is to place it next to the preceding node. Note that
* this option name is counter intuitive in inverted charts, like for
* example an organization chart rendered top down. In this case the
* "columns" are horizontal.
*/
column?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Individual data label for each
* node. The options are the same as the ones for series.sankey.dataLabels.
*/
dataLabels?: (SeriesArcDiagramDataLabelsOptionsObject|SeriesOrganizationDataLabelsOptionsObject|SeriesSankeyDataLabelsOptionsObject|Array<SeriesArcDiagramDataLabelsOptionsObject>|
Array<SeriesOrganizationDataLabelsOptionsObject>|Array<SeriesSankeyDataLabelsOptionsObject>);
/**
* (Highcharts) The job description for the node card, will be inserted by
* the default `dataLabel.nodeFormatter`.
*/
description?: string;
/**
* (Highcharts) The height of the node.
*/
height?: number;
/**
* (Highcharts) The id of the auto-generated node, referring to the `from`
* or `to` setting of the link.
*/
id?: string;
/**
* (Highcharts) An image for the node card, will be inserted by the default
* `dataLabel.nodeFormatter`.
*/
image?: string;
/**
* (Highcharts) Layout for the node's children. If `hanging`, this node's
* children will hang below their parent, allowing a tighter packing of
* nodes in the diagram.
*
* Note: Since @next version, the `hanging` layout is set by default for
* children of a parent using `hanging` layout.
*/
layout?: SeriesOrganizationNodesLayoutValue;
/**
* (Highcharts) An optional level index of where to place the node. The
* default behaviour is to place it next to the preceding node. Alias of
* `nodes.column`, but in inverted sankeys and org charts, the levels are
* laid out as rows.
*/
level?: number;
/**
* (Highcharts) The name to display for the node in data labels and
* tooltips. Use this when the name is different from the `id`. Where the id
* must be unique for each node, this is not necessary for the name.
*/
name?: string;
/**
* (Highcharts) The horizontal offset of a node. Positive values shift the
* node right, negative shift it left.
*
* If a percentage string is given, the node is offset by the percentage of
* the node size.
*/
offsetHorizontal?: (number|string);
/**
* (Highcharts) The vertical offset of a node. Positive values shift the
* node down, negative shift it up.
*
* If a percentage string is given, the node is offset by the percentage of
* the node size.
*/
offsetVertical?: (number|string);
/**
* (Highcharts) The job title for the node card, will be inserted by the
* default `dataLabel.nodeFormatter`.
*/
title?: string;
}
/**
* (Highcharts) An array of data points for the series. For the `sankey` series
* type, points can be given in the following way:
*
* An array of objects with named values. The following snippet shows only a few
* settings, see the complete options set below. If the total number of data
* points exceeds the series' turboThreshold, this option is not available. (see
* online documentation for example)
*
* When you provide the data as tuples, the keys option has to be set as well.
* (see online documentation for example)
*/
export interface SeriesSankeyPointOptionsObject {
/**
* (Highcharts) Accessibility options for a data point.
*/
accessibility?: PointAccessibilityOptionsObject;
/**
* (Highcharts, Gantt) An additional, individual class name for the data
* point's graphic representation. Changes to a point's color will also be
* reflected in a chart's legend and tooltip.
*/
className?: string;
/**
* (Highcharts) The color for the individual _link_. By default, the link
* color is the same as the node it extends from. The `series.fillOpacity`
* option also applies to the points, so when setting a specific link color,
* consider setting the `fillOpacity` to 1.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Gantt) A specific color index to use for the point, so its
* graphic representations are given the class name `highcharts-color-{n}`.
* In styled mode this will change the color of the graphic. In non-styled
* mode, the color is set by the `fill` attribute, so the change in class
* name won't have a visual effect by default.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Highcharts) A reserved subspace to store options and values for
* customized functionality. Here you can add additional data for your own
* event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highcharts) Individual data label for each point. The options are the
* same as the ones for plotOptions.series.dataLabels.
*/
dataLabels?: (DataLabelsOptions|SeriesArcDiagramDataLabelsOptionsObject|SeriesOrganizationDataLabelsOptionsObject|SeriesSankeyDataLabelsOptionsObject|
Array<SeriesArcDiagramDataLabelsOptionsObject>|Array<SeriesOrganizationDataLabelsOptionsObject>|Array<SeriesSankeyDataLabelsOptionsObject>);
/**
* (Highcharts) A description of the point to add to the screen reader
* information about the point.
*/
description?: string;
/**
* (Highcharts, Highstock, Gantt) The individual point events.
*/
events?: PointEventsOptionsObject;
/**
* (Highcharts) The node that the link runs from.
*/
from?: string;
/**
* (Highcharts, Highstock, Gantt) An id for the point. This can be used
* after render time to get a pointer to the point object through
* `chart.get()`.
*/
id?: string;
/**
* (Highcharts) The rank for this point's data label in case of collision.
* If two data labels are about to overlap, only the one with the highest
* `labelrank` will be drawn.
*/
labelrank?: number;
/**
* (Highcharts) The name of the point as shown in the legend, tooltip,
* dataLabels, etc.
*/
name?: string;
/**
* (Highcharts) Whether the link goes out of the system.
*/
outgoing?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether the data point is selected
* initially.
*/
selected?: boolean;
/**
* (Highcharts) The node that the link runs to.
*/
to?: string;
/**
* (Highcharts) The weight of the link.
*/
weight?: (number|null);
}
/**
* (Highcharts) A `scatter3d` series. If the type option is not specified, it is
* inherited from chart.type.
*
* scatter3d](#plotOptions.scatter3d).
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `scatter3d` series are defined in plotOptions.scatter3d.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesScatter3dOptions` via an interface to allow
* custom properties: ``` declare interface SeriesScatter3dOptions {
* customProperty: string; }
*
*/
export interface SeriesScatter3dOptions extends PlotScatter3dOptions, SeriesOptions {
/**
* (Highcharts) An array of data points for the series. For the `scatter3d`
* series type, points can be given in the following ways:
*
* 1. An array of arrays with 3 values. In this case, the values correspond
* to `x,y,z`. If the first value is a string, it is applied as the name of
* the point, and the `x` value is inferred. (see online documentation for
* example)
*
* 3. An array of objects with named values. The following snippet shows
* only a few settings, see the complete options set below. If the total
* number of data points exceeds the series' turboThreshold, this option is
* not available. (see online documentation for example)
*/
data?: Array<(Array<number>|PointOptionsObject)>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "scatter3d";
}
/**
* (Highcharts, Highstock) A `scatter` series. If the type option is not
* specified, it is inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `scatter` series are defined in plotOptions.scatter.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesScatterOptions` via an interface to allow
* custom properties: ``` declare interface SeriesScatterOptions {
* customProperty: string; }
*
*/
export interface SeriesScatterOptions extends PlotScatterOptions, SeriesOptions {
/**
* (Highcharts, Highstock) An array of data points for the series. For the
* `scatter` series type, points can be given in the following ways:
*
* 1. An array of numerical values. In this case, the numerical values will
* be interpreted as `y` options. The `x` values will be automatically
* calculated, either starting at 0 and incremented by 1, or from
* `pointStart` and `pointInterval` given in the series options. If the axis
* has categories, these will be used. Example: (see online documentation
* for example)
*
* 2. An array of arrays with 2 values. In this case, the values correspond
* to `x,y`. If the first value is a string, it is applied as the name of
* the point, and the `x` value is inferred. (see online documentation for
* example)
*
* 3. An array of objects with named values. The following snippet shows
* only a few settings, see the complete options set below. If the total
* number of data points exceeds the series' turboThreshold, this option is
* not available. (see online documentation for example)
*/
data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "scatter";
/**
* Not available
*/
useOhlcData?: undefined;
}
/**
* (Highstock) A `SMA` series. If the type option is not specified, it is
* inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `sma` series are defined in plotOptions.sma.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesSmaOptions` via an interface to allow custom
* properties: ``` declare interface SeriesSmaOptions { customProperty: string;
* }
*
*/
export interface SeriesSmaOptions extends PlotSmaOptions, SeriesOptions {
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "sma";
/**
* Not available
*/
useOhlcData?: undefined;
}
/**
* (Highcharts) A `solidgauge` series. If the type option is not specified, it
* is inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `solidgauge` series are defined in plotOptions.solidgauge.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesSolidgaugeOptions` via an interface to allow
* custom properties: ``` declare interface SeriesSolidgaugeOptions {
* customProperty: string; }
*
*/
export interface SeriesSolidgaugeOptions extends PlotSolidgaugeOptions, SeriesOptions {
/**
* (Highcharts) An array of data points for the series. For the `solidgauge`
* series type, points can be given in the following ways:
*
* 1. An array of numerical values. In this case, the numerical values will
* be interpreted as `y` options. Example: (see online documentation for
* example)
*
* 2. An array of objects with named values. The following snippet shows
* only a few settings, see the complete options set below. If the total
* number of data points exceeds the series' turboThreshold, this option is
* not available. (see online documentation for example)
*
* The typical gauge only contains a single data value.
*/
data?: Array<(number|null|PointOptionsObject)>;
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* Not available
*/
dial?: undefined;
/**
* Not available
*/
pivot?: undefined;
/**
* Not available
*/
stack?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "solidgauge";
/**
* Not available
*/
wrap?: undefined;
}
/**
* (Highstock) Context tracks for this series. Context tracks are tracks that
* are not tied to data points.
*
* Given as an array of instrument tracks, speech tracks, or a mix of both.
*/
export interface SeriesSonificationContextTracksOptions {
/**
* (Highstock) Define a condition for when a track should be active and not.
*
* Can either be a function callback or a configuration object.
*
* If a function is used, it should return a `boolean` for whether or not
* the track should be active. The function is called for each audio event,
* and receives a parameter object with `time`, and potentially `point` and
* `value` properties depending on the track. `point` is available if the
* audio event is related to a data point. `value` is available if the track
* is used as a context track, and `valueInterval` is used.
*/
activeWhen?: (Function|SonificationInstrumentActiveWhenOptions);
/**
* (Highstock) Instrument to use for playing.
*
* Can either be a string referencing a synth preset, or it can be a synth
* configuration object.
*/
instrument?: (string|SynthPatchOptionsObject);
/**
* (Highstock) Mapping options for the audio parameters.
*
* All parameters can be either:
*
* - A string, referencing a point property to map to.
*
* - A number, setting the value of the audio parameter directly.
*
* - A callback function, returning the value programmatically.
*
* - An object defining detailed configuration of the mapping.
*
* If a function is used, it should return the desired value for the audio
* parameter. The function is called for each audio event to be played, and
* receives a context object parameter with `time`, and potentially `point`
* and `value` depending on the track. `point` is available if the audio
* event is related to a data point, and `value` is available if the track
* is used for a context track using `valueInterval`.
*/
mapping?: SonificationInstrumentMappingOptions;
/**
* (Highstock) Name to use for a track when exporting to MIDI. By default it
* uses the series name if the track is related to a series.
*/
midiName?: string;
/**
* (Highstock) Options for point grouping, specifically for instrument
* tracks.
*/
pointGrouping?: SonificationInstrumentPointGroupingOptions;
/**
* (Highstock) Round pitch mapping to musical notes.
*
* If `false`, will play the exact mapped note, even if it is out of tune
* compared to the musical notes as defined by 440Hz standard tuning.
*/
roundToMusicalNotes?: boolean;
/**
* (Highstock) Show play marker (tooltip and/or crosshair) for a track.
*/
showPlayMarker?: boolean;
/**
* (Highstock) Set a context track to play periodically every `timeInterval`
* milliseconds while the sonification is playing.
*/
timeInterval?: number;
/**
* (Highstock) Type of track. Always `"instrument"` for instrument tracks,
* and `"speech"` for speech tracks.
*/
type?: SonifcationTypeValue;
/**
* (Highstock) Set a context track to play periodically every
* `valueInterval` units of a data property `valueProp` while the
* sonification is playing.
*
* For example, setting `valueProp` to `x` and `valueInterval` to 5 will
* play the context track for every 5th X value.
*
* The context audio events will be mapped to time according to the prop
* value relative to the min/max values for that prop.
*/
valueInterval?: number;
/**
* (Highstock) How to map context events to time when using the
* `valueInterval` option.
*/
valueMapFunction?: OptionsValueMapFunctionValue;
/**
* (Highstock) The point property to play context for when using
* `valueInterval`.
*/
valueProp?: string;
}
/**
* (Highstock) Default options for all this series' instrument tracks.
*/
export interface SeriesSonificationInstrumentOptions {
/**
* (Highstock) Define a condition for when a track should be active and not.
*
* Can either be a function callback or a configuration object.
*
* If a function is used, it should return a `boolean` for whether or not
* the track should be active. The function is called for each audio event,
* and receives a parameter object with `time`, and potentially `point` and
* `value` properties depending on the track. `point` is available if the
* audio event is related to a data point. `value` is available if the track
* is used as a context track, and `valueInterval` is used.
*/
activeWhen?: (Function|SonificationInstrumentActiveWhenOptions);
/**
* (Highstock) Instrument to use for playing.
*
* Can either be a string referencing a synth preset, or it can be a synth
* configuration object.
*/
instrument?: (string|SynthPatchOptionsObject);
/**
* (Highstock) Mapping options for the audio parameters.
*
* All parameters can be either:
*
* - A string, referencing a point property to map to.
*
* - A number, setting the value of the audio parameter directly.
*
* - A callback function, returning the value programmatically.
*
* - An object defining detailed configuration of the mapping.
*
* If a function is used, it should return the desired value for the audio
* parameter. The function is called for each audio event to be played, and
* receives a context object parameter with `time`, and potentially `point`
* and `value` depending on the track. `point` is available if the audio
* event is related to a data point, and `value` is available if the track
* is used for a context track using `valueInterval`.
*/
mapping?: SonificationInstrumentMappingOptions;
/**
* (Highstock) Name to use for a track when exporting to MIDI. By default it
* uses the series name if the track is related to a series.
*/
midiName?: string;
/**
* (Highstock) Options for point grouping, specifically for instrument
* tracks.
*/
pointGrouping?: SonificationInstrumentPointGroupingOptions;
/**
* (Highstock) Round pitch mapping to musical notes.
*
* If `false`, will play the exact mapped note, even if it is out of tune
* compared to the musical notes as defined by 440Hz standard tuning.
*/
roundToMusicalNotes?: boolean;
/**
* (Highstock) Show play marker (tooltip and/or crosshair) for a track.
*/
showPlayMarker?: boolean;
/**
* (Highstock) Type of track. Always `"instrument"` for instrument tracks,
* and `"speech"` for speech tracks.
*/
type?: SonifcationTypeValue;
}
/**
* (Highstock) Sonification/audio chart options for a series.
*/
export interface SeriesSonificationOptions {
/**
* (Highstock) Context tracks for this series. Context tracks are tracks
* that are not tied to data points.
*
* Given as an array of instrument tracks, speech tracks, or a mix of both.
*/
contextTracks?: Array<SeriesSonificationContextTracksOptions>;
/**
* (Highstock) Default options for all this series' instrument tracks.
*/
defaultInstrumentOptions?: SeriesSonificationInstrumentOptions;
/**
* (Highstock) Default options for all this series' speech tracks.
*/
defaultSpeechOptions?: SeriesSonificationSpeechOptions;
/**
* (Highstock) Whether or not sonification is enabled for this series.
*/
enabled?: boolean;
/**
* (Highstock) Sonification point grouping options for this series.
*/
pointGrouping?: SeriesSonificationPointGroupingOptions;
/**
* (Highstock) Tracks for this series.
*
* Given as an array of instrument tracks, speech tracks, or a mix of both.
*/
tracks?: Array<SeriesSonificationTracksOptions>;
}
/**
* (Highstock) Sonification point grouping options for this series.
*/
export interface SeriesSonificationPointGroupingOptions {
/**
* (Highstock) The grouping algorithm, deciding which points to keep when
* grouping a set of points together. By default `"minmax"` is used, which
* keeps both the minimum and maximum points.
*
* The other algorithms will either keep the first point in the group (time
* wise), last point, middle point, or both the first and the last point.
*
* The timing of the resulting point(s) is then adjusted to play evenly,
* regardless of its original position within the group.
*/
algorithm?: OptionsAlgorithmValue;
/**
* (Highstock) Whether or not to group points
*/
enabled?: boolean;
/**
* (Highstock) The size of each group in milliseconds. Audio events closer
* than this are grouped together.
*/
groupTimespan?: number;
/**
* (Highstock) The data property for each point to compare when deciding
* which points to keep in the group.
*
* By default it is "y", which means that if the `"minmax"` algorithm is
* used, the two points the group with the lowest and highest `y` value will
* be kept, and the others not played.
*/
prop?: string;
}
/**
* (Highstock) Default options for all this series' speech tracks.
*/
export interface SeriesSonificationSpeechOptions {
/**
* (Highstock) Define a condition for when a track should be active and not.
*
* Can either be a function callback or a configuration object.
*
* If a function is used, it should return a `boolean` for whether or not
* the track should be active. The function is called for each audio event,
* and receives a parameter object with `time`, and potentially `point` and
* `value` properties depending on the track. `point` is available if the
* audio event is related to a data point. `value` is available if the track
* is used as a context track, and `valueInterval` is used.
*/
activeWhen?: (Function|SonificationInstrumentActiveWhenOptions);
/**
* (Highstock) The language to speak in for speech tracks, as an IETF BCP 47
* language tag.
*/
language?: string;
/**
* (Highstock) Mapping configuration for the speech/audio parameters.
*
* All parameters except `text` can be either:
*
* - A string, referencing a point property to map to.
*
* - A number, setting the value of the speech parameter directly.
*
* - A callback function, returning the value programmatically.
*
* - An object defining detailed configuration of the mapping.
*
* If a function is used, it should return the desired value for the speech
* parameter. The function is called for each speech event to be played, and
* receives a context object parameter with `time`, and potentially `point`
* and `value` depending on the track. `point` is available if the audio
* event is related to a data point, and `value` is available if the track
* is used for a context track using `valueInterval`.
*/
mapping?: SonificationSpeechMappingOptions;
/**
* (Highstock) Options for point grouping, specifically for instrument
* tracks.
*/
pointGrouping?: SonificationInstrumentPointGroupingOptions;
/**
* (Highstock) Name of the voice synthesis to prefer for speech tracks.
*
* If not available, falls back to the default voice for the selected
* language.
*
* Different platforms provide different voices for web speech synthesis.
*/
preferredVoice?: string;
/**
* (Highstock) Show play marker (tooltip and/or crosshair) for a track.
*/
showPlayMarker?: boolean;
/**
* (Highstock) Type of track. Always `"instrument"` for instrument tracks,
* and `"speech"` for speech tracks.
*/
type?: SonifcationTypeValue;
}
/**
* (Highstock) Tracks for this series.
*
* Given as an array of instrument tracks, speech tracks, or a mix of both.
*/
export interface SeriesSonificationTracksOptions {
/**
* (Highstock) Define a condition for when a track should be active and not.
*
* Can either be a function callback or a configuration object.
*
* If a function is used, it should return a `boolean` for whether or not
* the track should be active. The function is called for each audio event,
* and receives a parameter object with `time`, and potentially `point` and
* `value` properties depending on the track. `point` is available if the
* audio event is related to a data point. `value` is available if the track
* is used as a context track, and `valueInterval` is used.
*/
activeWhen?: (Function|SonificationInstrumentActiveWhenOptions);
/**
* (Highstock) Instrument to use for playing.
*
* Can either be a string referencing a synth preset, or it can be a synth
* configuration object.
*/
instrument?: (string|SynthPatchOptionsObject);
/**
* (Highstock) Mapping options for the audio parameters.
*
* All parameters can be either:
*
* - A string, referencing a point property to map to.
*
* - A number, setting the value of the audio parameter directly.
*
* - A callback function, returning the value programmatically.
*
* - An object defining detailed configuration of the mapping.
*
* If a function is used, it should return the desired value for the audio
* parameter. The function is called for each audio event to be played, and
* receives a context object parameter with `time`, and potentially `point`
* and `value` depending on the track. `point` is available if the audio
* event is related to a data point, and `value` is available if the track
* is used for a context track using `valueInterval`.
*/
mapping?: SonificationInstrumentMappingOptions;
/**
* (Highstock) Name to use for a track when exporting to MIDI. By default it
* uses the series name if the track is related to a series.
*/
midiName?: string;
/**
* (Highstock) Options for point grouping, specifically for instrument
* tracks.
*/
pointGrouping?: SonificationInstrumentPointGroupingOptions;
/**
* (Highstock) Round pitch mapping to musical notes.
*
* If `false`, will play the exact mapped note, even if it is out of tune
* compared to the musical notes as defined by 440Hz standard tuning.
*/
roundToMusicalNotes?: boolean;
/**
* (Highstock) Show play marker (tooltip and/or crosshair) for a track.
*/
showPlayMarker?: boolean;
/**
* (Highstock) Type of track. Always `"instrument"` for instrument tracks,
* and `"speech"` for speech tracks.
*/
type?: SonifcationTypeValue;
}
/**
* (Highcharts, Highstock) A `spline` series. If the type option is not
* specified, it is inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `spline` series are defined in plotOptions.spline.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesSplineOptions` via an interface to allow custom
* properties: ``` declare interface SeriesSplineOptions { customProperty:
* string; }
*
*/
export interface SeriesSplineOptions extends PlotSplineOptions, SeriesOptions {
/**
* (Highcharts, Highstock) An array of data points for the series. For the
* `spline` series type, points can be given in the following ways:
*
* 1. An array of numerical values. In this case, the numerical values will
* be interpreted as `y` options. The `x` values will be automatically
* calculated, either starting at 0 and incremented by 1, or from
* `pointStart` and `pointInterval` given in the series options. If the axis
* has categories, these will be used. Example: (see online documentation
* for example)
*
* 2. An array of arrays with 2 values. In this case, the values correspond
* to `x,y`. If the first value is a string, it is applied as the name of
* the point, and the `x` value is inferred. (see online documentation for
* example)
*
* 3. An array of objects with named values. The following snippet shows
* only a few settings, see the complete options set below. If the total
* number of data points exceeds the series' turboThreshold, this option is
* not available. (see online documentation for example)
*/
data?: Array<(number|[(number|string), (number|null)]|null|PointOptionsObject)>;
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "spline";
}
/**
* (Highcharts, Highstock) Options for the halo appearing around the hovered
* point in line-type series as well as outside the hovered slice in pie charts.
* By default the halo is filled by the current point or series color with an
* opacity of 0.25\. The halo can be disabled by setting the `halo` option to
* `null`.
*
* In styled mode, the halo is styled with the `.highcharts-halo` class, with
* colors inherited from `.highcharts-color-{n}`.
*/
export interface SeriesStatesHoverHaloOptionsObject {
/**
* (Highcharts, Highstock) A collection of SVG attributes to override the
* appearance of the halo, for example `fill`, `stroke` and `stroke-width`.
*/
attributes?: (PlotTilemapStatesHoverHaloAttributesOptions|SVGAttributes);
enabled?: boolean;
/**
* (Highcharts, Highstock) Opacity for the halo unless a specific fill is
* overridden using the `attributes` setting. Note that Highcharts is only
* able to apply opacity to colors of hex or rgb(a) formats.
*/
opacity?: number;
/**
* (Highcharts, Highstock) The pixel size of the halo. For point markers
* this is the radius of the halo. For pie slices it is the width of the
* halo outside the slice. For bubbles it defaults to 5 and is the width of
* the halo outside the bubble.
*/
size?: number;
}
/**
* (Highstock) Options for the hovered series. These settings override the
* normal state options when a series is moused over or touched.
*/
export interface SeriesStatesHoverOptionsObject {
/**
* (Highcharts, Highstock) Animation setting for hovering the graph in
* line-type series.
*/
animation?: (boolean|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Gantt) A specific border color for the hovered point.
* Defaults to inherit the normal state border color.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highmaps) The border width of the point in this state
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Gantt) How much to brighten the point on
* interaction. Requires the main color to be defined in hex or rgb(a)
* format.
*
* In styled mode, the hover brightening is by default replaced with a
* fill-opacity set in the `.highcharts-point:hover` rule.
*/
brightness?: number;
/**
* (Highcharts, Gantt) A specific color for the hovered point.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Enable separate styles for the hovered series to visualize
* that the user hovers either the series itself or the legend.
*/
enabled?: boolean;
/**
* (Highstock) The fill or background color of the flag.
*/
fillColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock) Options for the halo appearing around the hovered
* point in line-type series as well as outside the hovered slice in pie
* charts. By default the halo is filled by the current point or series
* color with an opacity of 0.25\. The halo can be disabled by setting the
* `halo` option to `null`.
*
* In styled mode, the halo is styled with the `.highcharts-halo` class,
* with colors inherited from `.highcharts-color-{n}`.
*/
halo?: (SeriesStatesHoverHaloOptionsObject|null);
/**
* (Highstock) The color of the line/border of the flag.
*/
lineColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock) Pixel width of the graph line. By default this
* property is undefined, and the `lineWidthPlus` property dictates how much
* to increase the linewidth from normal state.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock) The additional line width for the graph of a
* hovered series.
*/
lineWidthPlus?: number;
/**
* (Highcharts, Highstock, Gantt) Opacity for the links between nodes in the
* sankey diagram in hover mode.
*/
linkOpacity?: number;
/**
* (Highcharts) The opacity of a point in treemap. When a point has
* children, the visibility of the children is determined by the opacity.
*/
opacity?: number;
/**
* (Highcharts) The shadow option for hovered state.
*/
shadow?: boolean;
}
/**
* (Highstock) The opposite state of a hover for series.
*/
export interface SeriesStatesInactiveOptionsObject {
/**
* (Highstock) Animation when not hovering over the marker.
*/
animation?: (boolean|Partial<AnimationOptionsObject>);
/**
* (Highstock) Enable or disable the inactive state for a series
*/
enabled?: boolean;
/**
* (Highcharts) Opacity for the links between nodes in the sankey diagram in
* inactive mode.
*/
linkOpacity?: number;
/**
* (Highstock) Opacity of series elements (dataLabels, line, area).
*/
opacity?: number;
}
/**
* (Highstock) The normal state of a series, or for point items in column, pie
* and similar series. Currently only used for setting animation when returning
* to normal state from hover.
*/
export interface SeriesStatesNormalOptionsObject {
/**
* (Highstock) Animation when returning to normal state after hovering.
*/
animation?: (boolean|Partial<AnimationOptionsObject>);
}
/**
* (Highcharts) A wrapper object for all the series options in specific states.
*/
export interface SeriesStatesOptionsObject {
/**
* (Highstock) Options for the hovered series. These settings override the
* normal state options when a series is moused over or touched.
*/
hover?: (number|SeriesStatesHoverOptionsObject);
/**
* (Highstock) The opposite state of a hover for series.
*/
inactive?: SeriesStatesInactiveOptionsObject;
/**
* (Highstock) The normal state of a series, or for point items in column,
* pie and similar series. Currently only used for setting animation when
* returning to normal state from hover.
*/
normal?: SeriesStatesNormalOptionsObject;
/**
* (Highstock) Specific options for point in selected states, after being
* selected by allowPointSelect or programmatically.
*/
select?: SeriesStatesSelectOptionsObject;
}
/**
* (Highstock) Specific options for point in selected states, after being
* selected by allowPointSelect or programmatically.
*/
export interface SeriesStatesSelectOptionsObject {
/**
* (Highcharts, Highstock) Animation setting for hovering the graph in
* line-type series.
*/
animation?: (boolean|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Gantt) A specific border color for the selected
* point.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highmaps) The border width of the point in this state
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Gantt) A specific color for the selected point.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Enable separate styles for the hovered series to visualize
* that the user hovers either the series itself or the legend.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) Options for the halo appearing around the hovered
* point in line-type series as well as outside the hovered slice in pie
* charts. By default the halo is filled by the current point or series
* color with an opacity of 0.25\. The halo can be disabled by setting the
* `halo` option to `null`.
*
* In styled mode, the halo is styled with the `.highcharts-halo` class,
* with colors inherited from `.highcharts-color-{n}`.
*/
halo?: (SeriesStatesHoverHaloOptionsObject|null);
/**
* (Highcharts, Highstock) Pixel width of the graph line. By default this
* property is undefined, and the `lineWidthPlus` property dictates how much
* to increase the linewidth from normal state.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock) The additional line width for the graph of a
* hovered series.
*/
lineWidthPlus?: number;
}
/**
* (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
* series is displayed for the `dataLabels`. The animation can also be set as a
* configuration object. Please note that this option only applies to the
* initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface SeriesStreamgraphDataDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
* Set to `0` to render the data labels immediately. As `undefined` inherits
* defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts) Enable or disable the initial animation when a series is
* displayed for the `dataLabels`. The animation can also be set as a
* configuration object. Please note that this option only applies to the
* initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface SeriesSunburstDataDataLabelsAnimationOptions {
/**
* (Highcharts) The animation delay time in milliseconds. Set to `0` to
* render the data labels immediately. As `undefined` inherits defer time
* from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Can set `dataLabels` on all points
* which lies on the same level.
*/
export interface SeriesSunburstDataLabelsOptionsObject {
/**
* (Highcharts, Highmaps) Alignment method for data labels. Possible values
* are:
*
* - `plotEdges`: Each label touches the nearest vertical edge of the plot
* area.
*
* - `connectors`: Connectors have the same x position and the widest label
* of each half (left & right) touches the nearest vertical edge of the plot
* area.
*/
alignTo?: string;
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotSunburstDataLabelsAnimationOptions|PlotSunburstLevelsDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highmaps) The color of the line connecting the data label to
* the pie slice. The default color is the same as the point's color.
*
* In styled mode, the connector stroke is given in the
* `.highcharts-data-label-connector` class.
*/
connectorColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highmaps) The distance from the data label to the connector.
* Note that data labels also have a default `padding`, so in order for the
* connector to touch the text, the `padding` must also be 0.
*/
connectorPadding?: number;
/**
* (Highcharts, Highmaps) Specifies the method that is used to generate the
* connector path. Highcharts provides 3 built-in connector shapes:
* `'crookedLine'` (default since v11), `'fixedOffset'` and `'straight'`.
*
* Users can provide their own method by passing a function instead of a
* string. Three arguments are passed to the callback:
*
* - An object that holds the information about the coordinates of the label
* (`x` & `y` properties) and how the label is located in relation to the
* pie (`alignment` property). `alignment` can by one of the following:
* `'left'` (pie on the left side of the data label), `'right'` (pie on the
* right side of the data label) or `'center'` (data label overlaps the
* pie).
*
* - An object that holds the information about the position of the
* connector. Its `touchingSliceAt` porperty tells the position of the place
* where the connector touches the slice.
*
* - Data label options
*
* The function has to return an SVG path definition in array form (see the
* example).
*/
connectorShape?: (string|Function);
/**
* (Highcharts, Highmaps) The width of the line connecting the data label to
* the pie slice.
*
* In styled mode, the connector stroke width is given in the
* `.highcharts-data-label-connector` class.
*/
connectorWidth?: number;
/**
* (Highcharts, Highmaps) Works only if `connectorShape` is `'crookedLine'`.
* It defines how far from the vertical plot edge the coonnector path should
* be crooked. With the default, `undefined`, the crook is placed so that
* the horizontal line from the label intersects with the radial line
* extending through the center of the pie slice.
*/
crookDistance?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highmaps) The distance of the data label from the pie's
* edge. Negative numbers put the data label on top of the pie slices. Can
* also be defined as a percentage of pie's radius. Connectors are only
* shown for data labels outside the pie.
*/
distance?: (number|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Decides how the data label will
* be rotated relative to the perimeter of the sunburst. Valid values are
* `circular`, `auto`, `parallel` and `perpendicular`. When `circular`, the
* best fit will be computed for the point, so that the label is curved
* around the center when there is room for it, otherwise perpendicular. The
* legacy `auto` option works similar to `circular`, but instead of curving
* the labels they are tangent to the perimeter.
*
* The `rotation` option takes precedence over `rotationMode`.
*/
rotationMode?: OptionsRotationModeValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highmaps) Whether to render the connector as a soft arc or a
* line with a sharp break. Works only if `connectorShape` equals to
* `fixedOffset`.
*/
softConnector?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: (VerticalAlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highstock) A `Supertrend indicator` series. If the type option is not
* specified, it is inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `supertrend` series are defined in plotOptions.supertrend.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesSupertrendOptions` via an interface to allow
* custom properties: ``` declare interface SeriesSupertrendOptions {
* customProperty: string; }
*
*/
export interface SeriesSupertrendOptions extends PlotSupertrendOptions, SeriesOptions {
/**
* Not available
*/
data?: undefined;
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "supertrend";
}
/**
* (Highmaps) A `tiledwebmap` series. The type option is not specified, it is
* inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `tiledwebmap` series are defined in
* plotOptions.tiledwebmap.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesTiledwebmapOptions` via an interface to allow
* custom properties: ``` declare interface SeriesTiledwebmapOptions {
* customProperty: string; }
*
*/
export interface SeriesTiledwebmapOptions extends PlotTiledwebmapOptions, SeriesOptions {
/**
* Not available
*/
affectsMapView?: undefined;
/**
* Not available
*/
colorByPoint?: undefined;
/**
* Not available
*/
colors?: undefined;
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* Not available
*/
nullColor?: undefined;
/**
* Not available
*/
nullInteraction?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "tiledwebmap";
}
/**
* (Highcharts, Highmaps) A `tilemap` series. If the type option is not
* specified, it is inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `tilemap` series are defined in plotOptions.tilemap.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesTilemapOptions` via an interface to allow
* custom properties: ``` declare interface SeriesTilemapOptions {
* customProperty: string; }
*
*/
export interface SeriesTilemapOptions extends PlotTilemapOptions, SeriesOptions {
/**
* (Highcharts, Highmaps) An array of data points for the series. For the
* `tilemap` series type, points can be given in the following ways:
*
* 1. An array of arrays with 3 or 2 values. In this case, the values
* correspond to `x,y,value`. If the first value is a string, it is applied
* as the name of the point, and the `x` value is inferred. The `x` value
* can also be omitted, in which case the inner arrays should be of length
* 2\. Then the `x` value is automatically calculated, either starting at 0
* and incremented by 1, or from `pointStart` and `pointInterval` given in
* the series options. (see online documentation for example)
*
* 2. An array of objects with named values. The objects are point
* configuration objects as seen below. If the total number of data points
* exceeds the series' turboThreshold, this option is not available. (see
* online documentation for example)
*
* Note that for some tileShapes the grid coordinates are offset.
*/
data?: Array<([(number|string), number]|[(number|string), number, number]|PointOptionsObject)>;
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* Not available
*/
mapData?: undefined;
/**
* Not available
*/
stack?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "tilemap";
}
/**
* (Highcharts) The `timeline` series. If the type option is not specified, it
* is inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `timeline` series are defined in plotOptions.timeline.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesTimelineOptions` via an interface to allow
* custom properties: ``` declare interface SeriesTimelineOptions {
* customProperty: string; }
*
*/
export interface SeriesTimelineOptions extends PlotTimelineOptions, SeriesOptions {
/**
* (Highcharts) An array of data points for the series. For the `timeline`
* series type, points can be given with three general parameters, `name`,
* `label`, and `description`:
*
* Example: (see online documentation for example) If all points
* additionally have the `x` values, and xAxis type is set to `datetime`,
* then events are laid out on a true time axis, where their placement
* reflects the actual time between them.
*/
data?: Array<PointOptionsObject>;
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* Not available
*/
stack?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "timeline";
}
/**
* (Highstock) A configuration object for the tooltip rendering of each single
* series. Properties are inherited from tooltip, but only the following
* properties can be defined on a series level.
*/
export interface SeriesTooltipOptionsObject {
/**
* (Highstock) How many decimals to show for the `point.change` or the
* `point.cumulativeSum` value when the `series.compare` or the
* `series.cumulative` option is set. This is overridable in each series'
* tooltip options object.
*/
changeDecimals?: number;
/**
* (Highstock) The HTML of the cluster point's in the tooltip. Works only
* with marker-clusters module and analogously to pointFormat.
*
* The cluster tooltip can be also formatted using `tooltip.formatter`
* callback function and `point.isCluster` flag.
*/
clusterFormat?: string;
/**
* (Highcharts, Highstock, Gantt) For series on datetime axes, the date
* format in the tooltip's header will by default be guessed based on the
* closest data points. This member gives the default string representations
* used for each unit. For an overview of the replacement codes, see
* dateFormat.
*/
dateTimeLabelFormats?: Dictionary<string>;
/**
* (Highstock) Distance from point to tooltip in pixels.
*/
distance?: number;
/**
* (Highstock) Whether the tooltip should follow the mouse as it moves
* across columns, pie slices and other point types with an extent. By
* default it behaves this way for pie, polygon, map, sankey and wordcloud
* series by override in the `plotOptions` for those series types.
*
* Does not apply if split is `true`.
*
* For touch moves to behave the same way, followTouchMove must be `true`
* also.
*/
followPointer?: boolean;
/**
* (Highstock) Whether the tooltip should update as the finger moves on a
* touch device. If this is `true` and chart.panning is
* set,`followTouchMove` will take over one-finger touches, so the user
* needs to use two fingers for zooming and panning.
*
* Note the difference to followPointer that only defines the _position_ of
* the tooltip. If `followPointer` is false in for example a column series,
* the tooltip will show above or below the column, but as `followTouchMove`
* is true, the tooltip will jump from column to column as the user swipes
* across the plot area.
*/
followTouchMove?: boolean;
/**
* (Highstock) A string to append to the tooltip format.
*/
footerFormat?: string;
/**
* (Highstock) A format string for the whole tooltip. When format strings
* are a requirement, it is usually more convenient to use `headerFormat`,
* `pointFormat` and `footerFormat`, but the `format` option allows
* combining them into one setting.
*
* The context of the format string is the same as that of the `formatter`
* callback.
*/
format?: string;
/**
* (Highstock) The HTML of the tooltip header line. Variables are enclosed
* by curly brackets. Available variables are `point.key`, `series.name`,
* `series.color` and other members from the `point` and `series` objects.
* The `point.key` variable contains the category name, x value or datetime
* string depending on the type of axis. For datetime axes, the `point.key`
* date format can be set using `tooltip.xDateFormat`.
*/
headerFormat?: string;
/**
* (Highcharts) The HTML of the point's line in the tooltip. Variables are
* enclosed by curly brackets. Available variables are `point.id`,
* `point.fromNode.id`, `point.toNode.id`, `series.name`, `series.color` and
* other properties on the same form. Furthermore, This can also be
* overridden for each series, which makes it a good hook for displaying
* units. In styled mode, the dot is colored by a class name rather than the
* point color.
*/
linkFormat?: string;
/**
* (Highcharts) The format string specifying what to show for _nodes_ in
* tooltip of a diagram series, as opposed to links.
*/
nodeFormat?: string;
/**
* (Highcharts) A callback for defining the format for _nodes_ in the
* chart's tooltip, as opposed to links.
*/
nodeFormatter?: FormatterCallbackFunction<SankeyNodeObject>;
/**
* (Highstock) The HTML of the null point's line in the tooltip. Works
* analogously to pointFormat.
*/
nullFormat?: string;
/**
* (Highstock) Callback function to format the text of the tooltip for
* visible null points. Works analogously to formatter.
*/
nullFormatter?: TooltipFormatterCallbackFunction;
/**
* (Highstock) The HTML of the point's line in the tooltip. Variables are
* enclosed by curly brackets. Available variables are `point.x`, `point.y`,
* `series.name` and `series.color` and other properties on the same form.
* Furthermore, `point.y` can be extended by the `tooltip.valuePrefix` and
* `tooltip.valueSuffix` variables. This can also be overridden for each
* series, which makes it a good hook for displaying units.
*
* In styled mode, the dot is colored by a class name rather than the point
* color.
*/
pointFormat?: string;
/**
* (Highstock) A callback function for formatting the HTML output for a
* single point in the tooltip. Like the `pointFormat` string, but with more
* flexibility.
*/
pointFormatter?: FormatterCallbackFunction<Point>;
/**
* (Highstock) Number of decimals in indicator series.
*/
valueDecimals?: (number|undefined);
/**
* (Highstock) A string to prepend to each series' y value. Overridable in
* each series' tooltip options object.
*/
valuePrefix?: string;
/**
* (Highstock) A string to append to each series' y value. Overridable in
* each series' tooltip options object.
*/
valueSuffix?: string;
/**
* (Highcharts, Highstock, Gantt) The format for the date in the tooltip
* header if the X axis is a datetime axis. The default is a best guess
* based on the smallest distance between points in the chart.
*/
xDateFormat?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the data labels
* appearing on top of the nodes and links. For treegraph charts, data labels
* are visible for the nodes by default, but hidden for links. This is
* controlled by modifying the `nodeFormat`, and the `format` that applies to
* links and is an empty string by default.
*/
export interface SeriesTreegraphDataLabelsOptionsObject {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotTreegraphDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a _link_ label text
* which should follow link connection. Border and background are disabled
* for a label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
linkTextPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The shadow of the box. Works
* best with `borderWidth` or `backgroundColor`. Since 2.3 the shadow can be
* an object configuration containing `color`, `offsetX`, `offsetY`,
* `opacity` and `width`.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: (CSSObject|PlotTreegraphDataLabelsStyleOptions);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
* series is displayed for the `dataLabels`. The animation can also be set as a
* configuration object. Please note that this option only applies to the
* initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface SeriesTreemapDataDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
* Set to `0` to render the data labels immediately. As `undefined` inherits
* defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highstock) A `TrendLine` series. If the type option is not specified, it is
* inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `trendline` series are defined in plotOptions.trendline.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesTrendlineOptions` via an interface to allow
* custom properties: ``` declare interface SeriesTrendlineOptions {
* customProperty: string; }
*
*/
export interface SeriesTrendlineOptions extends PlotTrendlineOptions, SeriesOptions {
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "trendline";
}
/**
* (Highcharts, Highmaps) Enable or disable the initial animation when a series
* is displayed for the `dataLabels`. The animation can also be set as a
* configuration object. Please note that this option only applies to the
* initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface SeriesVariablepieDataDataLabelsAnimationOptions {
/**
* (Highcharts, Highmaps) The animation delay time in milliseconds. Set to
* `0` to render the data labels immediately. As `undefined` inherits defer
* time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
* series is displayed for the `dataLabels`. The animation can also be set as a
* configuration object. Please note that this option only applies to the
* initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface SeriesVariwideDataDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
* Set to `0` to render the data labels immediately. As `undefined` inherits
* defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highstock) A `Volume By Price (VBP)` series. If the type option is not
* specified, it is inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `vbp` series are defined in plotOptions.vbp.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesVbpOptions` via an interface to allow custom
* properties: ``` declare interface SeriesVbpOptions { customProperty: string;
* }
*
*/
export interface SeriesVbpOptions extends PlotVbpOptions, SeriesOptions {
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "vbp";
}
/**
* (Highcharts, Highstock) A `vector` series. If the type option is not
* specified, it is inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `vector` series are defined in plotOptions.vector.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesVectorOptions` via an interface to allow custom
* properties: ``` declare interface SeriesVectorOptions { customProperty:
* string; }
*
*/
export interface SeriesVectorOptions extends PlotVectorOptions, SeriesOptions {
/**
* (Highcharts, Highstock) An array of data points for the series. For the
* `vector` series type, points can be given in the following ways:
*
* 1. An array of arrays with 4 values. In this case, the values correspond
* to to `x,y,length,direction`. If the first value is a string, it is
* applied as the name of the point, and the `x` value is inferred. (see
* online documentation for example)
*
* 2. An array of objects with named values. The following snippet shows
* only a few settings, see the complete options set below. If the total
* number of data points exceeds the series' turboThreshold, this option is
* not available. (see online documentation for example)
*/
data?: Array<([(number|string), number, number, number]|PointOptionsObject)>;
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "vector";
}
/**
* (Highcharts) A `venn` series. If the type option is not specified, it is
* inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `venn` series are defined in plotOptions.venn.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesVennOptions` via an interface to allow custom
* properties: ``` declare interface SeriesVennOptions { customProperty: string;
* }
*
*/
export interface SeriesVennOptions extends PlotVennOptions, SeriesOptions {
/**
* (Highcharts) An array of data points for the series. For the `scatter`
* series type, points can be given in the following ways:
*
* 1. An array of numerical values. In this case, the numerical values will
* be interpreted as `y` options. The `x` values will be automatically
* calculated, either starting at 0 and incremented by 1, or from
* `pointStart` and `pointInterval` given in the series options. If the axis
* has categories, these will be used. Example: (see online documentation
* for example)
*
* 2. An array of arrays with 2 values. In this case, the values correspond
* to `x,y`. If the first value is a string, it is applied as the name of
* the point, and the `x` value is inferred. (see online documentation for
* example)
*
* 3. An array of objects with named values. The following snippet shows
* only a few settings, see the complete options set below. If the total
* number of data points exceeds the series' turboThreshold, this option is
* not available. (see online documentation for example)
*/
data?: Array<PointOptionsObject>;
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* Not available
*/
stack?: undefined;
/**
* Not available
*/
steps?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "venn";
/**
* Not available
*/
xAxis?: undefined;
/**
* Not available
*/
yAxis?: undefined;
}
/**
* (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
* series is displayed for the `dataLabels`. The animation can also be set as a
* configuration object. Please note that this option only applies to the
* initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface SeriesWaterfallDataDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
* Set to `0` to render the data labels immediately. As `undefined` inherits
* defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highstock) A `Williams %R Oscillator` series. If the type option is not
* specified, it is inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `williamsr` series are defined in plotOptions.williamsr.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesWilliamsrOptions` via an interface to allow
* custom properties: ``` declare interface SeriesWilliamsrOptions {
* customProperty: string; }
*
*/
export interface SeriesWilliamsrOptions extends PlotWilliamsrOptions, SeriesOptions {
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "williamsr";
}
/**
* (Highcharts, Highstock) A `windbarb` series. If the type option is not
* specified, it is inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `windbarb` series are defined in plotOptions.windbarb.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesWindbarbOptions` via an interface to allow
* custom properties: ``` declare interface SeriesWindbarbOptions {
* customProperty: string; }
*
*/
export interface SeriesWindbarbOptions extends PlotWindbarbOptions, SeriesOptions {
/**
* (Highcharts, Highstock) An array of data points for the series. For the
* `windbarb` series type, points can be given in the following ways:
*
* 1. An array of arrays with 3 values. In this case, the values correspond
* to `x,value,direction`. If the first value is a string, it is applied as
* the name of the point, and the `x` value is inferred. (see online
* documentation for example)
*
* 2. An array of objects with named values. The following snippet shows
* only a few settings, see the complete options set below. If the total
* number of data points exceeds the series' turboThreshold, this option is
* not available. (see online documentation for example)
*/
data?: Array<([(number|string), number, number]|PointOptionsObject)>;
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "windbarb";
}
/**
* (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
* series is displayed for the `dataLabels`. The animation can also be set as a
* configuration object. Please note that this option only applies to the
* initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface SeriesWordcloudDataDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
* Set to `0` to render the data labels immediately. As `undefined` inherits
* defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock, Gantt) Enable or disable the initial animation when a
* series is displayed for the `dataLabels`. The animation can also be set as a
* configuration object. Please note that this option only applies to the
* initial animation.
*
* For other animations, see chart.animation and the animation parameter under
* the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface SeriesXrangeDataDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Gantt) The animation delay time in milliseconds.
* Set to `0` to render the data labels immediately. As `undefined` inherits
* defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highstock) A `Zig Zag` series. If the type option is not specified, it is
* inherited from chart.type.
*
* In TypeScript the type option must always be set.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the plotOptions.series
* object.
*
* 2. Options for all `zigzag` series are defined in plotOptions.zigzag.
*
* 3. Options for one single series are given in the series instance array. (see
* online documentation for example)
*
* You have to extend the `SeriesZigzagOptions` via an interface to allow custom
* properties: ``` declare interface SeriesZigzagOptions { customProperty:
* string; }
*
*/
export interface SeriesZigzagOptions extends PlotZigzagOptions, SeriesOptions {
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects from
* unknown sources.
*/
type: "zigzag";
}
/**
* (Highcharts, Highstock) An array defining zones within a series. Zones can be
* applied to the X axis, Y axis or Z axis for bubbles, according to the
* `zoneAxis` option. The zone definitions have to be in ascending order
* regarding to the value.
*
* In styled mode, the color zones are styled with the `.highcharts-zone-{n}`
* class, or custom classed from the `className` option (view live demo).
*/
export interface SeriesZonesOptionsObject {
/**
* (Highcharts, Highstock) Styled mode only. A custom class name for the
* zone.
*/
className?: string;
/**
* (Highcharts, Highstock) Defines the color of the series.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock) A name for the dash style to use for the graph.
*/
dashStyle?: DashStyleValue;
/**
* (Highcharts, Highstock) Defines the fill color for the series (in area
* type series)
*/
fillColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock) The value up to where the zone extends, if
* undefined the zones stretches to the last value in the series.
*/
value?: number;
}
/**
* The shadow options.
*/
export interface ShadowOptionsObject {
/**
* The shadow color.
*/
color?: ColorString;
/**
* The horizontal offset from the element.
*/
offsetX?: number;
/**
* The vertical offset from the element.
*/
offsetY?: number;
/**
* The shadow opacity.
*/
opacity?: number;
/**
* The shadow width or distance from the element.
*/
width?: number;
}
export interface SizeObject {
height: number;
width: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Context tracks to add globally, an
* array of either instrument tracks, speech tracks, or a mix.
*
* Context tracks are not tied to data points, but play at a set interval -
* either based on time or on prop values.
*/
export interface SonificationContextTracksOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Define a condition for when a
* track should be active and not.
*
* Can either be a function callback or a configuration object.
*
* If a function is used, it should return a `boolean` for whether or not
* the track should be active. The function is called for each audio event,
* and receives a parameter object with `time`, and potentially `point` and
* `value` properties depending on the track. `point` is available if the
* audio event is related to a data point. `value` is available if the track
* is used as a context track, and `valueInterval` is used.
*/
activeWhen?: (Function|SonificationInstrumentActiveWhenOptions);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Instrument to use for playing.
*
* Can either be a string referencing a synth preset, or it can be a synth
* configuration object.
*/
instrument?: (string|SynthPatchOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Mapping options for the audio
* parameters.
*
* All parameters can be either:
*
* - A string, referencing a point property to map to.
*
* - A number, setting the value of the audio parameter directly.
*
* - A callback function, returning the value programmatically.
*
* - An object defining detailed configuration of the mapping.
*
* If a function is used, it should return the desired value for the audio
* parameter. The function is called for each audio event to be played, and
* receives a context object parameter with `time`, and potentially `point`
* and `value` depending on the track. `point` is available if the audio
* event is related to a data point, and `value` is available if the track
* is used for a context track using `valueInterval`.
*/
mapping?: SonificationInstrumentMappingOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Name to use for a track when
* exporting to MIDI. By default it uses the series name if the track is
* related to a series.
*/
midiName?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for point grouping,
* specifically for instrument tracks.
*/
pointGrouping?: SonificationInstrumentPointGroupingOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Round pitch mapping to musical
* notes.
*
* If `false`, will play the exact mapped note, even if it is out of tune
* compared to the musical notes as defined by 440Hz standard tuning.
*/
roundToMusicalNotes?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Show play marker (tooltip and/or
* crosshair) for a track.
*/
showPlayMarker?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Set a context track to play
* periodically every `timeInterval` milliseconds while the sonification is
* playing.
*/
timeInterval?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Type of track. Always
* `"instrument"` for instrument tracks, and `"speech"` for speech tracks.
*/
type?: SonifcationTypeValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Set a context track to play
* periodically every `valueInterval` units of a data property `valueProp`
* while the sonification is playing.
*
* For example, setting `valueProp` to `x` and `valueInterval` to 5 will
* play the context track for every 5th X value.
*
* The context audio events will be mapped to time according to the prop
* value relative to the min/max values for that prop.
*/
valueInterval?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to map context events to
* time when using the `valueInterval` option.
*/
valueMapFunction?: OptionsValueMapFunctionValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The point property to play
* context for when using `valueInterval`.
*/
valueProp?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Set up event handlers for the
* sonification
*/
export interface SonificationEventsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Called after updating the
* sonification.
*
* A context object is passed to the function, with properties `chart` and
* `timeline`.
*/
afterUpdate?: Function;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Called immediately when a play
* is requested.
*
* A context object is passed to the function, with properties `chart` and
* `timeline`.
*/
beforePlay?: Function;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Called before updating the
* sonification.
*
* A context object is passed to the function, with properties `chart` and
* `timeline`.
*/
beforeUpdate?: Function;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Called when attempting to play
* an adjacent point or series, and there is none.
*
* By default a percussive sound is played.
*
* A context object is passed to the function, with properties `chart`,
* `timeline`, and `attemptedNext`. `attemptedNext` is a boolean property
* that is `true` if the boundary hit was from trying to play the next
* series/point, and `false` if it was from trying to play the previous.
*/
onBoundaryHit?: Function;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Called when play is completed.
*
* A context object is passed to the function, with properties `chart`,
* `timeline` and `pointsPlayed`. `pointsPlayed` is an array of `Point`
* objects, referencing data points that were related to the audio events
* played.
*/
onEnd?: Function;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Called on play.
*
* A context object is passed to the function, with properties `chart` and
* `timeline`.
*/
onPlay?: Function;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Called when finished playing a
* series.
*
* A context object is passed to the function, with properties `series` and
* `timeline`.
*/
onSeriesEnd?: Function;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Called on the beginning of
* playing a series.
*
* A context object is passed to the function, with properties `series` and
* `timeline`.
*/
onSeriesStart?: Function;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Called on pause, cancel, or if
* play is completed.
*
* A context object is passed to the function, with properties `chart`,
* `timeline` and `pointsPlayed`. `pointsPlayed` is an array of `Point`
* objects, referencing data points that were related to the audio events
* played.
*/
onStop?: Function;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Define a condition for when a track
* should be active and not.
*
* Can either be a function callback or a configuration object.
*
* If a function is used, it should return a `boolean` for whether or not the
* track should be active. The function is called for each audio event, and
* receives a parameter object with `time`, and potentially `point` and `value`
* properties depending on the track. `point` is available if the audio event is
* related to a data point. `value` is available if the track is used as a
* context track, and `valueInterval` is used.
*/
export interface SonificationInstrumentActiveWhenOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Track is only active when `prop`
* was above, and is now at or below this value.
*
* If both `crossingUp` and `crossingDown` are defined, the track is active
* if either condition is met.
*/
crossingDown?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Track is only active when `prop`
* was below, and is now at or above this value.
*
* If both `crossingUp` and `crossingDown` are defined, the track is active
* if either condition is met.
*/
crossingUp?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Track is only active when `prop`
* is below or at this value.
*/
max?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Track is only active when `prop`
* is above or at this value.
*/
min?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The point property to compare,
* for example `y` or `x`.
*/
prop?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Frequency in Hertz of notes.
* Overrides pitch mapping if set.
*/
export interface SonificationInstrumentFrequencyOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to perform the mapping.
*/
mapFunction?: OptionsMapFunctionValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A point property to map the
* mapping parameter to.
*
* A negative sign `-` can be placed before the property name to make
* mapping inverted.
*/
mapTo?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The maximum value for the audio
* parameter. This is the highest value the audio parameter will be mapped
* to.
*/
max?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The minimum value for the audio
* parameter. This is the lowest value the audio parameter will be mapped
* to.
*/
min?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A fixed value to use for the
* prop when mapping.
*
* For example, if mapping to `y`, setting value to `4` will map as if all
* points had a y value of 4.
*/
value?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) What data values to map the
* parameter within.
*
* Mapping within `"series"` will make the lowest value point in the series
* map to the min audio parameter value, and the highest value will map to
* the max audio parameter.
*
* Mapping within `"chart"` will make the lowest value point in the whole
* chart map to the min audio parameter value, and the highest value in the
* whole chart will map to the max audio parameter.
*
* You can also map within the X or Y axis of each series.
*/
within?: OptionsWithinValue;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Mapping options for the highpass
* filter.
*
* A highpass filter lets high frequencies through, but stops low frequencies,
* making the sound thinner.
*/
export interface SonificationInstrumentHighpassOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Map to filter frequency in Hertz
* from 1 to 20,000Hz.
*/
frequency?: (number|string|Function|SonificationInstrumentLowpassFrequencyOptions);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Map to filter resonance in dB.
* Can be negative to cause a dip, or positive to cause a bump.
*/
resonance?: (number|string|Function|SonificationInstrumentLowpassResonanceOptions);
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Map to filter frequency in Hertz
* from 1 to 20,000Hz.
*/
export interface SonificationInstrumentLowpassFrequencyOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to perform the mapping.
*/
mapFunction?: OptionsMapFunctionValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A point property to map the
* mapping parameter to.
*
* A negative sign `-` can be placed before the property name to make
* mapping inverted.
*/
mapTo?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The maximum value for the audio
* parameter. This is the highest value the audio parameter will be mapped
* to.
*/
max?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The minimum value for the audio
* parameter. This is the lowest value the audio parameter will be mapped
* to.
*/
min?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A fixed value to use for the
* prop when mapping.
*
* For example, if mapping to `y`, setting value to `4` will map as if all
* points had a y value of 4.
*/
value?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) What data values to map the
* parameter within.
*
* Mapping within `"series"` will make the lowest value point in the series
* map to the min audio parameter value, and the highest value will map to
* the max audio parameter.
*
* Mapping within `"chart"` will make the lowest value point in the whole
* chart map to the min audio parameter value, and the highest value in the
* whole chart will map to the max audio parameter.
*
* You can also map within the X or Y axis of each series.
*/
within?: OptionsWithinValue;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Mapping options for the lowpass
* filter.
*
* A lowpass filter lets low frequencies through, but stops high frequencies,
* making the sound more dull.
*/
export interface SonificationInstrumentLowpassOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Map to filter frequency in Hertz
* from 1 to 20,000Hz.
*/
frequency?: (number|string|Function|SonificationInstrumentLowpassFrequencyOptions);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Map to filter resonance in dB.
* Can be negative to cause a dip, or positive to cause a bump.
*/
resonance?: (number|string|Function|SonificationInstrumentLowpassResonanceOptions);
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Map to filter resonance in dB. Can
* be negative to cause a dip, or positive to cause a bump.
*/
export interface SonificationInstrumentLowpassResonanceOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to perform the mapping.
*/
mapFunction?: OptionsMapFunctionValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A point property to map the
* mapping parameter to.
*
* A negative sign `-` can be placed before the property name to make
* mapping inverted.
*/
mapTo?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The maximum value for the audio
* parameter. This is the highest value the audio parameter will be mapped
* to.
*/
max?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The minimum value for the audio
* parameter. This is the lowest value the audio parameter will be mapped
* to.
*/
min?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A fixed value to use for the
* prop when mapping.
*
* For example, if mapping to `y`, setting value to `4` will map as if all
* points had a y value of 4.
*/
value?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) What data values to map the
* parameter within.
*
* Mapping within `"series"` will make the lowest value point in the series
* map to the min audio parameter value, and the highest value will map to
* the max audio parameter.
*
* Mapping within `"chart"` will make the lowest value point in the whole
* chart map to the min audio parameter value, and the highest value in the
* whole chart will map to the max audio parameter.
*
* You can also map within the X or Y axis of each series.
*/
within?: OptionsWithinValue;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Mapping options for the audio
* parameters.
*
* All parameters can be either:
*
* - A string, referencing a point property to map to.
*
* - A number, setting the value of the audio parameter directly.
*
* - A callback function, returning the value programmatically.
*
* - An object defining detailed configuration of the mapping.
*
* If a function is used, it should return the desired value for the audio
* parameter. The function is called for each audio event to be played, and
* receives a context object parameter with `time`, and potentially `point` and
* `value` depending on the track. `point` is available if the audio event is
* related to a data point, and `value` is available if the track is used for a
* context track using `valueInterval`.
*/
export interface SonificationInstrumentMappingOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Frequency in Hertz of notes.
* Overrides pitch mapping if set.
*/
frequency?: (number|string|Function|SonificationInstrumentFrequencyOptions);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Gap in milliseconds between
* notes if pitch is mapped to an array of notes.
*
* Can be set to a fixed value, a prop to map to, a function, or a mapping
* object.
*/
gapBetweenNotes?: (number|string|Function|SonificationInstrumentTimeOptions);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Mapping options for the highpass
* filter.
*
* A highpass filter lets high frequencies through, but stops low
* frequencies, making the sound thinner.
*/
highpass?: SonificationInstrumentHighpassOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Mapping options for the lowpass
* filter.
*
* A lowpass filter lets low frequencies through, but stops high
* frequencies, making the sound more dull.
*/
lowpass?: SonificationInstrumentLowpassOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Note duration determines for how
* long a note plays, in milliseconds.
*
* It only affects instruments that are able to play continuous sustained
* notes. Examples of these instruments from the presets include `flute`,
* `saxophone`, `trumpet`, `sawsynth`, `wobble`, `basic1`, `basic2`, `sine`,
* `sineGlide`, `triangle`, `square`, `sawtooth`, `noise`, `filteredNoise`,
* and `wind`.
*
* Can be set to a fixed value, a prop to map to, a function, or a mapping
* object.
*/
noteDuration?: (number|string|Function|SonificationInstrumentTimeOptions);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Pan refers to the stereo panning
* position of the sound. It is defined from -1 (left) to 1 (right).
*
* By default it is mapped to `x`, making the sound move from left to right
* as the chart plays.
*
* Can be set to a fixed value, a prop to map to, a function, or a mapping
* object.
*/
pan?: (number|string|Function|SonificationInstrumentTimeOptions);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Musical pitch refers to how high
* or low notes are played.
*
* By default it is mapped to `y` so low `y` values are played with a lower
* pitch, and high values are played with a higher pitch.
*
* Pitch mapping has a few extra features compared to other audio
* parameters.
*
* Firstly, it accepts not only number values, but also string values
* denoting note names. These are given in the form `<note><octave>`, for
* example `"c6"` or `"F#2"`.
*
* Secondly, it is possible to map pitch to an array of notes. In this case,
* the `gapBetweenNotes` mapping determines the delay between these notes.
*
* Thirdly, it is possible to define a musical scale to follow when mapping.
*
* Can be set to a fixed value, an array, a prop to map to, a function, or a
* mapping object.
*/
pitch?: (number|string|Function|SonificationInstrumentPitchOptions|Array<(string|number)>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Milliseconds to wait before
* playing, comes in addition to the time determined by the `time` mapping.
*
* Can also be negative to play before the mapped time.
*/
playDelay?: (number|string|Function|SonificationInstrumentPlayDelayOptions);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Rate mapping for speech tracks.
*/
rate?: (number|string|Function|SonificationTracksRateOptions);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text mapping for speech tracks.
*/
text?: (string|Function);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Time mapping determines what
* time each point plays. It is defined as an offset in milliseconds, where
* 0 means it plays immediately when the chart is sonified.
*
* By default time is mapped to `x`, meaning points with the lowest `x`
* value plays first, and points with the highest `x` value plays last.
*
* Can be set to a fixed value, a prop to map to, a function, or a mapping
* object.
*/
time?: (number|string|Function|SonificationInstrumentTimeOptions);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Mapping options for tremolo
* effects.
*
* Tremolo is repeated changes of volume over time.
*/
tremolo?: SonificationInstrumentTremoloOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The volume of notes, from 0 to
* 1.
*/
volume?: (number|string|Function|SonificationInstrumentVolumeOptions);
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Default sonification options for all
* instrument tracks.
*
* If specific options are also set on individual tracks or per series, those
* will override these options.
*/
export interface SonificationInstrumentOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Define a condition for when a
* track should be active and not.
*
* Can either be a function callback or a configuration object.
*
* If a function is used, it should return a `boolean` for whether or not
* the track should be active. The function is called for each audio event,
* and receives a parameter object with `time`, and potentially `point` and
* `value` properties depending on the track. `point` is available if the
* audio event is related to a data point. `value` is available if the track
* is used as a context track, and `valueInterval` is used.
*/
activeWhen?: (Function|SonificationInstrumentActiveWhenOptions);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Instrument to use for playing.
*
* Can either be a string referencing a synth preset, or it can be a synth
* configuration object.
*/
instrument?: (string|SynthPatchOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Mapping options for the audio
* parameters.
*
* All parameters can be either:
*
* - A string, referencing a point property to map to.
*
* - A number, setting the value of the audio parameter directly.
*
* - A callback function, returning the value programmatically.
*
* - An object defining detailed configuration of the mapping.
*
* If a function is used, it should return the desired value for the audio
* parameter. The function is called for each audio event to be played, and
* receives a context object parameter with `time`, and potentially `point`
* and `value` depending on the track. `point` is available if the audio
* event is related to a data point, and `value` is available if the track
* is used for a context track using `valueInterval`.
*/
mapping?: SonificationInstrumentMappingOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Name to use for a track when
* exporting to MIDI. By default it uses the series name if the track is
* related to a series.
*/
midiName?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for point grouping,
* specifically for instrument tracks.
*/
pointGrouping?: SonificationInstrumentPointGroupingOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Round pitch mapping to musical
* notes.
*
* If `false`, will play the exact mapped note, even if it is out of tune
* compared to the musical notes as defined by 440Hz standard tuning.
*/
roundToMusicalNotes?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Show play marker (tooltip and/or
* crosshair) for a track.
*/
showPlayMarker?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Type of track. Always
* `"instrument"` for instrument tracks, and `"speech"` for speech tracks.
*/
type?: SonifcationTypeValue;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Musical pitch refers to how high or
* low notes are played.
*
* By default it is mapped to `y` so low `y` values are played with a lower
* pitch, and high values are played with a higher pitch.
*
* Pitch mapping has a few extra features compared to other audio parameters.
*
* Firstly, it accepts not only number values, but also string values denoting
* note names. These are given in the form `<note><octave>`, for example `"c6"`
* or `"F#2"`.
*
* Secondly, it is possible to map pitch to an array of notes. In this case, the
* `gapBetweenNotes` mapping determines the delay between these notes.
*
* Thirdly, it is possible to define a musical scale to follow when mapping.
*
* Can be set to a fixed value, an array, a prop to map to, a function, or a
* mapping object.
*/
export interface SonificationInstrumentPitchOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to perform the mapping.
*/
mapFunction?: OptionsMapFunctionValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A point property to map the
* mapping parameter to.
*
* A negative sign `-` can be placed before the property name to make
* mapping inverted.
*/
mapTo?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The maximum value for the audio
* parameter. This is the highest value the audio parameter will be mapped
* to.
*/
max?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The minimum value for the audio
* parameter. This is the lowest value the audio parameter will be mapped
* to.
*/
min?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Map pitches to a musical scale.
* The scale is defined as an array of semitone offsets from the root note.
*/
scale?: Array<number>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A fixed value to use for the
* prop when mapping.
*
* For example, if mapping to `y`, setting value to `4` will map as if all
* points had a y value of 4.
*/
value?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) What data values to map the
* parameter within.
*
* Mapping within `"series"` will make the lowest value point in the series
* map to the min audio parameter value, and the highest value will map to
* the max audio parameter.
*
* Mapping within `"chart"` will make the lowest value point in the whole
* chart map to the min audio parameter value, and the highest value in the
* whole chart will map to the max audio parameter.
*
* You can also map within the X or Y axis of each series.
*/
within?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Milliseconds to wait before playing,
* comes in addition to the time determined by the `time` mapping.
*
* Can also be negative to play before the mapped time.
*/
export interface SonificationInstrumentPlayDelayOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to perform the mapping.
*/
mapFunction?: OptionsMapFunctionValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A point property to map the
* mapping parameter to.
*
* A negative sign `-` can be placed before the property name to make
* mapping inverted.
*/
mapTo?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The maximum value for the audio
* parameter. This is the highest value the audio parameter will be mapped
* to.
*/
max?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The minimum value for the audio
* parameter. This is the lowest value the audio parameter will be mapped
* to.
*/
min?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A fixed value to use for the
* prop when mapping.
*
* For example, if mapping to `y`, setting value to `4` will map as if all
* points had a y value of 4.
*/
value?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) What data values to map the
* parameter within.
*
* Mapping within `"series"` will make the lowest value point in the series
* map to the min audio parameter value, and the highest value will map to
* the max audio parameter.
*
* Mapping within `"chart"` will make the lowest value point in the whole
* chart map to the min audio parameter value, and the highest value in the
* whole chart will map to the max audio parameter.
*
* You can also map within the X or Y axis of each series.
*/
within?: OptionsWithinValue;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for point grouping,
* specifically for instrument tracks.
*/
export interface SonificationInstrumentPointGroupingOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The grouping algorithm, deciding
* which points to keep when grouping a set of points together. By default
* `"minmax"` is used, which keeps both the minimum and maximum points.
*
* The other algorithms will either keep the first point in the group (time
* wise), last point, middle point, or both the first and the last point.
*
* The timing of the resulting point(s) is then adjusted to play evenly,
* regardless of its original position within the group.
*/
algorithm?: ("first"|"firstlast"|"last"|"middle"|"minmax"|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether or not to group points
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The size of each group in
* milliseconds. Audio events closer than this are grouped together.
*/
groupTimespan?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The data property for each point
* to compare when deciding which points to keep in the group.
*
* By default it is "y", which means that if the `"minmax"` algorithm is
* used, the two points the group with the lowest and highest `y` value will
* be kept, and the others not played.
*/
prop?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Time mapping determines what time
* each point plays. It is defined as an offset in milliseconds, where 0 means
* it plays immediately when the chart is sonified.
*
* By default time is mapped to `x`, meaning points with the lowest `x` value
* plays first, and points with the highest `x` value plays last.
*
* Can be set to a fixed value, a prop to map to, a function, or a mapping
* object.
*/
export interface SonificationInstrumentTimeOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to perform the mapping.
*/
mapFunction?: OptionsMapFunctionValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A point property to map the
* mapping parameter to.
*
* A negative sign `-` can be placed before the property name to make
* mapping inverted.
*/
mapTo?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The maximum value for the audio
* parameter. This is the highest value the audio parameter will be mapped
* to.
*/
max?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The minimum value for the audio
* parameter. This is the lowest value the audio parameter will be mapped
* to.
*/
min?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A fixed value to use for the
* prop when mapping.
*
* For example, if mapping to `y`, setting value to `4` will map as if all
* points had a y value of 4.
*/
value?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) What data values to map the
* parameter within.
*
* Mapping within `"series"` will make the lowest value point in the series
* map to the min audio parameter value, and the highest value will map to
* the max audio parameter.
*
* Mapping within `"chart"` will make the lowest value point in the whole
* chart map to the min audio parameter value, and the highest value in the
* whole chart will map to the max audio parameter.
*
* You can also map within the X or Y axis of each series.
*/
within?: OptionsWithinValue;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Map to tremolo depth, from 0 to 1.
*
* This determines the intensity of the tremolo effect, how much the volume
* changes.
*/
export interface SonificationInstrumentTremoloDepthOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to perform the mapping.
*/
mapFunction?: OptionsMapFunctionValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A point property to map the
* mapping parameter to.
*
* A negative sign `-` can be placed before the property name to make
* mapping inverted.
*/
mapTo?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The maximum value for the audio
* parameter. This is the highest value the audio parameter will be mapped
* to.
*/
max?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The minimum value for the audio
* parameter. This is the lowest value the audio parameter will be mapped
* to.
*/
min?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A fixed value to use for the
* prop when mapping.
*
* For example, if mapping to `y`, setting value to `4` will map as if all
* points had a y value of 4.
*/
value?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) What data values to map the
* parameter within.
*
* Mapping within `"series"` will make the lowest value point in the series
* map to the min audio parameter value, and the highest value will map to
* the max audio parameter.
*
* Mapping within `"chart"` will make the lowest value point in the whole
* chart map to the min audio parameter value, and the highest value in the
* whole chart will map to the max audio parameter.
*
* You can also map within the X or Y axis of each series.
*/
within?: OptionsWithinValue;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Mapping options for tremolo effects.
*
* Tremolo is repeated changes of volume over time.
*/
export interface SonificationInstrumentTremoloOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Map to tremolo depth, from 0 to
* 1.
*
* This determines the intensity of the tremolo effect, how much the volume
* changes.
*/
depth?: (number|string|Function|SonificationInstrumentTremoloDepthOptions);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Map to tremolo speed, from 0 to
* 1.
*
* This determines the speed of the tremolo effect, how fast the volume
* changes.
*/
speed?: (number|string|Function|SonificationInstrumentTremoloSpeedOptions);
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Map to tremolo speed, from 0 to 1.
*
* This determines the speed of the tremolo effect, how fast the volume changes.
*/
export interface SonificationInstrumentTremoloSpeedOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to perform the mapping.
*/
mapFunction?: OptionsMapFunctionValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A point property to map the
* mapping parameter to.
*
* A negative sign `-` can be placed before the property name to make
* mapping inverted.
*/
mapTo?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The maximum value for the audio
* parameter. This is the highest value the audio parameter will be mapped
* to.
*/
max?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The minimum value for the audio
* parameter. This is the lowest value the audio parameter will be mapped
* to.
*/
min?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A fixed value to use for the
* prop when mapping.
*
* For example, if mapping to `y`, setting value to `4` will map as if all
* points had a y value of 4.
*/
value?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) What data values to map the
* parameter within.
*
* Mapping within `"series"` will make the lowest value point in the series
* map to the min audio parameter value, and the highest value will map to
* the max audio parameter.
*
* Mapping within `"chart"` will make the lowest value point in the whole
* chart map to the min audio parameter value, and the highest value in the
* whole chart will map to the max audio parameter.
*
* You can also map within the X or Y axis of each series.
*/
within?: OptionsWithinValue;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) The volume of notes, from 0 to 1.
*/
export interface SonificationInstrumentVolumeOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to perform the mapping.
*/
mapFunction?: OptionsMapFunctionValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A point property to map the
* mapping parameter to.
*
* A negative sign `-` can be placed before the property name to make
* mapping inverted.
*/
mapTo?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The maximum value for the audio
* parameter. This is the highest value the audio parameter will be mapped
* to.
*/
max?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The minimum value for the audio
* parameter. This is the lowest value the audio parameter will be mapped
* to.
*/
min?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A fixed value to use for the
* prop when mapping.
*
* For example, if mapping to `y`, setting value to `4` will map as if all
* points had a y value of 4.
*/
value?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) What data values to map the
* parameter within.
*
* Mapping within `"series"` will make the lowest value point in the series
* map to the min audio parameter value, and the highest value will map to
* the max audio parameter.
*
* Mapping within `"chart"` will make the lowest value point in the whole
* chart map to the min audio parameter value, and the highest value in the
* whole chart will map to the max audio parameter.
*
* You can also map within the X or Y axis of each series.
*/
within?: OptionsWithinValue;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for configuring sonification
* and audio charts. Requires the sonification module to be loaded.
*/
export interface SonificationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The time to wait in milliseconds
* after each data series when playing the series one after the other.
*/
afterSeriesWait?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Default sonification options for
* all instrument tracks.
*
* If specific options are also set on individual tracks or per series,
* those will override these options.
*/
defaultInstrumentOptions?: SonificationInstrumentOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Default sonification options for
* all speech tracks.
*
* If specific options are also set on individual tracks or per series,
* those will override these options.
*/
defaultSpeechOptions?: SonificationSpeechOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The total duration of the
* sonification, in milliseconds.
*/
duration?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable sonification
* functionality for the chart.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Set up event handlers for the
* sonification
*/
events?: SonificationEventsOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Context tracks to add globally,
* an array of either instrument tracks, speech tracks, or a mix.
*
* Context tracks are not tied to data points, but play at a set interval -
* either based on time or on prop values.
*/
globalContextTracks?: Array<SonificationContextTracksOptions>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Global tracks to add to every
* series.
*
* Defined as an array of either instrument or speech tracks, or a
* combination.
*/
globalTracks?: Array<SonificationTracksOptions>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Overall/master volume for the
* sonification, from 0 to 1.
*/
masterVolume?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) What order to play the data
* series in, either `sequential` where the series play individually one
* after the other, or `simultaneous` where the series play all at once.
*/
order?: OptionsOrderValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for grouping data points
* together when sonifying. This allows for the visual presentation to
* contain more points than what is being played. If not enabled, all
* visible / uncropped points are played.
*/
pointGrouping?: SonificationPointGroupingOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Show X and Y axis crosshairs (if
* they exist) as the chart plays.
*
* Note that if multiple tracks that play at different times try to show the
* crosshairs, it can be glitchy, so it is recommended in those cases to
* turn this on/off for individual tracks using the showPlayMarker option.
*/
showCrosshair?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Show tooltip as the chart plays.
*
* Note that if multiple tracks that play at different times try to show the
* tooltip, it can be glitchy, so it is recommended in those cases to turn
* this on/off for individual tracks using the showPlayMarker option.
*/
showTooltip?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How long to wait between each
* recomputation of the sonification, if the chart updates rapidly. This
* avoids slowing down processes like panning. Given in milliseconds.
*/
updateInterval?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for grouping data points
* together when sonifying. This allows for the visual presentation to contain
* more points than what is being played. If not enabled, all visible /
* uncropped points are played.
*/
export interface SonificationPointGroupingOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The grouping algorithm, deciding
* which points to keep when grouping a set of points together. By default
* `"minmax"` is used, which keeps both the minimum and maximum points.
*
* The other algorithms will either keep the first point in the group (time
* wise), last point, middle point, or both the first and the last point.
*
* The timing of the resulting point(s) is then adjusted to play evenly,
* regardless of its original position within the group.
*/
algorithm?: OptionsAlgorithmValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether or not to group points
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The size of each group in
* milliseconds. Audio events closer than this are grouped together.
*/
groupTimespan?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The data property for each point
* to compare when deciding which points to keep in the group.
*
* By default it is "y", which means that if the `"minmax"` algorithm is
* used, the two points the group with the lowest and highest `y` value will
* be kept, and the others not played.
*/
prop?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Mapping configuration for the
* speech/audio parameters.
*
* All parameters except `text` can be either:
*
* - A string, referencing a point property to map to.
*
* - A number, setting the value of the speech parameter directly.
*
* - A callback function, returning the value programmatically.
*
* - An object defining detailed configuration of the mapping.
*
* If a function is used, it should return the desired value for the speech
* parameter. The function is called for each speech event to be played, and
* receives a context object parameter with `time`, and potentially `point` and
* `value` depending on the track. `point` is available if the audio event is
* related to a data point, and `value` is available if the track is used for a
* context track using `valueInterval`.
*/
export interface SonificationSpeechMappingOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Speech pitch (how high/low the
* voice is) multiplier.
*/
pitch?: (number|string|Function|SonificationSpeechPitchOptions);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Milliseconds to wait before
* playing, comes in addition to the time determined by the `time` mapping.
*
* Can also be negative to play before the mapped time.
*/
playDelay?: (number|string|Function|SonificationSpeechPlayDelayOptions);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Speech rate (speed) multiplier.
*/
rate?: (number|string|Function|SonificationInstrumentTimeOptions);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The text to announce for speech
* tracks. Can either be a format string or a function.
*
* If it is a function, it should return the format string to announce. The
* function is called for each audio event, and receives a parameter object
* with `time`, and potentially `point` and `value` properties depending on
* the track. `point` is available if the audio event is related to a data
* point. `value` is available if the track is used as a context track, and
* `valueInterval` is used.
*
* If it is a format string, in addition to normal string content, format
* values can be accessed using bracket notation. For example `"Value is
* {point.y}%"`.
*
* `time`, `point` and `value` are available to the format strings similarly
* to with functions. Nested properties can be accessed with dot notation,
* for example `"Density: {point.options.custom.density}"`
*/
text?: (string|Function);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Time mapping determines what
* time each point plays. It is defined as an offset in milliseconds, where
* 0 means it plays immediately when the chart is sonified.
*
* By default time is mapped to `x`, meaning points with the lowest `x`
* value plays first, and points with the highest `x` value plays last.
*
* Can be set to a fixed value, a prop to map to, a function, or a mapping
* object.
*/
time?: (number|string|Function|SonificationInstrumentTimeOptions);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Volume of the speech
* announcement.
*/
volume?: (number|string|Function|SonificationInstrumentVolumeOptions);
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Default sonification options for all
* speech tracks.
*
* If specific options are also set on individual tracks or per series, those
* will override these options.
*/
export interface SonificationSpeechOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Define a condition for when a
* track should be active and not.
*
* Can either be a function callback or a configuration object.
*
* If a function is used, it should return a `boolean` for whether or not
* the track should be active. The function is called for each audio event,
* and receives a parameter object with `time`, and potentially `point` and
* `value` properties depending on the track. `point` is available if the
* audio event is related to a data point. `value` is available if the track
* is used as a context track, and `valueInterval` is used.
*/
activeWhen?: (Function|SonificationInstrumentActiveWhenOptions);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The language to speak in for
* speech tracks, as an IETF BCP 47 language tag.
*/
language?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Mapping configuration for the
* speech/audio parameters.
*
* All parameters except `text` can be either:
*
* - A string, referencing a point property to map to.
*
* - A number, setting the value of the speech parameter directly.
*
* - A callback function, returning the value programmatically.
*
* - An object defining detailed configuration of the mapping.
*
* If a function is used, it should return the desired value for the speech
* parameter. The function is called for each speech event to be played, and
* receives a context object parameter with `time`, and potentially `point`
* and `value` depending on the track. `point` is available if the audio
* event is related to a data point, and `value` is available if the track
* is used for a context track using `valueInterval`.
*/
mapping?: SonificationSpeechMappingOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for point grouping,
* specifically for instrument tracks.
*/
pointGrouping?: SonificationInstrumentPointGroupingOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Name of the voice synthesis to
* prefer for speech tracks.
*
* If not available, falls back to the default voice for the selected
* language.
*
* Different platforms provide different voices for web speech synthesis.
*/
preferredVoice?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Show play marker (tooltip and/or
* crosshair) for a track.
*/
showPlayMarker?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Type of track. Always
* `"instrument"` for instrument tracks, and `"speech"` for speech tracks.
*/
type?: SonifcationTypeValue;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Speech pitch (how high/low the voice
* is) multiplier.
*/
export interface SonificationSpeechPitchOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to perform the mapping.
*/
mapFunction?: OptionsMapFunctionValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A point property to map the
* mapping parameter to.
*
* A negative sign `-` can be placed before the property name to make
* mapping inverted.
*/
mapTo?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The maximum value for the audio
* parameter. This is the highest value the audio parameter will be mapped
* to.
*/
max?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The minimum value for the audio
* parameter. This is the lowest value the audio parameter will be mapped
* to.
*/
min?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A fixed value to use for the
* prop when mapping.
*
* For example, if mapping to `y`, setting value to `4` will map as if all
* points had a y value of 4.
*/
value?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) What data values to map the
* parameter within.
*
* Mapping within `"series"` will make the lowest value point in the series
* map to the min audio parameter value, and the highest value will map to
* the max audio parameter.
*
* Mapping within `"chart"` will make the lowest value point in the whole
* chart map to the min audio parameter value, and the highest value in the
* whole chart will map to the max audio parameter.
*
* You can also map within the X or Y axis of each series.
*/
within?: string;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Milliseconds to wait before playing,
* comes in addition to the time determined by the `time` mapping.
*
* Can also be negative to play before the mapped time.
*/
export interface SonificationSpeechPlayDelayOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to perform the mapping.
*/
mapFunction?: OptionsMapFunctionValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A point property to map the
* mapping parameter to.
*
* A negative sign `-` can be placed before the property name to make
* mapping inverted.
*/
mapTo?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The maximum value for the audio
* parameter. This is the highest value the audio parameter will be mapped
* to.
*/
max?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The minimum value for the audio
* parameter. This is the lowest value the audio parameter will be mapped
* to.
*/
min?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A fixed value to use for the
* prop when mapping.
*
* For example, if mapping to `y`, setting value to `4` will map as if all
* points had a y value of 4.
*/
value?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) What data values to map the
* parameter within.
*
* Mapping within `"series"` will make the lowest value point in the series
* map to the min audio parameter value, and the highest value will map to
* the max audio parameter.
*
* Mapping within `"chart"` will make the lowest value point in the whole
* chart map to the min audio parameter value, and the highest value in the
* whole chart will map to the max audio parameter.
*
* You can also map within the X or Y axis of each series.
*/
within?: OptionsWithinValue;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Global tracks to add to every
* series.
*
* Defined as an array of either instrument or speech tracks, or a combination.
*/
export interface SonificationTracksOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Define a condition for when a
* track should be active and not.
*
* Can either be a function callback or a configuration object.
*
* If a function is used, it should return a `boolean` for whether or not
* the track should be active. The function is called for each audio event,
* and receives a parameter object with `time`, and potentially `point` and
* `value` properties depending on the track. `point` is available if the
* audio event is related to a data point. `value` is available if the track
* is used as a context track, and `valueInterval` is used.
*/
activeWhen?: (Function|SonificationInstrumentActiveWhenOptions);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Instrument to use for playing.
*
* Can either be a string referencing a synth preset, or it can be a synth
* configuration object.
*/
instrument?: (string|SynthPatchOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Mapping options for the audio
* parameters.
*
* All parameters can be either:
*
* - A string, referencing a point property to map to.
*
* - A number, setting the value of the audio parameter directly.
*
* - A callback function, returning the value programmatically.
*
* - An object defining detailed configuration of the mapping.
*
* If a function is used, it should return the desired value for the audio
* parameter. The function is called for each audio event to be played, and
* receives a context object parameter with `time`, and potentially `point`
* and `value` depending on the track. `point` is available if the audio
* event is related to a data point, and `value` is available if the track
* is used for a context track using `valueInterval`.
*/
mapping?: SonificationInstrumentMappingOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Name to use for a track when
* exporting to MIDI. By default it uses the series name if the track is
* related to a series.
*/
midiName?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for point grouping,
* specifically for instrument tracks.
*/
pointGrouping?: SonificationInstrumentPointGroupingOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Round pitch mapping to musical
* notes.
*
* If `false`, will play the exact mapped note, even if it is out of tune
* compared to the musical notes as defined by 440Hz standard tuning.
*/
roundToMusicalNotes?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Show play marker (tooltip and/or
* crosshair) for a track.
*/
showPlayMarker?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Type of track. Always
* `"instrument"` for instrument tracks, and `"speech"` for speech tracks.
*/
type?: SonifcationTypeValue;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Rate mapping for speech tracks.
*/
export interface SonificationTracksRateOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to perform the mapping.
*/
mapFunction?: OptionsMapFunctionValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A point property to map the
* mapping parameter to.
*
* A negative sign `-` can be placed before the property name to make
* mapping inverted.
*/
mapTo?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The maximum value for the audio
* parameter. This is the highest value the audio parameter will be mapped
* to.
*/
max?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The minimum value for the audio
* parameter. This is the lowest value the audio parameter will be mapped
* to.
*/
min?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A fixed value to use for the
* prop when mapping.
*
* For example, if mapping to `y`, setting value to `4` will map as if all
* points had a y value of 4.
*/
value?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) What data values to map the
* parameter within.
*
* Mapping within `"series"` will make the lowest value point in the series
* map to the min audio parameter value, and the highest value will map to
* the max audio parameter.
*
* Mapping within `"chart"` will make the lowest value point in the whole
* chart map to the min audio parameter value, and the highest value in the
* whole chart will map to the max audio parameter.
*
* You can also map within the X or Y axis of each series.
*/
within?: OptionsWithinValue;
}
/**
* (Highcharts) Stack of data points
*/
export interface StackItemObject {
/**
* Alignment settings
*/
alignOptions: AlignObject;
/**
* Related axis
*/
axis: Axis;
/**
* Cumulative value of the stacked data points
*/
cumulative: number;
/**
* True if on the negative side
*/
isNegative: boolean;
/**
* Related SVG element
*/
label: SVGElement;
/**
* Related stack options
*/
options: YAxisStackLabelsOptions;
/**
* Total value of the stacked data points
*/
total: number;
/**
* Shared x value of the stack
*/
x: number;
}
export interface StockToolsGuiDefinitionsAdvancedFibonacciOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsAdvancedFibonacciTimeZonesOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsAdvancedOptions {
fibonacci?: StockToolsGuiDefinitionsAdvancedFibonacciOptions;
fibonacciTimeZones?: StockToolsGuiDefinitionsAdvancedFibonacciTimeZonesOptions;
/**
* (Highstock) A collection of strings pointing to config options for the
* items.
*/
items?: any[];
parallelChannel?: StockToolsGuiDefinitionsAdvancedParallelChannelOptions;
pitchfork?: StockToolsGuiDefinitionsAdvancedPitchforkOptions;
timeCycles?: StockToolsGuiDefinitionsAdvancedTimeCyclesOptions;
}
export interface StockToolsGuiDefinitionsAdvancedParallelChannelOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsAdvancedPitchforkOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsAdvancedTimeCyclesOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsCrookedLinesCrooked3Options {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsCrookedLinesCrooked5Options {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsCrookedLinesElliott3Options {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsCrookedLinesElliott5Options {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsCrookedLinesOptions {
crooked3?: StockToolsGuiDefinitionsCrookedLinesCrooked3Options;
crooked5?: StockToolsGuiDefinitionsCrookedLinesCrooked5Options;
elliott3?: StockToolsGuiDefinitionsCrookedLinesElliott3Options;
elliott5?: StockToolsGuiDefinitionsCrookedLinesElliott5Options;
/**
* (Highstock) A collection of strings pointing to config options for the
* items.
*/
items?: any[];
}
export interface StockToolsGuiDefinitionsCurrentPriceIndicatorOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsFlagsFlagCirclepinOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsFlagsFlagDiamondpinOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsFlagsFlagSimplepinOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsFlagsFlagSquarepinOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsFlagsOptions {
flagCirclepin?: StockToolsGuiDefinitionsFlagsFlagCirclepinOptions;
flagDiamondpin?: StockToolsGuiDefinitionsFlagsFlagDiamondpinOptions;
flagSimplepin?: StockToolsGuiDefinitionsFlagsFlagSimplepinOptions;
flagSquarepin?: StockToolsGuiDefinitionsFlagsFlagSquarepinOptions;
/**
* (Highstock) A collection of strings pointing to config options for the
* items.
*/
items?: any[];
}
export interface StockToolsGuiDefinitionsFullScreenOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsIndicatorsOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsLinesArrowInfinityLineOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsLinesArrowRayOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsLinesArrowSegmentOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsLinesHorizontalLineOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsLinesLineOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsLinesOptions {
arrowInfinityLine?: StockToolsGuiDefinitionsLinesArrowInfinityLineOptions;
arrowRay?: StockToolsGuiDefinitionsLinesArrowRayOptions;
arrowSegment?: StockToolsGuiDefinitionsLinesArrowSegmentOptions;
horizontalLine?: StockToolsGuiDefinitionsLinesHorizontalLineOptions;
/**
* (Highstock) A collection of strings pointing to config options for the
* items.
*/
items?: any[];
line?: StockToolsGuiDefinitionsLinesLineOptions;
ray?: StockToolsGuiDefinitionsLinesRayOptions;
segment?: StockToolsGuiDefinitionsLinesSegmentOptions;
verticalLine?: StockToolsGuiDefinitionsLinesVerticalLineOptions;
}
export interface StockToolsGuiDefinitionsLinesRayOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsLinesSegmentOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsLinesVerticalLineOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsMeasureMeasureXOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsMeasureMeasureXYOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsMeasureMeasureYOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsMeasureOptions {
/**
* (Highstock) A collection of strings pointing to config options for the
* items.
*/
items?: any[];
measureX?: StockToolsGuiDefinitionsMeasureMeasureXOptions;
measureXY?: StockToolsGuiDefinitionsMeasureMeasureXYOptions;
measureY?: StockToolsGuiDefinitionsMeasureMeasureYOptions;
}
/**
* (Highstock) An options object of the buttons definitions. Each name refers to
* unique key from buttons array.
*/
export interface StockToolsGuiDefinitionsOptions {
advanced?: StockToolsGuiDefinitionsAdvancedOptions;
crookedLines?: StockToolsGuiDefinitionsCrookedLinesOptions;
currentPriceIndicator?: StockToolsGuiDefinitionsCurrentPriceIndicatorOptions;
flags?: StockToolsGuiDefinitionsFlagsOptions;
fullScreen?: StockToolsGuiDefinitionsFullScreenOptions;
indicators?: StockToolsGuiDefinitionsIndicatorsOptions;
lines?: StockToolsGuiDefinitionsLinesOptions;
measure?: StockToolsGuiDefinitionsMeasureOptions;
saveChart?: StockToolsGuiDefinitionsSaveChartOptions;
separator?: StockToolsGuiDefinitionsSeparatorOptions;
simpleShapes?: StockToolsGuiDefinitionsSimpleShapesOptions;
toggleAnnotations?: StockToolsGuiDefinitionsToggleAnnotationsOptions;
typeChange?: StockToolsGuiDefinitionsTypeChangeOptions;
verticalLabels?: StockToolsGuiDefinitionsVerticalLabelsOptions;
zoomChange?: StockToolsGuiDefinitionsZoomChangeOptions;
}
export interface StockToolsGuiDefinitionsSaveChartOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsSeparatorOptions {
elementType?: string;
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsSimpleShapesCircleOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsSimpleShapesEllipseOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsSimpleShapesLabelOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsSimpleShapesOptions {
circle?: StockToolsGuiDefinitionsSimpleShapesCircleOptions;
ellipse?: StockToolsGuiDefinitionsSimpleShapesEllipseOptions;
/**
* (Highstock) A collection of strings pointing to config options for the
* items.
*/
items?: any[];
label?: StockToolsGuiDefinitionsSimpleShapesLabelOptions;
rectangle?: StockToolsGuiDefinitionsSimpleShapesRectangleOptions;
}
export interface StockToolsGuiDefinitionsSimpleShapesRectangleOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsToggleAnnotationsOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsTypeChangeOptions {
/**
* (Highstock) A collection of strings pointing to config options for the
* items.
*/
items?: any[];
typeCandlestick?: StockToolsGuiDefinitionsTypeChangeTypeCandlestickOptions;
typeHeikinAshi?: StockToolsGuiDefinitionsTypeChangeTypeHeikinAshiOptions;
typeHLC?: StockToolsGuiDefinitionsTypeChangeTypeHLCOptions;
typeHollowCandlestick?: StockToolsGuiDefinitionsTypeChangeTypeHollowCandlestickOptions;
typeLine?: StockToolsGuiDefinitionsTypeChangeTypeLineOptions;
typeOHLC?: StockToolsGuiDefinitionsTypeChangeTypeOHLCOptions;
}
export interface StockToolsGuiDefinitionsTypeChangeTypeCandlestickOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsTypeChangeTypeHeikinAshiOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsTypeChangeTypeHLCOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsTypeChangeTypeHollowCandlestickOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsTypeChangeTypeLineOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsTypeChangeTypeOHLCOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsVerticalLabelsOptions {
/**
* (Highstock) A collection of strings pointing to config options for the
* items.
*/
items?: any[];
verticalArrow?: StockToolsGuiDefinitionsVerticalLabelsVerticalArrowOptions;
verticalCounter?: StockToolsGuiDefinitionsVerticalLabelsVerticalCounterOptions;
verticalLabel?: StockToolsGuiDefinitionsVerticalLabelsVerticalLabelOptions;
}
export interface StockToolsGuiDefinitionsVerticalLabelsVerticalArrowOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsVerticalLabelsVerticalCounterOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsVerticalLabelsVerticalLabelOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsZoomChangeOptions {
/**
* (Highstock) A collection of strings pointing to config options for the
* items.
*/
items?: any[];
zoomX?: StockToolsGuiDefinitionsZoomChangeZoomXOptions;
zoomXY?: StockToolsGuiDefinitionsZoomChangeZoomXYOptions;
zoomY?: StockToolsGuiDefinitionsZoomChangeZoomYOptions;
}
export interface StockToolsGuiDefinitionsZoomChangeZoomXOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsZoomChangeZoomXYOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
export interface StockToolsGuiDefinitionsZoomChangeZoomYOptions {
/**
* (Highstock) A predefined background symbol for the button.
*/
symbol?: string;
}
/**
* (Highstock) Definitions of buttons in Stock Tools GUI.
*/
export interface StockToolsGuiOptions {
/**
* (Highstock) A collection of strings pointing to config options for the
* toolbar items. Each name refers to a unique key from the definitions
* object.
*/
buttons?: Array<string>;
/**
* (Highstock) A CSS class name to apply to the stocktools' div, allowing
* unique CSS styling for each chart.
*/
className?: string;
/**
* (Highstock) An options object of the buttons definitions. Each name
* refers to unique key from buttons array.
*/
definitions?: StockToolsGuiDefinitionsOptions;
/**
* (Highstock) Enable or disable the stockTools gui.
*/
enabled?: boolean;
/**
* (Highstock) A CSS class name to apply to the container of buttons,
* allowing unique CSS styling for each chart.
*/
toolbarClassName?: string;
}
/**
* (Highstock) Configure the stockTools gui strings in the chart. Requires the
* [stockTools module]() to be loaded. For a description of the module and
* information on its features, see [Highcharts StockTools]().
*/
export interface StockToolsOptions {
/**
* (Highstock) Definitions of buttons in Stock Tools GUI.
*/
gui?: StockToolsGuiOptions;
}
/**
* The chart subtitle. The subtitle has an `update` method that allows modifying
* the options directly or indirectly via `chart.update`.
*/
export interface SubtitleObject extends SVGElement {
/**
* Modify options for the subtitle.
*
* @param subtitleOptions
* Options to modify.
*
* @param redraw
* Whether to redraw the chart after the subtitle is altered. If
* doing more operations on the chart, it is a good idea to set
* redraw to false and call Chart#redraw after.
*/
update(subtitleOptions: SubtitleOptions, redraw?: boolean): void;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) The chart's subtitle. This can be
* used both to display a subtitle below the main title, and to display random
* text anywhere in the chart. The subtitle can be updated after chart
* initialization through the `Chart.setTitle` method.
*/
export interface SubtitleOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The horizontal alignment of the
* subtitle. Can be one of "left", "center" and "right".
*/
align?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When the subtitle is floating,
* the plot area will not move to make space for it.
*/
floating?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the title.
*
* In styled mode, the subtitle style is given in the `.highcharts-subtitle`
* class.
*/
style?: (CSSObject|SubtitleStyleOptions);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The subtitle of the chart.
*/
text?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the text.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
* title. Can be one of `"top"`, `"middle"` and `"bottom"`. When middle, the
* subtitle behaves as floating.
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Adjustment made to the subtitle
* width, normally to reserve space for the exporting burger menu.
*/
widthAdjust?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position of the subtitle
* relative to the alignment within `chart.spacingLeft` and
* `chart.spacingRight`.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position of the subtitle
* relative to the alignment within `chart.spacingTop` and
* `chart.spacingBottom`. By default the subtitle is laid out below the
* title unless the title is floating.
*/
y?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the title.
*
* In styled mode, the subtitle style is given in the `.highcharts-subtitle`
* class.
*/
export interface SubtitleStyleOptions {
color?: string;
fontSize?: number;
}
/**
* An object of key-value pairs for SVG attributes. Attributes in Highcharts
* elements for the most parts correspond to SVG, but some are specific to
* Highcharts, like `zIndex`, `rotation`, `rotationOriginX`, `rotationOriginY`,
* `translateX`, `translateY`, `scaleX` and `scaleY`. SVG attributes containing
* a hyphen are _not_ camel-cased, they should be quoted to preserve the hyphen.
*/
export interface SVGAttributes {
[key: string]: any;
d?: (string|SVGPathArray);
dx?: number;
dy?: number;
fill?: (ColorString|GradientColorObject|PatternObject);
inverted?: boolean;
matrix?: Array<number>;
rotation?: number;
rotationOriginX?: number;
rotationOriginY?: number;
scaleX?: number;
scaleY?: number;
stroke?: (ColorString|GradientColorObject|PatternObject);
style?: (string|CSSObject);
translateX?: number;
translateY?: number;
zIndex?: number;
}
/**
* An extendable collection of functions for defining symbol paths. Symbols are
* used internally for point markers, button and label borders and backgrounds,
* or custom shapes. Extendable by adding to SVGRenderer#symbols.
*/
export interface SymbolDictionary {
[key: string]: (Function|undefined);
arc?: Function;
callout?: Function;
circle?: Function;
diamond?: Function;
square?: Function;
triangle?: Function;
}
/**
* Additional options, depending on the actual symbol drawn.
*/
export interface SymbolOptionsObject {
/**
* The anchor X position for the `callout` symbol. This is where the chevron
* points to.
*/
anchorX?: number;
/**
* The anchor Y position for the `callout` symbol. This is where the chevron
* points to.
*/
anchorY?: number;
/**
* The end angle of an `arc` symbol.
*/
end?: number;
/**
* Whether to draw `arc` symbol open or closed.
*/
open?: boolean;
/**
* The radius of an `arc` symbol, or the border radius for the `callout`
* symbol.
*/
r?: number;
/**
* The start angle of an `arc` symbol.
*/
start?: number;
}
/**
* An EQ filter definition for a bell filter.
*/
export interface SynthPatchEQFilter {
/**
* Filter frequency.
*/
frequency?: number;
/**
* Filter gain. Defaults to 0.
*/
gain?: number;
/**
* Filter Q. Defaults to 1. Lower numbers mean a wider bell.
*/
Q?: number;
}
/**
* A set of options for the SynthPatch class.
*/
export interface SynthPatchOptionsObject {
/**
* Master EQ filters for the synth, affecting the overall sound.
*/
eq?: Array<SynthPatchEQFilter>;
/**
* Volume envelope for the overall attack of a note - what happens to the
* volume when a note first plays. If the volume goes to 0 in the attack
* envelope, the synth will not be able to play the note continuously/
* sustained, and the notes will be staccato.
*/
masterAttackEnvelope?: SynthEnvelope;
/**
* Volume envelope for the overall release of a note - what happens to the
* volume when a note stops playing. If the release envelope starts at a
* higher volume than the attack envelope ends, the volume will first rise
* to that volume before falling when releasing a note. If the note is
* released while the attack envelope is still in effect, the attack
* envelope is interrupted, and the release envelope plays instead.
*/
masterReleaseEnvelope?: SynthEnvelope;
/**
* Global volume modifier for the synth. Defaults to 1. Note that if the
* total volume of all oscillators is too high, the browser's audio engine
* can distort.
*/
masterVolume?: number;
/**
* MIDI instrument ID for the synth. Used with MIDI export of Timelines to
* have tracks open with a similar instrument loaded when imported into
* other applications. Defaults to 1, "Acoustic Grand Piano".
*/
midiInstrument?: number;
/**
* Time in milliseconds to glide between notes. Causes a glissando effect.
*/
noteGlideDuration?: number;
/**
* Array of oscillators to add to the synth.
*/
oscillators?: Array<SynthPatchOscillatorOptionsObject>;
}
/**
* Configuration for an oscillator for the synth.
*/
export interface SynthPatchOscillatorOptionsObject {
/**
* Volume envelope for note attack, specific to this oscillator.
*/
attackEnvelope?: SynthEnvelope;
/**
* Applies a detuning of all frequencies. Set in cents. Defaults to 0.
*/
detune?: number;
/**
* Play a fixed frequency for the oscillator - ignoring input frequency. The
* frequency multiplier is still applied.
*/
fixedFrequency?: number;
/**
* Index of another oscillator to use as carrier, with this oscillator being
* used as a frequency modulator. Note: If the carrier is a pulse
* oscillator, the modulation will be on pulse width instead of frequency,
* allowing for PWM effects.
*/
fmOscillator?: number;
/**
* A multiplier for the input frequency of the oscillator. Defaults to 1. If
* this is for example set to 4, an input frequency of 220Hz will cause the
* oscillator to play at 880Hz.
*/
freqMultiplier?: number;
/**
* Highpass filter options for the oscillator.
*/
highpass?: SynthPatchPassFilter;
/**
* Lowpass filter options for the oscillator.
*/
lowpass?: SynthPatchPassFilter;
/**
* Width of the pulse waveform. Only applies to "pulse" type oscillators. A
* width of 0.5 is roughly equal to a square wave. This is the default.
*/
pulseWidth?: number;
/**
* Volume envelope for note release, specific to this oscillator.
*/
releaseEnvelope?: SynthEnvelope;
/**
* The type of oscillator. This describes the waveform of the oscillator.
*/
type?: SynthPatchOscillatorType;
/**
* Index of another oscillator to use as carrier, with this oscillator being
* used as a volume modulator. The first oscillator in the array has index
* 0, and so on. This option can be used to produce tremolo effects.
*/
vmOscillator?: number;
/**
* A volume modifier for the oscillator. Defaults to 1.
*/
volume?: number;
/**
* A tracking multiplier used for frequency dependent behavior. For example,
* by setting the volume tracking multiplier to 0.01, the volume will be
* lower at higher notes. The multiplier is a logarithmic function, where 1
* is at ca 50Hz, and you define the output multiplier for an input
* frequency around 3.2kHz.
*/
volumePitchTrackingMultiplier?: number;
}
/**
* An EQ filter definition for a low/highpass filter.
*/
export interface SynthPatchPassFilter {
/**
* Filter frequency.
*/
frequency?: number;
/**
* A pitch tracking multiplier similarly to the one for oscillator volume.
* Affects the filter frequency.
*/
frequencyPitchTrackingMultiplier?: number;
/**
* Filter resonance bump/dip in dB. Defaults to 0.
*/
Q?: number;
}
export interface TimelineDataLabelsFormatterContextObject extends PointLabelObject {
key?: string;
point: Point;
series: Series;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the series data labels,
* appearing next to each data point.
*
* Since v6.2.0, multiple data labels can be applied to each single point by
* defining them as an array of configs.
*
* In styled mode, the data labels can be styled with the
* `.highcharts-data-label-box` and `.highcharts-data-label` class names (see
* example).
*/
export interface TimelineDataLabelsOptionsObject {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The alignment of the data label
* compared to the point. If `right`, the right side of the label should be
* touching the point. For points with an extent, like columns, the
* alignments also dictates how to align it inside the box, as given with
* the inside option. Can be one of `left`, `center` or `right`.
*/
align?: (AlignValue|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow data labels to
* overlap. To make the labels less sensitive for overlapping, the
* dataLabels.padding can be set to 0.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to position data labels
* alternately. For example, if distance is set equal to `100`, then data
* labels will be positioned alternately (on both sides of the point) at a
* distance of 100px.
*/
alternate?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|PlotTimelineDataLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the data label. Setting it to `auto` will use the point's color.
*/
backgroundColor?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border color for the data
* label. Setting it to `auto` will use the point's color. Defaults to
* `undefined`.
*/
borderColor?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border radius in pixels for
* the data label.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The border width in pixels for
* the data label.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A class name for the data label.
* Particularly in styled mode, this can be used to give each series' or
* point's data label unique styling. In addition to this option, a default
* color class name is added so that we can give the labels a contrast text
* shadow.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This options is deprecated. Use
* style.color instead.
*
* The text color for the data labels. Defaults to `undefined`. For certain
* series types, like column or map, the data labels can be drawn inside the
* points. In this case the data label will be drawn with maximum contrast
* by default. Additionally, it will be given a `text-outline` style with
* the opposite color, to further increase the contrast. This can be
* overridden by setting the `text-outline` style to `none` in the
* `dataLabels.style` option.
*
* @deprecated 10.3.0
*/
color?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The color of the line connecting
* the data label to the point. The default color is the same as the point's
* color.
*
* In styled mode, the connector stroke is given in the
* `.highcharts-data-label-connector` class.
*/
connectorColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The width of the line connecting
* the data label to the point.
*
* In styled mode, the connector stroke width is given in the
* `.highcharts-data-label-connector` class.
*/
connectorWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to hide data labels that
* are outside the plot area. By default, the data label is moved inside the
* plot area according to the overflow option.
*/
crop?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to defer displaying the data
* labels until the initial series animation has finished. Setting to
* `false` renders the data label immediately. If set to `true` inherits the
* defer time set in plotOptions.series.animation.
*/
defer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A pixel value defining the
* distance between the data label and the point. Negative numbers puts the
* label on top of the point in a non-inverted chart. Defaults to 100 for
* horizontal and 20 for vertical timeline (`chart.inverted: true`).
*/
distance?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the data
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A declarative filter to control
* of which data labels to display. The declarative filter is designed for
* use when callback functions are not available, like when the chart
* options require a pure JSON structure or for use with graphical editors.
* For programmatic control, use the `formatter` instead, and return
* `undefined` to disable a single data label.
*/
filter?: DataLabelsFilterOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the data
* label. Available variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function to
* format the data label. Note that if a `format` is defined, the format
* takes precedence and the formatter is ignored.
*/
formatter?: TimelineDataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) For points with an extent, like
* columns or map areas, whether to align the data label inside the box or
* to the actual value point. Defaults to `false` in most cases, `true` in
* stacked columns.
*/
inside?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Format for points with the value
* of null. Works analogously to format. `nullFormat` can be applied only to
* series which support displaying null points i.e `heatmap` or `tilemap`.
* Does not work with series that don't display null points, like `line`,
* `column`, `bar` or `pie`.
*/
nullFormat?: (boolean|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback JavaScript function
* that defines formatting for points with the value of null. Works
* analogously to formatter. `nullFormatter` can be applied only to series
* which support displaying null points i.e `heatmap` or `tilemap`. Does not
* work with series that don't display null points, like `line`, `column`,
* `bar` or `pie`.
*/
nullFormatter?: DataLabelsFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How to handle data labels that
* flow outside the plot area. The default is `"justify"`, which aligns them
* inside the plot area. For columns and bars, this means it will be moved
* inside the bar. To display data labels outside the plot area, set `crop`
* to `false` and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When either the `borderWidth` or
* the `backgroundColor` is set, this is the padding within the box.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Aligns data labels relative to
* points. If `center` alignment is not possible, it defaults to `right`.
*/
position?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Text rotation in degrees. Note
* that due to a more complex structure, backgrounds, borders and padding
* will be lost on a rotated data label.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Shadow options for the data
* label.
*/
shadow?: (boolean|CSSObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the label. Symbols are predefined functions on the
* Renderer object.
*/
shape?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Styles for the label. The
* default `color` setting is `"contrast"`, which is a pseudo color that
* Highcharts picks up and applies the maximum contrast to the underlying
* point item, for example the bar in a bar chart.
*
* The `textOutline` is a pseudo property that applies an outline of the
* given width with the given color, which by default is the maximum
* contrast to the text. So a bright text color will result in a black text
* outline for maximum readability on a mixed background. In some cases,
* especially with grayscale text, the text outline doesn't work well, in
* which cases it can be disabled by setting it to `"none"`. When `useHTML`
* is true, the `textOutline` will not be picked up. In this, case, the same
* effect can be acheived through the `text-shadow` CSS property.
*
* For some series types, where each point has an extent, like for example
* tree maps, the data label may overflow the point. There are two
* strategies for handling overflow. By default, the text will wrap to
* multiple lines. The other strategy is to set `style.textOverflow` to
* `ellipsis`, which will keep the text on one line plus it will break
* inside long words.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for a label text which
* should follow marker's shape. Border and background are disabled for a
* label that follows a path.
*
* **Note:** Only SVG-based renderer supports this option. Setting `useHTML`
* to true will disable this option.
*/
textPath?: DataLabelsTextPathOptionsObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of a data
* label. Can be one of `top`, `middle` or `bottom`. The default value
* depends on the data, for instance in a column chart, the label is above
* positive values and below negative values.
*/
verticalAlign?: (VerticalAlignValue|null);
width?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of the
* label relative to the point in pixels.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of the
* label relative to the point in pixels.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The z index of the data labels.
* Use a `zIndex` of 6 to display it above the series, or use a `zIndex` of
* 2 to display it behind the series.
*/
zIndex?: number;
}
/**
* Normalized interval.
*/
export interface TimeNormalizedObject {
/**
* The count.
*/
count?: number;
/**
* The interval in axis values (ms).
*/
unitRange: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Time options that can apply globally
* or to individual charts. These settings affect how `datetime` axes are laid
* out, how tooltips are formatted, how series pointIntervalUnit works and how
* the Highcharts Stock range selector handles time.
*
* The common use case is that all charts in the same Highcharts object share
* the same time settings, in which case the global settings are set using
* `setOptions`. (see online documentation for example)
*
* Since v6.0.5, the time options were moved from the `global` object to the
* `time` object, and time options can be set on each individual chart.
*/
export interface TimeOptions {
/**
* (Highcharts, Highstock, Gantt) A custom `Date` class for advanced date
* handling. For example, JDate can be hooked in to handle Jalali dates.
*/
Date?: any;
/**
* (Highcharts, Highstock, Gantt) A callback to return the time zone offset
* for a given datetime. It takes the timestamp in terms of milliseconds
* since January 1 1970, and returns the timezone offset in minutes. This
* provides a hook for drawing time based charts in specific time zones
* using their local DST crossover dates, with the help of external
* libraries.
*/
getTimezoneOffset?: TimezoneOffsetCallbackFunction;
/**
* (Highcharts, Highstock, Gantt) A named time zone. Supported time zone
* names rely on the browser implementations, as described in the mdn docs.
* If the given time zone is not recognized by the browser, Highcharts
* provides a warning and falls back to returning a 0 offset, corresponding
* to the UCT time zone.
*
* Until v11.2.0, this option depended on moment.js.
*/
timezone?: string;
/**
* (Highcharts, Highstock, Gantt) The timezone offset in minutes. Positive
* values are west, negative values are east of UTC, as in the ECMAScript
* getTimezoneOffset method. Use this to display UTC based data in a
* predefined time zone.
*/
timezoneOffset?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use UTC time for axis
* scaling, tickmark placement and time display in `Highcharts.dateFormat`.
* Advantages of using UTC is that the time displays equally regardless of
* the user agent's time zone settings. Local time can be used when the data
* is loaded in real time or when correct Daylight Saving Time transitions
* are required.
*/
useUTC?: boolean;
}
/**
* Additional time tick information.
*/
export interface TimeTicksInfoObject extends TimeNormalizedObject {
higherRanks: Array<string>;
totalRange: number;
}
/**
* The chart title. The title has an `update` method that allows modifying the
* options directly or indirectly via `chart.update`.
*/
export interface TitleObject extends SVGElement {
/**
* Modify options for the title.
*
* @param titleOptions
* Options to modify.
*
* @param redraw
* Whether to redraw the chart after the title is altered. If doing
* more operations on the chart, it is a good idea to set redraw to
* false and call Chart#redraw after.
*/
update(titleOptions: TitleOptions, redraw?: boolean): void;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) The chart's main title.
*/
export interface TitleOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The horizontal alignment of the
* title. Can be one of "left", "center" and "right".
*/
align?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) When the title is floating, the
* plot area will not move to make space for it.
*/
floating?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The margin between the title and
* the plot area, or if a subtitle is present, the margin between the
* subtitle and the plot area.
*/
margin?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the title. Use
* this for font styling, but use `align`, `x` and `y` for text alignment.
*
* In styled mode, the title style is given in the `.highcharts-title`
* class.
*/
style?: (CSSObject|TitleStyleOptions);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The title of the chart. To
* disable the title, set the `text` to `undefined`.
*/
text?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the text.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The vertical alignment of the
* title. Can be one of `"top"`, `"middle"` and `"bottom"`. When a value is
* given, the title behaves as if floating were `true`.
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Adjustment made to the title
* width, normally to reserve space for the exporting burger menu.
*/
widthAdjust?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position of the title
* relative to the alignment within `chart.spacingLeft` and
* `chart.spacingRight`.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position of the title
* relative to the alignment within chart.spacingTop and
* chart.spacingBottom. By default it depends on the font size.
*/
y?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the title. Use this
* for font styling, but use `align`, `x` and `y` for text alignment.
*
* In styled mode, the title style is given in the `.highcharts-title` class.
*/
export interface TitleStyleOptions {
color?: string;
fontWeight?: string;
}
/**
* Configuration for the tooltip formatters.
*/
export interface TooltipFormatterContextObject extends PointLabelObject {
/**
* Array of points in shared tooltips.
*/
points?: Array<TooltipFormatterContextObject>;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Options for the tooltip that appears
* when the user hovers over a series or point.
*/
export interface TooltipOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable animation of
* the tooltip.
*/
animation?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The background color or gradient
* for the tooltip.
*
* In styled mode, the stroke width is set in the `.highcharts-tooltip-box`
* class.
*/
backgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The color of the tooltip border.
* When `undefined`, the border takes the color of the corresponding series
* or point.
*
* Note that the borderWidth is usually 0 by default, so the border color
* may not be visible until a border width is set.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The radius of the rounded border
* corners.
*/
borderRadius?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the tooltip
* border. Defaults to 0 for single tooltips and 1 for split tooltips.
*
* In styled mode, the stroke width is set in the `.highcharts-tooltip-box`
* class.
*/
borderWidth?: number;
/**
* (Highstock) How many decimals to show for the `point.change` or the
* `point.cumulativeSum` value when the `series.compare` or the
* `series.cumulative` option is set. This is overridable in each series'
* tooltip options object.
*/
changeDecimals?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A CSS class name to apply to the
* tooltip's container div, allowing unique CSS styling for each chart.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The HTML of the cluster point's
* in the tooltip. Works only with marker-clusters module and analogously to
* pointFormat.
*
* The cluster tooltip can be also formatted using `tooltip.formatter`
* callback function and `point.isCluster` flag.
*/
clusterFormat?: string;
/**
* (Highcharts, Highstock, Gantt) For series on datetime axes, the date
* format in the tooltip's header will by default be guessed based on the
* closest data points. This member gives the default string representations
* used for each unit. For an overview of the replacement codes, see
* dateFormat.
*/
dateTimeLabelFormats?: Dictionary<string>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Distance from point to tooltip
* in pixels.
*/
distance?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the tooltip.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether the tooltip should
* follow the mouse as it moves across columns, pie slices and other point
* types with an extent. By default it behaves this way for pie, polygon,
* map, sankey and wordcloud series by override in the `plotOptions` for
* those series types.
*
* Does not apply if split is `true`.
*
* For touch moves to behave the same way, followTouchMove must be `true`
* also.
*/
followPointer?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether the tooltip should
* update as the finger moves on a touch device. If this is `true` and
* chart.panning is set,`followTouchMove` will take over one-finger touches,
* so the user needs to use two fingers for zooming and panning.
*
* Note the difference to followPointer that only defines the _position_ of
* the tooltip. If `followPointer` is false in for example a column series,
* the tooltip will show above or below the column, but as `followTouchMove`
* is true, the tooltip will jump from column to column as the user swipes
* across the plot area.
*/
followTouchMove?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A string to append to the
* tooltip format.
*/
footerFormat?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A format string for the whole
* tooltip. When format strings are a requirement, it is usually more
* convenient to use `headerFormat`, `pointFormat` and `footerFormat`, but
* the `format` option allows combining them into one setting.
*
* The context of the format string is the same as that of the `formatter`
* callback.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback function to format the
* text of the tooltip from scratch. In case of single or shared tooltips, a
* string should be returned. In case of split tooltips, it should return an
* array where the first item is the header, and subsequent items are mapped
* to the points. Return `false` to disable tooltip for a specific point on
* series.
*
* A subset of HTML is supported. Unless `useHTML` is true, the HTML of the
* tooltip is parsed and converted to SVG, therefore this isn't a complete
* HTML renderer. The following HTML tags are supported: `b`, `br`, `em`,
* `i`, `span`, `strong`. Spans can be styled with a `style` attribute, but
* only text-related CSS, that is shared with SVG, is handled.
*
* The available data in the formatter differ a bit depending on whether the
* tooltip is shared or split, or belongs to a single point. In a
* shared/split tooltip, all properties except `x`, which is common for all
* points, are kept in an array, `this.points`.
*
* Available data are:
*
* - **this.percentage (not shared) /** **this.points[i].percentage
* (shared)**: Stacked series and pies only. The point's percentage of the
* total.
*
* - **this.point (not shared) / this.points[i].point (shared)**: The point
* object. The point name, if defined, is available through
* `this.point.name`.
*
* - **this.points**: In a shared tooltip, this is an array containing all
* other properties for each point.
*
* - **this.series (not shared) / this.points[i].series (shared)**: The
* series object. The series name is available through `this.series.name`.
*
* - **this.total (not shared) / this.points[i].total (shared)**: Stacked
* series only. The total value at this point's x value.
*
* - **this.x**: The x value. This property is the same regardless of the
* tooltip being shared or not.
*
* - **this.y (not shared) / this.points[i].y (shared)**: The y value.
*/
formatter?: TooltipFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The HTML of the tooltip header
* line. Variables are enclosed by curly brackets. Available variables are
* `point.key`, `series.name`, `series.color` and other members from the
* `point` and `series` objects. The `point.key` variable contains the
* category name, x value or datetime string depending on the type of axis.
* For datetime axes, the `point.key` date format can be set using
* `tooltip.xDateFormat`.
*/
headerFormat?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the tooltip header. Applies only when tooltip.split is
* enabled.
*
* Custom callbacks for symbol path generation can also be added to
* `Highcharts.SVGRenderer.prototype.symbols` the same way as for
* series.marker.symbol.
*/
headerShape?: OptionsHeaderShapeValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The number of milliseconds to
* wait until the tooltip is hidden when mouse out from a point or chart.
*/
hideDelay?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The HTML of the null point's
* line in the tooltip. Works analogously to pointFormat.
*/
nullFormat?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Callback function to format the
* text of the tooltip for visible null points. Works analogously to
* formatter.
*/
nullFormatter?: TooltipFormatterCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow the tooltip to
* render outside the chart's SVG element box. By default (`false`), the
* tooltip is rendered within the chart's SVG element, which results in the
* tooltip being aligned inside the chart area. For small charts, this may
* result in clipping or overlapping. When `true`, a separate SVG element is
* created and overlaid on the page, allowing the tooltip to be aligned
* inside the page itself.
*
* Defaults to `true` if `chart.scrollablePlotArea` is activated, otherwise
* `false`.
*/
outside?: (boolean|undefined);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Padding inside the tooltip, in
* pixels.
*/
padding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The HTML of the point's line in
* the tooltip. Variables are enclosed by curly brackets. Available
* variables are `point.x`, `point.y`, `series.name` and `series.color` and
* other properties on the same form. Furthermore, `point.y` can be extended
* by the `tooltip.valuePrefix` and `tooltip.valueSuffix` variables. This
* can also be overridden for each series, which makes it a good hook for
* displaying units.
*
* In styled mode, the dot is colored by a class name rather than the point
* color.
*/
pointFormat?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A callback function for
* formatting the HTML output for a single point in the tooltip. Like the
* `pointFormat` string, but with more flexibility.
*/
pointFormatter?: FormatterCallbackFunction<Point>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A callback function to place the
* tooltip in a custom position. The callback receives three parameters:
* `labelWidth`, `labelHeight` and `point`, where point contains values for
* `plotX` and `plotY` telling where the reference point is in the plot
* area. Add `chart.plotLeft` and `chart.plotTop` to get the full
* coordinates.
*
* To find the actual hovered `Point` instance, use `this.chart.hoverPoint`.
* For shared or split tooltips, all the hover points are available in
* `this.chart.hoverPoints`.
*
* Since v7, when tooltip.split option is enabled, positioner is called for
* each of the boxes separately, including xAxis header. xAxis header is not
* a point, instead `point` argument contains info: `{ plotX: Number, plotY:
* Number, isHeader: Boolean }`
*
* The return should be an object containing x and y values, for example `{
* x: 100, y: 100 }`.
*/
positioner?: TooltipPositionerCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to apply a drop shadow
* to the tooltip.
*/
shadow?: (boolean|ShadowOptionsObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The name of a symbol to use for
* the border around the tooltip. Can be one of: `"callout"`, `"circle"` or
* `"rect"`. When tooltip.split option is enabled, shape is applied to all
* boxes except header, which is controlled by tooltip.headerShape.
*
* Custom callbacks for symbol path generation can also be added to
* `Highcharts.SVGRenderer.prototype.symbols` the same way as for
* series.marker.symbol.
*/
shape?: TooltipShapeValue;
/**
* (Highcharts, Highstock) When the tooltip is shared, the entire plot area
* will capture mouse movement or touch events. Tooltip texts for series
* types with ordered data (not pie, scatter, flags etc) will be shown in a
* single bubble. This is recommended for single series charts and for
* tablet/mobile optimized charts.
*
* See also tooltip.split, that is better suited for charts with many
* series, especially line-type series. The `tooltip.split` option takes
* precedence over `tooltip.shared`.
*/
shared?: boolean;
/**
* (Highcharts, Highstock) Proximity snap for graphs or single points. It
* defaults to 10 for mouse-powered devices and 25 for touch devices.
*
* Note that in most cases the whole plot area captures the mouse movement,
* and in these cases `tooltip.snap` doesn't make sense. This applies when
* stickyTracking is `true` (default) and when the tooltip is shared or
* split.
*/
snap?: number;
/**
* (Highcharts, Highstock) Split the tooltip into one label per series, with
* the header close to the axis. This is recommended over shared tooltips
* for charts with multiple line series, generally making them easier to
* read. This option takes precedence over `tooltip.shared`.
*
* Not supported for polar and inverted charts.
*/
split?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Prevents the tooltip from
* switching or closing when touched or pointed.
*/
stickOnContact?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the tooltip. The
* tooltip can also be styled through the CSS class `.highcharts-tooltip`.
*
* Note that the default `pointerEvents` style makes the tooltip ignore
* mouse events, so in order to use clickable tooltips, this value must be
* set to `auto`.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Use HTML to render the contents
* of the tooltip instead of SVG. Using HTML allows advanced formatting like
* tables and images in the tooltip. It is also recommended for rtl
* languages as it works around rtl bugs in early Firefox.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) How many decimals to show in
* each series' y value. This is overridable in each series' tooltip options
* object. The default is to preserve all decimals.
*/
valueDecimals?: (number|undefined);
/**
* (Highcharts, Highstock, Highmaps, Gantt) A string to prepend to each
* series' y value. Overridable in each series' tooltip options object.
*/
valuePrefix?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A string to append to each
* series' y value. Overridable in each series' tooltip options object.
*/
valueSuffix?: string;
/**
* (Highcharts, Highstock, Gantt) The format for the date in the tooltip
* header if the X axis is a datetime axis. The default is a best guess
* based on the smallest distance between points in the chart.
*/
xDateFormat?: string;
}
/**
* Point information for positioning a tooltip.
*/
export interface TooltipPositionerPointObject extends Point {
/**
* If `tooltip.split` option is enabled and positioner is called for each of
* the boxes separately, this property indicates the call on the xAxis
* header, which is not a point itself.
*/
isHeader: boolean;
/**
* The reference point relative to the plot area. Add chart.plotLeft to get
* the full coordinates.
*/
plotX: number;
/**
* The reference point relative to the plot area. Add chart.plotTop to get
* the full coordinates.
*/
plotY: number;
}
/**
* (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
* sections defined will be left out and all the points shifted closer to each
* other.
*/
export interface XAxisBreaksOptions {
/**
* (Highcharts, Highstock, Gantt) 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.
*/
breakSize?: number;
/**
* (Highcharts, Highstock, Gantt) The point where the break starts.
*/
from?: number;
/**
* (Highcharts, Highstock, Gantt) Defines an interval after which the break
* appears again. By default the breaks do not repeat.
*/
repeat?: number;
/**
* (Highcharts, Highstock, Gantt) The point where the break ends.
*/
to?: number;
}
/**
* (Gantt) An object defining mouse events for the plot line. Supported
* properties are `click`, `mouseover`, `mouseout`, `mousemove`.
*/
export interface XAxisCurrentDateIndicatorEventsOptions {
/**
* (Gantt) Click event on a plot band.
*/
click?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Gantt) Mouse move event on a plot band.
*/
mousemove?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Gantt) Mouse out event on the corner of a plot band.
*/
mouseout?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Gantt) Mouse over event on a plot band.
*/
mouseover?: EventCallbackFunction<PlotLineOrBand>;
}
/**
* (Gantt) Text labels for the plot bands
*/
export interface XAxisCurrentDateIndicatorLabelOptions {
/**
* (Gantt) Horizontal alignment of the label. Can be one of "left", "center"
* or "right".
*/
align?: AlignValue;
/**
* (Gantt) Format of the label. This options is passed as the fist argument
* to dateFormat function.
*/
format?: string;
/**
* (Gantt) Callback JavaScript function to format the label. Useful
* properties like the value of plot line or the range of plot band (`from`
* & `to` properties) can be found in `this.options` object.
*/
formatter?: FormatterCallbackFunction<PlotLineOrBand>;
/**
* (Gantt) Rotation of the text label in degrees. Defaults to 0 for
* horizontal plot lines and 90 for vertical lines.
*/
rotation?: number;
/**
* (Gantt) CSS styles for the text label.
*
* In styled mode, the labels are styled by the
* `.highcharts-plot-line-label` class.
*/
style?: CSSObject;
/**
* (Gantt) The text itself. A subset of HTML is supported.
*/
text?: string;
/**
* (Gantt) The text alignment for the label. While `align` determines where
* the texts anchor point is placed within the plot band, `textAlign`
* determines how the text is aligned against its anchor point. Possible
* values are "left", "center" and "right". Defaults to the same as the
* `align` option.
*/
textAlign?: AlignValue;
/**
* (Gantt) Whether to use HTML to render the labels.
*/
useHTML?: boolean;
/**
* (Gantt) Vertical alignment of the label relative to the plot line. Can be
* one of "top", "middle" or "bottom".
*/
verticalAlign?: VerticalAlignValue;
/**
* (Gantt) Horizontal position relative the alignment. Default varies by
* orientation.
*/
x?: number;
/**
* (Gantt) Vertical position of the text baseline relative to the alignment.
* Default varies by orientation.
*/
y?: number;
}
export interface XAxisCurrentDateIndicatorLabelsOptions {
/**
* (Gantt) Whether to hide labels that are outside the plot area.
*/
clip?: boolean;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Event handlers for the axis.
*/
export interface XAxisEventsOptions {
/**
* (Highcharts, Gantt) An event fired after the breaks have rendered.
*/
afterBreaks?: AxisEventCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) 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`.
*/
afterSetExtremes?: AxisSetExtremesEventCallbackFunction;
/**
* (Highcharts, Gantt) An event fired when a break from this axis occurs on
* a point.
*/
pointBreak?: AxisPointBreakEventCallbackFunction;
/**
* (Highcharts, Highstock, Gantt) An event fired when a point is outside a
* break after zoom.
*/
pointBreakOut?: AxisPointBreakEventCallbackFunction;
/**
* (Highcharts, Highstock, Gantt) An event fired when a point falls inside a
* break from this axis.
*/
pointInBreak?: AxisPointBreakEventCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) 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`.
*/
setExtremes?: AxisSetExtremesEventCallbackFunction;
}
/**
* (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
*/
export interface XAxisGridOptions {
/**
* (Gantt) Set border color for the label grid lines.
*/
borderColor?: ColorString;
/**
* (Gantt) Set border width of the label grid lines.
*/
borderWidth?: number;
/**
* (Gantt) Set cell height for grid axis labels. By default this is
* calculated from font size. This option only applies to horizontal axes.
* For vertical axes, check the .yAxis.staticScale option.
*/
cellHeight?: number;
/**
* (Gantt) Set specific options for each column (or row for horizontal axes)
* in the grid. Each extra column/row is its own axis, and the axis options
* can be set here.
*/
columns?: Array<XAxisOptions>;
/**
* (Gantt) Enable grid on the axis labels. Defaults to true for Gantt
* charts.
*/
enabled?: boolean;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) 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.
*/
export interface XAxisLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) 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.
*/
align?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow the axis labels
* to overlap. When false, overlapping labels are hidden.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Gantt) 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.
*/
autoRotation?: Array<number>;
/**
* (Highcharts, Gantt) 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.
*/
autoRotationLimit?: number;
/**
* (Highcharts, Gantt) 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.
*/
distance?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the axis
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) 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 for more examples of formatting.
*
* The default value is not specified due to the dynamic nature of the
* default implementation.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) 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.
*/
formatter?: AxisLabelsFormatterCallbackFunction;
/**
* (Gantt) The number of pixels to indent the labels per level in a treegrid
* axis.
*/
indentation?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) 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.
*/
overflow?: OptionsOverflowValue;
/**
* (Highcharts, Gantt) The pixel padding for axis labels, to ensure white
* space between them.
*/
padding?: number;
/**
* (Highcharts) Defines how the labels are be repositioned according to the
* 3D chart orientation.
*
* - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
* marks, despite the chart orientation. This is the backwards compatible
* behavior, and causes skewing of X and Z axes.
*
* - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
* but hard to read if the text isn't forward-facing.
*
* - `'flap'`: Rotated text along the axis to compensate for the chart
* orientation. This tries to maintain text as legible as possible on all
* orientations.
*
* - `'ortho'`: Rotated text along the axis direction so that the labels are
* orthogonal to the axis. This is very similar to `'flap'`, but prevents
* skewing the labels (X and Y scaling are still present).
*/
position3d?: OptionsPosition3dValue;
/**
* (Highcharts, Highstock, Gantt) 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.
*/
reserveSpace?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Rotation of the labels in
* degrees. When `undefined`, the `autoRotation` option takes precedence.
*/
rotation?: number;
/**
* (Highcharts) If enabled, the axis labels will skewed to follow the
* perspective.
*
* This will fix overlapping labels and titles, but texts become less
* legible due to the distortion.
*
* The final appearance depends heavily on `labels.position3d`.
*/
skew3d?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Horizontal axes only. The number
* of lines to spread the labels over to make room or tighter labels. 0
* disables staggering.
*/
staggerLines?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) 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 => What axis should I use?
*/
step?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the label. Use
* `whiteSpace: 'nowrap'` to prevent wrapping of category labels. Use
* `textOverflow: 'none'` to prevent ellipsis (dots).
*
* In styled mode, the labels are styled with the `.highcharts-axis-labels`
* class.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of all
* labels relative to the tick positions on the axis. Overrides the
* `labels.distance` option.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of all
* labels relative to the tick positions on the axis. Overrides the
* `labels.distance` option.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The Z index for the axis labels.
*/
zIndex?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) 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 for programmatic access to the axis.
*/
export interface XAxisOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for an
* axis. Requires the accessibility module.
*/
accessibility?: AxisAccessibilityOptionsObject;
/**
* (Highcharts, Highstock, Gantt) 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.
*/
alignTicks?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) 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.
*/
allowDecimals?: (boolean|undefined);
/**
* (Highcharts, Highstock, Highmaps, Gantt) When using an alternate grid
* color, a band is painted across the plot area between every other grid
* line.
*/
alternateGridColor?: ColorType;
/**
* (Highcharts) In a polar chart, this is the angle of the Y axis in
* degrees, where 0 is up and 90 is right. The angle determines the position
* of the axis line and the labels, though the coordinate system is
* unaffected. Since v8.0.0 this option is also applicable for X axis
* (inverted polar).
*/
angle?: number;
/**
* (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
* sections defined will be left out and all the points shifted closer to
* each other.
*/
breaks?: Array<XAxisBreaksOptions>;
/**
* (Highcharts, Gantt) 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 and setting axis type to `category`. However, if you have
* multiple series, best practice remains defining the `categories` array.
*
* Example: `categories: ['Apples', 'Bananas', 'Oranges']`
*/
categories?: Array<string>;
/**
* (Highcharts, Highstock, Gantt) The highest allowed value for
* automatically computed axis extremes.
*/
ceiling?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) 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.
*/
className?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) 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.
*/
crosshair?: (boolean|AxisCrosshairOptions);
/**
* (Highcharts, Highstock, Highmaps, Gantt) 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.
*/
crossing?: number;
/**
* (Gantt) Show an indicator on the axis for the current date and time. Can
* be a boolean or a configuration object similar to xAxis.plotLines.
*/
currentDateIndicator?: (boolean|CurrentDateIndicatorOptions|CurrentDateIndicatorOptions);
/**
* (Highcharts, Highstock, Gantt) 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 replacement codes, see dateFormat.
*
* Defaults to: (see online documentation for example)
*/
dateTimeLabelFormats?: AxisDateTimeLabelFormatsOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to force the axis to end
* on a tick. Use this option with the `maxPadding` option to control the
* axis end.
*/
endOnTick?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Event handlers for the axis.
*/
events?: XAxisEventsOptions;
/**
* (Highcharts, Highstock, Gantt) The lowest allowed value for automatically
* computed axis extremes.
*/
floor?: number;
/**
* (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
*/
grid?: XAxisGridOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Color of the grid lines
* extending the ticks across the plot area.
*
* In styled mode, the stroke is given in the `.highcharts-grid-line` class.
*/
gridLineColor?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The dash or dot style of the
* grid lines. For possible values, see this demonstration.
*/
gridLineDashStyle?: DashStyleValue;
/**
* (Highcharts) Polar charts only. Whether the grid lines should draw as a
* polygon with straight lines between categories, or as circles. Can be
* either `circle` or `polygon`. Since v8.0.0 this option is also applicable
* for X axis (inverted polar).
*/
gridLineInterpolation?: OptionsGridLineInterpolationValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The width of the grid lines
* extending the ticks across the plot area. Defaults to 1 on the Y axis and
* 0 on the X axis, except for 3d charts.
*
* In styled mode, the stroke width is given in the `.highcharts-grid-line`
* class.
*/
gridLineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The Z index of the grid lines.
*/
gridZIndex?: number;
/**
* (Highcharts, Highstock) The height as the vertical axis. If it's a
* number, it is interpreted as pixels.
*
* Since Highcharts 2: If it's a percentage string, it is interpreted as
* percentages of the total plot height.
*/
height?: (number|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) An id for the axis. This can be
* used after render time to get a pointer to the axis object through
* `chart.get()`.
*/
id?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) 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.
*/
labels?: XAxisLabelsOptions;
/**
* (Highcharts, Highstock) 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.
*/
left?: (number|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The color of the line marking
* the axis itself.
*
* In styled mode, the line stroke is given in the `.highcharts-axis-line`
* or `.highcharts-xaxis-line` class.
*/
lineColor?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The width of the line marking
* the axis itself.
*
* In styled mode, the stroke width is given in the `.highcharts-axis-line`
* or `.highcharts-xaxis-line` class.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) 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.
*/
linkedTo?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) If there are multiple axes on
* the same side of the chart, the pixel margin between the axes. Defaults
* to 0 on vertical axes, 15 on horizontal axes.
*/
margin?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The maximum value of the axis.
* If `null`, the max value is automatically calculated.
*
* If the endOnTick option is true, the `max` value might be rounded up.
*
* If a 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, where a `tickAmount`
* is applied internally.
*/
max?: (number|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) 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.
*/
maxPadding?: number;
/**
* (Highstock, Gantt) Maximum range which can be set using the navigator's
* handles. Opposite of xAxis.minRange.
*/
maxRange?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The minimum value of the axis.
* If `null` the min value is automatically calculated.
*
* If the startOnTick option is true (default), the `min` value might be
* rounded down.
*
* The automatically calculated minimum value is also affected by floor,
* softMin, minPadding, minRange as well as series.threshold and
* series.softThreshold.
*/
min?: (number|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Color of the minor, secondary
* grid lines.
*
* In styled mode, the stroke width is given in the
* `.highcharts-minor-grid-line` class.
*/
minorGridLineColor?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The dash or dot style of the
* minor grid lines. For possible values, see this demonstration.
*/
minorGridLineDashStyle?: DashStyleValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Width of the minor, secondary
* grid lines.
*
* In styled mode, the stroke width is given in the `.highcharts-grid-line`
* class.
*/
minorGridLineWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Color for the minor tick marks.
*/
minorTickColor?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) 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.
*/
minorTickInterval?: ('auto'|number);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The pixel length of the minor
* tick marks.
*/
minorTickLength?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The position of the minor tick
* marks relative to the axis line. Can be one of `inside` and `outside`.
*/
minorTickPosition?: OptionsMinorTickPositionValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable minor ticks.
* The interval between the minor ticks can be controlled either by the
* minorTicksPerMajor setting, or as an absolute minorTickInterval value.
*
* On a logarithmic axis, minor ticks are laid out based on a best guess,
* attempting to enter an approximate number of minor ticks between each
* major tick based on minorTicksPerMajor.
*
* Prior to v6.0.0, ticks were enabled in auto layout by setting
* `minorTickInterval` to `"auto"`.
*/
minorTicks?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The number of minor ticks per
* major tick. Works for `linear`, `logarithmic` and `datetime` axes.
*/
minorTicksPerMajor?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the minor
* tick mark.
*/
minorTickWidth?: number;
/**
* (Highcharts, Highstock, Gantt) Padding of the min 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 lowest data value to appear on the
* edge of the plot area. When the axis' `min` option is set or a min
* extreme is set using `axis.setExtremes()`, the minPadding will be
* ignored.
*/
minPadding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The minimum range to display on
* this axis. The entire axis will not be allowed to span over a smaller
* interval than this. For example, for a datetime axis the main unit is
* milliseconds. If minRange is set to 3600000, you can't zoom in more than
* to one hour.
*
* The default minRange for the x axis is five times the smallest interval
* between any of the data points.
*
* On a logarithmic axis, the unit for the minimum range is the power. So a
* minRange of 1 means that the axis can be zoomed to 10-100, 100-1000,
* 1000-10000 etc.
*
* **Note**: The `minPadding`, `maxPadding`, `startOnTick` and `endOnTick`
* settings also affect how the extremes of the axis are computed.
*/
minRange?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The minimum tick interval
* allowed in axis values. For example on zooming in on an axis with daily
* data, this can be used to prevent the axis from showing hours. Defaults
* to the closest distance between two points on the axis.
*/
minTickInterval?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The distance in pixels from the
* plot area to the axis line. A positive offset moves the axis with it's
* line, labels and ticks away from the plot area. This is typically used
* when two or more axes are displayed on the same side of the plot. With
* multiple axes the offset is dynamically adjusted to avoid collision, this
* can be overridden by setting offset explicitly.
*/
offset?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to display the axis on
* the opposite side of the normal. The normal is on the left side for
* vertical axes and bottom for horizontal, so the opposite sides will be
* right and top respectively. This is typically used with dual or multiple
* axes.
*/
opposite?: boolean;
/**
* (Highstock) In an ordinal axis, the points are equally spaced in the
* chart regardless of the actual time or x distance between them. This
* means that missing data periods (e.g. nights or weekends for a stock
* chart) will not take up space in the chart. Having `ordinal: false` will
* show any gaps created by the `gapSize` setting proportionate to their
* duration.
*
* In stock charts the X axis is ordinal by default, unless the boost module
* is used and at least one of the series' data length exceeds the
* boostThreshold.
*
* For an ordinal axis, `minPadding` and `maxPadding` are ignored. Use
* overscroll instead.
*/
ordinal?: boolean;
/**
* (Highstock) Additional range on the right side of the xAxis. Works
* similar to `xAxis.maxPadding`, but the value is set in terms of axis
* values, percentage or pixels.
*
* If it's a number, it is interpreted as axis values, which in a datetime
* axis equals milliseconds.
*
* If it's a percentage string, is interpreted as percentages of axis
* length. An overscroll of 50% will make a 100px axis 50px longer.
*
* If it's a pixel string, it is interpreted as a fixed pixel value, but
* limited to 90% of the axis length.
*/
overscroll?: (number|string);
/**
* (Highcharts) Refers to the index in the panes array. Used for circular
* gauges and polar charts. When the option is not set then first pane will
* be used.
*/
pane?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to pan axis. If
* `chart.panning` is enabled, the option allows to disable panning on an
* individual axis.
*/
panningEnabled?: boolean;
/**
* (Highcharts, Highstock, Gantt) An array of colored bands stretching
* across the plot area marking an interval on the axis.
*
* In styled mode, the plot bands are styled by the `.highcharts-plot-band`
* class in addition to the `className` option.
*/
plotBands?: Array<XAxisPlotBandsOptions>;
/**
* (Highcharts, Highstock, Gantt) An array of lines stretching across the
* plot area, marking a specific value on one of the axes.
*
* In styled mode, the plot lines are styled by the `.highcharts-plot-line`
* class in addition to the `className` option.
*/
plotLines?: Array<XAxisPlotLinesOptions>;
/**
* (Highstock) The zoomed range to display when only defining one or none of
* `min` or `max`. For example, to show the latest month, a range of one
* month can be set.
*/
range?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to reverse the axis so
* that the highest number is closest to the origin. If the chart is
* inverted, the x axis is reversed by default.
*/
reversed?: boolean;
/**
* (Highcharts, Highstock) This option determines how stacks should be
* ordered within a group. For example reversed xAxis also reverses stacks,
* so first series comes last in a group. To keep order like for
* non-reversed xAxis enable this option.
*/
reversedStacks?: boolean;
/**
* (Highstock) An optional scrollbar to display on the X axis in response to
* limiting the minimum and maximum of the axis values.
*
* In styled mode, all the presentational options for the scrollbar are
* replaced by the classes `.highcharts-scrollbar-thumb`,
* `.highcharts-scrollbar-arrow`, `.highcharts-scrollbar-button`,
* `.highcharts-scrollbar-rifles` and `.highcharts-scrollbar-track`.
*/
scrollbar?: XAxisScrollbarOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to show the axis line
* and title when the axis has no data.
*/
showEmpty?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to show the first tick
* label.
*/
showFirstLabel?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to show the last tick label.
* Defaults to `true` on cartesian charts, and `false` on polar charts.
*/
showLastLabel?: boolean;
/**
* (Highcharts, Highstock, Gantt) A soft maximum for the axis. If the series
* data maximum is less than this, the axis will stay at this maximum, but
* if the series data maximum is higher, the axis will flex to show all
* data.
*/
softMax?: number;
/**
* (Highcharts, Highstock, Gantt) A soft minimum for the axis. If the series
* data minimum is greater than this, the axis will stay at this minimum,
* but if the series data minimum is lower, the axis will flex to show all
* data.
*/
softMin?: number;
/**
* (Highcharts, Highstock, Gantt) For datetime axes, this decides where to
* put the tick between weeks. 0 = Sunday, 1 = Monday.
*/
startOfWeek?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to force the axis to
* start on a tick. Use this option with the `minPadding` option to control
* the axis start.
*/
startOnTick?: boolean;
/**
* (Highcharts, Highstock, Gantt) The amount of ticks to draw on the axis.
* This opens up for aligning the ticks of multiple charts or panes within a
* chart. This option overrides the `tickPixelInterval` option.
*
* This option only has an effect on linear axes. Datetime, logarithmic or
* category axes are not affected.
*/
tickAmount?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Color for the main tick marks.
*
* In styled mode, the stroke is given in the `.highcharts-tick` class.
*/
tickColor?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The interval of the tick marks
* in axis units. When `undefined`, the tick interval is computed to
* approximately follow the tickPixelInterval on linear and datetime axes.
* On categorized axes, a `undefined` tickInterval will default to 1, one
* category. Note that datetime axes are based on milliseconds, so for
* example an interval of one day is expressed as `24 * 3600 * 1000`.
*
* On logarithmic axes, the tickInterval is based on powers, so a
* tickInterval of 1 means one tick on each of 0.1, 1, 10, 100 etc. A
* tickInterval of 2 means a tick of 0.1, 10, 1000 etc. A tickInterval of
* 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20, 40
* etc.
*
* If the tickInterval is too dense for labels to be drawn, Highcharts may
* remove ticks.
*
* If the chart has multiple axes, the alignTicks option may interfere with
* the `tickInterval` setting.
*/
tickInterval?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The pixel length of the main
* tick marks.
*/
tickLength?: number;
/**
* (Highcharts, Gantt) For categorized axes only. If `on` the tick mark is
* placed in the center of the category, if `between` the tick mark is
* placed between categories. The default is `between` if the `tickInterval`
* is 1, else `on`. In order to render tick marks on a category axis it is
* necessary to provide a tickWidth.
*/
tickmarkPlacement?: OptionsTickmarkPlacementValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) If tickInterval is `null` this
* option sets the approximate pixel interval of the tick marks. Not
* applicable to categorized axis.
*
* The tick interval is also influenced by the minTickInterval option, that,
* by default prevents ticks from being denser than the data points.
*/
tickPixelInterval?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The position of the major tick
* marks relative to the axis line. Can be one of `inside` and `outside`.
*/
tickPosition?: OptionsTickPositionValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A callback function returning
* array defining where the ticks are laid out on the axis. This overrides
* the default behaviour of tickPixelInterval and tickInterval. The
* automatic tick positions are accessible through `this.tickPositions` and
* can be modified by the callback.
*/
tickPositioner?: AxisTickPositionerCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) An array defining where the
* ticks are laid out on the axis. This overrides the default behaviour of
* tickPixelInterval and tickInterval.
*/
tickPositions?: Array<number>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the major
* tick marks. Defaults to 0 on category axes, otherwise 1.
*
* In styled mode, the stroke width is given in the `.highcharts-tick`
* class, but in order for the element to be generated on category axes, the
* option must be explicitly set to 1.
*/
tickWidth?: (number|undefined);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The axis title, showing next to
* the axis line.
*/
title?: XAxisTitleOptions;
/**
* (Highcharts, Highstock) 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.
*/
top?: (number|string);
/**
* (Highcharts, Gantt) The type of axis. Can be one of `linear`,
* `logarithmic`, `datetime` or `category`. In a datetime axis, the numbers
* are given in milliseconds, and tick marks are placed on appropriate
* values like full hours or days. In a category axis, the point names of
* the chart's series are used for categories, if not a categories array is
* defined.
*/
type?: AxisTypeValue;
/**
* (Highcharts, Gantt) Applies only when the axis `type` is `category`. When
* `uniqueNames` is true, points are placed on the X axis according to their
* names. If the same point name is repeated in the same or another series,
* the point is placed on the same X position as other points of the same
* name. When `uniqueNames` is false, the points are laid out in increasing
* X positions regardless of their names, and the X axis category will take
* the name of the last point in each position.
*/
uniqueNames?: boolean;
/**
* (Highcharts, Highstock, Gantt) Datetime axis only. An array determining
* what time intervals the ticks are allowed to fall on. Each array item is
* an array where the first value is the time unit and the second value
* another array of allowed multiples.
*
* Defaults to: (see online documentation for example)
*/
units?: Array<[string, (Array<number>|null)]>;
/**
* (Highcharts, Highstock, Gantt) Whether axis, including axis title, line,
* ticks and labels, should be visible.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) The width as the horizontal axis. If it's a
* number, it is interpreted as pixels.
*
* Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
* as percentages of the total plot width.
*/
width?: (number|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The Z index for the axis group.
*/
zIndex?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to zoom axis. If
* `chart.zoomType` is set, the option allows to disable zooming on an
* individual axis.
*/
zoomEnabled?: boolean;
}
/**
* (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
* band. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
*/
export interface XAxisPlotBandsEventsOptions {
/**
* (Highcharts, Highstock, Gantt) Click event on a plot band.
*/
click?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
*/
mousemove?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
* band.
*/
mouseout?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
*/
mouseover?: EventCallbackFunction<PlotLineOrBand>;
}
/**
* (Highcharts, Highstock, Gantt) Text labels for the plot bands
*/
export interface XAxisPlotBandsLabelOptions {
/**
* (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
* one of "left", "center" or "right".
*/
align?: AlignValue;
/**
* (Highcharts, Highstock, Gantt) Rotation of the text label in degrees .
*/
rotation?: number;
/**
* (Highcharts, Highstock, Gantt) CSS styles for the text label.
*
* In styled mode, the labels are styled by the
* `.highcharts-plot-band-label` class.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Gantt) The string text itself. A subset of HTML
* is supported.
*/
text?: string;
/**
* (Highcharts, Highstock, Gantt) The text alignment for the label. While
* `align` determines where the texts anchor point is placed within the plot
* band, `textAlign` determines how the text is aligned against its anchor
* point. Possible values are "left", "center" and "right". Defaults to the
* same as the `align` option.
*/
textAlign?: AlignValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
* to the plot band. Can be one of "top", "middle" or "bottom".
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highcharts, Highstock, Gantt) Horizontal position relative the
* alignment. Default varies by orientation.
*/
x?: number;
/**
* (Highcharts, Highstock, Gantt) Vertical position of the text baseline
* relative to the alignment. Default varies by orientation.
*/
y?: number;
}
/**
* (Highcharts, Highstock, Gantt) An array of colored bands stretching across
* the plot area marking an interval on the axis.
*
* In styled mode, the plot bands are styled by the `.highcharts-plot-band`
* class in addition to the `className` option.
*/
export interface XAxisPlotBandsOptions {
/**
* (Highstock) Flag to decide if plotBand should be rendered across all
* panes.
*/
acrossPanes?: boolean;
/**
* (Highcharts, Highstock, Gantt) Border color for the plot band. Also
* requires `borderWidth` to be set.
*/
borderColor?: ColorString;
/**
* (Highcharts, Highstock, Gantt) Border width for the plot band. Also
* requires `borderColor` to be set.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Gantt) A custom class name, in addition to the
* default `highcharts-plot-band`, to apply to each individual band.
*/
className?: string;
/**
* (Highcharts, Highstock, Gantt) The color of the plot band.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Gantt) An object defining mouse events for the
* plot band. Supported properties are `click`, `mouseover`, `mouseout`,
* `mousemove`.
*/
events?: XAxisPlotBandsEventsOptions;
/**
* (Highcharts, Highstock, Gantt) The start position of the plot band in
* axis units.
*/
from?: number;
/**
* (Highcharts, Highstock, Gantt) An id used for identifying the plot band
* in Axis.removePlotBand.
*/
id?: string;
/**
* (Highcharts, Highstock, Gantt) Text labels for the plot bands
*/
label?: XAxisPlotBandsLabelOptions;
/**
* (Highcharts, Highstock, Gantt) The end position of the plot band in axis
* units.
*/
to?: number;
/**
* (Highcharts, Highstock, Gantt) The z index of the plot band within the
* chart, relative to other elements. Using the same z index as another
* element may give unpredictable results, as the last rendered element will
* be on top. Values from 0 to 20 make sense.
*/
zIndex?: number;
}
/**
* (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
* line. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
*/
export interface XAxisPlotLinesEventsOptions {
/**
* (Highcharts, Highstock, Gantt) Click event on a plot band.
*/
click?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
*/
mousemove?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
* band.
*/
mouseout?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
*/
mouseover?: EventCallbackFunction<PlotLineOrBand>;
}
/**
* (Highcharts, Highstock, Gantt) Text labels for the plot bands
*/
export interface XAxisPlotLinesLabelOptions {
/**
* (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
* one of "left", "center" or "right".
*/
align?: AlignValue;
/**
* (Highcharts, Highstock, Gantt) Callback JavaScript function to format the
* label. Useful properties like the value of plot line or the range of plot
* band (`from` & `to` properties) can be found in `this.options` object.
*/
formatter?: FormatterCallbackFunction<PlotLineOrBand>;
/**
* (Highcharts, Highstock, Gantt) Rotation of the text label in degrees.
* Defaults to 0 for horizontal plot lines and 90 for vertical lines.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Gantt) CSS styles for the text label.
*
* In styled mode, the labels are styled by the
* `.highcharts-plot-line-label` class.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Gantt) The text itself. A subset of HTML is
* supported.
*/
text?: string;
/**
* (Highcharts, Highstock, Gantt) The text alignment for the label. While
* `align` determines where the texts anchor point is placed within the plot
* band, `textAlign` determines how the text is aligned against its anchor
* point. Possible values are "left", "center" and "right". Defaults to the
* same as the `align` option.
*/
textAlign?: AlignValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
* to the plot line. Can be one of "top", "middle" or "bottom".
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highcharts, Highstock, Gantt) Horizontal position relative the
* alignment. Default varies by orientation.
*/
x?: number;
/**
* (Highcharts, Highstock, Gantt) Vertical position of the text baseline
* relative to the alignment. Default varies by orientation.
*/
y?: number;
}
export interface XAxisPlotLinesLabelsOptions {
/**
* (Highcharts, Highstock, Gantt) Whether to hide labels that are outside
* the plot area.
*/
clip?: boolean;
}
/**
* (Highcharts, Highstock, Gantt) An array of lines stretching across the plot
* area, marking a specific value on one of the axes.
*
* In styled mode, the plot lines are styled by the `.highcharts-plot-line`
* class in addition to the `className` option.
*/
export interface XAxisPlotLinesOptions {
/**
* (Highstock) Flag to decide if plotLine should be rendered across all
* panes.
*/
acrossPanes?: boolean;
/**
* (Highcharts, Highstock, Gantt) A custom class name, in addition to the
* default `highcharts-plot-line`, to apply to each individual line.
*/
className?: string;
/**
* (Highcharts, Highstock, Gantt) The color of the line.
*/
color?: ColorString;
/**
* (Highcharts, Highstock, Gantt) The dashing or dot style for the plot
* line. For possible values see this overview.
*/
dashStyle?: DashStyleValue;
/**
* (Highcharts, Highstock, Gantt) An object defining mouse events for the
* plot line. Supported properties are `click`, `mouseover`, `mouseout`,
* `mousemove`.
*/
events?: XAxisPlotLinesEventsOptions;
/**
* (Highcharts, Highstock, Gantt) An id used for identifying the plot line
* in Axis.removePlotLine.
*/
id?: string;
/**
* (Highcharts, Highstock, Gantt) Text labels for the plot bands
*/
label?: XAxisPlotLinesLabelOptions;
labels?: XAxisPlotLinesLabelsOptions;
/**
* (Highcharts, Highstock, Gantt) The position of the line in axis units.
*/
value?: number;
/**
* (Highcharts, Highstock, Gantt) The width or thickness of the plot line.
*/
width?: number;
/**
* (Highcharts, Highstock, Gantt) The z index of the plot line within the
* chart.
*/
zIndex?: number;
}
/**
* (Highstock) An optional scrollbar to display on the X axis in response to
* limiting the minimum and maximum of the axis values.
*
* In styled mode, all the presentational options for the scrollbar are replaced
* by the classes `.highcharts-scrollbar-thumb`, `.highcharts-scrollbar-arrow`,
* `.highcharts-scrollbar-button`, `.highcharts-scrollbar-rifles` and
* `.highcharts-scrollbar-track`.
*/
export interface XAxisScrollbarOptions {
/**
* (Highstock) The background color of the scrollbar itself.
*/
barBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The color of the scrollbar's border.
*/
barBorderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The border rounding radius of the bar.
*/
barBorderRadius?: number;
/**
* (Highstock) The width of the bar's border.
*/
barBorderWidth?: number;
/**
* (Highstock) The color of the small arrow inside the scrollbar buttons.
*/
buttonArrowColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The color of scrollbar buttons.
*/
buttonBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The color of the border of the scrollbar buttons.
*/
buttonBorderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The corner radius of the scrollbar buttons.
*/
buttonBorderRadius?: number;
/**
* (Highstock) The border width of the scrollbar buttons.
*/
buttonBorderWidth?: number;
/**
* (Highstock) Enable or disable the buttons at the end of the scrollbar.
*/
buttonsEnabled?: boolean;
/**
* (Highstock) Enable or disable the scrollbar.
*/
enabled?: boolean;
/**
* (Highstock) The height of the scrollbar. If `buttonsEnabled` is true ,
* the height also applies to the width of the scroll arrows so that they
* are always squares.
*/
height?: number;
/**
* (Highstock) Whether to redraw the main chart as the scrollbar or the
* navigator zoomed window is moved. Defaults to `true` for modern browsers
* and `false` for legacy IE browsers as well as mobile devices.
*/
liveRedraw?: boolean;
/**
* (Highstock) The margin between the scrollbar and its axis when the
* scrollbar is applied directly to an axis, or the navigator in case that
* is enabled. Defaults to 10 for axis, 0 for navigator.
*/
margin?: (number|undefined);
/**
* (Highstock) The minimum width of the scrollbar.
*/
minWidth?: number;
/**
* (Highstock) Defines the position of the scrollbar. By default, it is
* positioned on the opposite of the main axis (right side of the chart).
* However, in the case of RTL languages could be set to `false` which
* positions the scrollbar on the left.
*
* Works only for vertical axes. This means yAxis in a non-inverted chart
* and xAxis in the inverted.
*/
opposite?: boolean;
/**
* (Highstock) The color of the small rifles in the middle of the scrollbar.
*/
rifleColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Whether to show or hide the scrollbar when the scrolled
* content is zoomed out to it full extent.
*/
showFull?: boolean;
/**
* (Highstock) The color of the track background.
*/
trackBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The color of the border of the scrollbar track.
*/
trackBorderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The corner radius of the border of the scrollbar track.
*/
trackBorderRadius?: number;
/**
* (Highstock) The width of the border of the scrollbar track.
*/
trackBorderWidth?: number;
/**
* (Highstock) The z index of the scrollbar group.
*/
zIndex?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) The axis title, showing next to the
* axis line.
*/
export interface XAxisTitleOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Alignment of the title relative
* to the axis values. Possible values are "low", "middle" or "high".
*/
align?: AxisTitleAlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The pixel distance between the
* axis labels or line and the title. Defaults to 0 for horizontal axes, 10
* for vertical
*/
margin?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The distance of the axis title
* from the axis line. By default, this distance is computed from the offset
* width of the labels, the labels' distance from the axis and the title's
* margin. However when the offset option is set, it overrides all this.
*/
offset?: number;
/**
* (Highcharts) Defines how the title is repositioned according to the 3D
* chart orientation.
*
* - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
* marks, despite the chart orientation. This is the backwards compatible
* behavior, and causes skewing of X and Z axes.
*
* - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
* but hard to read if the text isn't forward-facing.
*
* - `'flap'`: Rotated text along the axis to compensate for the chart
* orientation. This tries to maintain text as legible as possible on all
* orientations.
*
* - `'ortho'`: Rotated text along the axis direction so that the labels are
* orthogonal to the axis. This is very similar to `'flap'`, but prevents
* skewing the labels (X and Y scaling are still present).
*
* - `undefined`: Will use the config from `labels.position3d`
*/
position3d?: ("chart"|"flap"|"offset"|"ortho"|null);
/**
* (Highcharts, Highstock, Gantt) Whether to reserve space for the title
* when laying out the axis.
*/
reserveSpace?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The rotation of the text in
* degrees. 0 is horizontal, 270 is vertical reading from bottom to top.
* Defaults to 0 for horizontal axes, 270 for left-side axes and 90 for
* right-side axes.
*/
rotation?: number;
/**
* (Highcharts) If enabled, the axis title will skewed to follow the
* perspective.
*
* This will fix overlapping labels and titles, but texts become less
* legible due to the distortion.
*
* The final appearance depends heavily on `title.position3d`.
*
* A `null` value will use the config from `labels.skew3d`.
*/
skew3d?: (boolean|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the title. If the
* title text is longer than the axis length, it will wrap to multiple lines
* by default. This can be customized by setting `textOverflow: 'ellipsis'`,
* by setting a specific `width` or by setting `whiteSpace: 'nowrap'`.
*
* In styled mode, the stroke width is given in the `.highcharts-axis-title`
* class.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The actual text of the axis
* title. It can contain basic HTML tags like `b`, `i` and `span` with
* style.
*/
text?: (string|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Alignment of the text, can be
* `"left"`, `"right"` or `"center"`. Default alignment depends on the
* title.align:
*
* Horizontal axes:
*
* - for `align` = `"low"`, `textAlign` is set to `left`
*
* - for `align` = `"middle"`, `textAlign` is set to `center`
*
* - for `align` = `"high"`, `textAlign` is set to `right`
*
* Vertical axes:
*
* - for `align` = `"low"` and `opposite` = `true`, `textAlign` is set to
* `right`
*
* - for `align` = `"low"` and `opposite` = `false`, `textAlign` is set to
* `left`
*
* - for `align` = `"middle"`, `textAlign` is set to `center`
*
* - for `align` = `"high"` and `opposite` = `true` `textAlign` is set to
* `left`
*
* - for `align` = `"high"` and `opposite` = `false` `textAlign` is set to
* `right`
*/
textAlign?: AlignValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use HTML to render the axis
* title.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Gantt) Horizontal pixel offset of the title
* position.
*/
x?: number;
/**
* (Highcharts, Highstock, Gantt) Vertical pixel offset of the title
* position.
*/
y?: number;
}
/**
* (Gantt) Connect to a point. This option can be either a string, referring to
* the ID of another point, or an object, or an array of either. If the option
* is an array, each element defines a connection.
*/
export interface XrangePointConnectorsOptionsObject {
/**
* (Gantt) Set the default dash style for this chart's connecting lines.
*/
dashStyle?: string;
/**
* (Gantt) Marker options specific to the end markers for this chart's
* Pathfinder connectors. Overrides the generic marker options.
*/
endMarker?: ConnectorsEndMarkerOptions;
/**
* (Gantt) Set the default color for this chart's Pathfinder connecting
* lines. Defaults to the color of the point being connected.
*/
lineColor?: ColorString;
/**
* (Gantt) Set the default pixel width for this chart's Pathfinder
* connecting lines.
*/
lineWidth?: number;
/**
* (Gantt) Marker options for this chart's Pathfinder connectors. Note that
* this option is overridden by the `startMarker` and `endMarker` options.
*/
marker?: ConnectorsMarkerOptions;
/**
* (Gantt) The corner radius for the connector line.
*/
radius?: number;
/**
* (Gantt) Marker options specific to the start markers for this chart's
* Pathfinder connectors. Overrides the generic marker options.
*/
startMarker?: ConnectorsStartMarkerOptions;
/**
* (Gantt) The ID of the point to connect to.
*/
to?: string;
/**
* (Gantt) Set the default pathfinder algorithm to use for this chart. It is
* possible to define your own algorithms by adding them to the
* Highcharts.Pathfinder.prototype.algorithms object before the chart has
* been created.
*
* The default algorithms are as follows:
*
* `straight`: Draws a straight line between the connecting points. Does not
* avoid other points when drawing.
*
* `simpleConnect`: Finds a path between the points using right angles only.
* Takes only starting/ending points into account, and will not avoid other
* points.
*
* `fastAvoid`: Finds a path between the points using right angles only.
* Will attempt to avoid other points, but its focus is performance over
* accuracy. Works well with less dense datasets.
*
* Default value: `straight` is used as default for most series types, while
* `simpleConnect` is used as default for Gantt series, to show dependencies
* between points.
*/
type?: PathfinderTypeValue;
}
/**
* (Highcharts, Highstock, Gantt) An array of data points for the series. For
* the `xrange` series type, points can be given in the following ways:
*
* 1. An array of objects with named values. The objects are point configuration
* objects as seen below. (see online documentation for example)
*/
export interface XrangePointOptionsObject {
/**
* (Highcharts, Highstock, Gantt) Accessibility options for a data point.
*/
accessibility?: PointAccessibilityOptionsObject;
/**
* (Highcharts, Gantt) An additional, individual class name for the data
* point's graphic representation. Changes to a point's color will also be
* reflected in a chart's legend and tooltip.
*/
className?: string;
/**
* (Highcharts, Highstock, Gantt) Individual color for the point. By default
* the color is pulled from the global `colors` array.
*
* In styled mode, the `color` option doesn't take effect. Instead, use
* `colorIndex`.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Gantt) A specific color index to use for the point, so its
* graphic representations are given the class name `highcharts-color-{n}`.
* In styled mode this will change the color of the graphic. In non-styled
* mode, the color is set by the `fill` attribute, so the change in class
* name won't have a visual effect by default.
*
* Since v11, CSS variables on the form `--highcharts-color-{n}` make
* changing the color scheme very convenient.
*/
colorIndex?: number;
/**
* (Gantt) Connect to a point. This option can be either a string, referring
* to the ID of another point, or an object, or an array of either. If the
* option is an array, each element defines a connection.
*/
connect?: (string|XrangePointConnectorsOptionsObject|Array<(string|XrangePointConnectorsOptionsObject)>);
/**
* (Highcharts, Highstock, Gantt) A reserved subspace to store options and
* values for customized functionality. Here you can add additional data for
* your own event callbacks and formatter callbacks.
*/
custom?: Dictionary<any>;
/**
* (Highcharts, Highstock, Gantt) Individual data label for each point. The
* options are the same as the ones for plotOptions.series.dataLabels.
*/
dataLabels?: (DataLabelsOptions|Array<DataLabelsOptions>);
/**
* (Highcharts, Highstock, Gantt) A description of the point to add to the
* screen reader information about the point.
*/
description?: string;
/**
* (Highcharts, Highstock, Gantt) Point specific options for the
* draggable-points module. Overrides options on `series.dragDrop`.
*/
dragDrop?: SeriesLineDataDragDropOptions;
/**
* (Highcharts) The `id` of a series in the drilldown.series array to use
* for a drilldown for this point.
*/
drilldown?: string;
/**
* (Highcharts, Highstock, Gantt) The individual point events.
*/
events?: PointEventsOptionsObject;
/**
* (Highcharts, Highstock, Gantt) An id for the point. This can be used
* after render time to get a pointer to the point object through
* `chart.get()`.
*/
id?: string;
/**
* (Highcharts, Highstock, Gantt) The rank for this point's data label in
* case of collision. If two data labels are about to overlap, only the one
* with the highest `labelrank` will be drawn.
*/
labelrank?: number;
/**
* (Highcharts, Highstock) Options for the point markers of line-like
* series.
*/
marker?: PointMarkerOptionsObject;
/**
* (Highcharts, Highstock, Gantt) The name of the point as shown in the
* legend, tooltip, dataLabels, etc.
*/
name?: string;
/**
* (Highcharts, Highstock, Gantt) A partial fill for each point, typically
* used to visualize how much of a task is performed. The partial fill
* object can be set either on series or point level.
*/
partialFill?: XrangePointPartialFillOptionsObject;
/**
* (Highcharts, Highstock, Gantt) Whether the data point is selected
* initially.
*/
selected?: boolean;
/**
* (Highcharts, Highstock, Gantt) The starting X value of the range point.
*/
x?: number;
/**
* (Highcharts, Highstock, Gantt) The ending X value of the range point.
*/
x2?: number;
/**
* (Highcharts, Highstock, Gantt) The Y value of the range point.
*/
y?: number;
}
/**
* (Highcharts, Highstock, Gantt) A partial fill for each point, typically used
* to visualize how much of a task is performed. The partial fill object can be
* set either on series or point level.
*/
export interface XrangePointPartialFillOptionsObject {
/**
* (Highcharts, Highstock, Gantt) The amount of the X-range point to be
* filled. Values can be 0-1 and are converted to percentages in the default
* data label formatter.
*/
amount?: number;
/**
* (Highcharts, Highstock, Gantt) The fill color to be used for partial
* fills. Defaults to a darker shade of the point color.
*/
fill?: (ColorString|GradientColorObject|PatternObject);
}
/**
* (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
* sections defined will be left out and all the points shifted closer to each
* other.
*/
export interface YAxisBreaksOptions {
/**
* (Highcharts, Highstock, Gantt) 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.
*/
breakSize?: number;
/**
* (Highcharts, Highstock, Gantt) The point where the break starts.
*/
from?: number;
/**
* (Highcharts, Highstock, Gantt) Defines an interval after which the break
* appears again. By default the breaks do not repeat.
*/
repeat?: number;
/**
* (Highcharts, Highstock, Gantt) The point where the break ends.
*/
to?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) Event handlers for the axis.
*/
export interface YAxisEventsOptions {
/**
* (Highcharts, Gantt) An event fired after the breaks have rendered.
*/
afterBreaks?: AxisEventCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) 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`.
*/
afterSetExtremes?: AxisSetExtremesEventCallbackFunction;
/**
* (Highcharts, Gantt) An event fired when a break from this axis occurs on
* a point.
*/
pointBreak?: AxisPointBreakEventCallbackFunction;
/**
* (Highcharts, Highstock, Gantt) An event fired when a point is outside a
* break after zoom.
*/
pointBreakOut?: AxisPointBreakEventCallbackFunction;
/**
* (Highcharts, Highstock, Gantt) An event fired when a point falls inside a
* break from this axis.
*/
pointInBreak?: AxisPointBreakEventCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) 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`.
*/
setExtremes?: AxisSetExtremesEventCallbackFunction;
}
/**
* (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
*/
export interface YAxisGridOptions {
/**
* (Gantt) Set border color for the label grid lines.
*/
borderColor?: ColorString;
/**
* (Gantt) Set border width of the label grid lines.
*/
borderWidth?: number;
/**
* (Gantt) Set cell height for grid axis labels. By default this is
* calculated from font size. This option only applies to horizontal axes.
* For vertical axes, check the .yAxis.staticScale option.
*/
cellHeight?: number;
/**
* (Gantt) Set specific options for each column (or row for horizontal axes)
* in the grid. Each extra column/row is its own axis, and the axis options
* can be set here.
*/
columns?: Array<XAxisOptions>;
/**
* (Gantt) Enable grid on the axis labels. Defaults to true for Gantt
* charts.
*/
enabled?: boolean;
}
/**
* (Gantt) Set options on specific levels in a tree grid axis. Takes precedence
* over labels options.
*/
export interface YAxisLabelsLevelsOptions {
/**
* (Gantt) Specify the level which the options within this object applies
* to.
*/
level?: number;
style?: CSSObject;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) 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.
*/
export interface YAxisLabelsOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) What part of the string the
* given position is anchored to. Can be one of `"left"`, `"center"` or
* `"right"`. The exact position also depends on the `labels.x` setting.
*
* Angular gauges and solid gauges defaults to `"center"`. Solid gauges with
* two labels have additional option `"auto"` for automatic horizontal and
* vertical alignment.
*/
align?: AlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to allow the axis labels
* to overlap. When false, overlapping labels are hidden.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Gantt) 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.
*/
autoRotation?: Array<number>;
/**
* (Highcharts, Gantt) 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.
*/
autoRotationLimit?: number;
/**
* (Highcharts) 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.
*
* On polar charts, if it's a percentage string, it is interpreted the same
* as series.radius, so the label can be aligned under the gauge's shape.
*/
distance?: (number|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the axis
* labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) 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 for more examples of formatting.
*
* The default value is not specified due to the dynamic nature of the
* default implementation.
*/
format?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) 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.
*/
formatter?: AxisLabelsFormatterCallbackFunction;
/**
* (Gantt) The number of pixels to indent the labels per level in a treegrid
* axis.
*/
indentation?: number;
/**
* (Gantt) Set options on specific levels in a tree grid axis. Takes
* precedence over labels options.
*/
levels?: Array<YAxisLabelsLevelsOptions>;
/**
* (Highcharts, Highstock, Highmaps, Gantt) 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.
*/
overflow?: OptionsOverflowValue;
/**
* (Highcharts, Gantt) The pixel padding for axis labels, to ensure white
* space between them.
*/
padding?: number;
/**
* (Highcharts) Defines how the labels are be repositioned according to the
* 3D chart orientation.
*
* - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
* marks, despite the chart orientation. This is the backwards compatible
* behavior, and causes skewing of X and Z axes.
*
* - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
* but hard to read if the text isn't forward-facing.
*
* - `'flap'`: Rotated text along the axis to compensate for the chart
* orientation. This tries to maintain text as legible as possible on all
* orientations.
*
* - `'ortho'`: Rotated text along the axis direction so that the labels are
* orthogonal to the axis. This is very similar to `'flap'`, but prevents
* skewing the labels (X and Y scaling are still present).
*/
position3d?: OptionsPosition3dValue;
/**
* (Highcharts, Highstock, Gantt) 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.
*/
reserveSpace?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Rotation of the labels in
* degrees. When `undefined`, the `autoRotation` option takes precedence.
*/
rotation?: number;
/**
* (Highcharts) If enabled, the axis labels will skewed to follow the
* perspective.
*
* This will fix overlapping labels and titles, but texts become less
* legible due to the distortion.
*
* The final appearance depends heavily on `labels.position3d`.
*/
skew3d?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Horizontal axes only. The number
* of lines to spread the labels over to make room or tighter labels. 0
* disables staggering.
*/
staggerLines?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) 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 => What axis should I use?
*/
step?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the label. Use
* `whiteSpace: 'nowrap'` to prevent wrapping of category labels. Use
* `textOverflow: 'none'` to prevent ellipsis (dots).
*
* In styled mode, the labels are styled with the `.highcharts-axis-labels`
* class.
*/
style?: CSSObject;
/**
* (Gantt) The symbol for the collapse and expand icon in a treegrid.
*/
symbol?: YAxisLabelsSymbolOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to use HTML to render
* the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The x position offset of all
* labels relative to the tick positions on the axis. Defaults to -15 for
* left axis, 15 for right axis.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The y position offset of all
* labels relative to the tick positions on the axis. For polar and radial
* axis consider the use of the distance option.
*/
y?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The Z index for the axis labels.
*/
zIndex?: number;
}
/**
* (Gantt) The symbol for the collapse and expand icon in a treegrid.
*/
export interface YAxisLabelsSymbolOptions {
height?: number;
/**
* (Gantt) The symbol type. Points to a definition function in the
* `Highcharts.Renderer.symbols` collection.
*/
type?: SymbolKeyValue;
width?: number;
x?: number;
y?: number;
}
/**
* (Highcharts) Relevant only for pictorial series. The `stackShadow` forms the
* background of stacked points. Requires `series.stacking` to be defined.
*/
export interface YAxisOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Accessibility options for an
* axis. Requires the accessibility module.
*/
accessibility?: AxisAccessibilityOptionsObject;
/**
* (Highcharts, Highstock, Gantt) 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.
*/
alignTicks?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) 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.
*/
allowDecimals?: (boolean|undefined);
/**
* (Highcharts, Highstock, Highmaps, Gantt) When using an alternate grid
* color, a band is painted across the plot area between every other grid
* line.
*/
alternateGridColor?: ColorType;
/**
* (Highcharts) In a polar chart, this is the angle of the Y axis in
* degrees, where 0 is up and 90 is right. The angle determines the position
* of the axis line and the labels, though the coordinate system is
* unaffected. Since v8.0.0 this option is also applicable for X axis
* (inverted polar).
*/
angle?: number;
/**
* (Highcharts) The color of the `stackShadow` border.
*/
borderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts) The width of the `stackShadow` border.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Gantt) An array defining breaks in the axis, the
* sections defined will be left out and all the points shifted closer to
* each other.
*/
breaks?: Array<YAxisBreaksOptions>;
/**
* (Highcharts, Gantt) 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 and setting axis type to `category`. However, if you have
* multiple series, best practice remains defining the `categories` array.
*
* Example: `categories: ['Apples', 'Bananas', 'Oranges']`
*/
categories?: Array<string>;
/**
* (Highcharts, Highstock, Gantt) The highest allowed value for
* automatically computed axis extremes.
*/
ceiling?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) 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.
*/
className?: string;
/**
* (Highcharts) The color of the `stackShadow`.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Highmaps, Gantt) 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.
*/
crosshair?: (boolean|AxisCrosshairOptions);
/**
* (Highcharts, Highstock, Highmaps, Gantt) 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.
*/
crossing?: number;
/**
* (Highcharts, Highstock, Gantt) 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 replacement codes, see dateFormat.
*
* Defaults to: (see online documentation for example)
*/
dateTimeLabelFormats?: AxisDateTimeLabelFormatsOptions;
/**
* (Highcharts) Enable or disable `stackShadow`.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to force the axis to end
* on a tick. Use this option with the `maxPadding` option to control the
* axis end.
*
* This option is always disabled, when panning type is either `y` or `xy`.
*/
endOnTick?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Event handlers for the axis.
*/
events?: YAxisEventsOptions;
/**
* (Highcharts, Highstock, Gantt) The lowest allowed value for automatically
* computed axis extremes.
*/
floor?: number;
/**
* (Gantt) Set grid options for the axis labels. Requires Highcharts Gantt.
*/
grid?: YAxisGridOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Color of the grid lines
* extending the ticks across the plot area.
*
* In styled mode, the stroke is given in the `.highcharts-grid-line` class.
*/
gridLineColor?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The dash or dot style of the
* grid lines. For possible values, see this demonstration.
*/
gridLineDashStyle?: DashStyleValue;
/**
* (Highcharts) Polar charts only. Whether the grid lines should draw as a
* polygon with straight lines between categories, or as circles. Can be
* either `circle` or `polygon`. Since v8.0.0 this option is also applicable
* for X axis (inverted polar).
*/
gridLineInterpolation?: OptionsGridLineInterpolationValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The width of the grid lines
* extending the ticks across the plot area. Defaults to 1 on the Y axis and
* 0 on the X axis, except for 3d charts.
*
* In styled mode, the stroke width is given in the `.highcharts-grid-line`
* class.
*/
gridLineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The Z index of the grid lines.
*/
gridZIndex?: number;
/**
* (Highcharts, Highstock) The height of the Y axis. If it's a number, it is
* interpreted as pixels.
*
* Since Highcharts 2: If it's a percentage string, it is interpreted as
* percentages of the total plot height.
*/
height?: (number|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) An id for the axis. This can be
* used after render time to get a pointer to the axis object through
* `chart.get()`.
*/
id?: string;
/**
* (Highcharts, Highstock, Highmaps, Gantt) 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.
*/
labels?: YAxisLabelsOptions;
/**
* (Highcharts, Highstock) 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.
*/
left?: (number|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The color of the line marking
* the axis itself.
*
* In styled mode, the line stroke is given in the `.highcharts-axis-line`
* or `.highcharts-xaxis-line` class.
*/
lineColor?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The width of the line marking
* the axis itself.
*
* In styled mode, the stroke width is given in the `.highcharts-axis-line`
* or `.highcharts-xaxis-line` class.
*/
lineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) 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.
*/
linkedTo?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) If there are multiple axes on
* the same side of the chart, the pixel margin between the axes. Defaults
* to 0 on vertical axes, 15 on horizontal axes.
*/
margin?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The maximum value of the axis.
* If `null`, the max value is automatically calculated.
*
* If the endOnTick option is true, the `max` value might be rounded up.
*
* If a 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, where a `tickAmount`
* is applied internally.
*/
max?: (number|null);
/**
* (Highcharts) Solid gauge only. Unless stops are set, the color to
* represent the maximum value of the Y axis.
*/
maxColor?: ColorType;
/**
* (Highstock) Maximal size of a resizable axis. Could be set as a percent
* of plot area or pixel size.
*/
maxLength?: (number|string);
/**
* (Highcharts, Highstock, Gantt) 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.
*
* Also the `softThreshold` option takes precedence over `maxPadding`, so if
* the data is tangent to the threshold, `maxPadding` may not apply unless
* `softThreshold` is set to false.
*/
maxPadding?: number;
/**
* (Highstock, Gantt) Maximum range which can be set using the navigator's
* handles. Opposite of xAxis.minRange.
*/
maxRange?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The minimum value of the axis.
* If `null` the min value is automatically calculated.
*
* If the startOnTick option is true (default), the `min` value might be
* rounded down.
*
* The automatically calculated minimum value is also affected by floor,
* softMin, minPadding, minRange as well as series.threshold and
* series.softThreshold.
*/
min?: (number|null);
/**
* (Highcharts) Solid gauge only. Unless stops are set, the color to
* represent the minimum value of the Y axis.
*/
minColor?: ColorType;
/**
* (Highstock) Minimal size of a resizable axis. Could be set as a percent
* of plot area or pixel size.
*/
minLength?: (number|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Color of the minor, secondary
* grid lines.
*
* In styled mode, the stroke width is given in the
* `.highcharts-minor-grid-line` class.
*/
minorGridLineColor?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The dash or dot style of the
* minor grid lines. For possible values, see this demonstration.
*/
minorGridLineDashStyle?: DashStyleValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Width of the minor, secondary
* grid lines.
*
* In styled mode, the stroke width is given in the `.highcharts-grid-line`
* class.
*/
minorGridLineWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Color for the minor tick marks.
*/
minorTickColor?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) 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.
*/
minorTickInterval?: ('auto'|number);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The pixel length of the minor
* tick marks.
*/
minorTickLength?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The position of the minor tick
* marks relative to the axis line. Can be one of `inside` and `outside`.
*/
minorTickPosition?: OptionsMinorTickPositionValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable minor ticks.
* The interval between the minor ticks can be controlled either by the
* minorTicksPerMajor setting, or as an absolute minorTickInterval value.
*
* On a logarithmic axis, minor ticks are laid out based on a best guess,
* attempting to enter an approximate number of minor ticks between each
* major tick based on minorTicksPerMajor.
*
* Prior to v6.0.0, ticks were enabled in auto layout by setting
* `minorTickInterval` to `"auto"`.
*/
minorTicks?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The number of minor ticks per
* major tick. Works for `linear`, `logarithmic` and `datetime` axes.
*/
minorTicksPerMajor?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The pixel width of the minor
* tick mark.
*/
minorTickWidth?: number;
/**
* (Highcharts, Highstock, Gantt) Padding of the min 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 lowest data value to appear on the
* edge of the plot area. When the axis' `min` option is set or a max
* extreme is set using `axis.setExtremes()`, the maxPadding will be
* ignored.
*
* Also the `softThreshold` option takes precedence over `minPadding`, so if
* the data is tangent to the threshold, `minPadding` may not apply unless
* `softThreshold` is set to false.
*/
minPadding?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The minimum range to display on
* this axis. The entire axis will not be allowed to span over a smaller
* interval than this. For example, for a datetime axis the main unit is
* milliseconds. If minRange is set to 3600000, you can't zoom in more than
* to one hour.
*
* The default minRange for the x axis is five times the smallest interval
* between any of the data points.
*
* On a logarithmic axis, the unit for the minimum range is the power. So a
* minRange of 1 means that the axis can be zoomed to 10-100, 100-1000,
* 1000-10000 etc.
*
* **Note**: The `minPadding`, `maxPadding`, `startOnTick` and `endOnTick`
* settings also affect how the extremes of the axis are computed.
*/
minRange?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The minimum tick interval
* allowed in axis values. For example on zooming in on an axis with daily
* data, this can be used to prevent the axis from showing hours. Defaults
* to the closest distance between two points on the axis.
*/
minTickInterval?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The distance in pixels from the
* plot area to the axis line. A positive offset moves the axis with it's
* line, labels and ticks away from the plot area. This is typically used
* when two or more axes are displayed on the same side of the plot. With
* multiple axes the offset is dynamically adjusted to avoid collision, this
* can be overridden by setting offset explicitly.
*/
offset?: number;
/**
* (Highstock, Highcharts, Gantt) Whether to display the axis on the
* opposite side of the normal. The normal is on the left side for vertical
* axes and bottom for horizontal, so the opposite sides will be right and
* top respectively. This is typically used with dual or multiple axes.
*/
opposite?: boolean;
/**
* (Highcharts) Refers to the index in the panes array. Used for circular
* gauges and polar charts. When the option is not set then first pane will
* be used.
*/
pane?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to pan axis. If
* `chart.panning` is enabled, the option allows to disable panning on an
* individual axis.
*/
panningEnabled?: boolean;
/**
* (Highcharts, Highstock, Gantt) An array of colored bands stretching
* across the plot area marking an interval on the axis.
*
* In styled mode, the plot bands are styled by the `.highcharts-plot-band`
* class in addition to the `className` option.
*/
plotBands?: Array<YAxisPlotBandsOptions>;
/**
* (Highcharts, Highstock, Gantt) An array of lines stretching across the
* plot area, marking a specific value on one of the axes.
*
* In styled mode, the plot lines are styled by the `.highcharts-plot-line`
* class in addition to the `className` option.
*/
plotLines?: Array<YAxisPlotLinesOptions>;
/**
* (Highstock) The zoomed range to display when only defining one or none of
* `min` or `max`. For example, to show the latest month, a range of one
* month can be set.
*/
range?: number;
/**
* (Highstock) Options for axis resizing. It adds a thick line between panes
* which the user can drag in order to resize the panes.
*/
resize?: YAxisResizeOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to reverse the axis so
* that the highest number is closest to the origin.
*/
reversed?: boolean;
/**
* (Highcharts, Highstock) If `true`, the first series in a stack will be
* drawn on top in a positive, non-reversed Y axis. If `false`, the first
* series is in the base of the stack.
*/
reversedStacks?: boolean;
/**
* (Highstock) An optional scrollbar to display on the Y axis in response to
* limiting the minimum an maximum of the axis values.
*
* In styled mode, all the presentational options for the scrollbar are
* replaced by the classes `.highcharts-scrollbar-thumb`,
* `.highcharts-scrollbar-arrow`, `.highcharts-scrollbar-button`,
* `.highcharts-scrollbar-rifles` and `.highcharts-scrollbar-track`.
*/
scrollbar?: YAxisScrollbarOptions;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to show the axis line
* and title when the axis has no data.
*/
showEmpty?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to show the first tick
* label.
*/
showFirstLabel?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to show the last tick label.
*/
showLastLabel?: boolean;
/**
* (Highcharts, Highstock, Gantt) A soft maximum for the axis. If the series
* data maximum is less than this, the axis will stay at this maximum, but
* if the series data maximum is higher, the axis will flex to show all
* data.
*
* **Note**: The series.softThreshold option takes precedence over this
* option.
*/
softMax?: number;
/**
* (Highcharts, Highstock, Gantt) A soft minimum for the axis. If the series
* data minimum is greater than this, the axis will stay at this minimum,
* but if the series data minimum is lower, the axis will flex to show all
* data.
*
* **Note**: The series.softThreshold option takes precedence over this
* option.
*/
softMin?: number;
/**
* (Highcharts) The stack labels show the total value for each bar in a
* stacked column or bar chart. The label will be placed on top of positive
* columns and below negative columns. In case of an inverted column chart
* or a bar chart the label is placed to the right of positive bars and to
* the left of negative bars.
*/
stackLabels?: YAxisStackLabelsOptions;
/**
* (Highcharts) Relevant only for pictorial series. The `stackShadow` forms
* the background of stacked points. Requires `series.stacking` to be
* defined.
*/
stackShadow?: YAxisOptions;
/**
* (Highcharts, Highstock, Gantt) For datetime axes, this decides where to
* put the tick between weeks. 0 = Sunday, 1 = Monday.
*/
startOfWeek?: number;
/**
* (Highcharts, Highstock, Gantt) Whether to force the axis to start on a
* tick. Use this option with the `maxPadding` option to control the axis
* start.
*
* This option is always disabled, when panning type is either `y` or `xy`.
*/
startOnTick?: boolean;
/**
* (Gantt) For vertical axes only. Setting the static scale ensures that
* each tick unit is translated into a fixed pixel height. For example,
* setting the static scale to 24 results in each Y axis category taking up
* 24 pixels, and the height of the chart adjusts. Adding or removing items
* will make the chart resize.
*/
staticScale?: number;
/**
* (Highcharts) Solid gauge series only. Color stops for the solid gauge.
* Use this in cases where a linear gradient between a `minColor` and
* `maxColor` is not sufficient. The stops is an array of tuples, where the
* first item is a float between 0 and 1 assigning the relative position in
* the gradient, and the second item is the color.
*
* For solid gauges, the Y axis also inherits the concept of data classes
* from the Highmaps color axis.
*/
stops?: Array<[number, ColorType]>;
/**
* (Highcharts, Highstock, Gantt) The amount of ticks to draw on the axis.
* This opens up for aligning the ticks of multiple charts or panes within a
* chart. This option overrides the `tickPixelInterval` option.
*
* This option only has an effect on linear axes. Datetime, logarithmic or
* category axes are not affected.
*/
tickAmount?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Color for the main tick marks.
*
* In styled mode, the stroke is given in the `.highcharts-tick` class.
*/
tickColor?: ColorType;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The interval of the tick marks
* in axis units. When `undefined`, the tick interval is computed to
* approximately follow the tickPixelInterval on linear and datetime axes.
* On categorized axes, a `undefined` tickInterval will default to 1, one
* category. Note that datetime axes are based on milliseconds, so for
* example an interval of one day is expressed as `24 * 3600 * 1000`.
*
* On logarithmic axes, the tickInterval is based on powers, so a
* tickInterval of 1 means one tick on each of 0.1, 1, 10, 100 etc. A
* tickInterval of 2 means a tick of 0.1, 10, 1000 etc. A tickInterval of
* 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20, 40
* etc.
*
* If the tickInterval is too dense for labels to be drawn, Highcharts may
* remove ticks.
*
* If the chart has multiple axes, the alignTicks option may interfere with
* the `tickInterval` setting.
*/
tickInterval?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The pixel length of the main
* tick marks.
*/
tickLength?: number;
/**
* (Highcharts, Gantt) For categorized axes only. If `on` the tick mark is
* placed in the center of the category, if `between` the tick mark is
* placed between categories. The default is `between` if the `tickInterval`
* is 1, else `on`. In order to render tick marks on a category axis it is
* necessary to provide a tickWidth.
*/
tickmarkPlacement?: OptionsTickmarkPlacementValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) If tickInterval is `null` this
* option sets the approximate pixel interval of the tick marks. Not
* applicable to categorized axis.
*
* The tick interval is also influenced by the minTickInterval option, that,
* by default prevents ticks from being denser than the data points.
*/
tickPixelInterval?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The position of the major tick
* marks relative to the axis line. Can be one of `inside` and `outside`.
*/
tickPosition?: OptionsTickPositionValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) A callback function returning
* array defining where the ticks are laid out on the axis. This overrides
* the default behaviour of tickPixelInterval and tickInterval. The
* automatic tick positions are accessible through `this.tickPositions` and
* can be modified by the callback.
*/
tickPositioner?: AxisTickPositionerCallbackFunction;
/**
* (Highcharts, Highstock, Highmaps, Gantt) An array defining where the
* ticks are laid out on the axis. This overrides the default behaviour of
* tickPixelInterval and tickInterval.
*/
tickPositions?: Array<number>;
/**
* (Highcharts, Highstock, Gantt) The pixel width of the major tick marks.
*/
tickWidth?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The axis title, showing next to
* the axis line.
*/
title?: YAxisTitleOptions;
/**
* (Highcharts) Parallel coordinates only. Format that will be used for
* point.y and available in tooltip.pointFormat as `{point.formattedValue}`.
* If not set, `{point.formattedValue}` will use other options, in this
* order:
*
* 1. yAxis.labels.format will be used if set
*
* 2. If yAxis is a category, then category name will be displayed
*
* 3. If yAxis is a datetime, then value will use the same format as yAxis
* labels
*
* 4. If yAxis is linear/logarithmic type, then simple value will be used
*/
tooltipValueFormat?: string;
/**
* (Highcharts, Highstock) The top position of the Y 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.
*/
top?: (number|string);
/**
* (Highcharts, Gantt) The type of axis. Can be one of `linear`,
* `logarithmic`, `datetime`, `category` or `treegrid`. Defaults to
* `treegrid` for Gantt charts, `linear` for other chart types.
*
* In a datetime axis, the numbers are given in milliseconds, and tick marks
* are placed on appropriate values, like full hours or days. In a category
* or treegrid axis, the point names of the chart's series are used for
* categories, if a categories array is not defined.
*/
type?: AxisTypeValue;
/**
* (Highcharts, Gantt) Applies only when the axis `type` is `category`. When
* `uniqueNames` is true, points are placed on the X axis according to their
* names. If the same point name is repeated in the same or another series,
* the point is placed on the same X position as other points of the same
* name. When `uniqueNames` is false, the points are laid out in increasing
* X positions regardless of their names, and the X axis category will take
* the name of the last point in each position.
*/
uniqueNames?: boolean;
/**
* (Highcharts, Highstock, Gantt) Datetime axis only. An array determining
* what time intervals the ticks are allowed to fall on. Each array item is
* an array where the first value is the time unit and the second value
* another array of allowed multiples.
*
* Defaults to: (see online documentation for example)
*/
units?: Array<[string, (Array<number>|null)]>;
/**
* (Highcharts, Highstock, Gantt) Whether axis, including axis title, line,
* ticks and labels, should be visible.
*/
visible?: boolean;
/**
* (Highcharts, Highstock) The width as the horizontal axis. If it's a
* number, it is interpreted as pixels.
*
* Since Highcharts v5.0.13: If it's a percentage string, it is interpreted
* as percentages of the total plot width.
*/
width?: (number|string);
/**
* (Highcharts, Highstock, Highmaps, Gantt) The Z index for the axis group.
*/
zIndex?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) Whether to zoom axis. If
* `chart.zoomType` is set, the option allows to disable zooming on an
* individual axis.
*/
zoomEnabled?: boolean;
}
/**
* (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
* band. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
*/
export interface YAxisPlotBandsEventsOptions {
/**
* (Highcharts, Highstock, Gantt) Click event on a plot band.
*/
click?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
*/
mousemove?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
* band.
*/
mouseout?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
*/
mouseover?: EventCallbackFunction<PlotLineOrBand>;
}
/**
* (Highcharts, Highstock, Gantt) Text labels for the plot bands
*/
export interface YAxisPlotBandsLabelOptions {
/**
* (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
* one of "left", "center" or "right".
*/
align?: AlignValue;
/**
* (Highcharts, Highstock, Gantt) Rotation of the text label in degrees .
*/
rotation?: number;
/**
* (Highcharts, Highstock, Gantt) CSS styles for the text label.
*
* In styled mode, the labels are styled by the
* `.highcharts-plot-band-label` class.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Gantt) The string text itself. A subset of HTML
* is supported.
*/
text?: string;
/**
* (Highcharts, Highstock, Gantt) The text alignment for the label. While
* `align` determines where the texts anchor point is placed within the plot
* band, `textAlign` determines how the text is aligned against its anchor
* point. Possible values are "left", "center" and "right". Defaults to the
* same as the `align` option.
*/
textAlign?: AlignValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
* to the plot band. Can be one of "top", "middle" or "bottom".
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highcharts, Highstock, Gantt) Horizontal position relative the
* alignment. Default varies by orientation.
*/
x?: number;
/**
* (Highcharts, Highstock, Gantt) Vertical position of the text baseline
* relative to the alignment. Default varies by orientation.
*/
y?: number;
}
/**
* (Highcharts, Highstock, Gantt) An array of colored bands stretching across
* the plot area marking an interval on the axis.
*
* In styled mode, the plot bands are styled by the `.highcharts-plot-band`
* class in addition to the `className` option.
*/
export interface YAxisPlotBandsOptions {
/**
* (Highstock) Flag to decide if plotBand should be rendered across all
* panes.
*/
acrossPanes?: boolean;
/**
* (Highcharts, Highstock, Gantt) Border color for the plot band. Also
* requires `borderWidth` to be set.
*/
borderColor?: ColorString;
/**
* (Highcharts, Highstock, Gantt) Border width for the plot band. Also
* requires `borderColor` to be set.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Gantt) A custom class name, in addition to the
* default `highcharts-plot-band`, to apply to each individual band.
*/
className?: string;
/**
* (Highcharts, Highstock, Gantt) The color of the plot band.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Gantt) An object defining mouse events for the
* plot band. Supported properties are `click`, `mouseover`, `mouseout`,
* `mousemove`.
*/
events?: YAxisPlotBandsEventsOptions;
/**
* (Highcharts, Highstock, Gantt) The start position of the plot band in
* axis units.
*/
from?: number;
/**
* (Highcharts, Highstock, Gantt) An id used for identifying the plot band
* in Axis.removePlotBand.
*/
id?: string;
/**
* (Highcharts) In a gauge chart, this option determines the inner radius of
* the plot band that stretches along the perimeter. It can be given as a
* percentage string, like `"100%"`, or as a pixel number, like `100`. By
* default, the inner radius is controlled by the thickness option.
*/
innerRadius?: (number|string);
/**
* (Highcharts, Highstock, Gantt) Text labels for the plot bands
*/
label?: YAxisPlotBandsLabelOptions;
/**
* (Highcharts) In a gauge chart, this option determines the outer radius of
* the plot band that stretches along the perimeter. It can be given as a
* percentage string, like `"100%"`, or as a pixel number, like `100`.
*/
outerRadius?: (number|string);
/**
* (Highcharts) In a gauge chart, this option sets the width of the plot
* band stretching along the perimeter. It can be given as a percentage
* string, like `"10%"`, or as a pixel number, like `10`. The default value
* 10 is the same as the default tickLength, thus making the plot band act
* as a background for the tick markers.
*/
thickness?: (number|string);
/**
* (Highcharts, Highstock, Gantt) The end position of the plot band in axis
* units.
*/
to?: number;
/**
* (Highcharts, Highstock, Gantt) The z index of the plot band within the
* chart, relative to other elements. Using the same z index as another
* element may give unpredictable results, as the last rendered element will
* be on top. Values from 0 to 20 make sense.
*/
zIndex?: number;
}
/**
* (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
* line. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
*/
export interface YAxisPlotLinesEventsOptions {
/**
* (Highcharts, Highstock, Gantt) Click event on a plot band.
*/
click?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
*/
mousemove?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
* band.
*/
mouseout?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
*/
mouseover?: EventCallbackFunction<PlotLineOrBand>;
}
/**
* (Highcharts, Highstock, Gantt) Text labels for the plot bands
*/
export interface YAxisPlotLinesLabelOptions {
/**
* (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
* one of "left", "center" or "right".
*/
align?: AlignValue;
/**
* (Highcharts, Highstock, Gantt) Callback JavaScript function to format the
* label. Useful properties like the value of plot line or the range of plot
* band (`from` & `to` properties) can be found in `this.options` object.
*/
formatter?: FormatterCallbackFunction<PlotLineOrBand>;
/**
* (Highcharts, Highstock, Gantt) Rotation of the text label in degrees.
* Defaults to 0 for horizontal plot lines and 90 for vertical lines.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Gantt) CSS styles for the text label.
*
* In styled mode, the labels are styled by the
* `.highcharts-plot-line-label` class.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Gantt) The text itself. A subset of HTML is
* supported.
*/
text?: string;
/**
* (Highcharts, Highstock, Gantt) The text alignment for the label. While
* `align` determines where the texts anchor point is placed within the plot
* band, `textAlign` determines how the text is aligned against its anchor
* point. Possible values are "left", "center" and "right". Defaults to the
* same as the `align` option.
*/
textAlign?: AlignValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
* to the plot line. Can be one of "top", "middle" or "bottom".
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highcharts, Highstock, Gantt) Horizontal position relative the
* alignment. Default varies by orientation.
*/
x?: number;
/**
* (Highcharts, Highstock, Gantt) Vertical position of the text baseline
* relative to the alignment. Default varies by orientation.
*/
y?: number;
}
export interface YAxisPlotLinesLabelsOptions {
/**
* (Highcharts, Highstock, Gantt) Whether to hide labels that are outside
* the plot area.
*/
clip?: boolean;
}
/**
* (Highcharts, Highstock, Gantt) An array of lines stretching across the plot
* area, marking a specific value on one of the axes.
*
* In styled mode, the plot lines are styled by the `.highcharts-plot-line`
* class in addition to the `className` option.
*/
export interface YAxisPlotLinesOptions {
/**
* (Highstock) Flag to decide if plotLine should be rendered across all
* panes.
*/
acrossPanes?: boolean;
/**
* (Highcharts, Highstock, Gantt) A custom class name, in addition to the
* default `highcharts-plot-line`, to apply to each individual line.
*/
className?: string;
/**
* (Highcharts, Highstock, Gantt) The color of the line.
*/
color?: ColorString;
/**
* (Highcharts, Highstock, Gantt) The dashing or dot style for the plot
* line. For possible values see this overview.
*/
dashStyle?: DashStyleValue;
/**
* (Highcharts, Highstock, Gantt) An object defining mouse events for the
* plot line. Supported properties are `click`, `mouseover`, `mouseout`,
* `mousemove`.
*/
events?: YAxisPlotLinesEventsOptions;
/**
* (Highcharts, Highstock, Gantt) An id used for identifying the plot line
* in Axis.removePlotLine.
*/
id?: string;
/**
* (Highcharts, Highstock, Gantt) Text labels for the plot bands
*/
label?: YAxisPlotLinesLabelOptions;
labels?: YAxisPlotLinesLabelsOptions;
/**
* (Highcharts, Highstock, Gantt) The position of the line in axis units.
*/
value?: number;
/**
* (Highcharts, Highstock, Gantt) The width or thickness of the plot line.
*/
width?: number;
/**
* (Highcharts, Highstock, Gantt) The z index of the plot line within the
* chart.
*/
zIndex?: number;
}
/**
* (Highstock) Contains two arrays of axes that are controlled by control line
* of the axis.
*/
export interface YAxisResizeControlledAxisOptions {
/**
* (Highstock) Array of axes that should move out of the way of resizing
* being done for the current axis. If not set, the next axis will be used.
*/
next?: Array<(number|string)>;
/**
* (Highstock) Array of axes that should move with the current axis while
* resizing.
*/
prev?: Array<(number|string)>;
}
/**
* (Highstock) Options for axis resizing. It adds a thick line between panes
* which the user can drag in order to resize the panes.
*/
export interface YAxisResizeOptions {
/**
* (Highstock) Contains two arrays of axes that are controlled by control
* line of the axis.
*/
controlledAxis?: YAxisResizeControlledAxisOptions;
/**
* (Highstock) Cursor style for the control line.
*
* In styled mode use class `highcharts-axis-resizer` instead.
*/
cursor?: string;
/**
* (Highstock) Enable or disable resize by drag for the axis.
*/
enabled?: boolean;
/**
* (Highstock) Color of the control line.
*
* In styled mode use class `highcharts-axis-resizer` instead.
*/
lineColor?: ColorString;
/**
* (Highstock) Dash style of the control line.
*
* In styled mode use class `highcharts-axis-resizer` instead.
*/
lineDashStyle?: string;
/**
* (Highstock) Width of the control line.
*
* In styled mode use class `highcharts-axis-resizer` instead.
*/
lineWidth?: number;
/**
* (Highstock) Horizontal offset of the control line.
*/
x?: number;
/**
* (Highstock) Vertical offset of the control line.
*/
y?: number;
}
/**
* (Highstock) An optional scrollbar to display on the Y axis in response to
* limiting the minimum an maximum of the axis values.
*
* In styled mode, all the presentational options for the scrollbar are replaced
* by the classes `.highcharts-scrollbar-thumb`, `.highcharts-scrollbar-arrow`,
* `.highcharts-scrollbar-button`, `.highcharts-scrollbar-rifles` and
* `.highcharts-scrollbar-track`.
*/
export interface YAxisScrollbarOptions {
/**
* (Highstock) The background color of the scrollbar itself.
*/
barBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The color of the scrollbar's border.
*/
barBorderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The border rounding radius of the bar.
*/
barBorderRadius?: number;
/**
* (Highstock) The width of the bar's border.
*/
barBorderWidth?: number;
/**
* (Highstock) The color of the small arrow inside the scrollbar buttons.
*/
buttonArrowColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The color of scrollbar buttons.
*/
buttonBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The color of the border of the scrollbar buttons.
*/
buttonBorderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The corner radius of the scrollbar buttons.
*/
buttonBorderRadius?: number;
/**
* (Highstock) The border width of the scrollbar buttons.
*/
buttonBorderWidth?: number;
/**
* (Highstock) Enable or disable the buttons at the end of the scrollbar.
*/
buttonsEnabled?: boolean;
/**
* (Highstock) Enable the scrollbar on the Y axis.
*/
enabled?: boolean;
/**
* (Highstock) Whether to redraw the main chart as the scrollbar or the
* navigator zoomed window is moved. Defaults to `true` for modern browsers
* and `false` for legacy IE browsers as well as mobile devices.
*/
liveRedraw?: boolean;
/**
* (Highstock) Pixel margin between the scrollbar and the axis elements.
*/
margin?: number;
/**
* (Highstock) The minimum width of the scrollbar.
*/
minWidth?: number;
/**
* (Highstock) Defines the position of the scrollbar. By default, it is
* positioned on the opposite of the main axis (right side of the chart).
* However, in the case of RTL languages could be set to `false` which
* positions the scrollbar on the left.
*
* Works only for vertical axes. This means yAxis in a non-inverted chart
* and xAxis in the inverted.
*/
opposite?: boolean;
/**
* (Highstock) The color of the small rifles in the middle of the scrollbar.
*/
rifleColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) Whether to show the scrollbar when it is fully zoomed out at
* max range. Setting it to `false` on the Y axis makes the scrollbar stay
* hidden until the user zooms in, like common in browsers.
*/
showFull?: boolean;
/**
* (Highstock) The width of a vertical scrollbar or height of a horizontal
* scrollbar. Defaults to 20 on touch devices.
*/
size?: number;
/**
* (Highstock) The color of the track background.
*/
trackBackgroundColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The color of the border of the scrollbar track.
*/
trackBorderColor?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highstock) The corner radius of the border of the scrollbar track.
*/
trackBorderRadius?: number;
/**
* (Highstock) The width of the border of the scrollbar track.
*/
trackBorderWidth?: number;
/**
* (Highstock) Z index of the scrollbar elements.
*/
zIndex?: number;
}
/**
* (Highcharts) Enable or disable the initial animation when a series is
* displayed for the `stackLabels`. The animation can also be set as a
* configuration object. Please note that this option only applies to the
* initial animation. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
export interface YAxisStackLabelsAnimationOptions {
/**
* (Highcharts) The animation delay time in milliseconds. Set to `0` renders
* stackLabel immediately. As `undefined` inherits defer time from the
* series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts) The stack labels show the total value for each bar in a stacked
* column or bar chart. The label will be placed on top of positive columns and
* below negative columns. In case of an inverted column chart or a bar chart
* the label is placed to the right of positive bars and to the left of negative
* bars.
*/
export interface YAxisStackLabelsOptions {
/**
* (Highcharts) Defines the horizontal alignment of the stack total label.
* Can be one of `"left"`, `"center"` or `"right"`. The default value is
* calculated at runtime and depends on orientation and whether the stack is
* positive or negative.
*/
align?: AlignValue;
/**
* (Highcharts) Allow the stack labels to overlap.
*/
allowOverlap?: boolean;
/**
* (Highcharts) Enable or disable the initial animation when a series is
* displayed for the `stackLabels`. The animation can also be set as a
* configuration object. Please note that this option only applies to the
* initial animation. For other animations, see chart.animation and the
* animation parameter under the API methods. The following properties are
* supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
animation?: (boolean|YAxisStackLabelsAnimationOptions|Partial<AnimationOptionsObject>);
/**
* (Highcharts) The background color or gradient for the stack label.
*/
backgroundColor?: ColorType;
/**
* (Highcharts) The border color for the stack label. Defaults to
* `undefined`.
*/
borderColor?: ColorType;
/**
* (Highcharts) The border radius in pixels for the stack label.
*/
borderRadius?: number;
/**
* (Highcharts) The border width in pixels for the stack label.
*/
borderWidth?: number;
/**
* (Highcharts) Whether to hide stack labels that are outside the plot area.
* By default, the stack label is moved inside the plot area according to
* the overflow option.
*/
crop?: boolean;
/**
* (Highcharts) Enable or disable the stack total labels.
*/
enabled?: boolean;
/**
* (Highcharts, Highstock) A format string for the data label. Available
* variables are the same as for `formatter`.
*/
format?: string;
/**
* (Highcharts) Callback JavaScript function to format the label. The value
* is given by `this.total`.
*/
formatter?: FormatterCallbackFunction<StackItemObject>;
/**
* (Highcharts) How to handle stack total labels that flow outside the plot
* area. The default is set to `"justify"`, which aligns them inside the
* plot area. For columns and bars, this means it will be moved inside the
* bar. To display stack labels outside the plot area, set `crop` to `false`
* and `overflow` to `"allow"`.
*/
overflow?: DataLabelsOverflowValue;
/**
* (Highcharts) Rotation of the labels in degrees.
*/
rotation?: number;
/**
* (Highcharts) CSS styles for the label.
*
* In styled mode, the styles are set in the `.highcharts-stack-label`
* class.
*/
style?: CSSObject;
/**
* (Highcharts) The text alignment for the label. While `align` determines
* where the texts anchor point is placed with regards to the stack,
* `textAlign` determines how the text is aligned against its anchor point.
* Possible values are `"left"`, `"center"` and `"right"`. The default value
* is calculated at runtime and depends on orientation and whether the stack
* is positive or negative.
*/
textAlign?: AlignValue;
/**
* (Highcharts, Highstock) Whether to use HTML to render the labels.
*/
useHTML?: boolean;
/**
* (Highcharts) Defines the vertical alignment of the stack total label. Can
* be one of `"top"`, `"middle"` or `"bottom"`. The default value is
* calculated at runtime and depends on orientation and whether the stack is
* positive or negative.
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highcharts) The x position offset of the label relative to the left of
* the stacked bar. The default value is calculated at runtime and depends
* on orientation and whether the stack is positive or negative.
*/
x?: number;
/**
* (Highcharts) The y position offset of the label relative to the tick
* position on the axis. The default value is calculated at runtime and
* depends on orientation and whether the stack is positive or negative.
*/
y?: number;
}
/**
* (Highcharts, Highstock, Highmaps, Gantt) The axis title, showing next to the
* axis line.
*/
export interface YAxisTitleOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Alignment of the title relative
* to the axis values. Possible values are "low", "middle" or "high".
*/
align?: AxisTitleAlignValue;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The pixel distance between the
* axis labels and the title. Positive values are outside the axis line,
* negative are inside.
*/
margin?: number;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The distance of the axis title
* from the axis line. By default, this distance is computed from the offset
* width of the labels, the labels' distance from the axis and the title's
* margin. However when the offset option is set, it overrides all this.
*/
offset?: number;
/**
* (Highcharts) Defines how the title is repositioned according to the 3D
* chart orientation.
*
* - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
* marks, despite the chart orientation. This is the backwards compatible
* behavior, and causes skewing of X and Z axes.
*
* - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
* but hard to read if the text isn't forward-facing.
*
* - `'flap'`: Rotated text along the axis to compensate for the chart
* orientation. This tries to maintain text as legible as possible on all
* orientations.
*
* - `'ortho'`: Rotated text along the axis direction so that the labels are
* orthogonal to the axis. This is very similar to `'flap'`, but prevents
* skewing the labels (X and Y scaling are still present).
*
* - `undefined`: Will use the config from `labels.position3d`
*/
position3d?: ("chart"|"flap"|"offset"|"ortho"|null);
/**
* (Highcharts, Highstock, Gantt) Whether to reserve space for the title
* when laying out the axis.
*/
reserveSpace?: boolean;
/**
* (Highcharts, Highstock, Highmaps, Gantt) The rotation of the text in
* degrees. 0 is horizontal, 270 is vertical reading from bottom to top.
* Defaults to 0 for horizontal axes, 270 for left-side axes and 90 for
* right-side axes.
*/
rotation?: number;
/**
* (Highcharts) If enabled, the axis title will skewed to follow the
* perspective.
*
* This will fix overlapping labels and titles, but texts become less
* legible due to the distortion.
*
* The final appearance depends heavily on `title.position3d`.
*
* A `null` value will use the config from `labels.skew3d`.
*/
skew3d?: (boolean|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) CSS styles for the title. If the
* title text is longer than the axis length, it will wrap to multiple lines
* by default. This can be customized by setting `textOverflow: 'ellipsis'`,
* by setting a specific `width` or by setting `whiteSpace: 'nowrap'`.
*
* In styled mode, the stroke width is given in the `.highcharts-axis-title`
* class.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Gantt) The actual text of the axis title.
* Horizontal texts can contain HTML, but rotated texts are painted using
* vector techniques and must be clean text. The Y axis title is disabled by
* setting the `text` option to `undefined`.
*/
text?: (string|null);
/**
* (Highcharts, Highstock, Highmaps, Gantt) Alignment of the text, can be
* `"left"`, `"right"` or `"center"`. Default alignment depends on the
* title.align:
*
* Horizontal axes:
*
* - for `align` = `"low"`, `textAlign` is set to `left`
*
* - for `align` = `"middle"`, `textAlign` is set to `center`
*
* - for `align` = `"high"`, `textAlign` is set to `right`
*
* Vertical axes:
*
* - for `align` = `"low"` and `opposite` = `true`, `textAlign` is set to
* `right`
*
* - for `align` = `"low"` and `opposite` = `false`, `textAlign` is set to
* `left`
*
* - for `align` = `"middle"`, `textAlign` is set to `center`
*
* - for `align` = `"high"` and `opposite` = `true` `textAlign` is set to
* `left`
*
* - for `align` = `"high"` and `opposite` = `false` `textAlign` is set to
* `right`
*/
textAlign?: AlignValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use HTML to render the axis
* title.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Gantt) Horizontal pixel offset of the title
* position.
*/
x?: number;
/**
* (Highcharts, Highstock, Gantt) Vertical pixel offset of the title
* position.
*/
y?: number;
}
/**
* (Highcharts) Event handlers for the axis.
*/
export interface ZAxisEventsOptions {
/**
* (Highcharts, Gantt) An event fired after the breaks have rendered.
*/
afterBreaks?: AxisEventCallbackFunction;
/**
* (Highcharts) 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`.
*/
afterSetExtremes?: AxisSetExtremesEventCallbackFunction;
/**
* (Highcharts, Gantt) An event fired when a break from this axis occurs on
* a point.
*/
pointBreak?: AxisPointBreakEventCallbackFunction;
/**
* (Highcharts, Highstock, Gantt) An event fired when a point is outside a
* break after zoom.
*/
pointBreakOut?: AxisPointBreakEventCallbackFunction;
/**
* (Highcharts, Highstock, Gantt) An event fired when a point falls inside a
* break from this axis.
*/
pointInBreak?: AxisPointBreakEventCallbackFunction;
/**
* (Highcharts) 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`.
*/
setExtremes?: AxisSetExtremesEventCallbackFunction;
}
/**
* (Highcharts) 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.
*/
export interface ZAxisLabelsOptions {
/**
* (Highcharts) 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.
*/
align?: AlignValue;
/**
* (Highcharts) Whether to allow the axis labels to overlap. When false,
* overlapping labels are hidden.
*/
allowOverlap?: boolean;
/**
* (Highcharts, Highstock, Gantt) 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.
*/
autoRotation?: Array<number>;
/**
* (Highcharts, Gantt) 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.
*/
autoRotationLimit?: number;
/**
* (Highcharts, Gantt) 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.
*/
distance?: number;
/**
* (Highcharts) Enable or disable the axis labels.
*/
enabled?: boolean;
/**
* (Highcharts) 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 for more examples of formatting.
*
* The default value is not specified due to the dynamic nature of the
* default implementation.
*/
format?: string;
/**
* (Highcharts) 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.
*/
formatter?: AxisLabelsFormatterCallbackFunction;
/**
* (Highcharts) 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.
*/
overflow?: OptionsOverflowValue;
/**
* (Highcharts, Gantt) The pixel padding for axis labels, to ensure white
* space between them.
*/
padding?: number;
/**
* (Highcharts) Defines how the labels are be repositioned according to the
* 3D chart orientation.
*
* - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
* marks, despite the chart orientation. This is the backwards compatible
* behavior, and causes skewing of X and Z axes.
*
* - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
* but hard to read if the text isn't forward-facing.
*
* - `'flap'`: Rotated text along the axis to compensate for the chart
* orientation. This tries to maintain text as legible as possible on all
* orientations.
*
* - `'ortho'`: Rotated text along the axis direction so that the labels are
* orthogonal to the axis. This is very similar to `'flap'`, but prevents
* skewing the labels (X and Y scaling are still present).
*/
position3d?: OptionsPosition3dValue;
/**
* (Highcharts, Highstock, Gantt) 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.
*/
reserveSpace?: boolean;
/**
* (Highcharts) Rotation of the labels in degrees. When `undefined`, the
* `autoRotation` option takes precedence.
*/
rotation?: number;
/**
* (Highcharts) If enabled, the axis labels will skewed to follow the
* perspective.
*
* This will fix overlapping labels and titles, but texts become less
* legible due to the distortion.
*
* The final appearance depends heavily on `labels.position3d`.
*/
skew3d?: boolean;
/**
* (Highcharts) Horizontal axes only. The number of lines to spread the
* labels over to make room or tighter labels. 0 disables staggering.
*/
staggerLines?: number;
/**
* (Highcharts) 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 => What axis should I use?
*/
step?: number;
/**
* (Highcharts) CSS styles for the label. Use `whiteSpace: 'nowrap'` to
* prevent wrapping of category labels. Use `textOverflow: 'none'` to
* prevent ellipsis (dots).
*
* In styled mode, the labels are styled with the `.highcharts-axis-labels`
* class.
*/
style?: CSSObject;
/**
* (Highcharts) Whether to use HTML to render the labels.
*/
useHTML?: boolean;
/**
* (Highcharts) The x position offset of all labels relative to the tick
* positions on the axis. Overrides the `labels.distance` option.
*/
x?: number;
/**
* (Highcharts) The y position offset of all labels relative to the tick
* positions on the axis. Overrides the `labels.distance` option.
*/
y?: number;
/**
* (Highcharts) The Z index for the axis labels.
*/
zIndex?: number;
}
/**
* (Highcharts) The Z axis or depth axis for 3D plots.
*
* See the Axis class for programmatic access to the axis.
*/
export interface ZAxisOptions {
/**
* (Highcharts) Accessibility options for an axis. Requires the
* accessibility module.
*/
accessibility?: AxisAccessibilityOptionsObject;
/**
* (Highcharts, Highstock, Gantt) 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.
*/
alignTicks?: boolean;
/**
* (Highcharts) 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.
*/
allowDecimals?: (boolean|undefined);
/**
* (Highcharts) When using an alternate grid color, a band is painted across
* the plot area between every other grid line.
*/
alternateGridColor?: ColorType;
/**
* (Highcharts) In a polar chart, this is the angle of the Y axis in
* degrees, where 0 is up and 90 is right. The angle determines the position
* of the axis line and the labels, though the coordinate system is
* unaffected. Since v8.0.0 this option is also applicable for X axis
* (inverted polar).
*/
angle?: number;
/**
* (Highcharts, Gantt) 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 and setting axis type to `category`. However, if you have
* multiple series, best practice remains defining the `categories` array.
*
* Example: `categories: ['Apples', 'Bananas', 'Oranges']`
*/
categories?: Array<string>;
/**
* (Highcharts, Highstock, Gantt) The highest allowed value for
* automatically computed axis extremes.
*/
ceiling?: number;
/**
* (Highcharts) 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.
*/
className?: string;
/**
* (Highcharts) 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.
*/
crossing?: number;
/**
* (Highcharts, Highstock, Gantt) 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 replacement codes, see dateFormat.
*
* Defaults to: (see online documentation for example)
*/
dateTimeLabelFormats?: AxisDateTimeLabelFormatsOptions;
/**
* (Highcharts) Whether to force the axis to end on a tick. Use this option
* with the `maxPadding` option to control the axis end.
*/
endOnTick?: boolean;
/**
* (Highcharts) Event handlers for the axis.
*/
events?: ZAxisEventsOptions;
/**
* (Highcharts, Highstock, Gantt) The lowest allowed value for automatically
* computed axis extremes.
*/
floor?: number;
/**
* (Highcharts) Color of the grid lines extending the ticks across the plot
* area.
*
* In styled mode, the stroke is given in the `.highcharts-grid-line` class.
*/
gridLineColor?: ColorType;
/**
* (Highcharts) The dash or dot style of the grid lines. For possible
* values, see this demonstration.
*/
gridLineDashStyle?: DashStyleValue;
/**
* (Highcharts) Polar charts only. Whether the grid lines should draw as a
* polygon with straight lines between categories, or as circles. Can be
* either `circle` or `polygon`. Since v8.0.0 this option is also applicable
* for X axis (inverted polar).
*/
gridLineInterpolation?: OptionsGridLineInterpolationValue;
/**
* (Highcharts) The width of the grid lines extending the ticks across the
* plot area. Defaults to 1 on the Y axis and 0 on the X axis, except for 3d
* charts.
*
* In styled mode, the stroke width is given in the `.highcharts-grid-line`
* class.
*/
gridLineWidth?: number;
/**
* (Highcharts, Highstock, Gantt) The Z index of the grid lines.
*/
gridZIndex?: number;
/**
* (Highcharts) An id for the axis. This can be used after render time to
* get a pointer to the axis object through `chart.get()`.
*/
id?: string;
/**
* (Highcharts) 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.
*/
labels?: ZAxisLabelsOptions;
/**
* (Highcharts, Highstock, Gantt) 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.
*/
linkedTo?: number;
/**
* (Highcharts) If there are multiple axes on the same side of the chart,
* the pixel margin between the axes. Defaults to 0 on vertical axes, 15 on
* horizontal axes.
*/
margin?: number;
/**
* (Highcharts) The maximum value of the axis. If `null`, the max value is
* automatically calculated.
*
* If the endOnTick option is true, the `max` value might be rounded up.
*
* If a 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, where a `tickAmount`
* is applied internally.
*/
max?: (number|null);
/**
* (Highcharts) 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.
*/
maxPadding?: number;
/**
* (Highcharts) The minimum value of the axis. If `null` the min value is
* automatically calculated.
*
* If the startOnTick option is true (default), the `min` value might be
* rounded down.
*
* The automatically calculated minimum value is also affected by floor,
* softMin, minPadding, minRange as well as series.threshold and
* series.softThreshold.
*/
min?: (number|null);
/**
* (Highcharts) Color of the minor, secondary grid lines.
*
* In styled mode, the stroke width is given in the
* `.highcharts-minor-grid-line` class.
*/
minorGridLineColor?: ColorType;
/**
* (Highcharts) The dash or dot style of the minor grid lines. For possible
* values, see this demonstration.
*/
minorGridLineDashStyle?: DashStyleValue;
/**
* (Highcharts) Width of the minor, secondary grid lines.
*
* In styled mode, the stroke width is given in the `.highcharts-grid-line`
* class.
*/
minorGridLineWidth?: number;
/**
* (Highcharts) Color for the minor tick marks.
*/
minorTickColor?: ColorType;
/**
* (Highcharts) 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.
*/
minorTickInterval?: ('auto'|number);
/**
* (Highcharts) The pixel length of the minor tick marks.
*/
minorTickLength?: number;
/**
* (Highcharts) The position of the minor tick marks relative to the axis
* line. Can be one of `inside` and `outside`.
*/
minorTickPosition?: OptionsMinorTickPositionValue;
/**
* (Highcharts) Enable or disable minor ticks. The interval between the
* minor ticks can be controlled either by the minorTicksPerMajor setting,
* or as an absolute minorTickInterval value.
*
* On a logarithmic axis, minor ticks are laid out based on a best guess,
* attempting to enter an approximate number of minor ticks between each
* major tick based on minorTicksPerMajor.
*
* Prior to v6.0.0, ticks were enabled in auto layout by setting
* `minorTickInterval` to `"auto"`.
*/
minorTicks?: boolean;
/**
* (Highcharts) The number of minor ticks per major tick. Works for
* `linear`, `logarithmic` and `datetime` axes.
*/
minorTicksPerMajor?: number;
/**
* (Highcharts) The pixel width of the minor tick mark.
*/
minorTickWidth?: number;
/**
* (Highcharts, Highstock, Gantt) Padding of the min 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 lowest data value to appear on the
* edge of the plot area. When the axis' `min` option is set or a min
* extreme is set using `axis.setExtremes()`, the minPadding will be
* ignored.
*/
minPadding?: number;
/**
* (Highcharts) The minimum range to display on this axis. The entire axis
* will not be allowed to span over a smaller interval than this. For
* example, for a datetime axis the main unit is milliseconds. If minRange
* is set to 3600000, you can't zoom in more than to one hour.
*
* The default minRange for the x axis is five times the smallest interval
* between any of the data points.
*
* On a logarithmic axis, the unit for the minimum range is the power. So a
* minRange of 1 means that the axis can be zoomed to 10-100, 100-1000,
* 1000-10000 etc.
*
* **Note**: The `minPadding`, `maxPadding`, `startOnTick` and `endOnTick`
* settings also affect how the extremes of the axis are computed.
*/
minRange?: number;
/**
* (Highcharts) The minimum tick interval allowed in axis values. For
* example on zooming in on an axis with daily data, this can be used to
* prevent the axis from showing hours. Defaults to the closest distance
* between two points on the axis.
*/
minTickInterval?: number;
/**
* (Highcharts) The distance in pixels from the plot area to the axis line.
* A positive offset moves the axis with it's line, labels and ticks away
* from the plot area. This is typically used when two or more axes are
* displayed on the same side of the plot. With multiple axes the offset is
* dynamically adjusted to avoid collision, this can be overridden by
* setting offset explicitly.
*/
offset?: number;
/**
* (Highcharts) Whether to display the axis on the opposite side of the
* normal. The normal is on the left side for vertical axes and bottom for
* horizontal, so the opposite sides will be right and top respectively.
* This is typically used with dual or multiple axes.
*/
opposite?: boolean;
/**
* (Highcharts) Refers to the index in the panes array. Used for circular
* gauges and polar charts. When the option is not set then first pane will
* be used.
*/
pane?: number;
/**
* (Highcharts) Whether to pan axis. If `chart.panning` is enabled, the
* option allows to disable panning on an individual axis.
*/
panningEnabled?: boolean;
/**
* (Highcharts, Highstock, Gantt) An array of colored bands stretching
* across the plot area marking an interval on the axis.
*
* In styled mode, the plot bands are styled by the `.highcharts-plot-band`
* class in addition to the `className` option.
*/
plotBands?: Array<ZAxisPlotBandsOptions>;
/**
* (Highcharts, Highstock, Gantt) An array of lines stretching across the
* plot area, marking a specific value on one of the axes.
*
* In styled mode, the plot lines are styled by the `.highcharts-plot-line`
* class in addition to the `className` option.
*/
plotLines?: Array<ZAxisPlotLinesOptions>;
/**
* (Highcharts) Whether to reverse the axis so that the highest number is
* closest to the origin. If the chart is inverted, the x axis is reversed
* by default.
*/
reversed?: boolean;
/**
* (Highcharts, Highstock) This option determines how stacks should be
* ordered within a group. For example reversed xAxis also reverses stacks,
* so first series comes last in a group. To keep order like for
* non-reversed xAxis enable this option.
*/
reversedStacks?: boolean;
/**
* (Highcharts) Whether to show the first tick label.
*/
showFirstLabel?: boolean;
/**
* (Highcharts, Highstock, Gantt) Whether to show the last tick label.
* Defaults to `true` on cartesian charts, and `false` on polar charts.
*/
showLastLabel?: boolean;
/**
* (Highcharts, Highstock, Gantt) A soft maximum for the axis. If the series
* data maximum is less than this, the axis will stay at this maximum, but
* if the series data maximum is higher, the axis will flex to show all
* data.
*/
softMax?: number;
/**
* (Highcharts, Highstock, Gantt) A soft minimum for the axis. If the series
* data minimum is greater than this, the axis will stay at this minimum,
* but if the series data minimum is lower, the axis will flex to show all
* data.
*/
softMin?: number;
/**
* (Highcharts, Highstock, Gantt) For datetime axes, this decides where to
* put the tick between weeks. 0 = Sunday, 1 = Monday.
*/
startOfWeek?: number;
/**
* (Highcharts) Whether to force the axis to start on a tick. Use this
* option with the `minPadding` option to control the axis start.
*/
startOnTick?: boolean;
/**
* (Highcharts, Highstock, Gantt) The amount of ticks to draw on the axis.
* This opens up for aligning the ticks of multiple charts or panes within a
* chart. This option overrides the `tickPixelInterval` option.
*
* This option only has an effect on linear axes. Datetime, logarithmic or
* category axes are not affected.
*/
tickAmount?: number;
/**
* (Highcharts) Color for the main tick marks.
*
* In styled mode, the stroke is given in the `.highcharts-tick` class.
*/
tickColor?: ColorType;
/**
* (Highcharts) The interval of the tick marks in axis units. When
* `undefined`, the tick interval is computed to approximately follow the
* tickPixelInterval on linear and datetime axes. On categorized axes, a
* `undefined` tickInterval will default to 1, one category. Note that
* datetime axes are based on milliseconds, so for example an interval of
* one day is expressed as `24 * 3600 * 1000`.
*
* On logarithmic axes, the tickInterval is based on powers, so a
* tickInterval of 1 means one tick on each of 0.1, 1, 10, 100 etc. A
* tickInterval of 2 means a tick of 0.1, 10, 1000 etc. A tickInterval of
* 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20, 40
* etc.
*
* If the tickInterval is too dense for labels to be drawn, Highcharts may
* remove ticks.
*
* If the chart has multiple axes, the alignTicks option may interfere with
* the `tickInterval` setting.
*/
tickInterval?: number;
/**
* (Highcharts) The pixel length of the main tick marks.
*/
tickLength?: number;
/**
* (Highcharts, Gantt) For categorized axes only. If `on` the tick mark is
* placed in the center of the category, if `between` the tick mark is
* placed between categories. The default is `between` if the `tickInterval`
* is 1, else `on`. In order to render tick marks on a category axis it is
* necessary to provide a tickWidth.
*/
tickmarkPlacement?: OptionsTickmarkPlacementValue;
/**
* (Highcharts) If tickInterval is `null` this option sets the approximate
* pixel interval of the tick marks. Not applicable to categorized axis.
*
* The tick interval is also influenced by the minTickInterval option, that,
* by default prevents ticks from being denser than the data points.
*/
tickPixelInterval?: number;
/**
* (Highcharts) The position of the major tick marks relative to the axis
* line. Can be one of `inside` and `outside`.
*/
tickPosition?: OptionsTickPositionValue;
/**
* (Highcharts) A callback function returning array defining where the ticks
* are laid out on the axis. This overrides the default behaviour of
* tickPixelInterval and tickInterval. The automatic tick positions are
* accessible through `this.tickPositions` and can be modified by the
* callback.
*/
tickPositioner?: AxisTickPositionerCallbackFunction;
/**
* (Highcharts) An array defining where the ticks are laid out on the axis.
* This overrides the default behaviour of tickPixelInterval and
* tickInterval.
*/
tickPositions?: Array<number>;
/**
* (Highcharts) The pixel width of the major tick marks. Defaults to 0 on
* category axes, otherwise 1.
*
* In styled mode, the stroke width is given in the `.highcharts-tick`
* class, but in order for the element to be generated on category axes, the
* option must be explicitly set to 1.
*/
tickWidth?: (number|undefined);
/**
* (Highcharts) The axis title, showing next to the axis line.
*/
title?: ZAxisTitleOptions;
/**
* (Highcharts, Gantt) The type of axis. Can be one of `linear`,
* `logarithmic`, `datetime` or `category`. In a datetime axis, the numbers
* are given in milliseconds, and tick marks are placed on appropriate
* values like full hours or days. In a category axis, the point names of
* the chart's series are used for categories, if not a categories array is
* defined.
*/
type?: AxisTypeValue;
/**
* (Highcharts, Gantt) Applies only when the axis `type` is `category`. When
* `uniqueNames` is true, points are placed on the X axis according to their
* names. If the same point name is repeated in the same or another series,
* the point is placed on the same X position as other points of the same
* name. When `uniqueNames` is false, the points are laid out in increasing
* X positions regardless of their names, and the X axis category will take
* the name of the last point in each position.
*/
uniqueNames?: boolean;
/**
* (Highcharts, Highstock, Gantt) Datetime axis only. An array determining
* what time intervals the ticks are allowed to fall on. Each array item is
* an array where the first value is the time unit and the second value
* another array of allowed multiples.
*
* Defaults to: (see online documentation for example)
*/
units?: Array<[string, (Array<number>|null)]>;
/**
* (Highcharts, Highstock, Gantt) Whether axis, including axis title, line,
* ticks and labels, should be visible.
*/
visible?: boolean;
/**
* (Highcharts) The Z index for the axis group.
*/
zIndex?: number;
/**
* (Highcharts) Whether to zoom axis. If `chart.zoomType` is set, the option
* allows to disable zooming on an individual axis.
*/
zoomEnabled?: boolean;
}
/**
* (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
* band. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
*/
export interface ZAxisPlotBandsEventsOptions {
/**
* (Highcharts, Highstock, Gantt) Click event on a plot band.
*/
click?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
*/
mousemove?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
* band.
*/
mouseout?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
*/
mouseover?: EventCallbackFunction<PlotLineOrBand>;
}
/**
* (Highcharts, Highstock, Gantt) Text labels for the plot bands
*/
export interface ZAxisPlotBandsLabelOptions {
/**
* (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
* one of "left", "center" or "right".
*/
align?: AlignValue;
/**
* (Highcharts, Highstock, Gantt) Rotation of the text label in degrees .
*/
rotation?: number;
/**
* (Highcharts, Highstock, Gantt) CSS styles for the text label.
*
* In styled mode, the labels are styled by the
* `.highcharts-plot-band-label` class.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Gantt) The string text itself. A subset of HTML
* is supported.
*/
text?: string;
/**
* (Highcharts, Highstock, Gantt) The text alignment for the label. While
* `align` determines where the texts anchor point is placed within the plot
* band, `textAlign` determines how the text is aligned against its anchor
* point. Possible values are "left", "center" and "right". Defaults to the
* same as the `align` option.
*/
textAlign?: AlignValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
* to the plot band. Can be one of "top", "middle" or "bottom".
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highcharts, Highstock, Gantt) Horizontal position relative the
* alignment. Default varies by orientation.
*/
x?: number;
/**
* (Highcharts, Highstock, Gantt) Vertical position of the text baseline
* relative to the alignment. Default varies by orientation.
*/
y?: number;
}
/**
* (Highcharts, Highstock, Gantt) An array of colored bands stretching across
* the plot area marking an interval on the axis.
*
* In styled mode, the plot bands are styled by the `.highcharts-plot-band`
* class in addition to the `className` option.
*/
export interface ZAxisPlotBandsOptions {
/**
* (Highstock) Flag to decide if plotBand should be rendered across all
* panes.
*/
acrossPanes?: boolean;
/**
* (Highcharts, Highstock, Gantt) Border color for the plot band. Also
* requires `borderWidth` to be set.
*/
borderColor?: ColorString;
/**
* (Highcharts, Highstock, Gantt) Border width for the plot band. Also
* requires `borderColor` to be set.
*/
borderWidth?: number;
/**
* (Highcharts, Highstock, Gantt) A custom class name, in addition to the
* default `highcharts-plot-band`, to apply to each individual band.
*/
className?: string;
/**
* (Highcharts, Highstock, Gantt) The color of the plot band.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* (Highcharts, Highstock, Gantt) An object defining mouse events for the
* plot band. Supported properties are `click`, `mouseover`, `mouseout`,
* `mousemove`.
*/
events?: ZAxisPlotBandsEventsOptions;
/**
* (Highcharts, Highstock, Gantt) The start position of the plot band in
* axis units.
*/
from?: number;
/**
* (Highcharts, Highstock, Gantt) An id used for identifying the plot band
* in Axis.removePlotBand.
*/
id?: string;
/**
* (Highcharts, Highstock, Gantt) Text labels for the plot bands
*/
label?: ZAxisPlotBandsLabelOptions;
/**
* (Highcharts, Highstock, Gantt) The end position of the plot band in axis
* units.
*/
to?: number;
/**
* (Highcharts, Highstock, Gantt) The z index of the plot band within the
* chart, relative to other elements. Using the same z index as another
* element may give unpredictable results, as the last rendered element will
* be on top. Values from 0 to 20 make sense.
*/
zIndex?: number;
}
/**
* (Highcharts, Highstock, Gantt) An object defining mouse events for the plot
* line. Supported properties are `click`, `mouseover`, `mouseout`, `mousemove`.
*/
export interface ZAxisPlotLinesEventsOptions {
/**
* (Highcharts, Highstock, Gantt) Click event on a plot band.
*/
click?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Highcharts, Highstock, Gantt) Mouse move event on a plot band.
*/
mousemove?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Highcharts, Highstock, Gantt) Mouse out event on the corner of a plot
* band.
*/
mouseout?: EventCallbackFunction<PlotLineOrBand>;
/**
* (Highcharts, Highstock, Gantt) Mouse over event on a plot band.
*/
mouseover?: EventCallbackFunction<PlotLineOrBand>;
}
/**
* (Highcharts, Highstock, Gantt) Text labels for the plot bands
*/
export interface ZAxisPlotLinesLabelOptions {
/**
* (Highcharts, Highstock, Gantt) Horizontal alignment of the label. Can be
* one of "left", "center" or "right".
*/
align?: AlignValue;
/**
* (Highcharts, Highstock, Gantt) Callback JavaScript function to format the
* label. Useful properties like the value of plot line or the range of plot
* band (`from` & `to` properties) can be found in `this.options` object.
*/
formatter?: FormatterCallbackFunction<PlotLineOrBand>;
/**
* (Highcharts, Highstock, Gantt) Rotation of the text label in degrees.
* Defaults to 0 for horizontal plot lines and 90 for vertical lines.
*/
rotation?: number;
/**
* (Highcharts, Highstock, Gantt) CSS styles for the text label.
*
* In styled mode, the labels are styled by the
* `.highcharts-plot-line-label` class.
*/
style?: CSSObject;
/**
* (Highcharts, Highstock, Gantt) The text itself. A subset of HTML is
* supported.
*/
text?: string;
/**
* (Highcharts, Highstock, Gantt) The text alignment for the label. While
* `align` determines where the texts anchor point is placed within the plot
* band, `textAlign` determines how the text is aligned against its anchor
* point. Possible values are "left", "center" and "right". Defaults to the
* same as the `align` option.
*/
textAlign?: AlignValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use HTML to render the labels.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Gantt) Vertical alignment of the label relative
* to the plot line. Can be one of "top", "middle" or "bottom".
*/
verticalAlign?: VerticalAlignValue;
/**
* (Highcharts, Highstock, Gantt) Horizontal position relative the
* alignment. Default varies by orientation.
*/
x?: number;
/**
* (Highcharts, Highstock, Gantt) Vertical position of the text baseline
* relative to the alignment. Default varies by orientation.
*/
y?: number;
}
export interface ZAxisPlotLinesLabelsOptions {
/**
* (Highcharts, Highstock, Gantt) Whether to hide labels that are outside
* the plot area.
*/
clip?: boolean;
}
/**
* (Highcharts, Highstock, Gantt) An array of lines stretching across the plot
* area, marking a specific value on one of the axes.
*
* In styled mode, the plot lines are styled by the `.highcharts-plot-line`
* class in addition to the `className` option.
*/
export interface ZAxisPlotLinesOptions {
/**
* (Highstock) Flag to decide if plotLine should be rendered across all
* panes.
*/
acrossPanes?: boolean;
/**
* (Highcharts, Highstock, Gantt) A custom class name, in addition to the
* default `highcharts-plot-line`, to apply to each individual line.
*/
className?: string;
/**
* (Highcharts, Highstock, Gantt) The color of the line.
*/
color?: ColorString;
/**
* (Highcharts, Highstock, Gantt) The dashing or dot style for the plot
* line. For possible values see this overview.
*/
dashStyle?: DashStyleValue;
/**
* (Highcharts, Highstock, Gantt) An object defining mouse events for the
* plot line. Supported properties are `click`, `mouseover`, `mouseout`,
* `mousemove`.
*/
events?: ZAxisPlotLinesEventsOptions;
/**
* (Highcharts, Highstock, Gantt) An id used for identifying the plot line
* in Axis.removePlotLine.
*/
id?: string;
/**
* (Highcharts, Highstock, Gantt) Text labels for the plot bands
*/
label?: ZAxisPlotLinesLabelOptions;
labels?: ZAxisPlotLinesLabelsOptions;
/**
* (Highcharts, Highstock, Gantt) The position of the line in axis units.
*/
value?: number;
/**
* (Highcharts, Highstock, Gantt) The width or thickness of the plot line.
*/
width?: number;
/**
* (Highcharts, Highstock, Gantt) The z index of the plot line within the
* chart.
*/
zIndex?: number;
}
/**
* (Highcharts) The axis title, showing next to the axis line.
*/
export interface ZAxisTitleOptions {
/**
* (Highcharts) Alignment of the title relative to the axis values. Possible
* values are "low", "middle" or "high".
*/
align?: AxisTitleAlignValue;
/**
* (Highcharts) The pixel distance between the axis labels or line and the
* title. Defaults to 0 for horizontal axes, 10 for vertical
*/
margin?: number;
/**
* (Highcharts) The distance of the axis title from the axis line. By
* default, this distance is computed from the offset width of the labels,
* the labels' distance from the axis and the title's margin. However when
* the offset option is set, it overrides all this.
*/
offset?: number;
/**
* (Highcharts) Defines how the title is repositioned according to the 3D
* chart orientation.
*
* - `'offset'`: Maintain a fixed horizontal/vertical distance from the tick
* marks, despite the chart orientation. This is the backwards compatible
* behavior, and causes skewing of X and Z axes.
*
* - `'chart'`: Preserve 3D position relative to the chart. This looks nice,
* but hard to read if the text isn't forward-facing.
*
* - `'flap'`: Rotated text along the axis to compensate for the chart
* orientation. This tries to maintain text as legible as possible on all
* orientations.
*
* - `'ortho'`: Rotated text along the axis direction so that the labels are
* orthogonal to the axis. This is very similar to `'flap'`, but prevents
* skewing the labels (X and Y scaling are still present).
*
* - `undefined`: Will use the config from `labels.position3d`
*/
position3d?: ("chart"|"flap"|"offset"|"ortho"|null);
/**
* (Highcharts, Highstock, Gantt) Whether to reserve space for the title
* when laying out the axis.
*/
reserveSpace?: boolean;
/**
* (Highcharts) The rotation of the text in degrees. 0 is horizontal, 270 is
* vertical reading from bottom to top. Defaults to 0 for horizontal axes,
* 270 for left-side axes and 90 for right-side axes.
*/
rotation?: number;
/**
* (Highcharts) If enabled, the axis title will skewed to follow the
* perspective.
*
* This will fix overlapping labels and titles, but texts become less
* legible due to the distortion.
*
* The final appearance depends heavily on `title.position3d`.
*
* A `null` value will use the config from `labels.skew3d`.
*/
skew3d?: (boolean|null);
/**
* (Highcharts) CSS styles for the title. If the title text is longer than
* the axis length, it will wrap to multiple lines by default. This can be
* customized by setting `textOverflow: 'ellipsis'`, by setting a specific
* `width` or by setting `whiteSpace: 'nowrap'`.
*
* In styled mode, the stroke width is given in the `.highcharts-axis-title`
* class.
*/
style?: CSSObject;
/**
* (Highcharts) The actual text of the axis title. It can contain basic HTML
* tags like `b`, `i` and `span` with style.
*/
text?: (string|null);
/**
* (Highcharts) Alignment of the text, can be `"left"`, `"right"` or
* `"center"`. Default alignment depends on the title.align:
*
* Horizontal axes:
*
* - for `align` = `"low"`, `textAlign` is set to `left`
*
* - for `align` = `"middle"`, `textAlign` is set to `center`
*
* - for `align` = `"high"`, `textAlign` is set to `right`
*
* Vertical axes:
*
* - for `align` = `"low"` and `opposite` = `true`, `textAlign` is set to
* `right`
*
* - for `align` = `"low"` and `opposite` = `false`, `textAlign` is set to
* `left`
*
* - for `align` = `"middle"`, `textAlign` is set to `center`
*
* - for `align` = `"high"` and `opposite` = `true` `textAlign` is set to
* `left`
*
* - for `align` = `"high"` and `opposite` = `false` `textAlign` is set to
* `right`
*/
textAlign?: AlignValue;
/**
* (Highcharts, Highstock, Gantt) Whether to use HTML to render the axis
* title.
*/
useHTML?: boolean;
/**
* (Highcharts, Highstock, Gantt) Horizontal pixel offset of the title
* position.
*/
x?: number;
/**
* (Highcharts, Highstock, Gantt) Vertical pixel offset of the title
* position.
*/
y?: number;
}
/**
* An annotation class which serves as a container for items like labels or
* shapes. Created items are positioned on the chart either by linking them to
* existing points or created mock points
*/
export class Annotation {
/**
* An annotation class which serves as a container for items like labels or
* shapes. Created items are positioned on the chart either by linking them
* to existing points or created mock points
*
* @param chart
* A chart instance
*
* @param userOptions
* The annotation options
*/
constructor(chart: Chart, userOptions: AnnotationsOptions);
/**
* The chart that the annotation belongs to.
*/
chart: Chart;
/**
* The group svg element.
*/
group: SVGElement;
/**
* The group svg element of the annotation's labels.
*/
labelsGroup: SVGElement;
/**
* The options for the annotations.
*/
options: AnnotationsOptions;
/**
* The group svg element of the annotation's shapes.
*/
shapesGroup: SVGElement;
/**
* The user options for the annotations.
*/
userOptions: AnnotationsOptions;
/**
* Updates an annotation.
*
* @param userOptions
* New user options for the annotation.
*/
update(userOptions: Partial<AnnotationsOptions>): void;
}
/**
* A control point class which is a connection between controllable transform
* methods and a user actions.
*/
export class AnnotationControlPoint {
/**
* A control point class which is a connection between controllable
* transform methods and a user actions.
*
* @param chart
* A chart instance.
*
* @param target
* A controllable instance which is a target for a control point.
*
* @param options
* An options object.
*
* @param index
* Point index.
*/
constructor(chart: Chart, target: AnnotationControllable, options: AnnotationControlPointOptionsObject, index?: number);
/**
* Set the visibility of the control point.
*
* @param visible
* Visibility of the control point.
*/
setVisibility(visible: boolean): void;
/**
* Update the control point.
*
* @param userOptions
* New options for the control point.
*/
update(userOptions: Partial<AnnotationControlPointOptionsObject>): void;
}
/**
* The AST class represents an abstract syntax tree of HTML or SVG content. It
* can take HTML as an argument, parse it, optionally transform it to SVG, then
* perform sanitation before inserting it into the DOM.
*/
export class AST {
/**
* The list of allowed SVG or HTML attributes, used for sanitizing
* potentially harmful content from the chart configuration before adding to
* the DOM.
*/
static allowedAttributes: Array<string>;
/**
* The list of allowed references for referring attributes like `href` and
* `src`. Attribute values will only be allowed if they start with one of
* these strings.
*/
static allowedReferences: Array<string>;
/**
* The list of allowed SVG or HTML tags, used for sanitizing potentially
* harmful content from the chart configuration before adding to the DOM.
*/
static allowedTags: Array<string>;
/**
* Allow all custom SVG and HTML attributes, references and tags (together
* with potentially harmful ones) to be added to the DOM from the chart
* configuration. In other words, disable the allow-listing which is the
* primary functionality of the AST.
*
* WARNING: Setting this property to `true` while allowing untrusted user
* data in the chart configuration will expose your application to XSS
* security risks!
*
* Note that in case you want to allow a known set of tags or attributes,
* you should allow-list them instead of disabling the filtering totally.
* See allowedAttributes, allowedReferences and allowedTags. The
* `bypassHTMLFiltering` setting is intended only for those cases where
* allow-listing is not practical, and the chart configuration already comes
* from a secure source.
*/
static bypassHTMLFiltering: any;
/**
* The AST class represents an abstract syntax tree of HTML or SVG content.
* It can take HTML as an argument, parse it, optionally transform it to
* SVG, then perform sanitation before inserting it into the DOM.
*
* @param source
* Either an HTML string or an ASTNode list to populate the tree.
*/
constructor(source: (string|Array<ASTNode>));
/**
* Add the tree defined as a hierarchical JS structure to the DOM
*
* @param parent
* The node where it should be added
*
* @return The inserted node.
*/
addToDOM(parent: (HTMLDOMElement|SVGDOMElement)): (HTMLDOMElement|SVGDOMElement);
/**
* Filter an object of SVG or HTML attributes against the allow list.
*
* @param attributes
* The attributes to filter
*
* @return The filtered attributes
*/
filterUserAttributes(attributes: SVGAttributes): SVGAttributes;
/**
* Utility function to set html content for an element by passing in a
* markup string. The markup is safely parsed by the AST class to avoid XSS
* vulnerabilities. This function should be used instead of setting
* `innerHTML` in all cases where the content is not fully trusted.
*
* @param el
* Node to set content of.
*
* @param html
* Markup string
*/
setElementHTML(el: (HTMLDOMElement|SVGDOMElement), html: string): void;
}
/**
* 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.
*/
export class Axis {
/**
* 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.
*
* @param chart
* The Chart instance to apply the axis on.
*
* @param userOptions
* Axis options
*/
constructor(chart: Chart, userOptions: AxisOptions);
/**
* 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.
*/
readonly categories: Array<string>;
/**
* The Chart that the axis belongs to.
*/
chart: Chart;
/**
* The collection where the axis belongs, for example `xAxis`, `yAxis` or
* `colorAxis`. Corresponds to properties on Chart, for example Chart.xAxis.
*/
coll: string;
/**
* The processed crosshair options.
*/
crosshair: (boolean|AxisCrosshairOptions);
/**
* Whether the axis is horizontal.
*/
horiz?: boolean;
/**
* Whether the axis is the x-axis.
*/
isXAxis?: boolean;
/**
* The length of the axis in terms of pixels.
*/
len: number;
/**
* 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
* Axis#getExtremes.
*/
max?: number;
/**
* 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
* Axis#getExtremes.
*/
min?: number;
/**
* List of minor ticks mapped by position on the axis.
*/
minorTicks: Dictionary<Tick>;
/**
* Current options for the axis after merge of defaults and user's options.
*/
options: AxisOptions;
/**
* 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`.
*/
pos: number;
/**
* Whether the axis is reversed. Based on the `axis.reversed`, option, but
* inverted charts have reversed xAxis by default.
*/
reversed: boolean;
/**
* All series associated to the axis.
*/
series: Array<Series>;
/**
* The side on which the axis is rendered. 0 is top, 1 is right, 2 is bottom
* and 3 is left.
*/
side: number;
/**
* 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.
*/
tickPositions?: AxisTickPositionsArray;
/**
* List of major ticks mapped by position on axis.
*/
ticks: Dictionary<Tick>;
/**
* User's options for this axis without defaults.
*/
userOptions: AxisOptions;
/**
* Add a plot band after render time.
*
* @param options
* A configuration object for the plot band, as defined in
* xAxis.plotBands.
*
* @return The added plot band, or `undefined` if the options are not valid.
*/
addPlotBand(options: AxisPlotBandsOptions): (PlotLineOrBand|undefined);
/**
* Add a plot line after render time.
*
* @param options
* A configuration object for the plot line, as defined in
* xAxis.plotLines.
*
* @return The added plot line, or `undefined` if the options are not valid.
*/
addPlotLine(options: AxisPlotLinesOptions): (PlotLineOrBand|undefined);
/**
* Adds the title defined in axis.options.title.
*
* @param display
* Whether or not to display the title.
*/
addTitle(display?: boolean): void;
/**
* 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.
*
* @param this
* Formatter context of axis label.
*
* @param ctx
* Formatter context of axis label.
*
* @return The formatted label content.
*/
defaultLabelFormatter(this: AxisLabelsFormatterContextObject, ctx?: AxisLabelsFormatterContextObject): string;
/**
* Internal function to draw a crosshair.
*
* @param e
* The event arguments from the modified pointer event, extended with
* `chartX` and `chartY`
*
* @param point
* The Point object if the crosshair snaps to points.
*
* @fires Highcharts.Axis#afterDrawCrosshair
* @fires Highcharts.Axis#drawCrosshair
*/
drawCrosshair(e?: PointerEventObject, point?: Point): void;
/**
* Get the current extremes for the axis.
*
* @return An object containing extremes information.
*/
getExtremes(): ExtremesObject;
/**
* Internal function to get the tick positions of a linear axis to round
* values like whole tens or every five.
*
* @param tickInterval
* The normalized tick interval.
*
* @param min
* Axis minimum.
*
* @param max
* Axis maximum.
*
* @return An array of axis values where ticks should be placed.
*/
getLinearTickPositions(tickInterval: number, min: number, max: number): Array<number>;
/**
* Internal function to get the path for the axis line. Extended for polar
* charts.
*
* @param lineWidth
* The line width in pixels.
*
* @return The SVG path definition in array form.
*/
getLinePath(lineWidth: number): SVGPathArray;
/**
* Resolve the new minorTicks/minorTickInterval options into the legacy
* loosely typed minorTickInterval option.
*
* @return Legacy option
*/
getMinorTickInterval(): ("auto"|number|null);
/**
* Internal function to return the minor tick positions. For logarithmic
* axes, the same logic as for major ticks is reused.
*
* @return An array of axis values where ticks should be placed.
*/
getMinorTickPositions(): Array<number>;
/**
* Internal function to create the SVG path definition for a plot band.
*
* @param from
* The axis value to start from.
*
* @param to
* The axis value to end on.
*
* @param options
* The plotBand or plotLine configuration object.
*
* @return The SVG path definition in array form.
*/
getPlotBandPath(from: number, to: number, options: (AxisPlotBandsOptions|AxisPlotLinesOptions)): SVGPathArray;
/**
* 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.
*
* @param options
* Options for the path.
*
* @return The SVG path definition for the plot line.
*/
getPlotLinePath(options: AxisPlotLinePathOptionsObject): (SVGPathArray|null);
/**
* Get the zero plane either based on zero or on the min or max value. Used
* in bar and area plots.
*
* @param threshold
* The threshold in axis values.
*
* @return The translated threshold position in terms of pixels, and
* corrected to stay within the axis bounds.
*/
getThreshold(threshold: number): number;
/**
* Return true if the axis has associated data.
*
* @return True if the axis has associated visible series and those series
* have either valid data points or explicit `min` and `max`
* settings.
*/
hasData(): boolean;
/**
* Hide the crosshair if visible.
*/
hideCrosshair(): void;
/**
* Overrideable function to initialize the axis.
*
* @param chart
* The Chart instance to apply the axis on.
*
* @param userOptions
* Axis options.
*
* @fires Highcharts.Axis#afterInit
* @fires Highcharts.Axis#init
*/
init(chart: Chart, userOptions: AxisOptions): void;
/**
* Remove the axis from the chart.
*
* @param redraw
* Whether to redraw the chart following the remove.
*/
remove(redraw?: boolean): void;
/**
* Remove a plot band by its id.
*
* @param id
* The plot band's `id` as given in the original configuration object
* or in the `addPlotBand` option.
*/
removePlotBand(id: string): void;
/**
* Remove a plot line by its id.
*
* @param id
* The plot line's `id` as given in the original configuration object
* or in the `addPlotLine` option.
*/
removePlotLine(id: string): void;
/**
* Render the axis line. Called internally when rendering and redrawing the
* axis.
*/
renderLine(): void;
/**
* Render a minor tick into the given position. If a minor tick already
* exists in this position, move it.
*
* @param pos
* The position in axis values.
*
* @param slideIn
* Whether the tick should animate in from last computed position
*/
renderMinorTick(pos: number, slideIn: boolean): void;
/**
* Render a major tick into the given position. If a tick already exists in
* this position, move it.
*
* @param pos
* The position in axis values.
*
* @param i
* The tick index.
*
* @param slideIn
* Whether the tick should animate in from last computed position
*/
renderTick(pos: number, i: number, slideIn: boolean): void;
/**
* Set new axis categories and optionally redraw.
*
* @param categories
* The new categories.
*
* @param redraw
* Whether to redraw the chart.
*/
setCategories(categories: Array<string>, redraw?: boolean): void;
/**
* 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.
*
* @param newMin
* The new minimum value.
*
* @param newMax
* The new maximum value.
*
* @param redraw
* Whether to redraw the chart or wait for an explicit call to
* Highcharts.Chart#redraw
*
* @param animation
* Enable or modify animations.
*
* @param eventArguments
* Arguments to be accessed in event handler.
*
* @fires Highcharts.Axis#setExtremes
*/
setExtremes(newMin?: number, newMax?: number, redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>), eventArguments?: any): void;
/**
* Update the axis title by options after render time.
*
* @param titleOptions
* The additional title options.
*
* @param redraw
* Whether to redraw the chart after setting the title.
*/
setTitle(titleOptions: AxisTitleOptions, redraw?: boolean): void;
/**
* Translate a value in terms of axis units into pixels within the chart.
*
* @param value
* A value in terms of axis units.
*
* @param paneCoordinates
* Whether to return the pixel coordinate relative to the chart or
* just the axis/pane itself.
*
* @return Pixel position of the value on the chart or axis.
*/
toPixels(value: number, paneCoordinates: boolean): number;
/**
* Translate a pixel position along the axis to a value in terms of axis
* units.
*
* @param pixel
* The pixel value coordinate.
*
* @param paneCoordinates
* Whether the input pixel is relative to the chart or just the
* axis/pane itself.
*
* @return The axis value.
*/
toValue(pixel: number, paneCoordinates?: boolean): number;
/**
* 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.
*
* @param options
* The new options that will be merged in with existing options on
* the axis.
*
* @param redraw
* 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 Chart#redraw after.
*/
update(options: AxisOptions, redraw?: boolean): void;
}
/**
* The Chart class. The recommended constructor is Highcharts#chart.
*/
export class Chart {
/**
* The Chart class. The recommended constructor is Highcharts#chart.
*
* @param options
* The chart options structure.
*
* @param callback
* Function to run when the chart has loaded and all external images
* are loaded. Defining a chart.events.load handler is equivalent.
*/
constructor(options: Options, callback?: ChartCallbackFunction);
/**
* The Chart class. The recommended constructor is Highcharts#chart.
*
* @param renderTo
* The DOM element to render to, or its id.
*
* @param options
* The chart options structure.
*
* @param callback
* Function to run when the chart has loaded and all external images
* are loaded. Defining a chart.events.load handler is equivalent.
*/
constructor(renderTo: (string|HTMLDOMElement), options: Options, callback?: ChartCallbackFunction);
/**
* All the axes in the chart.
*/
axes: Array<Axis>;
/**
* The current pixel height of the chart.
*/
chartHeight: number;
/**
* The current pixel width of the chart.
*/
chartWidth: number;
/**
* The containing HTML element of the chart. The container is dynamically
* inserted into the element given as the `renderTo` parameter in the
* Highcharts#chart constructor.
*/
container: HTMLDOMElement;
/**
* The chart's credits label. The label has an `update` method that allows
* setting new options as per the credits options set.
*/
credits: SVGElement;
/**
* Contains the original hovered point.
*/
hoverPoint: (Point|null);
/**
* Contains all hovered points.
*/
hoverPoints: (Array<Point>|null);
/**
* Contains the original hovered series.
*/
hoverSeries: (Series|null);
/**
* Index position of the chart in the Highcharts#charts property.
*/
readonly index: number;
/**
* The flag is set to `true` if a series of the chart is inverted.
*/
inverted?: boolean;
/**
* The legend contains an interactive overview over chart items, usually
* individual series or points depending on the series type. The color axis
* and bubble legend are also rendered in the chart legend.
*/
legend: Legend;
/**
* Callback function to override the default function that formats all the
* numbers in the chart. Returns a string with the formatted number.
*/
numberFormatter: NumberFormatterCallbackFunction;
/**
* The options structure for the chart after merging #defaultOptions and
* #userOptions. It contains members for the sub elements like series,
* legend, tooltip etc.
*/
options: Options;
/**
* The current height of the plot area in pixels.
*/
plotHeight: number;
/**
* The current left position of the plot area in pixels.
*/
plotLeft: number;
/**
* The current top position of the plot area in pixels.
*/
plotTop: number;
/**
* The current width of the plot area in pixels.
*/
plotWidth: number;
/**
* The Pointer that keeps track of mouse and touch interaction.
*/
pointer: Pointer;
/**
* The renderer instance of the chart. Each chart instance has only one
* associated renderer.
*/
renderer: SVGRenderer;
/**
* All the current series in the chart.
*/
series: Array<Series>;
/**
* Whether the chart is in styled mode, meaning all presentational
* attributes are avoided.
*/
styledMode: boolean;
/**
* The chart subtitle. The subtitle has an `update` method that allows
* modifying the options directly or indirectly via `chart.update`.
*/
subtitle: SubtitleObject;
/**
* The `Time` object associated with the chart. Since v6.0.5, time settings
* can be applied individually for each chart. If no individual settings
* apply, the `Time` object is shared by all instances.
*/
time: Time;
/**
* The chart title. The title has an `update` method that allows modifying
* the options directly or indirectly via `chart.update`.
*/
title: TitleObject;
/**
* Tooltip object for points of series.
*/
tooltip: Tooltip;
/**
* The original options given to the constructor or a chart factory like
* Highcharts.chart and Highcharts.stockChart. The original options are
* shallow copied to avoid mutation. The copy, `chart.userOptions`, may
* later be mutated to reflect updated options throughout the lifetime of
* the chart.
*
* For collections, like `series`, `xAxis` and `yAxis`, the chart user
* options should always be reflected by the item user option, so for
* example the following should always be true:
*
* `chart.xAxis[0].userOptions === chart.userOptions.xAxis[0]`
*/
userOptions: Options;
/**
* A collection of the X axes in the chart.
*/
xAxis: Array<Axis>;
/**
* A collection of the Y axes in the chart.
*/
yAxis: Array<Axis>;
/**
* Add an axis to the chart after render time. Note that this method should
* never be used when adding data synchronously at chart render time, as it
* adds expense to the calculations and rendering. When adding data at the
* same time as the chart is initialized, add the axis as a configuration
* option instead.
*
* @param options
* The axis options.
*
* @param isX
* Whether it is an X axis or a value axis.
*
* @param redraw
* Whether to redraw the chart after adding.
*
* @param animation
* Whether and how to apply animation in the redraw. When
* `undefined`, it applies the animation that is set in the
* `chart.animation` option.
*
* @return The newly generated Axis object.
*/
addAxis(options: AxisOptions, isX?: boolean, redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>)): Axis;
/**
* Add a color axis to the chart after render time. Note that this method
* should never be used when adding data synchronously at chart render time,
* as it adds expense to the calculations and rendering. When adding data at
* the same time as the chart is initialized, add the axis as a
* configuration option instead.
*
* @param options
* The axis options.
*
* @param redraw
* Whether to redraw the chart after adding.
*
* @param animation
* Whether and how to apply animation in the redraw. When
* `undefined`, it applies the animation that is set in the
* `chart.animation` option.
*
* @return The newly generated Axis object.
*/
addColorAxis(options: ColorAxisOptions, redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>)): Axis;
/**
* Set a new credits label for the chart.
*
* @param credits
* A configuration object for the new credits.
*/
addCredits(credits?: CreditsOptions): void;
/**
* Add a series to the chart after render time. Note that this method should
* never be used when adding data synchronously at chart render time, as it
* adds expense to the calculations and rendering. When adding data at the
* same time as the chart is initialized, add the series as a configuration
* option instead. With multiple axes, the `offset` is dynamically adjusted.
*
* @param options
* The config options for the series.
*
* @param redraw
* Whether to redraw the chart after adding.
*
* @param animation
* Whether to apply animation, and optionally animation
* configuration. When `undefined`, it applies the animation that is
* set in the `chart.animation` option.
*
* @return The newly created series object.
*
* @fires Highcharts.Chart#addSeries
* @fires Highcharts.Chart#afterAddSeries
*/
addSeries(options: SeriesOptionsType, redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>)): Series;
/**
* Remove the chart and purge memory. This method is called internally
* before adding a second chart into the same container, as well as on
* window unload to prevent leaks.
*
* @fires Highcharts.Chart#destroy
*/
destroy(): void;
/**
* Get an axis, series or point object by `id` as given in the configuration
* options. Returns `undefined` if no item is found.
*
* @param id
* The id as given in the configuration options.
*
* @return The retrieved item.
*/
get(id: string): (Axis|Point|Series|undefined);
/**
* Return the current options of the chart, but only those that differ from
* default options. Items that can be either an object or an array of
* objects, like `series`, `xAxis` and `yAxis`, are always returned as
* array.
*/
getOptions(): void;
/**
* Returns an array of all currently selected points in the chart. Points
* can be selected by clicking or programmatically by the
* Highcharts.Point#select function.
*
* @return The currently selected points.
*/
getSelectedPoints(): Array<Point>;
/**
* Returns an array of all currently selected series in the chart. Series
* can be selected either programmatically by the Highcharts.Series#select
* function or by checking the checkbox next to the legend item if
* series.showCheckBox is true.
*
* @return The currently selected series.
*/
getSelectedSeries(): Array<Series>;
/**
* Hide the loading layer.
*/
hideLoading(): void;
/**
* Overridable function that initializes the chart. The constructor's
* arguments are passed on directly.
*
* @param userOptions
* Custom options.
*
* @param callback
* Function to run when the chart has loaded and all external images
* are loaded.
*
* @fires Highcharts.Chart#init
* @fires Highcharts.Chart#afterInit
*/
init(userOptions: Options, callback?: Function): void;
/**
* Check whether a given point is within the plot area.
*
* @param plotX
* Pixel x relative to the plot area.
*
* @param plotY
* Pixel y relative to the plot area.
*
* @param options
* Options object.
*
* @return Returns true if the given point is inside the plot area.
*/
isInsidePlot(plotX: number, plotY: number, options?: ChartIsInsideOptionsObject): boolean;
/**
* Redraw the chart after changes have been done to the data, axis extremes
* chart size or chart elements. All methods for updating axes, series or
* points have a parameter for redrawing the chart. This is `true` by
* default. But in many cases you want to do more than one operation on the
* chart before redrawing, for example add a number of points. In those
* cases it is a waste of resources to redraw the chart for each new point
* added. So you add the points and call `chart.redraw()` after.
*
* @param animation
* If or how to apply animation to the redraw. When `undefined`, it
* applies the animation that is set in the `chart.animation` option.
*
* @fires Highcharts.Chart#afterSetExtremes
* @fires Highcharts.Chart#beforeRedraw
* @fires Highcharts.Chart#predraw
* @fires Highcharts.Chart#redraw
* @fires Highcharts.Chart#render
* @fires Highcharts.Chart#updatedData
*/
redraw(animation?: (boolean|Partial<AnimationOptionsObject>)): void;
/**
* Reflows the chart to its container. By default, the Resize Observer is
* attached to the chart's div which allows to reflows the chart
* automatically to its container, as per the chart.reflow option.
*
* @param e
* Event arguments. Used primarily when the function is called
* internally as a response to window resize.
*/
reflow(e?: Event): void;
/**
* Set the caption options. This can also be done from Chart#update.
*
* @param options
* New caption options. The caption text itself is set by the
* `options.text` property.
*/
setCaption(options: CaptionOptions): void;
/**
* Set the chart container's class name, in addition to
* `highcharts-container`.
*
* @param className
* The additional class name.
*/
setClassName(className?: string): void;
/**
* Resize the chart to a given width and height. In order to set the width
* only, the height argument may be skipped. To set the height only, pass
* `undefined` for the width.
*
* @param width
* The new pixel width of the chart. Since v4.2.6, the argument can
* be `undefined` in order to preserve the current value (when
* setting height only), or `null` to adapt to the width of the
* containing element.
*
* @param height
* The new pixel height of the chart. Since v4.2.6, the argument can
* be `undefined` in order to preserve the current value, or `null`
* in order to adapt to the height of the containing element.
*
* @param animation
* Whether and how to apply animation. When `undefined`, it applies
* the animation that is set in the `chart.animation` option.
*
* @fires Highcharts.Chart#endResize
* @fires Highcharts.Chart#resize
*/
setSize(width?: (number|null), height?: (number|null), animation?: (boolean|Partial<AnimationOptionsObject>)): void;
/**
* Shortcut to set the subtitle options. This can also be done from
* Chart#update or Chart#setTitle.
*
* @param options
* New subtitle options. The subtitle text itself is set by the
* `options.text` property.
*/
setSubtitle(options: SubtitleOptions): void;
/**
* Set a new title or subtitle for the chart.
*
* @param titleOptions
* New title options. The title text itself is set by the
* `titleOptions.text` property.
*
* @param subtitleOptions
* New subtitle options. The subtitle text itself is set by the
* `subtitleOptions.text` property.
*
* @param redraw
* Whether to redraw the chart or wait for a later call to
* `chart.redraw()`.
*/
setTitle(titleOptions?: TitleOptions, subtitleOptions?: SubtitleOptions, redraw?: boolean): void;
/**
* Dim the chart and show a loading text or symbol. Options for the loading
* screen are defined in the loading options.
*
* @param str
* An optional text to show in the loading label instead of the
* default one. The default text is set in lang.loading.
*/
showLoading(str?: string): void;
/**
* Display the zoom button, so users can reset zoom to the default view
* settings.
*
* @fires Highcharts.Chart#afterShowResetZoom
* @fires Highcharts.Chart#beforeShowResetZoom
*/
showResetZoom(): void;
/**
* A generic function to update any element of the chart. Elements can be
* enabled and disabled, moved, re-styled, re-formatted etc.
*
* A special case is configuration objects that take arrays, for example
* xAxis, yAxis or series. For these collections, an `id` option is used to
* map the new option set to an existing object. If an existing object of
* the same id is not found, the corresponding item is updated. So for
* example, running `chart.update` with a series item without an id, will
* cause the existing chart's series with the same index in the series array
* to be updated. When the `oneToOne` parameter is true, `chart.update` will
* also take care of adding and removing items from the collection. Read
* more under the parameter description below.
*
* Note that when changing series data, `chart.update` may mutate the passed
* data options.
*
* See also the responsive option set. Switching between `responsive.rules`
* basically runs `chart.update` under the hood.
*
* @param options
* A configuration object for the new chart options.
*
* @param redraw
* Whether to redraw the chart.
*
* @param oneToOne
* When `true`, the `series`, `xAxis`, `yAxis` and `annotations`
* collections will be updated one to one, and items will be either
* added or removed to match the new updated options. For example, if
* the chart has two series and we call `chart.update` with a
* configuration containing three series, one will be added. If we
* call `chart.update` with one series, one will be removed. Setting
* an empty `series` array will remove all series, but leaving out
* the`series` property will leave all series untouched. If the
* series have id's, the new series options will be matched by id,
* and the remaining ones removed.
*
* @param animation
* Whether to apply animation, and optionally animation
* configuration. When `undefined`, it applies the animation that is
* set in the `chart.animation` option.
*
* @fires Highcharts.Chart#update
* @fires Highcharts.Chart#afterUpdate
*/
update(options: Options, redraw?: boolean, oneToOne?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>)): void;
/**
* Zoom the chart out after a user has zoomed in. See also Axis.setExtremes.
*
* @fires Highcharts.Chart#selection
*/
zoomOut(): void;
}
/**
* Handle color operations. Some object methods are chainable.
*/
export class Color {
/**
* Creates a color instance out of a color string or object.
*
* @param input
* The input color in either rgba or hex format.
*
* @return Color instance.
*/
static parse(input?: ColorType): Color;
/**
* Handle color operations. Some object methods are chainable.
*
* @param input
* The input color in either rgba or hex format
*/
constructor(input: ColorType);
/**
* Brighten the color instance.
*
* @param alpha
* The alpha value.
*
* @return This color with modifications.
*/
brighten(alpha: number): Color;
/**
* Return the color or gradient stops in the specified format
*
* @param format
* Possible values are 'a', 'rgb', 'rgba' (default).
*
* @return This color as a string or gradient stops.
*/
get(format?: string): ColorType;
/**
* Set the color's opacity to a given alpha value.
*
* @param alpha
* Opacity between 0 and 1.
*
* @return Color with modifications.
*/
setOpacity(alpha: number): Color;
/**
* Return an intermediate color between two colors.
*
* @param to
* The color object to tween to.
*
* @param pos
* The intermediate position, where 0 is the from color (current
* color item), and 1 is the `to` color.
*
* @return The intermediate color in rgba notation, or unsupported type.
*/
tweenTo(to: Color, pos: number): ColorType;
}
/**
* The overview of the chart's series. The legend object is instantiated
* internally in the chart constructor, and is available from the `chart.legend`
* property. Each chart has only one legend.
*/
export class Legend {
/**
* The overview of the chart's series. The legend object is instantiated
* internally in the chart constructor, and is available from the
* `chart.legend` property. Each chart has only one legend.
*
* @param chart
* The chart instance.
*
* @param options
* Legend options.
*/
constructor(chart: Chart, options: LegendOptions);
/**
* All items for the legend, which is an array of series for most series and
* an array of points for pie series and its derivatives.
*/
readonly allItems: Array<(Point|Series)>;
/**
* SVG element of the legend box.
*/
readonly box: SVGElement;
/**
* Chart of this legend.
*/
readonly chart: Chart;
/**
* SVG group of the legend.
*/
readonly group: SVGElement;
/**
* Legend options.
*/
readonly options: LegendOptions;
/**
* SVG element of the legend title.
*/
readonly title: SVGElement;
/**
* Set the legend item text.
*
* @param item
* The item for which to update the text in the legend.
*/
setText(item: (Point|Series)): void;
/**
* Update the legend with new options. Equivalent to running `chart.update`
* with a legend configuration option.
*
* @param options
* Legend options.
*
* @param redraw
* 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 Chart#redraw after. Whether to redraw the chart.
*
* @fires Highcharts.Legends#afterUpdate
*/
update(options: LegendOptions, redraw?: boolean): void;
}
/**
* The object wrapper for plot lines and plot bands
*/
export class PlotLineOrBand {
/**
* The object wrapper for plot lines and plot bands
*
* @param axis
* Related axis.
*
* @param options
* Options to use.
*/
constructor(axis: Axis, options?: (AxisPlotBandsOptions|AxisPlotLinesOptions));
/**
* Related axis.
*/
axis: Axis;
/**
* SVG element of the label.
*/
label: SVGElement;
/**
* Options of the plot line or band.
*/
options: (AxisPlotBandsOptions|AxisPlotLinesOptions);
/**
* SVG element of the plot line or band.
*/
svgElem: SVGElement;
/**
* Remove the plot line or band.
*/
destroy(): void;
}
/**
* The Point object. The point objects are generated from the `series.data`
* configuration objects or raw numbers. They can be accessed from the
* `Series.points` array. Other ways to instantiate points are through
* Highcharts.Series#addPoint or Highcharts.Series#setData.
*/
export class Point {
/**
* For categorized axes this property holds the category name for the point.
* For other axes it holds the X value.
*/
category: (number|string);
/**
* The point's current color.
*/
color?: (ColorString|GradientColorObject|PatternObject);
/**
* The point's current color index, used in styled mode instead of `color`.
* The color index is inserted in class names used for styling.
*/
colorIndex?: number;
/**
* SVG graphic representing the point in the chart. In some cases it may be
* a hidden graphic to improve accessibility.
*
* Typically this is a simple shape, like a `rect` for column charts or
* `path` for line markers, but for some complex series types like boxplot
* or 3D charts, the graphic may be a `g` element containing other shapes.
* The graphic is generated the first time Series#drawPoints runs, and
* updated and moved on subsequent runs.
*/
graphic?: SVGElement;
/**
* Contains the point's index in the `Series.points` array.
*/
readonly index: number;
/**
* The name of the point. The name can be given as the first position of the
* point configuration array, or as a `name` property in the configuration:
*/
name: string;
/**
* The point's options as applied in the initial configuration, or extended
* through `Point.update`.
*
* In TypeScript you have to extend `PointOptionsObject` via an additional
* interface to allow custom data options: (see online documentation for
* example)
*/
options: PointOptionsObject;
/**
* The percentage for points in a stacked series, pies or gauges.
*/
percentage?: number;
/**
* The translated X value for the point in terms of pixels. Relative to the
* X axis position if the series has one, otherwise relative to the plot
* area. Depending on the series type this value might not be defined.
*
* In an inverted chart the x-axis is going from the bottom to the top so
* the `plotX` value is the number of pixels from the bottom of the axis.
*/
plotX?: number;
/**
* The translated Y value for the point in terms of pixels. Relative to the
* Y axis position if the series has one, otherwise relative to the plot
* area. Depending on the series type this value might not be defined.
*
* In an inverted chart the y-axis is going from right to left so the
* `plotY` value is the number of pixels from the right of the `yAxis`.
*/
plotY?: number;
/**
* Whether the point is selected or not.
*/
selected: boolean;
/**
* The series object associated with the point.
*/
series: Series;
/**
* The attributes of the rendered SVG shape like in `column` or `pie`
* series.
*/
readonly shapeArgs?: Readonly<SVGAttributes>;
/**
* Pie series only. Whether to display a slice offset from the center.
*/
sliced?: boolean;
/**
* The total of values in either a stack for stacked series, or a pie in a
* pie series.
*/
total?: number;
/**
* For certain series types, like pie charts, where individual points can be
* shown or hidden.
*/
visible: boolean;
/**
* The x value of the point.
*/
x: number;
/**
* The y value of the point.
*/
y?: number;
/**
* Get the CSS class names for individual points. Used internally where the
* returned value is set on every point.
*
* @return The class names.
*/
getClassName(): string;
/**
* Return the configuration hash needed for the data label and tooltip
* formatters.
*
* @return Abstract object used in formatters and formats.
*/
getLabelConfig(): PointLabelObject;
/**
* In a series with `zones`, return the zone that the point belongs to.
*
* @return The zone item.
*/
getZone(): SeriesZonesOptionsObject;
/**
* Get the path definition for the halo, which is usually a shadow-like
* circle around the currently hovered point.
*
* @param size
* The radius of the circular halo.
*
* @return The path definition.
*/
haloPath(size: number): SVGPathArray;
/**
* Initialize the point. Called internally based on the `series.data`
* option.
*
* @param series
* The series object containing this point.
*
* @param options
* The data in either number, array or object format.
*
* @param x
* Optionally, the X value of the point.
*
* @return The Point instance.
*
* @fires Highcharts.Point#afterInit
*/
init(series: Series, options: PointOptionsType, x?: number): Point;
/**
* Runs on mouse out from the point. Called internally from mouse and touch
* events.
*
* @fires Highcharts.Point#mouseOut
*/
onMouseOut(): void;
/**
* Runs on mouse over the point. Called internally from mouse and touch
* events.
*
* @param e
* The event arguments.
*/
onMouseOver(e?: PointerEventObject): void;
/**
* Transform number or array configs into objects. Also called for object
* configs. Used internally to unify the different configuration formats for
* points. For example, a simple number `10` in a line series will be
* transformed to `{ y: 10 }`, and an array config like `[1, 10]` in a
* scatter series will be transformed to `{ x: 1, y: 10 }`.
*
* @param options
* Series data options.
*
* @return Transformed point options.
*/
optionsToObject(options: PointOptionsType): Dictionary<any>;
/**
* Get the pixel position of the point relative to the plot area.
*
* @param chartCoordinates
* If true, the returned position is relative to the full chart area.
* If false, it is relative to the plot area determined by the axes.
*
* @param plotY
* A custom plot y position to be computed. Used internally for some
* series types that have multiple `y` positions, like area range
* (low and high values).
*
* @return Coordinates of the point if the point exists.
*/
pos(chartCoordinates: boolean, plotY: (number|undefined)): (Array<number>|undefined);
/**
* Remove a point and optionally redraw the series and if necessary the axes
*
* @param redraw
* Whether to redraw the chart or wait for an explicit call. When
* doing more operations on the chart, for example running
* `point.remove()` in a loop, it is best practice to set `redraw` to
* false and call `chart.redraw()` after.
*
* @param animation
* Whether to apply animation, and optionally animation
* configuration.
*/
remove(redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>)): void;
/**
* Toggle the selection status of a point.
*
* @param selected
* When `true`, the point is selected. When `false`, the point is
* unselected. When `null` or `undefined`, the selection state is
* toggled.
*
* @param accumulate
* When `true`, the selection is added to other selected points. When
* `false`, other selected points are deselected. Internally in
* Highcharts, when allowPointSelect is `true`, selected points are
* accumulated on Control, Shift or Cmd clicking the point.
*
* @fires Highcharts.Point#select
* @fires Highcharts.Point#unselect
*/
select(selected?: boolean, accumulate?: boolean): void;
/**
* Set a value in an object, on the property defined by key. The key
* supports nested properties using dot notation. The function modifies the
* input object and does not make a copy.
*
* @param object
* The object to set the value on.
*
* @param value
* The value to set.
*
* @param key
* Key to the property to set.
*
* @return The modified object.
*/
setNestedProperty<T>(object: T, value: any, key: string): T;
/**
* Set the point's state.
*
* @param state
* The new state, can be one of `'hover'`, `'select'`, `'inactive'`,
* or `''` (an empty string), `'normal'` or `undefined` to set to
* normal state.
*
* @param move
* State for animation.
*
* @fires Highcharts.Point#afterSetState
*/
setState(state?: (""|PointStateValue), move?: boolean): void;
/**
* Toggle the visibility of a pie slice or other data point. Note that this
* method is available only for some series, like pie, treemap and sunburst.
*
* @param vis
* True to show the pie slice or other data point, false to hide. If
* undefined, the visibility is toggled.
*
* @param redraw
* Whether to redraw the chart after the point is altered. If doing
* more operations on the chart, it is a good idea to set redraw to
* false and call chart.redraw() after.
*/
setVisible(vis?: boolean, redraw?: boolean): void;
/**
* Extendable method for formatting each point's tooltip line.
*
* @param pointFormat
* The point format.
*
* @return A string to be concatenated in to the common tooltip text.
*/
tooltipFormatter(pointFormat: string): string;
/**
* Update point with new options (typically x/y data) and optionally redraw
* the series.
*
* @param options
* The point options. Point options are handled as described under
* the `series.type.data` item for each series type. For example for
* a line series, if options is a single number, the point will be
* given that number as the marin y value. If it is an array, it will
* be interpreted as x and y values respectively. If it is an object,
* advanced options are applied.
*
* @param redraw
* Whether to redraw the chart after the point is updated. If doing
* more operations on the chart, it is best practice to set `redraw`
* to false and call `chart.redraw()` after.
*
* @param animation
* Whether to apply animation, and optionally animation
* configuration.
*
* @fires Highcharts.Point#update
*/
update(options: PointOptionsType, redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>)): void;
}
/**
* The mouse and touch tracker object. Each Chart item has one associated
* Pointer item that can be accessed from the Chart.pointer property.
*/
export class Pointer {
/**
* The mouse and touch tracker object. Each Chart item has one associated
* Pointer item that can be accessed from the Chart.pointer property.
*
* @param chart
* The chart instance.
*
* @param options
* The root options object. The pointer uses options from the chart
* and tooltip structures.
*/
constructor(chart: Chart, options: Options);
/**
* Destroys the Pointer object and disconnects DOM events.
*/
destroy(): void;
/**
* Finds the closest point to a set of coordinates, using the k-d-tree
* algorithm.
*
* @param series
* All the series to search in.
*
* @param shared
* Whether it is a shared tooltip or not.
*
* @param e
* The pointer event object, containing chart coordinates of the
* pointer.
*
* @return The point closest to given coordinates.
*/
findNearestKDPoint(series: Array<Series>, shared: (boolean|undefined), e: PointerEventObject): (Point|undefined);
/**
* Return the cached chartPosition if it is available on the Pointer,
* otherwise find it. Running offset is quite expensive, so it should be
* avoided when we know the chart hasn't moved.
*
* @return The offset of the chart container within the page
*/
getChartPosition(): ChartPositionObject;
/**
* Get the click position in terms of axis values.
*
* @param e
* Pointer event, extended with `chartX` and `chartY` properties.
*
* @return Axis coordinates.
*/
getCoordinates(e: PointerEventObject): PointerAxisCoordinatesObject;
/**
* Utility to detect whether an element has, or has a parent with, a
* specific class name. Used on detection of tracker objects and on deciding
* whether hovering the tooltip should cause the active series to mouse out.
*
* @param element
* The element to investigate.
*
* @param className
* The class name to look for.
*
* @return True if either the element or one of its parents has the given
* class name.
*/
inClass(element: (HTMLDOMElement|SVGDOMElement), className: string): (boolean|undefined);
/**
* Takes a browser event object and extends it with custom Highcharts
* properties `chartX` and `chartY` in order to work on the internal
* coordinate system.
*
* On map charts, the properties `lon` and `lat` are added to the event
* object given that the chart has projection information.
*
* @param e
* Event object in standard browsers.
*
* @param chartPosition
* Additional chart offset.
*
* @return A browser event with extended properties `chartX` and `chartY`.
*/
normalize(e: (MouseEvent|PointerEvent|TouchEvent), chartPosition?: OffsetObject): PointerEventObject;
/**
* Reset the tracking by hiding the tooltip, the hover series state and the
* hover point
*
* @param allowMove
* Instead of destroying the tooltip altogether, allow moving it if
* possible.
*/
reset(allowMove?: boolean, delay?: number): void;
}
/**
* This is the base series prototype that all other series types inherit from. A
* new series is initialized either through the series option structure, or
* after the chart is initialized, through Highcharts.Chart#addSeries.
*
* The object can be accessed in a number of ways. All series and point event
* handlers give a reference to the `series` object. The chart object has a
* series property that is a collection of all the chart's series. The point
* objects and axis objects also have the same reference.
*
* Another way to reference the series programmatically is by `id`. Add an id in
* the series configuration options, and get the series object by
* Highcharts.Chart#get.
*
* Configuration options for the series are given in three levels. Options for
* all series in a chart are given in the plotOptions.series object. Then
* options for all series of a specific type are given in the plotOptions of
* that type, for example `plotOptions.line`. Next, options for one single
* series are given in the series array, or as arguments to `chart.addSeries`.
*
* The data in the series is stored in various arrays.
*
* - First, `series.options.data` contains all the original config options for
* each point whether added by options or methods like `series.addPoint`.
*
* - Next, `series.data` contains those values converted to points, but in case
* the series data length exceeds the `cropThreshold`, or if the data is
* grouped, `series.data` doesn't contain all the points. It only contains the
* points that have been created on demand.
*
* - Then there's `series.points` that contains all currently visible point
* objects. In case of cropping, the cropped-away points are not part of this
* array. The `series.points` array starts at `series.cropStart` compared to
* `series.data` and `series.options.data`. If however the series data is
* grouped, these can't be correlated one to one.
*
* - `series.xData` and `series.processedXData` contain clean x values,
* equivalent to `series.data` and `series.points`.
*
* - `series.yData` and `series.processedYData` contain clean y values,
* equivalent to `series.data` and `series.points`.
*/
export class Series {
/**
* Registry of all available series types.
*/
static types: Dictionary<typeof Series>;
/**
* Registers a series class to be accessible via `Series.types`.
*
* @param seriesType
* The series type as an identifier string in lower case.
*
* @param SeriesClass
* The series class as a class pattern or a constructor function with
* prototype.
*/
static registerType(seriesType: string, SeriesClass: Function): void;
/**
* This is the base series prototype that all other series types inherit
* from. A new series is initialized either through the series option
* structure, or after the chart is initialized, through
* Highcharts.Chart#addSeries.
*
* The object can be accessed in a number of ways. All series and point
* event handlers give a reference to the `series` object. The chart object
* has a series property that is a collection of all the chart's series. The
* point objects and axis objects also have the same reference.
*
* Another way to reference the series programmatically is by `id`. Add an
* id in the series configuration options, and get the series object by
* Highcharts.Chart#get.
*
* Configuration options for the series are given in three levels. Options
* for all series in a chart are given in the plotOptions.series object.
* Then options for all series of a specific type are given in the
* plotOptions of that type, for example `plotOptions.line`. Next, options
* for one single series are given in the series array, or as arguments to
* `chart.addSeries`.
*
* The data in the series is stored in various arrays.
*
* - First, `series.options.data` contains all the original config options
* for each point whether added by options or methods like
* `series.addPoint`.
*
* - Next, `series.data` contains those values converted to points, but in
* case the series data length exceeds the `cropThreshold`, or if the data
* is grouped, `series.data` doesn't contain all the points. It only
* contains the points that have been created on demand.
*
* - Then there's `series.points` that contains all currently visible point
* objects. In case of cropping, the cropped-away points are not part of
* this array. The `series.points` array starts at `series.cropStart`
* compared to `series.data` and `series.options.data`. If however the
* series data is grouped, these can't be correlated one to one.
*
* - `series.xData` and `series.processedXData` contain clean x values,
* equivalent to `series.data` and `series.points`.
*
* - `series.yData` and `series.processedYData` contain clean y values,
* equivalent to `series.data` and `series.points`.
*
* @param chart
* The chart instance.
*
* @param options
* The series options.
*/
constructor(chart: Chart, options: (object|SeriesOptionsType));
/**
* SVG element of area-based charts. Can be used for styling purposes. If
* zones are configured, this element will be hidden and replaced by
* multiple zone areas, accessible via `series.zones[i].area`.
*/
area?: SVGElement;
/**
* The series center position, read only. This applies only to circular
* chart types like pie and sunburst. It is an array of `[centerX, centerY,
* diameter, innerDiameter]`.
*/
center: Array<number>;
/**
* Read only. The chart that the series belongs to.
*/
chart: Chart;
/**
* Series color as used by the legend and some series types.
*/
color?: ColorType;
/**
* Read only. An array containing those values converted to points. In case
* the series data length exceeds the `cropThreshold`, or if the data is
* grouped, `series.data` doesn't contain all the points. Also, in case a
* series is hidden, the `data` array may be empty. In case of cropping, the
* `data` array may contain `undefined` values, instead of points. To access
* raw values, `series.options.data` will always be up to date.
* `Series.data` only contains the points that have been created on demand.
* To modify the data, use Highcharts.Series#setData or
* Highcharts.Point#update.
*/
data: Array<Point>;
/**
* Contains the maximum value of the series' data point. Some series types
* like `networkgraph` do not support this property as they lack a
* `y`-value.
*/
readonly dataMax?: number;
/**
* Contains the minimum value of the series' data point. Some series types
* like `networkgraph` do not support this property as they lack a
* `y`-value.
*/
readonly dataMin?: number;
/**
* SVG element of line-based charts. Can be used for styling purposes. If
* zones are configured, this element will be hidden and replaced by
* multiple zone lines, accessible via `series.zones[i].graph`.
*/
graph?: SVGElement;
/**
* Contains the series' index in the `Chart.series` array.
*/
readonly index: number;
/**
* Legend data for the series.
*/
legendItem?: LegendItemObject;
/**
* The parent series of the current series, if the current series has a
* linkedTo setting.
*/
readonly linkedParent: Series;
/**
* All child series that are linked to the current series through the
* linkedTo option.
*/
readonly linkedSeries: Array<Series>;
/**
* The series name as given in the options. Defaults to "Series {n}".
*/
name: string;
/**
* Read only. The series' current options. To update, use Series#update.
*/
options: SeriesOptionsType;
/**
* An array containing all currently visible point objects. In case of
* cropping, the cropped-away points are not part of this array. The
* `series.points` array starts at `series.cropStart` compared to
* `series.data` and `series.options.data`. If however the series data is
* grouped, these can't be correlated one to one. To modify the data, use
* Highcharts.Series#setData or Highcharts.Point#update.
*/
points: Array<Point>;
/**
* Read only. The series' selected state as set by Highcharts.Series#select.
*/
selected: boolean;
/**
* Read only. The series' type, like "line", "area", "column" etc. The type
* in the series options anc can be altered using Series#update.
*/
type: string;
/**
* Contains series options by the user without defaults.
*/
userOptions: SeriesOptionsType;
/**
* Read only. The series' visibility state as set by Series#show,
* Series#hide, or in the initial configuration.
*/
visible: boolean;
/**
* Read only. The unique xAxis object associated with the series.
*/
xAxis: Axis;
/**
* Read only. The unique yAxis object associated with the series.
*/
yAxis: Axis;
/**
* Add a point to the series after render time. The point can be added at
* the end, or by giving it an X value, to the start or in the middle of the
* series.
*
* @param options
* The point options. If options is a single number, a point with
* that y value is appended to the series. If it is an array, it will
* be interpreted as x and y values respectively. If it is an object,
* advanced options as outlined under `series.data` are applied.
*
* @param redraw
* Whether to redraw the chart after the point is added. When adding
* more than one point, it is highly recommended that the redraw
* option be set to false, and instead Chart#redraw is explicitly
* called after the adding of points is finished. Otherwise, the
* chart will redraw after adding each point.
*
* @param shift
* If true, a point is shifted off the start of the series as one is
* appended to the end.
*
* @param animation
* Whether to apply animation, and optionally animation
* configuration.
*
* @param withEvent
* Used internally, whether to fire the series `addPoint` event.
*
* @fires Highcharts.Series#addPoint
*/
addPoint(options: PointOptionsType, redraw?: boolean, shift?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>), withEvent?: boolean): void;
/**
* Animate in the series. Called internally twice. First with the `init`
* parameter set to true, which sets up the initial state of the animation.
* Then when ready, it is called with the `init` parameter undefined, in
* order to perform the actual animation.
*
* @param init
* Initialize the animation.
*/
animate(init?: boolean): void;
/**
* Draw the graph. Called internally when rendering line-like series types.
* The first time it generates the `series.graph` item and optionally other
* series-wide items like `series.area` for area charts. On subsequent calls
* these items are updated with new positions and attributes.
*/
drawGraph(): void;
/**
* Draw the markers for line-like series types, and columns or other
* graphical representation for Point objects for other series types. The
* resulting element is typically stored as Point.graphic, and is created on
* the first call and updated and moved on subsequent calls.
*/
drawPoints(): void;
/**
* Return series name in "Series {Number}" format or the one defined by a
* user. This method can be simply overridden as series name format can vary
* (e.g. technical indicators).
*
* @return The series name.
*/
getName(): string;
/**
* Get the translation and scale for the plot area of this series.
*/
getPlotBox(): void;
/**
* Return the series points with null points filtered out.
*
* @param points
* The points to inspect, defaults to Series.points.
*
* @param insideOnly
* Whether to inspect only the points that are inside the visible
* view.
*
* @param allowNull
* Whether to allow null points to pass as valid points.
*
* @return The valid points.
*/
getValidPoints(points?: Array<Point>, insideOnly?: boolean, allowNull?: boolean): Array<Point>;
/**
* Hide the series if visible. If the chart.ignoreHiddenSeries option is
* true, the chart is redrawn without this series.
*
* @fires Highcharts.Series#hide
*/
hide(): void;
/**
* Check whether the series item is itself or inherits from a certain series
* type.
*
* @param type
* The type of series to check for, can be either featured or custom
* series types. For example `column`, `pie`, `ohlc` etc.
*
* @return True if this item is or inherits from the given type.
*/
is(type: string): boolean;
/**
* Get non-presentational attributes for a point. Used internally for both
* styled mode and classic. Can be overridden for different series types.
*
* @param point
* The Point to inspect.
*
* @param state
* The state, can be either `hover`, `select` or undefined.
*
* @return A hash containing those attributes that are not settable from
* CSS.
*/
markerAttribs(point: Point, state?: string): SVGAttributes;
/**
* Runs on mouse out of the series graphical items.
*
* @fires Highcharts.Series#mouseOut
*/
onMouseOut(): void;
/**
* Runs on mouse over the series graphical items.
*
* @fires Highcharts.Series#mouseOver
*/
onMouseOver(): void;
/**
* Remove a series and optionally redraw the chart.
*
* @param redraw
* Whether to redraw the chart or wait for an explicit call to
* Highcharts.Chart#redraw.
*
* @param animation
* Whether to apply animation, and optionally animation
* configuration.
*
* @param withEvent
* Used internally, whether to fire the series `remove` event.
*
* @fires Highcharts.Series#remove
*/
remove(redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>), withEvent?: boolean): void;
/**
* Remove a point from the series. Unlike the Highcharts.Point#remove
* method, this can also be done on a point that is not instantiated because
* it is outside the view or subject to Highcharts Stock data grouping.
*
* @param i
* The index of the point in the data array.
*
* @param redraw
* Whether to redraw the chart after the point is added. When
* removing more than one point, it is highly recommended that the
* `redraw` option be set to `false`, and instead
* Highcharts.Chart#redraw is explicitly called after the adding of
* points is finished.
*
* @param animation
* Whether and optionally how the series should be animated.
*
* @fires Highcharts.Point#remove
*/
removePoint(i: number, redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>)): void;
/**
* Render the graph and markers. Called internally when first rendering and
* later when redrawing the chart. This function can be extended in plugins,
* but normally shouldn't be called directly.
*
* @fires Highcharts.Series#afterRender
*/
render(): void;
/**
* Find the nearest point from a pointer event. This applies to series that
* use k-d-trees to get the nearest point. Native pointer events must be
* normalized using `Pointer.normalize`, that adds `chartX` and `chartY`
* properties.
*
* @param e
* The normalized pointer event
*
* @param compareX
* Search only by the X value, not Y
*
* @return The closest point to the pointer event
*/
searchPoint(e: PointerEvent, compareX?: boolean): (Point|undefined);
/**
* Select or unselect the series. This means its selected property is set,
* the checkbox in the legend is toggled and when selected, the series is
* returned by the Highcharts.Chart#getSelectedSeries function.
*
* @param selected
* True to select the series, false to unselect. If undefined, the
* selection state is toggled.
*
* @fires Highcharts.Series#select
* @fires Highcharts.Series#unselect
*/
select(selected?: boolean): void;
/**
* Apply a new set of data to the series and optionally redraw it. The new
* data array is passed by reference (except in case of `updatePoints`), and
* may later be mutated when updating the chart data.
*
* Note the difference in behaviour when setting the same amount of points,
* or a different amount of points, as handled by the `updatePoints`
* parameter.
*
* @param data
* Takes an array of data in the same format as described under
* `series.{type}.data` for the given series type, for example a line
* series would take data in the form described under
* series.line.data.
*
* @param redraw
* Whether to redraw the chart after the series is altered. If doing
* more operations on the chart, it is a good idea to set redraw to
* false and call Chart#redraw after.
*
* @param animation
* When the updated data is the same length as the existing data,
* points will be updated by default, and animation visualizes how
* the points are changed. Set false to disable animation, or a
* configuration object to set duration or easing.
*
* @param updatePoints
* When this is true, points will be updated instead of replaced
* whenever possible. This occurs a) when the updated data is the
* same length as the existing data, b) when points are matched by
* their id's, or c) when points can be matched by X values. This
* allows updating with animation and performs better. In this case,
* the original array is not passed by reference. Set `false` to
* prevent.
*/
setData(data: Array<PointOptionsType>, redraw?: boolean, animation?: (boolean|Partial<AnimationOptionsObject>), updatePoints?: boolean): void;
/**
* Set the state of the series. Called internally on mouse interaction
* operations, but it can also be called directly to visually highlight a
* series.
*
* @param state
* The new state, can be either `'hover'`, `'inactive'`, `'select'`,
* or `''` (an empty string), `'normal'` or `undefined` to set to
* normal state.
*
* @param inherit
* Determines if state should be inherited by points too.
*/
setState(state?: (""|SeriesStateValue), inherit?: boolean): void;
/**
* Show or hide the series.
*
* @param visible
* True to show the series, false to hide. If undefined, the
* visibility is toggled.
*
* @param redraw
* Whether to redraw the chart after the series is altered. If doing
* more operations on the chart, it is a good idea to set redraw to
* false and call chart.redraw() after.
*
* @fires Highcharts.Series#hide
* @fires Highcharts.Series#show
*/
setVisible(visible?: boolean, redraw?: boolean): void;
/**
* Show the series if hidden.
*
* @fires Highcharts.Series#show
*/
show(): void;
/**
* Translate data points from raw data values to chart specific positioning
* data needed later in the `drawPoints` and `drawGraph` functions. This
* function can be overridden in plugins and custom series type
* implementations.
*
* @fires Highcharts.Series#events:translate
*/
translate(): void;
/**
* Update the series with a new set of options. For a clean and precise
* handling of new options, all methods and elements from the series are
* removed, and it is initialized from scratch. Therefore, this method is
* more performance expensive than some other utility methods like
* Series#setData or Series#setVisible.
*
* Note that `Series.update` may mutate the passed `data` options.
*
* @param options
* New options that will be merged with the series' existing options.
*
* @param redraw
* Whether to redraw the chart after the series is altered. If doing
* more operations on the chart, it is a good idea to set redraw to
* false and call Chart#redraw after.
*
* @fires Highcharts.Series#update
* @fires Highcharts.Series#afterUpdate
*/
update(options: SeriesOptionsType, redraw?: boolean): void;
}
/**
* The SVGElement prototype is a JavaScript wrapper for SVG elements used in the
* rendering layer of Highcharts. Combined with the Highcharts.SVGRenderer
* object, these prototypes allow freeform annotation in the charts or even in
* HTML pages without instanciating a chart. The SVGElement can also wrap HTML
* labels, when `text` or `label` elements are created with the `useHTML`
* parameter.
*
* The SVGElement instances are created through factory functions on the
* Highcharts.SVGRenderer object, like rect, path, text, label, g and more.
*
* See How to use the SVG Renderer for a comprehensive tutorial on how to draw
* SVG elements on a chart.
*/
export class SVGElement {
/**
* The primary DOM node. Each `SVGElement` instance wraps a main DOM node,
* but may also represent more nodes.
*/
element: (HTMLDOMElement|SVGDOMElement);
/**
* The renderer that the SVGElement belongs to.
*/
renderer: SVGRenderer;
/**
* Add the element to the DOM. All elements must be added this way.
*
* @param parent
* The parent item to add it to. If undefined, the element is added
* to the Highcharts.SVGRenderer.box.
*
* @return Returns the SVGElement for chaining.
*/
add(parent?: SVGElement): SVGElement;
/**
* Add a class name to an element.
*
* @param className
* The new class name to add.
*
* @param replace
* When true, the existing class name(s) will be overwritten with the
* new one. When false, the new one is added.
*
* @return Return the SVG element for chainability.
*/
addClass(className: string, replace?: boolean): SVGElement;
/**
* Align the element relative to the chart or another box.
*
* @param alignOptions
* The alignment options. The function can be called without this
* parameter in order to re-align an element after the box has been
* updated.
*
* @param alignByTranslate
* Align element by translation.
*
* @param box
* The box to align to, needs a width and height. When the box is a
* string, it refers to an object in the Renderer. For example, when
* box is `spacingBox`, it refers to `Renderer.spacingBox` which
* holds `width`, `height`, `x` and `y` properties.
*
* @param redraw
* Decide if SVGElement should be redrawn with new alignment or just
* change its attributes.
*
* @return Returns the SVGElement for chaining.
*/
align(alignOptions?: AlignObject, alignByTranslate?: boolean, box?: (string|BBoxObject), redraw?: boolean): SVGElement;
/**
* Animate to given attributes or CSS properties.
*
* @param params
* SVG attributes or CSS to animate.
*
* @param options
* Animation options.
*
* @param complete
* Function to perform at the end of animation.
*
* @return Returns the SVGElement for chaining.
*/
animate(params: SVGAttributes, options?: (boolean|Partial<AnimationOptionsObject>), complete?: Function): SVGElement;
attr(key: string): (number|string);
/**
* Apply native and custom attributes to the SVG elements.
*
* In order to set the rotation center for rotation, set x and y to 0 and
* use `translateX` and `translateY` attributes to position the element
* instead.
*
* Attributes frequently used in Highcharts are `fill`, `stroke`,
* `stroke-width`.
*
* @param hash
* The native and custom SVG attributes.
*
* @param val
* If the type of the first argument is `string`, the second can be a
* value, which will serve as a single attribute setter. If the first
* argument is a string and the second is undefined, the function
* serves as a getter and the current value of the property is
* returned.
*
* @param complete
* A callback function to execute after setting the attributes. This
* makes the function compliant and interchangeable with the
* SVGElement#animate function.
*
* @param continueAnimation
* Used internally when `.attr` is called as part of an animation
* step. Otherwise, calling `.attr` for an attribute will stop
* animation for that attribute.
*
* @return If used as a setter, it returns the current Highcharts.SVGElement
* so the calls can be chained. If used as a getter, the current
* value of the attribute is returned.
*/
attr(hash?: (string|SVGAttributes), val?: (number|string|SVGPathArray), complete?: Function, continueAnimation?: boolean): SVGElement;
/**
* Apply a clipping shape to this element.
*
* @param clipElem
* The clipping shape. If skipped, the current clip is removed.
*
* @return Returns the SVG element to allow chaining.
*/
clip(clipElem?: SVGElement): SVGElement;
/**
* Calculate the coordinates needed for drawing a rectangle crisply and
* return the calculated attributes.
*
* @param rect
* Rectangle to crisp.
*
* @param strokeWidth
* The stroke width to consider when computing crisp positioning. It
* can also be set directly on the rect parameter.
*
* @return The modified rectangle arguments.
*/
crisp(rect: RectangleObject, strokeWidth?: number): RectangleObject;
/**
* Set styles for the element. In addition to CSS styles supported by native
* SVG and HTML elements, there are also some custom made for Highcharts,
* like `width`, `ellipsis` and `textOverflow` for SVG text elements.
*
* @param styles
* The new CSS styles.
*
* @return Return the SVG element for chaining.
*/
css(styles: CSSObject): SVGElement;
/**
* Destroy the element and element wrapper and clear up the DOM and event
* hooks.
*/
destroy(): void;
/**
* Get the bounding box (width, height, x and y) for the element. Generally
* used to get rendered text size. Since this is called a lot in charts, the
* results are cached based on text properties, in order to save DOM
* traffic. The returned bounding box includes the rotation, so for example
* a single text line of rotation 90 will report a greater height, and a
* width corresponding to the line-height.
*
* @param reload
* Skip the cache and get the updated DOM bounding box.
*
* @param rot
* Override the element's rotation. This is internally used on axis
* labels with a value of 0 to find out what the bounding box would
* be have been if it were not rotated.
*
* @return The bounding box with `x`, `y`, `width` and `height` properties.
*/
getBBox(reload?: boolean, rot?: number): BBoxObject;
/**
* Get the computed style. Only in styled mode.
*
* @param prop
* The property name to check for.
*
* @return The current computed value.
*/
getStyle(prop: string): string;
/**
* Check if an element has the given class name.
*
* @param className
* The class name to check for.
*
* @return Whether the class name is found.
*/
hasClass(className: string): boolean;
/**
* Hide the element, similar to setting the `visibility` attribute to
* `hidden`.
*
* @return Returns the SVGElement for chaining.
*/
hide(): SVGElement;
/**
* Initialize the SVG element. This function only exists to make the
* initialization process overridable. It should not be called directly.
*
* @param renderer
* The SVGRenderer instance to initialize to.
*
* @param nodeName
* The SVG node name.
*/
init(renderer: SVGRenderer, nodeName: string): void;
/**
* Add an event listener. This is a simple setter that replaces the previous
* event of the same type added by this function, as opposed to the
* Highcharts#addEvent function.
*
* @param eventType
* The event type.
*
* @param handler
* The handler callback.
*
* @return The SVGElement for chaining.
*/
on(eventType: string, handler: Function): SVGElement;
/**
* Remove a class name from the element.
*
* @param className
* The class name to remove.
*
* @return Returns the SVG element for chainability.
*/
removeClass(className: (string|RegExp)): SVGElement;
/**
* Set the coordinates needed to draw a consistent radial gradient across a
* shape regardless of positioning inside the chart. Used on pie slices to
* make all the slices have the same radial reference point.
*
* @param coordinates
* The center reference. The format is `[centerX, centerY, diameter]`
* in pixels.
*
* @return Returns the SVGElement for chaining.
*/
setRadialReference(coordinates: Array<number>): SVGElement;
/**
* Set a text path for a `text` or `label` element, allowing the text to
* flow along a path.
*
* In order to unset the path for an existing element, call `setTextPath`
* with `{ enabled: false }` as the second argument.
*
* @param path
* Path to follow. If undefined, it allows changing options for the
* existing path.
*
* @param textPathOptions
* Options.
*
* @return Returns the SVGElement for chaining.
*/
setTextPath(path: (SVGElement|undefined), textPathOptions: DataLabelsTextPathOptionsObject): SVGElement;
/**
* Add a shadow to the element. In styled mode, this method is not used,
* instead use `defs` and filters.
*
* @param shadowOptions
* The shadow options. If `true`, the default options are applied. If
* `false`, the current shadow will be removed.
*
* @return Returns the SVGElement for chaining.
*/
shadow(shadowOptions?: (boolean|ShadowOptionsObject)): SVGElement;
/**
* Show the element after it has been hidden.
*
* @param inherit
* Set the visibility attribute to `inherit` rather than `visible`.
* The difference is that an element with `visibility="visible"` will
* be visible even if the parent is hidden.
*
* @return Returns the SVGElement for chaining.
*/
show(inherit?: boolean): SVGElement;
/**
* Get the computed stroke width in pixel values. This is used extensively
* when drawing shapes to ensure the shapes are rendered crisp and
* positioned correctly relative to each other. Using `shape-rendering:
* crispEdges` leaves us less control over positioning, for example when we
* want to stack columns next to each other, or position things
* pixel-perfectly within the plot box.
*
* The common pattern when placing a shape is:
*
* - Create the SVGElement and add it to the DOM. In styled mode, it will
* now receive a stroke width from the style sheet. In classic mode we will
* add the `stroke-width` attribute.
*
* - Read the computed `elem.strokeWidth()`.
*
* - Place it based on the stroke width.
*
* @return The stroke width in pixels. Even if the given stroke width (in
* CSS or by attributes) is based on `em` or other units, the pixel
* size is returned.
*/
strokeWidth(): number;
/**
* Bring the element to the front. Alternatively, a new zIndex can be set.
*
* @return Returns the SVGElement for chaining.
*/
toFront(): SVGElement;
/**
* Move an object and its children by x and y values.
*
* @param x
* The x value.
*
* @param y
* The y value.
*
* @return Translated element.
*/
translate(x: number, y: number): SVGElement;
}
/**
* Allows direct access to the Highcharts rendering layer in order to draw
* primitive shapes like circles, rectangles, paths or text directly on a chart,
* or independent from any chart. The SVGRenderer represents a wrapper object
* for SVG in modern browsers.
*
* An existing chart's renderer can be accessed through Chart.renderer. The
* renderer can also be used completely decoupled from a chart.
*
* See How to use the SVG Renderer for a comprehensive tutorial.
*/
export class SVGRenderer {
/**
* Allows direct access to the Highcharts rendering layer in order to draw
* primitive shapes like circles, rectangles, paths or text directly on a
* chart, or independent from any chart. The SVGRenderer represents a
* wrapper object for SVG in modern browsers.
*
* An existing chart's renderer can be accessed through Chart.renderer. The
* renderer can also be used completely decoupled from a chart.
*
* See How to use the SVG Renderer for a comprehensive tutorial.
*
* @param container
* Where to put the SVG in the web page.
*
* @param width
* The width of the SVG.
*
* @param height
* The height of the SVG.
*
* @param style
* The box style, if not in styleMode
*
* @param forExport
* Whether the rendered content is intended for export.
*
* @param allowHTML
* Whether the renderer is allowed to include HTML text, which will
* be projected on top of the SVG.
*
* @param styledMode
* Whether the renderer belongs to a chart that is in styled mode. If
* it does, it will avoid setting presentational attributes in some
* cases, but not when set explicitly through `.attr` and `.css` etc.
*/
constructor(container: HTMLDOMElement, width: number, height: number, style?: CSSObject, forExport?: boolean, allowHTML?: boolean, styledMode?: boolean);
/**
* The root `svg` node of the renderer.
*/
box: SVGDOMElement;
/**
* The wrapper for the root `svg` node of the renderer.
*/
boxWrapper: SVGElement;
/**
* A pointer to the `defs` node of the root SVG.
*/
defs: SVGElement;
/**
* A pointer to the renderer's associated Element class.
*/
Element: SVGElement;
/**
* A collection of characters mapped to HTML entities. When `useHTML` on an
* element is true, these entities will be rendered correctly by HTML. In
* the SVG pseudo-HTML, they need to be unescaped back to simple characters,
* so for example `&lt;` will render as `<`.
*/
escapes: Dictionary<string>;
/**
* Whether the rendered content is intended for export.
*/
forExport?: boolean;
/**
* An extendable collection of functions for defining symbol paths.
*/
symbols: SymbolDictionary;
/**
* Draw and return an arc. Overloaded function that takes arguments object.
*
* @param attribs
* Initial SVG attributes.
*
* @return The generated wrapper element.
*/
arc(attribs: SVGAttributes): SVGElement;
/**
* Draw and return an arc.
*
* @param x
* Center X position.
*
* @param y
* Center Y position.
*
* @param r
* The outer radius' of the arc.
*
* @param innerR
* Inner radius like used in donut charts.
*
* @param start
* The starting angle of the arc in radians, where 0 is to the right
* and `-Math.PI/2` is up.
*
* @param end
* The ending angle of the arc in radians, where 0 is to the right
* and `-Math.PI/2` is up.
*
* @return The generated wrapper element.
*/
arc(x?: number, y?: number, r?: number, innerR?: number, start?: number, end?: number): SVGElement;
/**
* Create a button with preset states.
*
* @param text
* The text or HTML to draw.
*
* @param x
* The x position of the button's left side.
*
* @param y
* The y position of the button's top side.
*
* @param callback
* The function to execute on button click or touch.
*
* @param theme
* SVG attributes for the normal state.
*
* @param hoverState
* SVG attributes for the hover state.
*
* @param selectState
* SVG attributes for the pressed state.
*
* @param disabledState
* SVG attributes for the disabled state.
*
* @param shape
* The shape type.
*
* @param useHTML
* Whether to use HTML to render the label.
*
* @return The button element.
*/
button(text: string, x: number, y: number, callback: EventCallbackFunction<SVGElement>, theme?: SVGAttributes, hoverState?: SVGAttributes, selectState?: SVGAttributes,
disabledState?: SVGAttributes, shape?: SymbolKeyValue, useHTML?: boolean): SVGElement;
/**
* Draw a circle, wraps the SVG `circle` element.
*
* @param attribs
* The initial attributes.
*
* @return The generated wrapper element.
*/
circle(attribs?: SVGAttributes): SVGElement;
/**
* Draw a circle, wraps the SVG `circle` element.
*
* @param x
* The center x position.
*
* @param y
* The center y position.
*
* @param r
* The radius.
*
* @return The generated wrapper element.
*/
circle(x?: number, y?: number, r?: number): SVGElement;
/**
* Define a clipping rectangle. The clipping rectangle is later applied to
* SVGElement objects through the SVGElement#clip function.
*
* This function is deprecated as of v11.2. Instead, use a regular shape
* (`rect`, `path` etc), and the `SVGElement.clipTo` function.
*
* @return A clipping rectangle.
*/
clipRect(x?: number, y?: number, width?: number, height?: number): ClipRectElement;
/**
* Create a wrapper for an SVG element. Serves as a factory for SVGElement,
* but this function is itself mostly called from primitive factories like
* SVGRenderer#path, SVGRenderer#rect or SVGRenderer#text.
*
* @param nodeName
* The node name, for example `rect`, `g` etc.
*
* @return The generated SVGElement.
*/
createElement(nodeName: string): SVGElement;
/**
* Make a straight line crisper by not spilling out to neighbour pixels.
*
* @param points
* The original points on the format `[['M', 0, 0], ['L', 100, 0]]`.
*
* @param width
* The width of the line.
*
* @param roundingFunction
* The rounding function name on the `Math` object, can be one of
* `round`, `floor` or `ceil`.
*
* @return The original points array, but modified to render crisply.
*/
crispLine(points: SVGPathArray, width: number, roundingFunction?: string): SVGPathArray;
/**
* General method for adding a definition to the SVG `defs` tag. Can be used
* for gradients, fills, filters etc. Styled mode only. A hook for adding
* general definitions to the SVG's defs tag. Definitions can be referenced
* from the CSS by its `id`. Read more in gradients, shadows and patterns.
* Styled mode only.
*
* @param def
* A serialized form of an SVG definition, including children.
*
* @return The inserted node.
*/
definition(def: ASTNode): SVGElement;
/**
* Destroys the renderer and its allocated members.
*
* @return Pass through value.
*/
destroy(): null;
/**
* Dummy function for plugins, called every time the renderer is updated.
* Prior to Highcharts 5, this was used for the canvg renderer.
*/
draw(): void;
/**
* Utility to return the baseline offset and total line height from the font
* size.
*
* @param element
* The element to inspect for a current font size. If a number is
* given, it's used as a fall back for direct font size in pixels.
*
* @return The font metrics.
*/
fontMetrics(element?: (number|SVGDOMElement|SVGElement)): FontMetricsObject;
/**
* Create and return an svg group element. Child Highcharts.SVGElement
* objects are added to the group by using the group as the first parameter
* in add().
*
* @param name
* The group will be given a class name of `highcharts-{name}`. This
* can be used for styling and scripting.
*
* @return The generated wrapper element.
*/
g(name?: string): SVGElement;
/**
* Returns white for dark colors and black for bright colors, based on W3C's
* definition of Relative luminance.
*
* @param color
* The color to get the contrast for.
*
* @return The contrast color, either `#000000` or `#FFFFFF`.
*/
getContrast(color: ColorString): ColorString;
/**
* Display an image.
*
* @param href
* The image source.
*
* @param x
* The X position.
*
* @param y
* The Y position.
*
* @param width
* The image width. If omitted, it defaults to the image file width.
*
* @param height
* The image height. If omitted it defaults to the image file height.
*
* @param onload
* Event handler for image load.
*
* @return The generated wrapper element.
*/
image(href: string, x?: number, y?: number, width?: number, height?: number, onload?: Function): SVGElement;
/**
* Initialize the SVGRenderer. Overridable initializer function that takes
* the same parameters as the constructor.
*
* @param container
* Where to put the SVG in the web page.
*
* @param width
* The width of the SVG.
*
* @param height
* The height of the SVG.
*
* @param style
* The box style, if not in styleMode
*
* @param forExport
* Whether the rendered content is intended for export.
*
* @param allowHTML
* Whether the renderer is allowed to include HTML text, which will
* be projected on top of the SVG.
*
* @param styledMode
* Whether the renderer belongs to a chart that is in styled mode. If
* it does, it will avoid setting presentational attributes in some
* cases, but not when set explicitly through `.attr` and `.css` etc.
*/
init(container: HTMLDOMElement, width: number, height: number, style?: CSSObject, forExport?: boolean, allowHTML?: boolean, styledMode?: boolean): void;
/**
* Detect whether the renderer is hidden. This happens when one of the
* parent elements has `display: none`. Used internally to detect when we
* need to render preliminarily in another div to get the text bounding
* boxes right.
*
* @return True if it is hidden.
*/
isHidden(): boolean;
/**
* Draw a label, which is an extended text element with support for border
* and background. Highcharts creates a `g` element with a text and a `path`
* or `rect` inside, to make it behave somewhat like a HTML div. Border and
* background are set through `stroke`, `stroke-width` and `fill` attributes
* using the attr method. To update the text after render, run `label.attr({
* text: 'New text' })`.
*
* @param str
* The initial text string or (subset) HTML to render.
*
* @param x
* The x position of the label's left side.
*
* @param y
* The y position of the label's top side or baseline, depending on
* the `baseline` parameter.
*
* @param shape
* The shape of the label's border/background, if any. Defaults to
* `rect`. Other possible values are `callout` or other shapes
* defined in Highcharts.SVGRenderer#symbols.
*
* @param anchorX
* In case the `shape` has a pointer, like a flag, this is the
* coordinates it should be pinned to.
*
* @param anchorY
* In case the `shape` has a pointer, like a flag, this is the
* coordinates it should be pinned to.
*
* @param useHTML
* Whether to use HTML to render the label.
*
* @param baseline
* Whether to position the label relative to the text baseline, like
* renderer.text, or to the upper border of the rectangle.
*
* @param className
* Class name for the group.
*
* @return The generated label.
*/
label(str: string, x: number, y?: number, shape?: string, anchorX?: number, anchorY?: number, useHTML?: boolean, baseline?: boolean, className?: string): SVGElement;
/**
* Draw a path, wraps the SVG `path` element.
*
* @param path
* An SVG path definition in array form.
*
* @return The generated wrapper element.
*/
path(path?: SVGPathArray): SVGElement;
/**
* Draw a path, wraps the SVG `path` element.
*
* @param attribs
* The initial attributes.
*
* @return The generated wrapper element.
*/
path(attribs?: SVGAttributes): SVGElement;
/**
* Draw and return a rectangle.
*
* @param attributes
* General SVG attributes for the rectangle.
*
* @return The generated wrapper element.
*/
rect(attributes?: SVGAttributes): SVGElement;
/**
* Draw and return a rectangle.
*
* @param x
* Left position.
*
* @param y
* Top position.
*
* @param width
* Width of the rectangle.
*
* @param height
* Height of the rectangle.
*
* @param r
* Border corner radius.
*
* @param strokeWidth
* A stroke width can be supplied to allow crisp drawing.
*
* @return The generated wrapper element.
*/
rect(x?: number, y?: number, width?: number, height?: number, r?: number, strokeWidth?: number): SVGElement;
/**
* Draw and return a rectangle with advanced corner rounding options.
*
* @param attribs
* Attributes
*
* @return The generated wrapper element.
*/
roundedRect(attribs: SVGAttributes): SVGElement;
/**
* Resize the SVGRenderer#box and re-align all aligned child elements.
*
* @param width
* The new pixel width.
*
* @param height
* The new pixel height.
*
* @param animate
* Whether and how to animate.
*/
setSize(width: number, height: number, animate?: (boolean|Partial<AnimationOptionsObject>)): void;
/**
* Apply the global style on the renderer, mixed with the default styles.
*
* @param style
* CSS to apply.
*/
setStyle(style: CSSObject): void;
/**
* Draw a symbol out of pre-defined shape paths from SVGRenderer#symbols. It
* is used in Highcharts for point makers, which cake a `symbol` option, and
* label and button backgrounds like in the tooltip and stock flags.
*
* @param symbol
* The symbol name.
*
* @param x
* The X coordinate for the top left position.
*
* @param y
* The Y coordinate for the top left position.
*
* @param width
* The pixel width.
*
* @param height
* The pixel height.
*
* @param options
* Additional options, depending on the actual symbol drawn.
*
* @return SVG symbol.
*/
symbol(symbol: string, x?: number, y?: number, width?: number, height?: number, options?: SymbolOptionsObject): SVGElement;
/**
* Draw text. The text can contain a subset of HTML, like spans and anchors
* and some basic text styling of these. For more advanced features like
* border and background, use Highcharts.SVGRenderer#label instead. To
* update the text after render, run `text.attr({ text: 'New text' })`.
*
* @param str
* The text of (subset) HTML to draw.
*
* @param x
* The x position of the text's lower left corner.
*
* @param y
* The y position of the text's lower left corner.
*
* @param useHTML
* Use HTML to render the text.
*
* @return The text object.
*/
text(str?: string, x?: number, y?: number, useHTML?: boolean): SVGElement;
}
/**
* The Tick class.
*/
export class Tick {
/**
* The Tick class.
*
* @param axis
* The axis of the tick.
*
* @param pos
* The position of the tick on the axis in terms of axis values.
*
* @param type
* The type of tick, either 'minor' or an empty string
*
* @param noLabel
* Whether to disable the label or not. Defaults to false.
*
* @param parameters
* Optional parameters for the tick.
*/
constructor(axis: Axis, pos: number, type?: string, noLabel?: boolean, parameters?: object);
/**
* The related axis of the tick.
*/
axis: Axis;
/**
* The rendered grid line of the tick.
*/
gridLine?: SVGElement;
/**
* True if the tick is the first one on the axis.
*/
readonly isFirst?: boolean;
/**
* True if the tick is the last one on the axis.
*/
readonly isLast?: boolean;
/**
* The rendered text label of the tick.
*/
label?: SVGElement;
/**
* The rendered mark of the tick.
*/
mark?: SVGElement;
/**
* The logical position of the tick on the axis in terms of axis values.
*/
pos: number;
/**
* The mark offset of the tick on the axis. Usually `undefined`, numeric for
* grid axes.
*/
tickmarkOffset?: number;
/**
* The tick type, which can be `"minor"`, or an empty string.
*/
type: string;
}
/**
* The Time class. Time settings are applied in general for each page using
* `Highcharts.setOptions`, or individually for each Chart item through the time
* options set.
*
* The Time object is available from Highcharts.Chart#time, which refers to
* `Highcharts.time` if no individual time settings are applied.
*/
export class Time {
/**
* The Time class. Time settings are applied in general for each page using
* `Highcharts.setOptions`, or individually for each Chart item through the
* time options set.
*
* The Time object is available from Highcharts.Chart#time, which refers to
* `Highcharts.time` if no individual time settings are applied.
*
* @param options
* Time options as defined in chart.options.time.
*/
constructor(options?: TimeOptions);
/**
* Formats a JavaScript date timestamp (milliseconds since Jan 1st 1970)
* into a human readable date string. The available format keys are listed
* below. Additional formats can be given in the Highcharts.dateFormats
* hook.
*
* Supported format keys:
*
* - `%a`: Short weekday, like 'Mon'
*
* - `%A`: Long weekday, like 'Monday'
*
* - `%d`: Two digit day of the month, 01 to 31
*
* - `%e`: Day of the month, 1 through 31
*
* - `%w`: Day of the week, 0 through 6
*
* - `%b`: Short month, like 'Jan'
*
* - `%B`: Long month, like 'January'
*
* - `%m`: Two digit month number, 01 through 12
*
* - `%y`: Two digits year, like 09 for 2009
*
* - `%Y`: Four digits year, like 2009
*
* - `%H`: Two digits hours in 24h format, 00 through 23
*
* - `%k`: Hours in 24h format, 0 through 23
*
* - `%I`: Two digits hours in 12h format, 00 through 11
*
* - `%l`: Hours in 12h format, 1 through 12
*
* - `%M`: Two digits minutes, 00 through 59
*
* - `%p`: Upper case AM or PM
*
* - `%P`: Lower case AM or PM
*
* - `%S`: Two digits seconds, 00 through 59
*
* - `%L`: Milliseconds (naming from Ruby)
*
* @param format
* The desired format where various time representations are prefixed
* with %.
*
* @param timestamp
* The JavaScript timestamp.
*
* @param capitalize
* Upper case first letter in the return.
*
* @return The formatted date.
*/
dateFormat(format: string, timestamp?: number, capitalize?: boolean): string;
/**
* Get the value of a date object in given units, and subject to the Time
* object's current timezone settings. This function corresponds directly to
* JavaScripts `Date.getXXX / Date.getUTCXXX`, so instead of calling
* `date.getHours()` or `date.getUTCHours()` we will call
* `time.get('Hours')`.
*
* @return The given time unit
*/
get(unit: TimeUnitValue, date: Date): number;
/**
* Return an array with time positions distributed on round time values
* right and right after min and max. Used in datetime axes as well as for
* grouping data on a datetime axis.
*
* @param normalizedInterval
* The interval in axis values (ms) and the count
*
* @param min
* The minimum in axis values
*
* @param max
* The maximum in axis values
*
* @return Time positions
*/
getTimeTicks(normalizedInterval: TimeNormalizedObject, min?: number, max?: number, startOfWeek?: number): AxisTickPositionsArray;
/**
* Get the time zone offset based on the current timezone information as set
* in the global options.
*
* @param timestamp
* The JavaScript timestamp to inspect.
*
* @return The timezone offset in minutes compared to UTC.
*/
getTimezoneOffset(timestamp: number): number;
/**
* Make a time and returns milliseconds. Interprets the inputs as UTC time,
* local time or a specific timezone time depending on the current time
* settings.
*
* @param year
* The year
*
* @param month
* The month. Zero-based, so January is 0.
*
* @param date
* The day of the month
*
* @param hours
* The hour of the day, 0-23.
*
* @param minutes
* The minutes
*
* @param seconds
* The seconds
*
* @return The time in milliseconds since January 1st 1970.
*/
makeTime(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number): number;
/**
* Set the value of a date object in given units, and subject to the Time
* object's current timezone settings. This function corresponds directly to
* JavaScripts `Date.setXXX / Date.setUTCXXX`, so instead of calling
* `date.setHours(0)` or `date.setUTCHours(0)` we will call
* `time.set('Hours', 0)`.
*
* @return The epoch milliseconds of the updated date
*/
set(unit: TimeUnitValue, date: Date, value: number): number;
}
/**
* Tooltip of a chart.
*/
export class Tooltip {
/**
* Tooltip of a chart.
*
* @param chart
* The chart instance.
*
* @param options
* Tooltip options.
*/
constructor(chart: Chart, options: TooltipOptions);
/**
* Chart of the tooltip.
*/
readonly chart: Chart;
/**
* Reference to the tooltip's container, when [Highcharts.Tooltip#outside]
* is set to true, otherwise it's undefined.
*/
container?: HTMLDOMElement;
/**
* Used tooltip options.
*/
readonly options: TooltipOptions;
/**
* Whether to allow the tooltip to render outside the chart's SVG element
* box. By default (false), the tooltip is rendered within the chart's SVG
* element, which results in the tooltip being aligned inside the chart
* area.
*/
readonly outside: boolean;
/**
* Reference to the tooltip's renderer, when [Highcharts.Tooltip#outside] is
* set to true, otherwise it's undefined.
*/
renderer?: SVGRenderer;
/**
* When the tooltip is shared, the entire plot area will capture mouse
* movement or touch events.
*/
readonly shared?: boolean;
/**
* True, if the tooltip is split into one label per series, with the header
* close to the axis.
*/
readonly split?: boolean;
/**
* In case no user defined formatter is given, this will be used. Note that
* the context here is an object holding point, series, x, y etc.
*
* @return Returns a string (single tooltip and shared) or an array of
* strings (split tooltip)
*/
defaultFormatter(tooltip: Tooltip): (string|Array<string>);
/**
* Removes and destroys the tooltip and its elements.
*/
destroy(): void;
/**
* Get the CSS class names for the tooltip's label. Styles the label by
* `colorIndex` or user-defined CSS.
*
* @return The class names.
*/
getClassName(): string;
/**
* Creates the Tooltip label element if it does not exist, then returns it.
*
* @return Tooltip label
*/
getLabel(): SVGElement;
/**
* Place the tooltip in a chart without spilling over and not covering the
* point itself.
*
* @param boxWidth
* Width of the tooltip box.
*
* @param boxHeight
* Height of the tooltip box.
*
* @param point
* Tooltip related point.
*
* @return Recommended position of the tooltip.
*/
getPosition(boxWidth: number, boxHeight: number, point: Point): PositionObject;
/**
* Hides the tooltip with a fade out animation.
*
* @param delay
* The fade out in milliseconds. If no value is provided the value of
* the tooltip.hideDelay option is used. A value of 0 disables the
* fade out animation.
*/
hide(delay?: number): void;
/**
* Refresh the tooltip's text and position.
*
* @param pointOrPoints
* Either a point or an array of points.
*
* @param mouseEvent
* Mouse event, that is responsible for the refresh and should be
* used for the tooltip update.
*/
refresh(pointOrPoints: (Point|Array<Point>), mouseEvent?: PointerEventObject): void;
/**
* Updates the tooltip with the provided tooltip options.
*
* @param options
* The tooltip options to update.
*/
update(options: TooltipOptions): void;
}
/**
* An array containing the current chart objects in the page. A chart's position
* in the array is preserved throughout the page's lifetime. When a chart is
* destroyed, the array item becomes `undefined`.
*/
export let charts: Array<(Chart|undefined)>;
/**
* A hook for defining additional date format specifiers. New specifiers are
* defined as key-value pairs by using the specifier as key, and a function
* which takes the timestamp as value. This function returns the formatted
* portion of the date.
*/
export let dateFormats: Record<string, TimeFormatCallbackFunction>;
/**
* Global default settings.
*/
export let defaultOptions: Options;
/**
* Theme options that should get applied to the chart. In module mode it might
* not be possible to change this property because of read-only restrictions,
* instead use Highcharts.setOptions.
*/
export let theme: Options;
/**
* Global `Time` object with default options. Since v6.0.5, time settings can be
* applied individually for each chart. If no individual settings apply, this
* `Time` object is shared by all instances.
*/
export let time: Time;
/**
* Add an event listener.
*
* @param el
* The element or object to add a listener to. It can be a
* HTMLDOMElement, an SVGElement or any other object.
*
* @param type
* The event type.
*
* @param fn
* The function callback to execute when the event is fired.
*
* @param options
* Options for adding the event.
*
* @return A callback function to remove the added event.
*/
export function addEvent<T>(el: (T|Class<T>), type: string, fn: (Function|EventCallbackFunction<T>), options?: EventOptionsObject): Function;
/**
* The global animate method, which uses Fx to create individual animators.
*
* @param el
* The element to animate.
*
* @param params
* An object containing key-value pairs of the properties to animate.
* Supports numeric as pixel-based CSS properties for HTML objects and
* attributes for SVGElements.
*
* @param opt
* Animation options.
*/
export function animate(el: (HTMLDOMElement|SVGElement), params: (CSSObject|SVGAttributes), opt?: Partial<AnimationOptionsObject>): void;
/**
* Get the animation in object form, where a disabled animation is always
* returned as `{ duration: 0 }`.
*
* @param animation
* An animation setting. Can be an object with duration, complete and
* easing properties, or a boolean to enable or disable.
*
* @return An object with at least a duration property.
*/
export function animObject(animation?: (boolean|AnimationOptionsObject)): AnimationOptionsObject;
/**
* Non-recursive method to find the lowest member of an array. `Math.max` raises
* a maximum call stack size exceeded error in Chrome when trying to apply more
* than 150.000 points. This method is slightly slower, but safe.
*
* @param data
* An array of numbers.
*
* @return The highest number.
*/
export function arrayMax(data: Array<any>): number;
/**
* Non-recursive method to find the lowest member of an array. `Math.min` raises
* a maximum call stack size exceeded error in Chrome when trying to apply more
* than 150.000 points. This method is slightly slower, but safe.
*
* @param data
* An array of numbers.
*
* @return The lowest number.
*/
export function arrayMin(data: Array<any>): number;
/**
* Set or get an attribute or an object of attributes.
*
* To use as a setter, pass a key and a value, or let the second argument be a
* collection of keys and values. When using a collection, passing a value of
* `null` or `undefined` will remove the attribute.
*
* To use as a getter, pass only a string as the second argument.
*
* @param elem
* The DOM element to receive the attribute(s).
*
* @param keyOrAttribs
* The property or an object of key-value pairs.
*
* @param value
* The value if a single property is set.
*
* @return When used as a getter, return the value.
*/
export function attr(elem: (HTMLDOMElement|SVGDOMElement), keyOrAttribs?: (string|HTMLAttributes|SVGAttributes), value?: (number|string)): (string|null|undefined);
/**
* Factory function for basic charts.
*
* @param options
* The chart options structure.
*
* @param callback
* Function to run when the chart has loaded and all external images are
* loaded. Defining a chart.events.load handler is equivalent.
*
* @return Returns the Chart object.
*/
export function chart(options: Options, callback?: ChartCallbackFunction): Chart;
/**
* Factory function for basic charts.
*
* @param renderTo
* The DOM element to render to, or its id.
*
* @param options
* The chart options structure.
*
* @param callback
* Function to run when the chart has loaded and all external images are
* loaded. Defining a chart.events.load handler is equivalent.
*
* @return Returns the Chart object.
*/
export function chart(renderTo: (string|HTMLDOMElement), options: Options, callback?: ChartCallbackFunction): Chart;
/**
* Internal clear timeout. The function checks that the `id` was not removed
* (e.g. by `chart.destroy()`). For the details see issue .7901.
*
* @param id
* Id of a timeout.
*/
export function clearTimeout(id: (number|undefined)): void;
/**
* Creates a color instance out of a color string.
*
* @param input
* The input color in either rgba or hex format
*
* @return Color instance
*/
export function color(input: ColorType): Color;
/**
* Fix JS round off float errors.
*
* @param num
* A float number to fix.
*
* @param prec
* The precision.
*
* @return The corrected float number.
*/
export function correctFloat(num: number, prec?: number): number;
/**
* Utility function to create an HTML element with attributes and styles.
*
* @param tag
* The HTML tag.
*
* @param attribs
* Attributes as an object of key-value pairs.
*
* @param styles
* Styles as an object of key-value pairs.
*
* @param parent
* The parent HTML object.
*
* @param nopad
* If true, remove all padding, border and margin.
*
* @return The created DOM element.
*/
export function createElement(tag: string, attribs?: HTMLAttributes, styles?: CSSObject, parent?: HTMLDOMElement, nopad?: boolean): HTMLDOMElement;
/**
* Set CSS on a given element.
*
* @param el
* An HTML DOM element.
*
* @param styles
* Style object with camel case property names.
*/
export function css(el: (HTMLDOMElement|SVGDOMElement), styles: CSSObject): void;
/**
* Formats a JavaScript date timestamp (milliseconds since Jan 1st 1970) into a
* human readable date string. The format is a subset of the formats for PHP's
* strftime function. Additional formats can be given in the
* Highcharts.dateFormats hook.
*
* Since v6.0.5, all internal dates are formatted through the
* Highcharts.Chart#time instance to respect chart-level time settings. The
* `Highcharts.dateFormat` function only reflects global time settings set with
* `setOptions`.
*
* Supported format keys:
*
* - `%a`: Short weekday, like 'Mon'
*
* - `%A`: Long weekday, like 'Monday'
*
* - `%d`: Two digit day of the month, 01 to 31
*
* - `%e`: Day of the month, 1 through 31
*
* - `%w`: Day of the week, 0 through 6
*
* - `%b`: Short month, like 'Jan'
*
* - `%B`: Long month, like 'January'
*
* - `%m`: Two digit month number, 01 through 12
*
* - `%y`: Two digits year, like 09 for 2009
*
* - `%Y`: Four digits year, like 2009
*
* - `%H`: Two digits hours in 24h format, 00 through 23
*
* - `%k`: Hours in 24h format, 0 through 23
*
* - `%I`: Two digits hours in 12h format, 00 through 11
*
* - `%l`: Hours in 12h format, 1 through 12
*
* - `%M`: Two digits minutes, 00 through 59
*
* - `%p`: Upper case AM or PM
*
* - `%P`: Lower case AM or PM
*
* - `%S`: Two digits seconds, 00 through 59
*
* - `%L`: Milliseconds (naming from Ruby)
*
* @param format
* The desired format where various time representations are prefixed
* with `%`.
*
* @param timestamp
* The JavaScript timestamp.
*
* @param capitalize
* Upper case first letter in the return.
*
* @return The formatted date.
*/
export function dateFormat(format: string, timestamp: number, capitalize?: boolean): string;
/**
* Check if an object is null or undefined.
*
* @param obj
* The object to check.
*
* @return False if the object is null or undefined, otherwise true.
*/
export function defined(obj: any): boolean;
/**
* Utility method that destroys any SVGElement instances that are properties on
* the given object. It loops all properties and invokes destroy if there is a
* destroy method. The property is then delete.
*
* @param obj
* The object to destroy properties on.
*
* @param except
* Exception, do not destroy this property, only delete it.
*/
export function destroyObjectProperties(obj: any, except?: any): void;
/**
* Discard a HTML element
*
* @param element
* The HTML node to discard.
*/
export function discardElement(element: HTMLDOMElement): void;
/**
* Iterate over an array.
*
* @param arr
* The array to iterate over.
*
* @param fn
* The iterator callback. It passes three arguments:
*
* - `item`: The array item.
*
* - `index`: The item's index in the array.
*
* - `arr`: The array that each is being applied to.
*
* @param ctx
* The context.
*/
export function each(arr: Array<any>, fn: Function, ctx?: any): void;
/**
* Remove the last occurence of an item from an array.
*
* @param arr
* The array.
*
* @param item
* The item to remove.
*/
export function erase(arr: Array<any>, item: any): void;
/**
* Provide error messages for debugging, with links to online explanation. This
* function can be overridden to provide custom error handling.
*
* @param code
* The error code. See errors.xml for available codes. If it is a string,
* the error message is printed directly in the console.
*
* @param stop
* Whether to throw an error or just log a warning in the console.
*
* @param chart
* Reference to the chart that causes the error. Used in 'debugger'
* module to display errors directly on the chart. Important note: This
* argument is undefined for errors that lack access to the Chart
* instance. In such case, the error will be displayed on the last
* created chart.
*
* @param params
* Additional parameters for the generated message.
*/
export function error(code: (number|string), stop?: boolean, chart?: Chart, params?: Dictionary<string>): void;
/**
* Utility function to extend an object with the members of another.
*
* @param a
* The object to be extended.
*
* @param b
* The object to add to the first one.
*
* @return Object a, the original object.
*/
export function extend<T>(a: (T|undefined), b: Partial<T>): T;
/**
* Extend a prototyped class by new members.
*
* @param parent
* The parent prototype to inherit.
*
* @param members
* A collection of prototype members to add or override compared to the
* parent prototype.
*
* @return A new prototype.
*/
export function extendClass<T>(parent: Class<T>, members: Dictionary<any>): Class<T>;
/**
* Return the value of the first element in the array that satisfies the
* provided testing function.
*
* @param arr
* The array to test.
*
* @param callback
* The callback function. The function receives the item as the first
* argument. Return `true` if this item satisfies the condition.
*
* @return The value of the element.
*/
export function find<T>(arr: Array<T>, callback: Function): (T|undefined);
/**
* Fire an event that was registered with Highcharts#addEvent.
*
* @param el
* The object to fire the event on. It can be a HTMLDOMElement, an
* SVGElement or any other object.
*
* @param type
* The type of event.
*
* @param eventArguments
* Custom event arguments that are passed on as an argument to the event
* handler.
*
* @param defaultFunction
* The default function to execute if the other listeners haven't
* returned false.
*/
export function fireEvent<T>(el: T, type: string, eventArguments?: (Event|Dictionary<any>), defaultFunction?: (Function|EventCallbackFunction<T>)): void;
/**
* Format a string according to a subset of the rules of Python's String.format
* method.
*
* @param str
* The string to format.
*
* @param ctx
* The context, a collection of key-value pairs where each key is
* replaced by its value.
*
* @param chart
* A `Chart` instance used to get numberFormatter and time.
*
* @return The formatted string.
*/
export function format(str: string, ctx: Record<string, any>, chart?: Chart): string;
/**
* Get the defer as a number value from series animation options.
*
* @param chart
* The chart instance.
*
* @param animation
* An animation setting. Can be an object with duration, complete and
* easing properties, or a boolean to enable or disable.
*
* @param series
* Series to defer animation.
*
* @return The numeric value.
*/
export function getDeferredAnimation(chart: Chart, animation: (boolean|AnimationOptionsObject), series?: Series): number;
/**
* Get the magnitude of a number.
*
* @param num
* The number.
*
* @return The magnitude, where 1-9 are magnitude 1, 10-99 magnitude 2 etc.
*/
export function getMagnitude(num: number): number;
/**
* Get the updated default options. Until 3.0.7, merely exposing defaultOptions
* for outside modules wasn't enough because the setOptions method created a new
* object.
*
* @return Default options.
*/
export function getOptions(): Options;
/**
* Get the computed CSS value for given element and property, only for numerical
* properties. For width and height, the dimension of the inner box (excluding
* padding) is returned. Used for fitting the chart within the container.
*
* @param el
* An HTML element.
*
* @param prop
* The property name.
*
* @param toInt
* Parse to integer.
*
* @return The style value.
*/
export function getStyle(el: HTMLDOMElement, prop: string, toInt?: boolean): (number|string|undefined);
/**
* Filter an array by a callback.
*
* @param arr
* The array to filter.
*
* @param callback
* The callback function. The function receives the item as the first
* argument. Return `true` if the item is to be preserved.
*
* @return A new, filtered array.
*/
export function grep(arr: Array<any>, callback: Function): Array<any>;
/**
* Search for an item in an array.
*
* @param item
* The item to search for.
*
* @param arr
* The array or node collection to search in.
*
* @param fromIndex
* The index to start searching from.
*
* @return The index within the array, or -1 if not found.
*/
export function inArray(item: any, arr: Array<any>, fromIndex?: number): number;
/**
* Utility function to check if an item is an array.
*
* @param obj
* The item to check.
*
* @return True if the argument is an array.
*/
export function isArray(obj: any): boolean;
/**
* Utility function to check if an Object is a class.
*
* @param obj
* The item to check.
*
* @return True if the argument is a class.
*/
export function isClass(obj: (object|undefined)): boolean;
/**
* Utility function to check if an Object is a HTML Element.
*
* @param obj
* The item to check.
*
* @return True if the argument is a HTML Element.
*/
export function isDOMElement(obj: any): boolean;
/**
* Utility function to check if an item is a number and it is finite (not NaN,
* Infinity or -Infinity).
*
* @param n
* The item to check.
*
* @return True if the item is a finite number
*/
export function isNumber(n: any): boolean;
/**
* Utility function to check if an item is of type object.
*
* @param obj
* The item to check.
*
* @param strict
* Also checks that the object is not an array.
*
* @return True if the argument is an object.
*/
export function isObject(obj: any, strict?: boolean): boolean;
/**
* Utility function to check for string type.
*
* @param s
* The item to check.
*
* @return True if the argument is a string.
*/
export function isString(s: any): boolean;
/**
* Returns an array of a given object's own properties.
*
* @param obj
* The object of which the properties are to be returned.
*
* @return An array of strings that represents all the properties.
*/
export function keys(obj: any): Array<string>;
/**
* Map an array by a callback.
*
* @param arr
* The array to map.
*
* @param fn
* The callback function. Return the new value for the new array.
*
* @return A new array item with modified items.
*/
export function map(arr: Array<any>, fn: Function): Array<any>;
/**
* Utility function to deep merge two or more objects and return a third object.
* The merge function can also be used with a single object argument to create a
* deep copy of an object.
*
* @param a
* The first object to extend. When only this is given, the function
* returns a deep copy.
*
* @param n
* An object to merge into the previous one.
*
* @return The merged object. If the first argument is true, the return is the
* same as the second argument.
*/
export function merge<T>(a: (T|undefined), ...n: Array<(object|undefined)>): T;
/**
* Utility function to deep merge two or more objects and return a third object.
* If the first argument is true, the contents of the second object is copied
* into the first object. The merge function can also be used with a single
* object argument to create a deep copy of an object.
*
* @param extend
* Whether to extend the left-side object (a) or return a whole new
* object.
*
* @param a
* The first object to extend. When only this is given, the function
* returns a deep copy.
*
* @param n
* An object to merge into the previous one.
*
* @return The merged object. If the first argument is true, the return is the
* same as the second argument.
*/
export function merge<T>(extend: boolean, a: (T|undefined), ...n: Array<(object|undefined)>): T;
/**
* Take an interval and normalize it to multiples of round numbers.
*
* @param interval
* The raw, un-rounded interval.
*
* @param multiples
* Allowed multiples.
*
* @param magnitude
* The magnitude of the number.
*
* @param allowDecimals
* Whether to allow decimals.
*
* @param hasTickAmount
* If it has tickAmount, avoid landing on tick intervals lower than
* original.
*
* @return The normalized interval.
*/
export function normalizeTickInterval(interval: number, multiples?: Array<any>, magnitude?: number, allowDecimals?: boolean, hasTickAmount?: boolean): number;
/**
* Format a number and return a string based on input settings.
*
* @param number
* The input number to format.
*
* @param decimals
* The amount of decimals. A value of -1 preserves the amount in the
* input number.
*
* @param decimalPoint
* The decimal point, defaults to the one given in the lang options, or a
* dot.
*
* @param thousandsSep
* The thousands separator, defaults to the one given in the lang
* options, or a space character.
*
* @return The formatted number.
*/
export function numberFormat(number: number, decimals: number, decimalPoint?: string, thousandsSep?: string): string;
/**
* Iterate over object key pairs in an object.
*
* @param obj
* The object to iterate over.
*
* @param fn
* The iterator callback. It passes three arguments:
*
* * value - The property value.
*
* * key - The property key.
*
* * obj - The object that objectEach is being applied to.
*
* @param ctx
* The context.
*/
export function objectEach<T>(obj: any, fn: ObjectEachCallbackFunction<T>, ctx?: T): void;
/**
* Get the element's offset position, corrected for `overflow: auto`.
*
* @param el
* The DOM element.
*
* @return An object containing `left` and `top` properties for the position in
* the page.
*/
export function offset(el: Element): OffsetObject;
/**
* Left-pad a string to a given length by adding a character repetitively.
*
* @param number
* The input string or number.
*
* @param length
* The desired string length.
*
* @param padder
* The character to pad with.
*
* @return The padded string.
*/
export function pad(number: number, length?: number, padder?: string): string;
/**
* Return the first value that is not null or undefined.
*
* @param items
* Variable number of arguments to inspect.
*
* @return The value of the first argument that is not null or undefined.
*/
export function pick<T>(...items: Array<(T|null|undefined)>): T;
/**
* Adds an item to an array, if it is not present in the array.
*
* @param array
* The array to add the item to.
*
* @param item
* The item to add.
*
* @return Returns true, if the item was not present and has been added.
*/
export function pushUnique(array: Array<unknown>, item: unknown): boolean;
/**
* Reduce an array to a single value.
*
* @param arr
* The array to reduce.
*
* @param fn
* The callback function. Return the reduced value. Receives 4 arguments:
* Accumulated/reduced value, current value, current array index, and the
* array.
*
* @param initialValue
* The initial value of the accumulator.
*
* @return The reduced value.
*/
export function reduce(arr: Array<any>, fn: Function, initialValue: any): any;
/**
* Return a length based on either the integer value, or a percentage of a base.
*
* @param value
* A percentage string or a number.
*
* @param base
* The full length that represents 100%.
*
* @param offset
* A pixel offset to apply for percentage values. Used internally in axis
* positioning.
*
* @return The computed length.
*/
export function relativeLength(value: RelativeSize, base: number, offset?: number): number;
/**
* Remove an event that was added with Highcharts#addEvent.
*
* @param el
* The element to remove events on.
*
* @param type
* The type of events to remove. If undefined, all events are removed
* from the element.
*
* @param fn
* The specific callback to remove. If undefined, all events that match
* the element and optionally the type are removed.
*/
export function removeEvent<T>(el: (T|Class<T>), type?: string, fn?: EventCallbackFunction<T>): void;
/**
* Replaces text in a string with a given replacement in a loop to catch nested
* matches after previous replacements.
*
* @param text
* Text to search and modify.
*
* @param replacements
* One or multiple tuples with search pattern (`[0]: (string|RegExp)`)
* and replacement (`[1]: string`) for matching text.
*
* @return Text with replacements.
*/
export function replaceNested(text: string, ...replacements: Array<(RegExp|string)>): string;
/**
* Old factory to create new series prototypes.
*
* @param type
* The series type name.
*
* @param parent
* The parent series type name. Use `line` to inherit from the basic
* Series object.
*
* @param options
* The additional default options that are merged with the parent's
* options.
*
* @param props
* The properties (functions and primitives) to set on the new prototype.
*
* @param pointProps
* Members for a series-specific extension of the Point prototype if
* needed.
*
* @return The newly created prototype as extended from Series or its
* derivatives.
*/
export function seriesType(type: string, parent: string, options: (SeriesOptionsType|Dictionary<any>), props?: Dictionary<any>, pointProps?: Dictionary<any>): Series;
/**
* Set the global animation to either a given value, or fall back to the given
* chart's animation option.
*
* @param animation
* The animation object.
*
* @param chart
* The chart instance.
*/
export function setAnimation(animation: (boolean|Partial<AnimationOptionsObject>|undefined), chart: Chart): void;
/**
* Merge the default options with custom options and return the new options
* structure. Commonly used for defining reusable templates.
*
* @param options
* The new custom chart options.
*/
export function setOptions(options: Options): void;
/**
* Test whether at least one element in the array passes the test implemented by
* the provided function.
*
* @param arr
* The array to test
*
* @param fn
* The function to run on each item. Return truthy to pass the test.
* Receives arguments `currentValue`, `index` and `array`.
*
* @param ctx
* The context.
*/
export function some(arr: Array<any>, fn: Function, ctx: any): boolean;
/**
* Check if an element is an array, and if not, make it into an array.
*
* @param obj
* The object to splat.
*
* @return The produced or original array.
*/
export function splat(obj: any): any[];
/**
* Sort an object array and keep the order of equal items. The ECMAScript
* standard does not specify the behaviour when items are equal.
*
* @param arr
* The array to sort.
*
* @param sortFunction
* The function to sort it with, like with regular Array.prototype.sort.
*/
export function stableSort(arr: Array<any>, sortFunction: Function): void;
/**
* Stop running animation.
*
* @param el
* The SVGElement to stop animation on.
*
* @param prop
* The property to stop animating. If given, the stop method will stop a
* single property from animating, while others continue.
*/
export function stop(el: SVGElement, prop?: string): void;
/**
* Set a timeout if the delay is given, otherwise perform the function
* synchronously.
*
* @param fn
* The function callback.
*
* @param delay
* Delay in milliseconds.
*
* @param context
* An optional context to send to the function callback.
*
* @return An identifier for the timeout that can later be cleared with
* Highcharts.clearTimeout. Returns -1 if there is no timeout.
*/
export function syncTimeout(fn: Function, delay: number, context?: any): number;
/**
* Get a unique key for using in internal element id's and pointers. The key is
* composed of a random hash specific to this Highcharts instance, and a
* counter.
*
* @return A unique key.
*/
export function uniqueKey(): string;
/**
* Activates a serial mode for element IDs provided by Highcharts.uniqueKey.
* This mode can be used in automated tests, where a simple comparison of two
* rendered SVG graphics is needed.
*
* **Note:** This is only for testing purposes and will break functionality in
* webpages with multiple charts.
*
* @param mode
* Changes the state of serial mode.
*
* @return State of the serial mode.
*/
export function useSerialIds(mode?: boolean): (boolean|undefined);
/**
* Wrap a method with extended functionality, preserving the original function.
*
* @param obj
* The context object that the method belongs to. In real cases, this is
* often a prototype.
*
* @param method
* The name of the method to extend.
*
* @param func
* A wrapper function callback. This function is called with the same
* arguments as the original function, except that the original function
* is unshifted and passed as the first argument.
*/
export function wrap(obj: any, method: string, func: WrapProceedFunction): void;
export function arc(): void;
/**
* Callout shape used for default tooltips.
*/
export function callout(): void;
/**
* Set the size and position
*/
export function centerImage(): void;
export function circle(): void;
export function diamond(): void;
/**
* Gets a registered renderer class. If no renderer type is provided or the
* requested renderer was not founded, the default renderer is returned.
*
* @param rendererType
* Renderer type or the default renderer.
*
* @return Returns the requested renderer class or the default renderer class.
*/
export function getRendererType(rendererType?: string): Class<SVGRenderer>;
export function rect(): void;
/**
* Register a renderer class.
*
* @param rendererType
* Renderer type to register.
*
* @param rendererClass
* Returns the requested renderer class or the default renderer class.
*
* @param setAsDefault
* Sets the renderer class as the default renderer.
*/
export function registerRendererType(rendererType: string, rendererClass: Class<SVGRenderer>, setAsDefault: boolean): void;
export function roundedRect(): void;
export function triangle(): void;
export function triangleDown(): void;
declare global {
/**
* Highcharts-extended JQuery.
*/
interface JQuery {
/**
* Helper function to return the chart of the current JQuery selector
* element.
*
* @param className
* Name of the factory class in the Highcharts namespace.
*
* @param options
* The chart options structure.
*
* @param callback
* Function to run when the chart has loaded and all external
* images are loaded. Defining a chart.events.load handler is
* equivalent.
*
* @return The current JQuery selector.
*/
highcharts(className?: (string|'Chart'|'Map'|'StockChart'), options?: Options, callback?: ChartCallbackFunction): JQuery;
}
}
export as namespace Highcharts;