highcharts 9.1.1 → 9.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bower.json +1 -1
- package/css/annotations/popup.css +29 -28
- package/css/annotations/popup.scss +29 -27
- package/css/highcharts.css +15 -0
- package/css/highcharts.scss +12 -0
- package/css/stocktools/gui.css +1 -0
- package/css/stocktools/gui.scss +1 -0
- package/css/themes/dark-unica.css +15 -0
- package/css/themes/grid-light.css +15 -0
- package/css/themes/sand-signika.css +15 -0
- package/es-modules/Accessibility/Components/InfoRegionsComponent.js +8 -2
- package/es-modules/Accessibility/Components/LegendComponent.js +19 -8
- package/es-modules/Accessibility/Components/MenuComponent.js +19 -13
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +4 -8
- package/es-modules/Accessibility/FocusBorder.js +1 -3
- package/es-modules/Accessibility/Options/LangOptions.js +3 -3
- package/es-modules/Accessibility/Utils/Announcer.js +22 -5
- package/es-modules/Accessibility/Utils/ChartUtilities.js +6 -1
- package/es-modules/Core/Animation/AnimationUtilities.js +12 -4
- package/es-modules/Core/Animation/Fx.js +15 -12
- package/es-modules/Core/Axis/Axis.js +25 -13
- package/es-modules/Core/Axis/AxisDefaults.js +0 -1
- package/es-modules/Core/Axis/BrokenAxis.js +32 -15
- package/es-modules/Core/Axis/Color/ColorAxis.js +665 -0
- package/es-modules/Core/Axis/Color/ColorAxisComposition.js +237 -0
- package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +434 -0
- package/es-modules/Core/Axis/DateTimeAxis.js +163 -133
- package/es-modules/Core/Axis/GridAxis.js +8 -3
- package/es-modules/Core/Axis/LogarithmicAxis.js +159 -117
- package/es-modules/Core/Axis/OrdinalAxis.js +666 -460
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +874 -0
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js +292 -0
- package/es-modules/Core/Axis/RadialAxis.js +858 -745
- package/es-modules/Core/Axis/ScrollbarAxis.js +7 -0
- package/es-modules/Core/Axis/StackingAxis.js +159 -140
- package/es-modules/Core/Axis/Tick.js +17 -27
- package/es-modules/Core/Chart/Chart.js +24 -38
- package/es-modules/Core/Chart/ChartDefaults.js +1 -1
- package/es-modules/Core/Chart/StockChart.js +12 -0
- package/es-modules/Core/Color/Color.js +96 -104
- package/es-modules/Core/DefaultOptions.js +269 -248
- package/es-modules/Core/Foundation.js +9 -8
- package/es-modules/Core/Geometry/CircleUtilities.js +385 -0
- package/es-modules/Core/Geometry/GeometryUtilities.js +83 -0
- package/es-modules/Core/Globals.js +23 -1
- package/es-modules/{Extensions/Ajax.js → Core/HttpUtilities.js} +86 -42
- package/es-modules/Core/{Legend.js → Legend/Legend.js} +142 -116
- package/es-modules/{Mixins → Core/Legend}/LegendSymbol.js +54 -38
- package/es-modules/Core/Navigator.js +3 -0
- package/es-modules/Core/Pointer.js +9 -0
- package/es-modules/Core/Renderer/HTML/AST.js +100 -82
- package/es-modules/Core/Renderer/HTML/HTMLElement.js +17 -7
- package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +26 -9
- package/es-modules/Core/Renderer/RendererRegistry.js +9 -4
- package/es-modules/Core/Renderer/RendererUtilities.js +159 -0
- package/es-modules/Core/Renderer/SVG/SVGElement.js +13 -7
- package/es-modules/Core/Renderer/SVG/SVGLabel.js +9 -29
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +2 -2
- package/es-modules/Core/Renderer/SVG/TextBuilder.js +18 -16
- package/es-modules/Core/Responsive.js +166 -148
- package/es-modules/Core/Series/DataLabel.js +564 -0
- package/es-modules/Core/Series/Point.js +233 -209
- package/es-modules/Core/Series/Series.js +174 -2339
- package/es-modules/Core/Series/SeriesDefaults.js +2293 -0
- package/es-modules/Core/Series/SeriesRegistry.js +3 -9
- package/es-modules/Core/Time.js +78 -2
- package/es-modules/Core/Tooltip.js +178 -236
- package/es-modules/Core/Utilities.js +409 -394
- package/es-modules/Extensions/Annotations/Annotations.js +102 -49
- package/es-modules/Extensions/Annotations/Mixins/EventEmitterMixin.js +9 -1
- package/es-modules/Extensions/Annotations/NavigationBindings.js +30 -25
- package/es-modules/Extensions/Annotations/Popup.js +16 -7
- package/es-modules/Extensions/Boost/BoostOverrides.js +5 -1
- package/es-modules/Extensions/Boost/WGLRenderer.js +5 -4
- package/es-modules/Extensions/Boost/WGLVBuffer.js +3 -0
- package/es-modules/Extensions/BoostCanvas.js +1 -1
- package/es-modules/Extensions/CurrentDateIndication.js +1 -1
- package/es-modules/Extensions/Data.js +82 -76
- package/es-modules/Extensions/DataGrouping.js +225 -184
- package/es-modules/Extensions/Debugger/ErrorMessages.js +2 -2
- package/es-modules/Extensions/DraggablePoints.js +13 -5
- package/es-modules/Extensions/Drilldown.js +41 -14
- package/es-modules/Extensions/ExportData.js +7 -4
- package/es-modules/Extensions/Exporting/Exporting.js +1273 -0
- package/es-modules/Extensions/Exporting/ExportingDefaults.js +803 -0
- package/es-modules/Extensions/Exporting/ExportingSymbols.js +73 -0
- package/es-modules/Extensions/FullScreen.js +7 -5
- package/es-modules/Extensions/NoDataToDisplay.js +1 -1
- package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +617 -0
- package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +58 -0
- package/es-modules/Extensions/Oldie/Oldie.js +1 -1
- package/es-modules/Extensions/Pane.js +0 -1
- package/es-modules/Extensions/PatternFill.js +23 -10
- package/es-modules/Extensions/Polar.js +2 -1
- package/es-modules/Extensions/RangeSelector.js +1 -1
- package/es-modules/Extensions/Themes/Avocado.js +49 -20
- package/es-modules/Extensions/Themes/DarkBlue.js +226 -203
- package/es-modules/Extensions/Themes/DarkGreen.js +231 -203
- package/es-modules/Extensions/Themes/DarkUnica.js +201 -172
- package/es-modules/Extensions/Themes/Gray.js +228 -205
- package/es-modules/Extensions/Themes/Grid.js +109 -81
- package/es-modules/Extensions/Themes/GridLight.js +83 -55
- package/es-modules/Extensions/Themes/HighContrastDark.js +192 -164
- package/es-modules/Extensions/Themes/HighContrastLight.js +49 -21
- package/es-modules/Extensions/Themes/SandSignika.js +115 -86
- package/es-modules/Extensions/Themes/Skies.js +102 -74
- package/es-modules/Extensions/Themes/Sunset.js +47 -19
- package/es-modules/Mixins/ColorSeries.js +0 -1
- package/es-modules/Mixins/MultipleLines.js +6 -0
- package/es-modules/Mixins/TreeSeries.js +1 -1
- package/es-modules/Series/Area/AreaSeries.js +2 -2
- package/es-modules/Series/AreaSpline/AreaSplineSeries.js +2 -2
- package/es-modules/Series/Bubble/BubbleLegendComposition.js +279 -0
- package/es-modules/Series/Bubble/BubbleLegendDefaults.js +267 -0
- package/es-modules/Series/Bubble/BubbleLegendItem.js +472 -0
- package/es-modules/Series/Bubble/BubbleSeries.js +6 -2
- package/es-modules/Series/Column/ColumnDataLabel.js +109 -0
- package/es-modules/Series/Column/ColumnSeries.js +39 -26
- package/es-modules/Series/Column3D/Column3DComposition.js +5 -2
- package/es-modules/Series/Flags/FlagsSeries.js +8 -1
- package/es-modules/Series/Gantt/GanttSeries.js +3 -3
- package/es-modules/Series/Heatmap/HeatmapSeries.js +9 -5
- package/es-modules/Series/HeikinAshi/HeikinAshiPoint.js +60 -0
- package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +277 -0
- package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +83 -0
- package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +370 -0
- package/es-modules/Series/Line/LineSeries.js +12 -8
- package/es-modules/Series/Map/MapSeries.js +5 -3
- package/es-modules/Series/MapBubble/MapBubbleSeries.js +6 -5
- package/es-modules/Series/OHLC/OHLCPoint.js +11 -0
- package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +3 -1
- package/es-modules/Series/Pie/PieDataLabel.js +448 -0
- package/es-modules/Series/Pie/PiePoint.js +35 -34
- package/es-modules/Series/Pie/PieSeries.js +19 -16
- package/es-modules/Series/Polygon/PolygonSeries.js +3 -3
- package/es-modules/Series/Sankey/SankeySeries.js +9 -7
- package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +2 -2
- package/es-modules/Series/Sunburst/SunburstSeries.js +1 -14
- package/es-modules/Series/Timeline/TimelinePoint.js +6 -0
- package/es-modules/Series/Timeline/TimelineSeries.js +14 -17
- package/es-modules/Series/Treemap/TreemapSeries.js +3 -3
- package/es-modules/Series/Venn/VennSeries.js +4 -4
- package/es-modules/Series/Venn/VennUtils.js +10 -16
- package/es-modules/Series/Waterfall/WaterfallSeries.js +40 -35
- package/es-modules/Series/Wordcloud/WordcloudSeries.js +1 -0
- package/es-modules/Series/XRange/XRangeSeries.js +4 -2
- package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +92 -75
- package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +20 -8
- package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +17 -4
- package/es-modules/Stock/StockToolsBindings.js +77 -38
- package/es-modules/Stock/StockToolsGui.js +28 -3
- package/es-modules/masters/highcharts-3d.src.js +1 -1
- package/es-modules/masters/highcharts-gantt.src.js +1 -1
- package/es-modules/masters/highcharts-more.src.js +11 -7
- package/es-modules/masters/highcharts.src.js +25 -9
- package/es-modules/masters/highmaps.src.js +1 -1
- package/es-modules/masters/highstock.src.js +1 -1
- package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
- package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
- package/es-modules/masters/indicators/ao.src.js +1 -1
- package/es-modules/masters/indicators/apo.src.js +1 -1
- package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
- package/es-modules/masters/indicators/aroon.src.js +1 -1
- package/es-modules/masters/indicators/atr.src.js +1 -1
- package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
- package/es-modules/masters/indicators/cci.src.js +1 -1
- package/es-modules/masters/indicators/chaikin.src.js +1 -1
- package/es-modules/masters/indicators/cmf.src.js +1 -1
- package/es-modules/masters/indicators/cmo.src.js +1 -1
- package/es-modules/masters/indicators/dema.src.js +1 -1
- package/es-modules/masters/indicators/disparity-index.src.js +1 -1
- package/es-modules/masters/indicators/dmi.src.js +1 -1
- package/es-modules/masters/indicators/dpo.src.js +1 -1
- package/es-modules/masters/indicators/ema.src.js +1 -1
- package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/es-modules/masters/indicators/indicators-all.src.js +1 -1
- package/es-modules/masters/indicators/indicators.src.js +1 -1
- package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
- package/es-modules/masters/indicators/klinger.src.js +1 -1
- package/es-modules/masters/indicators/macd.src.js +1 -1
- package/es-modules/masters/indicators/mfi.src.js +1 -1
- package/es-modules/masters/indicators/momentum.src.js +1 -1
- package/es-modules/masters/indicators/natr.src.js +1 -1
- package/es-modules/masters/indicators/obv.src.js +1 -1
- package/es-modules/masters/indicators/pivot-points.src.js +1 -1
- package/es-modules/masters/indicators/ppo.src.js +1 -1
- package/es-modules/masters/indicators/price-channel.src.js +1 -1
- package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
- package/es-modules/masters/indicators/psar.src.js +1 -1
- package/es-modules/masters/indicators/regressions.src.js +1 -1
- package/es-modules/masters/indicators/roc.src.js +1 -1
- package/es-modules/masters/indicators/rsi.src.js +1 -1
- package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
- package/es-modules/masters/indicators/stochastic.src.js +1 -1
- package/es-modules/masters/indicators/supertrend.src.js +1 -1
- package/es-modules/masters/indicators/tema.src.js +1 -1
- package/es-modules/masters/indicators/trendline.src.js +1 -1
- package/es-modules/masters/indicators/trix.src.js +1 -1
- package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
- package/es-modules/masters/indicators/vwap.src.js +1 -1
- package/es-modules/masters/indicators/williams-r.src.js +1 -1
- package/es-modules/masters/indicators/wma.src.js +1 -1
- package/es-modules/masters/indicators/zigzag.src.js +1 -1
- package/es-modules/masters/modules/accessibility.src.js +1 -1
- package/es-modules/masters/modules/annotations-advanced.src.js +1 -1
- package/es-modules/masters/modules/annotations.src.js +1 -1
- package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
- package/es-modules/masters/modules/boost-canvas.src.js +1 -1
- package/es-modules/masters/modules/boost.src.js +1 -1
- package/es-modules/masters/modules/broken-axis.src.js +1 -1
- package/es-modules/masters/modules/bullet.src.js +1 -1
- package/es-modules/masters/modules/coloraxis.src.js +6 -2
- package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
- package/es-modules/masters/modules/cylinder.src.js +1 -1
- package/es-modules/masters/modules/data.src.js +8 -1
- package/es-modules/masters/modules/datagrouping.src.js +1 -1
- package/es-modules/masters/modules/debugger.src.js +1 -1
- package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
- package/es-modules/masters/modules/dotplot.src.js +1 -1
- package/es-modules/masters/modules/drag-panes.src.js +1 -1
- package/es-modules/masters/modules/draggable-points.src.js +1 -1
- package/es-modules/masters/modules/drilldown.src.js +1 -1
- package/es-modules/masters/modules/dumbbell.src.js +1 -1
- package/es-modules/masters/modules/export-data.src.js +1 -1
- package/es-modules/masters/modules/exporting.src.js +10 -2
- package/es-modules/masters/modules/full-screen.src.js +1 -1
- package/es-modules/masters/modules/funnel.src.js +1 -1
- package/es-modules/masters/modules/funnel3d.src.js +1 -1
- package/es-modules/masters/modules/gantt.src.js +9 -4
- package/es-modules/masters/modules/grid-axis.src.js +1 -1
- package/es-modules/masters/modules/heatmap.src.js +6 -2
- package/es-modules/masters/modules/heikinashi.src.js +14 -0
- package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
- package/es-modules/masters/modules/hollowcandlestick.src.js +14 -0
- package/es-modules/masters/modules/item-series.src.js +1 -1
- package/es-modules/masters/modules/lollipop.src.js +1 -1
- package/es-modules/masters/modules/map.src.js +10 -6
- package/es-modules/masters/modules/marker-clusters.src.js +1 -1
- package/es-modules/masters/modules/networkgraph.src.js +1 -1
- package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
- package/es-modules/masters/modules/offline-exporting.src.js +8 -2
- package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
- package/es-modules/masters/modules/oldie.src.js +1 -1
- package/es-modules/masters/modules/organization.src.js +1 -1
- package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
- package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
- package/es-modules/masters/modules/pareto.src.js +1 -1
- package/es-modules/masters/modules/pathfinder.src.js +1 -1
- package/es-modules/masters/modules/pattern-fill.src.js +1 -1
- package/es-modules/masters/modules/price-indicator.src.js +1 -1
- package/es-modules/masters/modules/pyramid3d.src.js +1 -1
- package/es-modules/masters/modules/sankey.src.js +1 -1
- package/es-modules/masters/modules/series-label.src.js +1 -1
- package/es-modules/masters/modules/solid-gauge.src.js +1 -1
- package/es-modules/masters/modules/sonification.src.js +1 -1
- package/es-modules/masters/modules/static-scale.src.js +1 -1
- package/es-modules/masters/modules/stock-tools.src.js +1 -1
- package/es-modules/masters/modules/stock.src.js +3 -2
- package/es-modules/masters/modules/streamgraph.src.js +1 -1
- package/es-modules/masters/modules/sunburst.src.js +1 -1
- package/es-modules/masters/modules/tilemap.src.js +1 -1
- package/es-modules/masters/modules/timeline.src.js +1 -1
- package/es-modules/masters/modules/treegrid.src.js +1 -1
- package/es-modules/masters/modules/treemap.src.js +1 -1
- package/es-modules/masters/modules/variable-pie.src.js +1 -1
- package/es-modules/masters/modules/variwide.src.js +1 -1
- package/es-modules/masters/modules/vector.src.js +1 -1
- package/es-modules/masters/modules/venn.src.js +1 -1
- package/es-modules/masters/modules/windbarb.src.js +1 -1
- package/es-modules/masters/modules/wordcloud.src.js +1 -1
- package/es-modules/masters/modules/xrange.src.js +1 -1
- package/es-modules/masters/themes/avocado.src.js +5 -2
- package/es-modules/masters/themes/dark-blue.src.js +5 -2
- package/es-modules/masters/themes/dark-green.src.js +5 -2
- package/es-modules/masters/themes/dark-unica.src.js +5 -2
- package/es-modules/masters/themes/gray.src.js +5 -2
- package/es-modules/masters/themes/grid-light.src.js +5 -2
- package/es-modules/masters/themes/grid.src.js +5 -2
- package/es-modules/masters/themes/high-contrast-dark.src.js +5 -2
- package/es-modules/masters/themes/high-contrast-light.src.js +5 -2
- package/es-modules/masters/themes/sand-signika.src.js +5 -2
- package/es-modules/masters/themes/skies.src.js +5 -2
- package/es-modules/masters/themes/sunset.src.js +5 -2
- package/gfx/stock-icons/annotations-hidden.svg +1 -1
- package/gfx/stock-icons/annotations-visible.svg +2 -2
- package/gfx/stock-icons/arrow-bottom.svg +1 -1
- package/gfx/stock-icons/arrow-left.svg +1 -1
- package/gfx/stock-icons/arrow-line.svg +1 -1
- package/gfx/stock-icons/arrow-ray.svg +1 -1
- package/gfx/stock-icons/arrow-right.svg +1 -1
- package/gfx/stock-icons/arrow-segment.svg +1 -2
- package/gfx/stock-icons/circle.svg +1 -1
- package/gfx/stock-icons/close.svg +2 -2
- package/gfx/stock-icons/crooked-3.svg +1 -1
- package/gfx/stock-icons/crooked-5.svg +1 -1
- package/gfx/stock-icons/current-price-hide.svg +3 -3
- package/gfx/stock-icons/current-price-show.svg +2 -2
- package/gfx/stock-icons/destroy.svg +1 -1
- package/gfx/stock-icons/drawing.svg +18 -0
- package/gfx/stock-icons/edit.svg +1 -1
- package/gfx/stock-icons/elliott-3.svg +1 -1
- package/gfx/stock-icons/elliott-5.svg +1 -1
- package/gfx/stock-icons/ellipse.svg +11 -0
- package/gfx/stock-icons/fibonacci-timezone.svg +16 -0
- package/gfx/stock-icons/fibonacci.svg +1 -1
- package/gfx/stock-icons/flag-basic.svg +1 -1
- package/gfx/stock-icons/flag-diamond.svg +2 -2
- package/gfx/stock-icons/flag-elipse.svg +1 -1
- package/gfx/stock-icons/flag-trapeze.svg +2 -2
- package/gfx/stock-icons/fullscreen.svg +4 -4
- package/gfx/stock-icons/horizontal-line.svg +1 -1
- package/gfx/stock-icons/indicators.svg +3 -3
- package/gfx/stock-icons/label.svg +4 -4
- package/gfx/stock-icons/line.svg +1 -1
- package/gfx/stock-icons/linear.svg +11 -0
- package/gfx/stock-icons/logarithmic.svg +1 -0
- package/gfx/stock-icons/measure-x.svg +2 -2
- package/gfx/stock-icons/measure-xy.svg +1 -1
- package/gfx/stock-icons/measure-y.svg +1 -1
- package/gfx/stock-icons/panning.svg +17 -0
- package/gfx/stock-icons/parallel-channel.svg +1 -1
- package/gfx/stock-icons/pitchfork.svg +1 -1
- package/gfx/stock-icons/ray.svg +1 -1
- package/gfx/stock-icons/rectangle.svg +1 -1
- package/gfx/stock-icons/remove-annotations.svg +2 -2
- package/gfx/stock-icons/save-chart.svg +3 -3
- package/gfx/stock-icons/segment.svg +1 -1
- package/gfx/stock-icons/separator.svg +1 -1
- package/gfx/stock-icons/series-candlestick.svg +1 -1
- package/gfx/stock-icons/series-heikin-ashi.svg +1 -0
- package/gfx/stock-icons/series-hlc.svg +1 -0
- package/gfx/stock-icons/series-hollow-candlestick.svg +1 -0
- package/gfx/stock-icons/series-line.svg +1 -1
- package/gfx/stock-icons/series-ohlc.svg +4 -4
- package/gfx/stock-icons/time-cycles.svg +35 -0
- package/gfx/stock-icons/vertical-arrow.svg +1 -1
- package/gfx/stock-icons/vertical-counter.svg +1 -1
- package/gfx/stock-icons/vertical-double-arrow.svg +1 -1
- package/gfx/stock-icons/vertical-label.svg +3 -3
- package/gfx/stock-icons/vertical-line.svg +1 -1
- package/gfx/stock-icons/zoom-x.svg +2 -2
- package/gfx/stock-icons/zoom-xy.svg +2 -2
- package/gfx/stock-icons/zoom-y.svg +2 -2
- package/highcharts-3d.js +24 -24
- package/highcharts-3d.js.map +1 -1
- package/highcharts-3d.src.js +6 -3
- package/highcharts-gantt.js +800 -792
- package/highcharts-gantt.js.map +1 -1
- package/highcharts-gantt.src.js +16535 -15918
- package/highcharts-more.d.ts +73 -1
- package/highcharts-more.js +193 -192
- package/highcharts-more.js.map +1 -1
- package/highcharts-more.src.d.ts +73 -1
- package/highcharts-more.src.js +8044 -7839
- package/highcharts.d.ts +3850 -177
- package/highcharts.js +589 -581
- package/highcharts.js.map +1 -1
- package/highcharts.src.d.ts +3850 -177
- package/highcharts.src.js +16635 -16060
- package/highmaps.js +708 -698
- package/highmaps.js.map +1 -1
- package/highmaps.src.js +17419 -16521
- package/highstock.js +782 -769
- package/highstock.js.map +1 -1
- package/highstock.src.js +28867 -27975
- package/indicators/acceleration-bands.js +9 -9
- package/indicators/acceleration-bands.js.map +1 -1
- package/indicators/acceleration-bands.src.js +7 -1
- package/indicators/accumulation-distribution.js +1 -1
- package/indicators/accumulation-distribution.src.js +1 -1
- package/indicators/ao.js +1 -1
- package/indicators/ao.src.js +1 -1
- package/indicators/apo.js +1 -1
- package/indicators/apo.src.js +1 -1
- package/indicators/aroon-oscillator.js +9 -9
- package/indicators/aroon-oscillator.js.map +1 -1
- package/indicators/aroon-oscillator.src.js +7 -1
- package/indicators/aroon.js +9 -9
- package/indicators/aroon.js.map +1 -1
- package/indicators/aroon.src.js +7 -1
- package/indicators/atr.js +1 -1
- package/indicators/atr.src.js +1 -1
- package/indicators/bollinger-bands.js +9 -9
- package/indicators/bollinger-bands.js.map +1 -1
- package/indicators/bollinger-bands.src.js +7 -1
- package/indicators/cci.js +1 -1
- package/indicators/cci.src.js +1 -1
- package/indicators/chaikin.js +1 -1
- package/indicators/chaikin.src.js +1 -1
- package/indicators/cmf.js +1 -1
- package/indicators/cmf.src.js +1 -1
- package/indicators/cmo.js +1 -1
- package/indicators/cmo.src.js +1 -1
- package/indicators/dema.js +1 -1
- package/indicators/dema.src.js +1 -1
- package/indicators/disparity-index.js +1 -1
- package/indicators/disparity-index.src.js +1 -1
- package/indicators/dmi.js +11 -11
- package/indicators/dmi.js.map +1 -1
- package/indicators/dmi.src.js +7 -1
- package/indicators/dpo.js +1 -1
- package/indicators/dpo.src.js +1 -1
- package/indicators/ema.js +1 -1
- package/indicators/ema.src.js +1 -1
- package/indicators/ichimoku-kinko-hyo.js +1 -1
- package/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/indicators/indicators-all.js +203 -200
- package/indicators/indicators-all.js.map +1 -1
- package/indicators/indicators-all.src.js +206 -104
- package/indicators/indicators.js +12 -11
- package/indicators/indicators.js.map +1 -1
- package/indicators/indicators.src.js +108 -90
- package/indicators/keltner-channels.js +9 -9
- package/indicators/keltner-channels.js.map +1 -1
- package/indicators/keltner-channels.src.js +7 -1
- package/indicators/klinger.js +13 -13
- package/indicators/klinger.js.map +1 -1
- package/indicators/klinger.src.js +7 -1
- package/indicators/macd.js +1 -1
- package/indicators/macd.src.js +1 -1
- package/indicators/mfi.js +1 -1
- package/indicators/mfi.src.js +1 -1
- package/indicators/momentum.js +1 -1
- package/indicators/momentum.src.js +1 -1
- package/indicators/natr.js +1 -1
- package/indicators/natr.src.js +1 -1
- package/indicators/obv.js +1 -1
- package/indicators/obv.src.js +1 -1
- package/indicators/pivot-points.js +1 -1
- package/indicators/pivot-points.src.js +1 -1
- package/indicators/ppo.js +1 -1
- package/indicators/ppo.src.js +1 -1
- package/indicators/price-channel.js +9 -9
- package/indicators/price-channel.js.map +1 -1
- package/indicators/price-channel.src.js +7 -1
- package/indicators/price-envelopes.js +1 -1
- package/indicators/price-envelopes.src.js +1 -1
- package/indicators/psar.js +1 -1
- package/indicators/psar.src.js +1 -1
- package/indicators/regressions.js +1 -1
- package/indicators/regressions.src.js +1 -1
- package/indicators/roc.js +1 -1
- package/indicators/roc.src.js +1 -1
- package/indicators/rsi.js +1 -1
- package/indicators/rsi.src.js +1 -1
- package/indicators/slow-stochastic.js +1 -1
- package/indicators/slow-stochastic.src.js +1 -1
- package/indicators/stochastic.js +10 -10
- package/indicators/stochastic.js.map +1 -1
- package/indicators/stochastic.src.js +7 -1
- package/indicators/supertrend.js +10 -10
- package/indicators/supertrend.js.map +1 -1
- package/indicators/supertrend.src.js +23 -10
- package/indicators/tema.js +1 -1
- package/indicators/tema.src.js +1 -1
- package/indicators/trendline.js +1 -1
- package/indicators/trendline.src.js +1 -1
- package/indicators/trix.js +1 -1
- package/indicators/trix.src.js +1 -1
- package/indicators/volume-by-price.js +17 -15
- package/indicators/volume-by-price.js.map +1 -1
- package/indicators/volume-by-price.src.js +71 -6
- package/indicators/vwap.js +1 -1
- package/indicators/vwap.src.js +1 -1
- package/indicators/williams-r.js +1 -1
- package/indicators/williams-r.src.js +1 -1
- package/indicators/wma.js +1 -1
- package/indicators/wma.src.js +1 -1
- package/indicators/zigzag.js +1 -1
- package/indicators/zigzag.src.js +1 -1
- package/modules/accessibility.js +203 -202
- package/modules/accessibility.js.map +1 -1
- package/modules/accessibility.src.js +89 -49
- package/modules/annotations-advanced.js +164 -163
- package/modules/annotations-advanced.js.map +1 -1
- package/modules/annotations-advanced.src.js +162 -87
- package/modules/annotations.js +111 -111
- package/modules/annotations.js.map +1 -1
- package/modules/annotations.src.js +162 -87
- package/modules/arrow-symbols.js +1 -1
- package/modules/arrow-symbols.src.js +1 -1
- package/modules/boost-canvas.js +2 -2
- package/modules/boost-canvas.js.map +1 -1
- package/modules/boost-canvas.src.js +2 -2
- package/modules/boost.js +52 -52
- package/modules/boost.js.map +1 -1
- package/modules/boost.src.js +15 -7
- package/modules/broken-axis.js +13 -13
- package/modules/broken-axis.js.map +1 -1
- package/modules/broken-axis.src.js +34 -15
- package/modules/bullet.js +1 -1
- package/modules/bullet.src.js +1 -1
- package/modules/coloraxis.js +24 -22
- package/modules/coloraxis.js.map +1 -1
- package/modules/coloraxis.src.js +954 -774
- package/modules/current-date-indicator.js +2 -2
- package/modules/current-date-indicator.js.map +1 -1
- package/modules/current-date-indicator.src.js +2 -2
- package/modules/cylinder.js +1 -1
- package/modules/cylinder.src.js +1 -1
- package/modules/data.js +33 -32
- package/modules/data.js.map +1 -1
- package/modules/data.src.js +182 -134
- package/modules/datagrouping.d.ts +5 -0
- package/modules/datagrouping.js +20 -20
- package/modules/datagrouping.js.map +1 -1
- package/modules/datagrouping.src.d.ts +5 -0
- package/modules/datagrouping.src.js +270 -228
- package/modules/debugger.js +3 -3
- package/modules/debugger.js.map +1 -1
- package/modules/debugger.src.js +3 -3
- package/modules/dependency-wheel.js +1 -1
- package/modules/dependency-wheel.src.js +1 -1
- package/modules/dotplot.js +1 -1
- package/modules/dotplot.src.js +1 -1
- package/modules/drag-panes.js +1 -1
- package/modules/drag-panes.src.js +1 -1
- package/modules/draggable-points.js +34 -34
- package/modules/draggable-points.js.map +1 -1
- package/modules/draggable-points.src.js +14 -5
- package/modules/drilldown.d.ts +27 -0
- package/modules/drilldown.js +18 -18
- package/modules/drilldown.js.map +1 -1
- package/modules/drilldown.src.d.ts +27 -0
- package/modules/drilldown.src.js +42 -16
- package/modules/dumbbell.js +1 -1
- package/modules/dumbbell.src.js +1 -1
- package/modules/export-data.js +20 -20
- package/modules/export-data.js.map +1 -1
- package/modules/export-data.src.js +8 -5
- package/modules/exporting.d.ts +29 -0
- package/modules/exporting.js +38 -35
- package/modules/exporting.js.map +1 -1
- package/modules/exporting.src.d.ts +29 -0
- package/modules/exporting.src.js +1937 -1614
- package/modules/full-screen.js +2 -2
- package/modules/full-screen.js.map +1 -1
- package/modules/full-screen.src.js +8 -6
- package/modules/funnel.js +1 -1
- package/modules/funnel.src.js +1 -1
- package/modules/funnel3d.js +1 -1
- package/modules/funnel3d.src.js +1 -1
- package/modules/gantt.js +218 -217
- package/modules/gantt.js.map +1 -1
- package/modules/gantt.src.js +74 -32
- package/modules/grid-axis.js +23 -22
- package/modules/grid-axis.js.map +1 -1
- package/modules/grid-axis.src.js +9 -4
- package/modules/heatmap.js +39 -37
- package/modules/heatmap.js.map +1 -1
- package/modules/heatmap.src.js +963 -779
- package/modules/heikinashi.js +17 -0
- package/modules/heikinashi.js.map +1 -0
- package/modules/heikinashi.src.js +394 -0
- package/modules/histogram-bellcurve.js +1 -1
- package/modules/histogram-bellcurve.src.js +1 -1
- package/modules/hollowcandlestick.js +18 -0
- package/modules/hollowcandlestick.js.map +1 -0
- package/modules/hollowcandlestick.src.js +504 -0
- package/modules/item-series.js +1 -1
- package/modules/item-series.src.js +1 -1
- package/modules/lollipop.js +1 -1
- package/modules/lollipop.src.js +1 -1
- package/modules/map.d.ts +9 -0
- package/modules/map.js +122 -119
- package/modules/map.js.map +1 -1
- package/modules/map.src.d.ts +9 -0
- package/modules/map.src.js +1655 -1332
- package/modules/marker-clusters.js +1 -1
- package/modules/marker-clusters.src.js +1 -1
- package/modules/networkgraph.js +1 -1
- package/modules/networkgraph.src.js +1 -1
- package/modules/no-data-to-display.js +3 -3
- package/modules/no-data-to-display.js.map +1 -1
- package/modules/no-data-to-display.src.js +2 -2
- package/modules/offline-exporting.js +18 -16
- package/modules/offline-exporting.js.map +1 -1
- package/modules/offline-exporting.src.js +623 -562
- package/modules/oldie-polyfills.js +1 -1
- package/modules/oldie-polyfills.src.js +1 -1
- package/modules/oldie.js +2 -2
- package/modules/oldie.src.js +2 -2
- package/modules/organization.js +1 -1
- package/modules/organization.src.js +1 -1
- package/modules/overlapping-datalabels.js +1 -1
- package/modules/overlapping-datalabels.src.js +1 -1
- package/modules/parallel-coordinates.js +1 -1
- package/modules/parallel-coordinates.src.js +1 -1
- package/modules/pareto.js +1 -1
- package/modules/pareto.src.js +1 -1
- package/modules/pathfinder.js +1 -1
- package/modules/pathfinder.src.js +1 -1
- package/modules/pattern-fill.js +14 -14
- package/modules/pattern-fill.js.map +1 -1
- package/modules/pattern-fill.src.js +24 -12
- package/modules/price-indicator.js +1 -1
- package/modules/price-indicator.src.js +1 -1
- package/modules/pyramid3d.js +1 -1
- package/modules/pyramid3d.src.js +1 -1
- package/modules/sankey.js +28 -28
- package/modules/sankey.js.map +1 -1
- package/modules/sankey.src.js +11 -11
- package/modules/series-label.js +1 -1
- package/modules/series-label.src.js +1 -1
- package/modules/solid-gauge.js +2 -2
- package/modules/solid-gauge.js.map +1 -1
- package/modules/solid-gauge.src.js +3 -3
- package/modules/sonification.js +1 -1
- package/modules/sonification.src.js +1 -1
- package/modules/static-scale.js +1 -1
- package/modules/static-scale.src.js +1 -1
- package/modules/stock-tools.js +159 -157
- package/modules/stock-tools.js.map +1 -1
- package/modules/stock-tools.src.js +253 -123
- package/modules/stock.d.ts +5 -0
- package/modules/stock.js +196 -191
- package/modules/stock.js.map +1 -1
- package/modules/stock.src.d.ts +5 -0
- package/modules/stock.src.js +7749 -7432
- package/modules/streamgraph.js +1 -1
- package/modules/streamgraph.src.js +1 -1
- package/modules/sunburst.js +5 -5
- package/modules/sunburst.js.map +1 -1
- package/modules/sunburst.src.js +6 -19
- package/modules/tilemap.js +1 -1
- package/modules/tilemap.src.js +1 -1
- package/modules/timeline.js +18 -17
- package/modules/timeline.js.map +1 -1
- package/modules/timeline.src.js +21 -24
- package/modules/treegrid.js +57 -57
- package/modules/treegrid.js.map +1 -1
- package/modules/treegrid.src.js +43 -19
- package/modules/treemap.js +5 -5
- package/modules/treemap.js.map +1 -1
- package/modules/treemap.src.js +5 -5
- package/modules/variable-pie.js +1 -1
- package/modules/variable-pie.src.js +1 -1
- package/modules/variwide.js +1 -1
- package/modules/variwide.src.js +1 -1
- package/modules/vector.js +1 -1
- package/modules/vector.src.js +1 -1
- package/modules/venn.js +31 -30
- package/modules/venn.js.map +1 -1
- package/modules/venn.src.js +508 -424
- package/modules/windbarb.js +1 -1
- package/modules/windbarb.src.js +1 -1
- package/modules/wordcloud.js +4 -4
- package/modules/wordcloud.js.map +1 -1
- package/modules/wordcloud.src.js +2 -1
- package/modules/xrange.js +17 -17
- package/modules/xrange.js.map +1 -1
- package/modules/xrange.src.js +7 -4
- package/package.json +1 -1
- package/themes/avocado.d.ts +6 -1
- package/themes/avocado.js +3 -3
- package/themes/avocado.js.map +1 -1
- package/themes/avocado.src.d.ts +6 -1
- package/themes/avocado.src.js +53 -22
- package/themes/dark-blue.d.ts +6 -1
- package/themes/dark-blue.js +3 -3
- package/themes/dark-blue.js.map +1 -1
- package/themes/dark-blue.src.d.ts +6 -1
- package/themes/dark-blue.src.js +231 -205
- package/themes/dark-green.d.ts +6 -1
- package/themes/dark-green.js +4 -4
- package/themes/dark-green.js.map +1 -1
- package/themes/dark-green.src.d.ts +6 -1
- package/themes/dark-green.src.js +236 -205
- package/themes/dark-unica.d.ts +6 -1
- package/themes/dark-unica.js +7 -7
- package/themes/dark-unica.js.map +1 -1
- package/themes/dark-unica.src.d.ts +6 -1
- package/themes/dark-unica.src.js +206 -174
- package/themes/gray.d.ts +6 -1
- package/themes/gray.js +3 -3
- package/themes/gray.js.map +1 -1
- package/themes/gray.src.d.ts +6 -1
- package/themes/gray.src.js +233 -207
- package/themes/grid-light.d.ts +6 -1
- package/themes/grid-light.js +4 -4
- package/themes/grid-light.js.map +1 -1
- package/themes/grid-light.src.d.ts +6 -1
- package/themes/grid-light.src.js +88 -57
- package/themes/grid.d.ts +6 -1
- package/themes/grid.js +3 -3
- package/themes/grid.js.map +1 -1
- package/themes/grid.src.d.ts +6 -1
- package/themes/grid.src.js +114 -83
- package/themes/high-contrast-dark.js +5 -4
- package/themes/high-contrast-dark.js.map +1 -1
- package/themes/high-contrast-dark.src.js +197 -166
- package/themes/high-contrast-light.js +3 -3
- package/themes/high-contrast-light.js.map +1 -1
- package/themes/high-contrast-light.src.js +54 -23
- package/themes/sand-signika.d.ts +6 -1
- package/themes/sand-signika.js +5 -5
- package/themes/sand-signika.js.map +1 -1
- package/themes/sand-signika.src.d.ts +6 -1
- package/themes/sand-signika.src.js +119 -88
- package/themes/skies.d.ts +6 -1
- package/themes/skies.js +5 -5
- package/themes/skies.js.map +1 -1
- package/themes/skies.src.d.ts +6 -1
- package/themes/skies.src.js +107 -76
- package/themes/sunset.d.ts +6 -1
- package/themes/sunset.js +3 -3
- package/themes/sunset.js.map +1 -1
- package/themes/sunset.src.d.ts +6 -1
- package/themes/sunset.src.js +52 -21
- package/es-modules/Core/Axis/ColorAxis.js +0 -1164
- package/es-modules/Core/Axis/HiddenAxis.js +0 -46
- package/es-modules/Core/Axis/PlotLineOrBand.js +0 -1051
- package/es-modules/Core/Series/DataLabels.js +0 -1173
- package/es-modules/Extensions/Exporting.js +0 -2024
- package/es-modules/Extensions/OfflineExporting.js +0 -621
- package/es-modules/Mixins/Geometry.js +0 -56
- package/es-modules/Mixins/GeometryCircles.js +0 -320
- package/es-modules/Series/Bubble/BubbleLegend.js +0 -893
|
@@ -1,1164 +0,0 @@
|
|
|
1
|
-
/* *
|
|
2
|
-
*
|
|
3
|
-
* (c) 2010-2021 Torstein Honsi
|
|
4
|
-
*
|
|
5
|
-
* License: www.highcharts.com/license
|
|
6
|
-
*
|
|
7
|
-
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
8
|
-
*
|
|
9
|
-
* */
|
|
10
|
-
'use strict';
|
|
11
|
-
var __extends = (this && this.__extends) || (function () {
|
|
12
|
-
var extendStatics = function (d, b) {
|
|
13
|
-
extendStatics = Object.setPrototypeOf ||
|
|
14
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
15
|
-
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
16
|
-
return extendStatics(d, b);
|
|
17
|
-
};
|
|
18
|
-
return function (d, b) {
|
|
19
|
-
extendStatics(d, b);
|
|
20
|
-
function __() { this.constructor = d; }
|
|
21
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
22
|
-
};
|
|
23
|
-
})();
|
|
24
|
-
import Axis from './Axis.js';
|
|
25
|
-
import Chart from '../Chart/Chart.js';
|
|
26
|
-
import Color from '../Color/Color.js';
|
|
27
|
-
var color = Color.parse;
|
|
28
|
-
import ColorSeriesModule from '../../Mixins/ColorSeries.js';
|
|
29
|
-
var colorPointMixin = ColorSeriesModule.colorPointMixin, colorSeriesMixin = ColorSeriesModule.colorSeriesMixin;
|
|
30
|
-
import Fx from '../Animation/Fx.js';
|
|
31
|
-
import H from '../Globals.js';
|
|
32
|
-
var noop = H.noop;
|
|
33
|
-
import Legend from '../Legend.js';
|
|
34
|
-
import LegendSymbolMixin from '../../Mixins/LegendSymbol.js';
|
|
35
|
-
import palette from '../Color/Palette.js';
|
|
36
|
-
import Point from '../Series/Point.js';
|
|
37
|
-
import Series from '../Series/Series.js';
|
|
38
|
-
import U from '../Utilities.js';
|
|
39
|
-
var addEvent = U.addEvent, erase = U.erase, extend = U.extend, isNumber = U.isNumber, merge = U.merge, pick = U.pick, splat = U.splat;
|
|
40
|
-
/**
|
|
41
|
-
* Color axis types
|
|
42
|
-
*
|
|
43
|
-
* @typedef {"linear"|"logarithmic"} Highcharts.ColorAxisTypeValue
|
|
44
|
-
*/
|
|
45
|
-
''; // detach doclet above
|
|
46
|
-
extend(Series.prototype, colorSeriesMixin);
|
|
47
|
-
extend(Point.prototype, colorPointMixin);
|
|
48
|
-
Chart.prototype.collectionsWithUpdate.push('colorAxis');
|
|
49
|
-
Chart.prototype.collectionsWithInit.colorAxis = [Chart.prototype.addColorAxis];
|
|
50
|
-
/* eslint-disable no-invalid-this, valid-jsdoc */
|
|
51
|
-
/**
|
|
52
|
-
* The ColorAxis object for inclusion in gradient legends.
|
|
53
|
-
*
|
|
54
|
-
* @class
|
|
55
|
-
* @name Highcharts.ColorAxis
|
|
56
|
-
* @augments Highcharts.Axis
|
|
57
|
-
*
|
|
58
|
-
* @param {Highcharts.Chart} chart
|
|
59
|
-
* The related chart of the color axis.
|
|
60
|
-
*
|
|
61
|
-
* @param {Highcharts.ColorAxisOptions} userOptions
|
|
62
|
-
* The color axis options for initialization.
|
|
63
|
-
*/
|
|
64
|
-
var ColorAxis = /** @class */ (function (_super) {
|
|
65
|
-
__extends(ColorAxis, _super);
|
|
66
|
-
/* *
|
|
67
|
-
*
|
|
68
|
-
* Constructors
|
|
69
|
-
*
|
|
70
|
-
* */
|
|
71
|
-
/**
|
|
72
|
-
* @private
|
|
73
|
-
*/
|
|
74
|
-
function ColorAxis(chart, userOptions) {
|
|
75
|
-
var _this = _super.call(this, chart, userOptions) || this;
|
|
76
|
-
_this.beforePadding = false; // Prevents unnecessary padding with `hc-more`
|
|
77
|
-
_this.chart = void 0;
|
|
78
|
-
_this.coll = 'colorAxis';
|
|
79
|
-
_this.dataClasses = void 0;
|
|
80
|
-
_this.legendItem = void 0;
|
|
81
|
-
_this.legendItems = void 0;
|
|
82
|
-
_this.name = ''; // Prevents 'undefined' in legend in IE8
|
|
83
|
-
_this.options = void 0;
|
|
84
|
-
_this.stops = void 0;
|
|
85
|
-
_this.visible = true;
|
|
86
|
-
_this.init(chart, userOptions);
|
|
87
|
-
return _this;
|
|
88
|
-
}
|
|
89
|
-
/* *
|
|
90
|
-
*
|
|
91
|
-
* Functions
|
|
92
|
-
*
|
|
93
|
-
* */
|
|
94
|
-
/**
|
|
95
|
-
* Initializes the color axis.
|
|
96
|
-
*
|
|
97
|
-
* @function Highcharts.ColorAxis#init
|
|
98
|
-
*
|
|
99
|
-
* @param {Highcharts.Chart} chart
|
|
100
|
-
* The related chart of the color axis.
|
|
101
|
-
*
|
|
102
|
-
* @param {Highcharts.ColorAxisOptions} userOptions
|
|
103
|
-
* The color axis options for initialization.
|
|
104
|
-
*/
|
|
105
|
-
ColorAxis.prototype.init = function (chart, userOptions) {
|
|
106
|
-
var axis = this;
|
|
107
|
-
var legend = chart.options.legend || {}, horiz = userOptions.layout ?
|
|
108
|
-
userOptions.layout !== 'vertical' :
|
|
109
|
-
legend.layout !== 'vertical';
|
|
110
|
-
var options = merge(ColorAxis.defaultColorAxisOptions, userOptions, {
|
|
111
|
-
showEmpty: false,
|
|
112
|
-
title: null,
|
|
113
|
-
visible: legend.enabled &&
|
|
114
|
-
(userOptions ? userOptions.visible !== false : true)
|
|
115
|
-
});
|
|
116
|
-
axis.coll = 'colorAxis';
|
|
117
|
-
axis.side = userOptions.side || horiz ? 2 : 1;
|
|
118
|
-
axis.reversed = userOptions.reversed || !horiz;
|
|
119
|
-
axis.opposite = !horiz;
|
|
120
|
-
_super.prototype.init.call(this, chart, options);
|
|
121
|
-
// Base init() pushes it to the xAxis array, now pop it again
|
|
122
|
-
// chart[this.isXAxis ? 'xAxis' : 'yAxis'].pop();
|
|
123
|
-
// Prepare data classes
|
|
124
|
-
if (userOptions.dataClasses) {
|
|
125
|
-
axis.initDataClasses(userOptions);
|
|
126
|
-
}
|
|
127
|
-
axis.initStops();
|
|
128
|
-
// Override original axis properties
|
|
129
|
-
axis.horiz = horiz;
|
|
130
|
-
axis.zoomEnabled = false;
|
|
131
|
-
};
|
|
132
|
-
/**
|
|
133
|
-
* @private
|
|
134
|
-
*/
|
|
135
|
-
ColorAxis.prototype.initDataClasses = function (userOptions) {
|
|
136
|
-
var axis = this;
|
|
137
|
-
var chart = axis.chart, dataClasses, colorCounter = 0, colorCount = chart.options.chart.colorCount, options = axis.options, len = userOptions.dataClasses.length;
|
|
138
|
-
axis.dataClasses = dataClasses = [];
|
|
139
|
-
axis.legendItems = [];
|
|
140
|
-
userOptions.dataClasses.forEach(function (dataClass, i) {
|
|
141
|
-
var colors;
|
|
142
|
-
dataClass = merge(dataClass);
|
|
143
|
-
dataClasses.push(dataClass);
|
|
144
|
-
if (!chart.styledMode && dataClass.color) {
|
|
145
|
-
return;
|
|
146
|
-
}
|
|
147
|
-
if (options.dataClassColor === 'category') {
|
|
148
|
-
if (!chart.styledMode) {
|
|
149
|
-
colors = chart.options.colors;
|
|
150
|
-
colorCount = colors.length;
|
|
151
|
-
dataClass.color = colors[colorCounter];
|
|
152
|
-
}
|
|
153
|
-
dataClass.colorIndex = colorCounter;
|
|
154
|
-
// increase and loop back to zero
|
|
155
|
-
colorCounter++;
|
|
156
|
-
if (colorCounter === colorCount) {
|
|
157
|
-
colorCounter = 0;
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
else {
|
|
161
|
-
dataClass.color = color(options.minColor).tweenTo(color(options.maxColor), len < 2 ? 0.5 : i / (len - 1) // #3219
|
|
162
|
-
);
|
|
163
|
-
}
|
|
164
|
-
});
|
|
165
|
-
};
|
|
166
|
-
/**
|
|
167
|
-
* Returns true if the series has points at all.
|
|
168
|
-
*
|
|
169
|
-
* @function Highcharts.ColorAxis#hasData
|
|
170
|
-
*
|
|
171
|
-
* @return {boolean}
|
|
172
|
-
* True, if the series has points, otherwise false.
|
|
173
|
-
*/
|
|
174
|
-
ColorAxis.prototype.hasData = function () {
|
|
175
|
-
return !!(this.tickPositions || []).length;
|
|
176
|
-
};
|
|
177
|
-
/**
|
|
178
|
-
* Override so that ticks are not added in data class axes (#6914)
|
|
179
|
-
* @private
|
|
180
|
-
*/
|
|
181
|
-
ColorAxis.prototype.setTickPositions = function () {
|
|
182
|
-
if (!this.dataClasses) {
|
|
183
|
-
return _super.prototype.setTickPositions.call(this);
|
|
184
|
-
}
|
|
185
|
-
};
|
|
186
|
-
/**
|
|
187
|
-
* @private
|
|
188
|
-
*/
|
|
189
|
-
ColorAxis.prototype.initStops = function () {
|
|
190
|
-
var axis = this;
|
|
191
|
-
axis.stops = axis.options.stops || [
|
|
192
|
-
[0, axis.options.minColor],
|
|
193
|
-
[1, axis.options.maxColor]
|
|
194
|
-
];
|
|
195
|
-
axis.stops.forEach(function (stop) {
|
|
196
|
-
stop.color = color(stop[1]);
|
|
197
|
-
});
|
|
198
|
-
};
|
|
199
|
-
/**
|
|
200
|
-
* Extend the setOptions method to process extreme colors and color stops.
|
|
201
|
-
* @private
|
|
202
|
-
*/
|
|
203
|
-
ColorAxis.prototype.setOptions = function (userOptions) {
|
|
204
|
-
var axis = this;
|
|
205
|
-
_super.prototype.setOptions.call(this, userOptions);
|
|
206
|
-
axis.options.crosshair = axis.options.marker;
|
|
207
|
-
};
|
|
208
|
-
/**
|
|
209
|
-
* @private
|
|
210
|
-
*/
|
|
211
|
-
ColorAxis.prototype.setAxisSize = function () {
|
|
212
|
-
var axis = this;
|
|
213
|
-
var symbol = axis.legendSymbol;
|
|
214
|
-
var chart = axis.chart;
|
|
215
|
-
var legendOptions = chart.options.legend || {};
|
|
216
|
-
var x, y, width, height;
|
|
217
|
-
if (symbol) {
|
|
218
|
-
this.left = x = symbol.attr('x');
|
|
219
|
-
this.top = y = symbol.attr('y');
|
|
220
|
-
this.width = width = symbol.attr('width');
|
|
221
|
-
this.height = height = symbol.attr('height');
|
|
222
|
-
this.right = chart.chartWidth - x - width;
|
|
223
|
-
this.bottom = chart.chartHeight - y - height;
|
|
224
|
-
this.len = this.horiz ? width : height;
|
|
225
|
-
this.pos = this.horiz ? x : y;
|
|
226
|
-
}
|
|
227
|
-
else {
|
|
228
|
-
// Fake length for disabled legend to avoid tick issues
|
|
229
|
-
// and such (#5205)
|
|
230
|
-
this.len = (this.horiz ?
|
|
231
|
-
legendOptions.symbolWidth :
|
|
232
|
-
legendOptions.symbolHeight) || ColorAxis.defaultLegendLength;
|
|
233
|
-
}
|
|
234
|
-
};
|
|
235
|
-
/**
|
|
236
|
-
* @private
|
|
237
|
-
*/
|
|
238
|
-
ColorAxis.prototype.normalizedValue = function (value) {
|
|
239
|
-
var axis = this;
|
|
240
|
-
if (axis.logarithmic) {
|
|
241
|
-
value = axis.logarithmic.log2lin(value);
|
|
242
|
-
}
|
|
243
|
-
return 1 - ((axis.max - value) /
|
|
244
|
-
((axis.max - axis.min) || 1));
|
|
245
|
-
};
|
|
246
|
-
/**
|
|
247
|
-
* Translate from a value to a color.
|
|
248
|
-
* @private
|
|
249
|
-
*/
|
|
250
|
-
ColorAxis.prototype.toColor = function (value, point) {
|
|
251
|
-
var axis = this;
|
|
252
|
-
var dataClasses = axis.dataClasses;
|
|
253
|
-
var stops = axis.stops;
|
|
254
|
-
var pos, from, to, color, dataClass, i;
|
|
255
|
-
if (dataClasses) {
|
|
256
|
-
i = dataClasses.length;
|
|
257
|
-
while (i--) {
|
|
258
|
-
dataClass = dataClasses[i];
|
|
259
|
-
from = dataClass.from;
|
|
260
|
-
to = dataClass.to;
|
|
261
|
-
if ((typeof from === 'undefined' || value >= from) &&
|
|
262
|
-
(typeof to === 'undefined' || value <= to)) {
|
|
263
|
-
color = dataClass.color;
|
|
264
|
-
if (point) {
|
|
265
|
-
point.dataClass = i;
|
|
266
|
-
point.colorIndex = dataClass.colorIndex;
|
|
267
|
-
}
|
|
268
|
-
break;
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
}
|
|
272
|
-
else {
|
|
273
|
-
pos = axis.normalizedValue(value);
|
|
274
|
-
i = stops.length;
|
|
275
|
-
while (i--) {
|
|
276
|
-
if (pos > stops[i][0]) {
|
|
277
|
-
break;
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
from = stops[i] || stops[i + 1];
|
|
281
|
-
to = stops[i + 1] || from;
|
|
282
|
-
// The position within the gradient
|
|
283
|
-
pos = 1 - (to[0] - pos) / ((to[0] - from[0]) || 1);
|
|
284
|
-
color = from.color.tweenTo(to.color, pos);
|
|
285
|
-
}
|
|
286
|
-
return color;
|
|
287
|
-
};
|
|
288
|
-
/**
|
|
289
|
-
* Override the getOffset method to add the whole axis groups inside the
|
|
290
|
-
* legend.
|
|
291
|
-
* @private
|
|
292
|
-
*/
|
|
293
|
-
ColorAxis.prototype.getOffset = function () {
|
|
294
|
-
var axis = this;
|
|
295
|
-
var group = axis.legendGroup;
|
|
296
|
-
var sideOffset = axis.chart.axisOffset[axis.side];
|
|
297
|
-
if (group) {
|
|
298
|
-
// Hook for the getOffset method to add groups to this parent
|
|
299
|
-
// group
|
|
300
|
-
axis.axisParent = group;
|
|
301
|
-
// Call the base
|
|
302
|
-
_super.prototype.getOffset.call(this);
|
|
303
|
-
// First time only
|
|
304
|
-
if (!axis.added) {
|
|
305
|
-
axis.added = true;
|
|
306
|
-
axis.labelLeft = 0;
|
|
307
|
-
axis.labelRight = axis.width;
|
|
308
|
-
}
|
|
309
|
-
// Reset it to avoid color axis reserving space
|
|
310
|
-
axis.chart.axisOffset[axis.side] = sideOffset;
|
|
311
|
-
}
|
|
312
|
-
};
|
|
313
|
-
/**
|
|
314
|
-
* Create the color gradient.
|
|
315
|
-
* @private
|
|
316
|
-
*/
|
|
317
|
-
ColorAxis.prototype.setLegendColor = function () {
|
|
318
|
-
var axis = this;
|
|
319
|
-
var horiz = axis.horiz;
|
|
320
|
-
var reversed = axis.reversed;
|
|
321
|
-
var one = reversed ? 1 : 0;
|
|
322
|
-
var zero = reversed ? 0 : 1;
|
|
323
|
-
var grad = horiz ? [one, 0, zero, 0] : [0, zero, 0, one]; // #3190
|
|
324
|
-
axis.legendColor = {
|
|
325
|
-
linearGradient: {
|
|
326
|
-
x1: grad[0],
|
|
327
|
-
y1: grad[1],
|
|
328
|
-
x2: grad[2],
|
|
329
|
-
y2: grad[3]
|
|
330
|
-
},
|
|
331
|
-
stops: axis.stops
|
|
332
|
-
};
|
|
333
|
-
};
|
|
334
|
-
/**
|
|
335
|
-
* The color axis appears inside the legend and has its own legend symbol.
|
|
336
|
-
* @private
|
|
337
|
-
*/
|
|
338
|
-
ColorAxis.prototype.drawLegendSymbol = function (legend, item) {
|
|
339
|
-
var axis = this;
|
|
340
|
-
var padding = legend.padding;
|
|
341
|
-
var legendOptions = legend.options;
|
|
342
|
-
var horiz = axis.horiz;
|
|
343
|
-
var width = pick(legendOptions.symbolWidth, horiz ? ColorAxis.defaultLegendLength : 12);
|
|
344
|
-
var height = pick(legendOptions.symbolHeight, horiz ? 12 : ColorAxis.defaultLegendLength);
|
|
345
|
-
var labelPadding = pick(legendOptions.labelPadding, horiz ? 16 : 30);
|
|
346
|
-
var itemDistance = pick(legendOptions.itemDistance, 10);
|
|
347
|
-
this.setLegendColor();
|
|
348
|
-
// Create the gradient
|
|
349
|
-
item.legendSymbol = this.chart.renderer.rect(0, legend.baseline - 11, width, height).attr({
|
|
350
|
-
zIndex: 1
|
|
351
|
-
}).add(item.legendGroup);
|
|
352
|
-
// Set how much space this legend item takes up
|
|
353
|
-
axis.legendItemWidth = width + padding + (horiz ? itemDistance : labelPadding);
|
|
354
|
-
axis.legendItemHeight = height + padding + (horiz ? labelPadding : 0);
|
|
355
|
-
};
|
|
356
|
-
/**
|
|
357
|
-
* Fool the legend.
|
|
358
|
-
* @private
|
|
359
|
-
*/
|
|
360
|
-
ColorAxis.prototype.setState = function (state) {
|
|
361
|
-
this.series.forEach(function (series) {
|
|
362
|
-
series.setState(state);
|
|
363
|
-
});
|
|
364
|
-
};
|
|
365
|
-
/**
|
|
366
|
-
* @private
|
|
367
|
-
*/
|
|
368
|
-
ColorAxis.prototype.setVisible = function () {
|
|
369
|
-
};
|
|
370
|
-
/**
|
|
371
|
-
* @private
|
|
372
|
-
*/
|
|
373
|
-
ColorAxis.prototype.getSeriesExtremes = function () {
|
|
374
|
-
var axis = this;
|
|
375
|
-
var series = axis.series;
|
|
376
|
-
var colorValArray, colorKey, colorValIndex, pointArrayMap, calculatedExtremes, cSeries, i = series.length, yData, j;
|
|
377
|
-
this.dataMin = Infinity;
|
|
378
|
-
this.dataMax = -Infinity;
|
|
379
|
-
while (i--) { // x, y, value, other
|
|
380
|
-
cSeries = series[i];
|
|
381
|
-
colorKey = cSeries.colorKey = pick(cSeries.options.colorKey, cSeries.colorKey, cSeries.pointValKey, cSeries.zoneAxis, 'y');
|
|
382
|
-
pointArrayMap = cSeries.pointArrayMap;
|
|
383
|
-
calculatedExtremes = cSeries[colorKey + 'Min'] &&
|
|
384
|
-
cSeries[colorKey + 'Max'];
|
|
385
|
-
if (cSeries[colorKey + 'Data']) {
|
|
386
|
-
colorValArray = cSeries[colorKey + 'Data'];
|
|
387
|
-
}
|
|
388
|
-
else {
|
|
389
|
-
if (!pointArrayMap) {
|
|
390
|
-
colorValArray = cSeries.yData;
|
|
391
|
-
}
|
|
392
|
-
else {
|
|
393
|
-
colorValArray = [];
|
|
394
|
-
colorValIndex = pointArrayMap.indexOf(colorKey);
|
|
395
|
-
yData = cSeries.yData;
|
|
396
|
-
if (colorValIndex >= 0 && yData) {
|
|
397
|
-
for (j = 0; j < yData.length; j++) {
|
|
398
|
-
colorValArray.push(pick(yData[j][colorValIndex], yData[j]));
|
|
399
|
-
}
|
|
400
|
-
}
|
|
401
|
-
}
|
|
402
|
-
}
|
|
403
|
-
// If color key extremes are already calculated, use them.
|
|
404
|
-
if (calculatedExtremes) {
|
|
405
|
-
cSeries.minColorValue = cSeries[colorKey + 'Min'];
|
|
406
|
-
cSeries.maxColorValue = cSeries[colorKey + 'Max'];
|
|
407
|
-
}
|
|
408
|
-
else {
|
|
409
|
-
var cExtremes = Series.prototype.getExtremes.call(cSeries, colorValArray);
|
|
410
|
-
cSeries.minColorValue = cExtremes.dataMin;
|
|
411
|
-
cSeries.maxColorValue = cExtremes.dataMax;
|
|
412
|
-
}
|
|
413
|
-
if (typeof cSeries.minColorValue !== 'undefined') {
|
|
414
|
-
this.dataMin =
|
|
415
|
-
Math.min(this.dataMin, cSeries.minColorValue);
|
|
416
|
-
this.dataMax =
|
|
417
|
-
Math.max(this.dataMax, cSeries.maxColorValue);
|
|
418
|
-
}
|
|
419
|
-
if (!calculatedExtremes) {
|
|
420
|
-
Series.prototype.applyExtremes.call(cSeries);
|
|
421
|
-
}
|
|
422
|
-
}
|
|
423
|
-
};
|
|
424
|
-
/**
|
|
425
|
-
* Internal function to draw a crosshair.
|
|
426
|
-
*
|
|
427
|
-
* @function Highcharts.ColorAxis#drawCrosshair
|
|
428
|
-
*
|
|
429
|
-
* @param {Highcharts.PointerEventObject} [e]
|
|
430
|
-
* The event arguments from the modified pointer event, extended with
|
|
431
|
-
* `chartX` and `chartY`
|
|
432
|
-
*
|
|
433
|
-
* @param {Highcharts.Point} [point]
|
|
434
|
-
* The Point object if the crosshair snaps to points.
|
|
435
|
-
*
|
|
436
|
-
* @fires Highcharts.ColorAxis#event:afterDrawCrosshair
|
|
437
|
-
* @fires Highcharts.ColorAxis#event:drawCrosshair
|
|
438
|
-
*/
|
|
439
|
-
ColorAxis.prototype.drawCrosshair = function (e, point) {
|
|
440
|
-
var axis = this;
|
|
441
|
-
var plotX = point && point.plotX;
|
|
442
|
-
var plotY = point && point.plotY;
|
|
443
|
-
var axisPos = axis.pos;
|
|
444
|
-
var axisLen = axis.len;
|
|
445
|
-
var crossPos;
|
|
446
|
-
if (point) {
|
|
447
|
-
crossPos = axis.toPixels(point.getNestedProperty(point.series.colorKey));
|
|
448
|
-
if (crossPos < axisPos) {
|
|
449
|
-
crossPos = axisPos - 2;
|
|
450
|
-
}
|
|
451
|
-
else if (crossPos > axisPos + axisLen) {
|
|
452
|
-
crossPos = axisPos + axisLen + 2;
|
|
453
|
-
}
|
|
454
|
-
point.plotX = crossPos;
|
|
455
|
-
point.plotY = axis.len - crossPos;
|
|
456
|
-
_super.prototype.drawCrosshair.call(this, e, point);
|
|
457
|
-
point.plotX = plotX;
|
|
458
|
-
point.plotY = plotY;
|
|
459
|
-
if (axis.cross &&
|
|
460
|
-
!axis.cross.addedToColorAxis &&
|
|
461
|
-
axis.legendGroup) {
|
|
462
|
-
axis.cross
|
|
463
|
-
.addClass('highcharts-coloraxis-marker')
|
|
464
|
-
.add(axis.legendGroup);
|
|
465
|
-
axis.cross.addedToColorAxis = true;
|
|
466
|
-
if (!axis.chart.styledMode &&
|
|
467
|
-
typeof axis.crosshair === 'object') {
|
|
468
|
-
axis.cross.attr({
|
|
469
|
-
fill: axis.crosshair.color
|
|
470
|
-
});
|
|
471
|
-
}
|
|
472
|
-
}
|
|
473
|
-
}
|
|
474
|
-
};
|
|
475
|
-
/**
|
|
476
|
-
* @private
|
|
477
|
-
*/
|
|
478
|
-
ColorAxis.prototype.getPlotLinePath = function (options) {
|
|
479
|
-
var axis = this, left = axis.left, pos = options.translatedValue, top = axis.top;
|
|
480
|
-
// crosshairs only
|
|
481
|
-
return isNumber(pos) ? // pos can be 0 (#3969)
|
|
482
|
-
(axis.horiz ? [
|
|
483
|
-
['M', pos - 4, top - 6],
|
|
484
|
-
['L', pos + 4, top - 6],
|
|
485
|
-
['L', pos, top],
|
|
486
|
-
['Z']
|
|
487
|
-
] : [
|
|
488
|
-
['M', left, pos],
|
|
489
|
-
['L', left - 6, pos + 6],
|
|
490
|
-
['L', left - 6, pos - 6],
|
|
491
|
-
['Z']
|
|
492
|
-
]) :
|
|
493
|
-
_super.prototype.getPlotLinePath.call(this, options);
|
|
494
|
-
};
|
|
495
|
-
/**
|
|
496
|
-
* Updates a color axis instance with a new set of options. The options are
|
|
497
|
-
* merged with the existing options, so only new or altered options need to
|
|
498
|
-
* be specified.
|
|
499
|
-
*
|
|
500
|
-
* @function Highcharts.ColorAxis#update
|
|
501
|
-
*
|
|
502
|
-
* @param {Highcharts.ColorAxisOptions} newOptions
|
|
503
|
-
* The new options that will be merged in with existing options on the color
|
|
504
|
-
* axis.
|
|
505
|
-
*
|
|
506
|
-
* @param {boolean} [redraw]
|
|
507
|
-
* Whether to redraw the chart after the color axis is altered. If doing
|
|
508
|
-
* more operations on the chart, it is a good idea to set redraw to `false`
|
|
509
|
-
* and call {@link Highcharts.Chart#redraw} after.
|
|
510
|
-
*/
|
|
511
|
-
ColorAxis.prototype.update = function (newOptions, redraw) {
|
|
512
|
-
var axis = this, chart = axis.chart, legend = chart.legend;
|
|
513
|
-
this.series.forEach(function (series) {
|
|
514
|
-
// Needed for Axis.update when choropleth colors change
|
|
515
|
-
series.isDirtyData = true;
|
|
516
|
-
});
|
|
517
|
-
// When updating data classes, destroy old items and make sure new
|
|
518
|
-
// ones are created (#3207)
|
|
519
|
-
if (newOptions.dataClasses && legend.allItems || axis.dataClasses) {
|
|
520
|
-
axis.destroyItems();
|
|
521
|
-
}
|
|
522
|
-
_super.prototype.update.call(this, newOptions, redraw);
|
|
523
|
-
if (axis.legendItem) {
|
|
524
|
-
axis.setLegendColor();
|
|
525
|
-
legend.colorizeItem(this, true);
|
|
526
|
-
}
|
|
527
|
-
};
|
|
528
|
-
/**
|
|
529
|
-
* Destroy color axis legend items.
|
|
530
|
-
* @private
|
|
531
|
-
*/
|
|
532
|
-
ColorAxis.prototype.destroyItems = function () {
|
|
533
|
-
var axis = this;
|
|
534
|
-
var chart = axis.chart;
|
|
535
|
-
if (axis.legendItem) {
|
|
536
|
-
chart.legend.destroyItem(axis);
|
|
537
|
-
}
|
|
538
|
-
else if (axis.legendItems) {
|
|
539
|
-
axis.legendItems.forEach(function (item) {
|
|
540
|
-
chart.legend.destroyItem(item);
|
|
541
|
-
});
|
|
542
|
-
}
|
|
543
|
-
chart.isDirtyLegend = true;
|
|
544
|
-
};
|
|
545
|
-
// Removing the whole axis (#14283)
|
|
546
|
-
ColorAxis.prototype.destroy = function () {
|
|
547
|
-
this.chart.isDirtyLegend = true;
|
|
548
|
-
this.destroyItems();
|
|
549
|
-
_super.prototype.destroy.apply(this, [].slice.call(arguments));
|
|
550
|
-
};
|
|
551
|
-
/**
|
|
552
|
-
* Removes the color axis and the related legend item.
|
|
553
|
-
*
|
|
554
|
-
* @function Highcharts.ColorAxis#remove
|
|
555
|
-
*
|
|
556
|
-
* @param {boolean} [redraw=true]
|
|
557
|
-
* Whether to redraw the chart following the remove.
|
|
558
|
-
*/
|
|
559
|
-
ColorAxis.prototype.remove = function (redraw) {
|
|
560
|
-
this.destroyItems();
|
|
561
|
-
_super.prototype.remove.call(this, redraw);
|
|
562
|
-
};
|
|
563
|
-
/**
|
|
564
|
-
* Get the legend item symbols for data classes.
|
|
565
|
-
* @private
|
|
566
|
-
*/
|
|
567
|
-
ColorAxis.prototype.getDataClassLegendSymbols = function () {
|
|
568
|
-
var axis = this;
|
|
569
|
-
var chart = axis.chart;
|
|
570
|
-
var legendItems = axis.legendItems;
|
|
571
|
-
var legendOptions = chart.options.legend;
|
|
572
|
-
var valueDecimals = legendOptions.valueDecimals;
|
|
573
|
-
var valueSuffix = legendOptions.valueSuffix || '';
|
|
574
|
-
var name;
|
|
575
|
-
if (!legendItems.length) {
|
|
576
|
-
axis.dataClasses.forEach(function (dataClass, i) {
|
|
577
|
-
var vis = true, from = dataClass.from, to = dataClass.to;
|
|
578
|
-
var numberFormatter = chart.numberFormatter;
|
|
579
|
-
// Assemble the default name. This can be overridden
|
|
580
|
-
// by legend.options.labelFormatter
|
|
581
|
-
name = '';
|
|
582
|
-
if (typeof from === 'undefined') {
|
|
583
|
-
name = '< ';
|
|
584
|
-
}
|
|
585
|
-
else if (typeof to === 'undefined') {
|
|
586
|
-
name = '> ';
|
|
587
|
-
}
|
|
588
|
-
if (typeof from !== 'undefined') {
|
|
589
|
-
name += numberFormatter(from, valueDecimals) + valueSuffix;
|
|
590
|
-
}
|
|
591
|
-
if (typeof from !== 'undefined' && typeof to !== 'undefined') {
|
|
592
|
-
name += ' - ';
|
|
593
|
-
}
|
|
594
|
-
if (typeof to !== 'undefined') {
|
|
595
|
-
name += numberFormatter(to, valueDecimals) + valueSuffix;
|
|
596
|
-
}
|
|
597
|
-
// Add a mock object to the legend items
|
|
598
|
-
legendItems.push(extend({
|
|
599
|
-
chart: chart,
|
|
600
|
-
name: name,
|
|
601
|
-
options: {},
|
|
602
|
-
drawLegendSymbol: LegendSymbolMixin.drawRectangle,
|
|
603
|
-
visible: true,
|
|
604
|
-
setState: noop,
|
|
605
|
-
isDataClass: true,
|
|
606
|
-
setVisible: function () {
|
|
607
|
-
vis = axis.visible = !vis;
|
|
608
|
-
axis.series.forEach(function (series) {
|
|
609
|
-
series.points.forEach(function (point) {
|
|
610
|
-
if (point.dataClass === i) {
|
|
611
|
-
point.setVisible(vis);
|
|
612
|
-
}
|
|
613
|
-
});
|
|
614
|
-
});
|
|
615
|
-
chart.legend.colorizeItem(this, vis);
|
|
616
|
-
}
|
|
617
|
-
}, dataClass));
|
|
618
|
-
});
|
|
619
|
-
}
|
|
620
|
-
return legendItems;
|
|
621
|
-
};
|
|
622
|
-
/* *
|
|
623
|
-
*
|
|
624
|
-
* Static Functions
|
|
625
|
-
*
|
|
626
|
-
* */
|
|
627
|
-
ColorAxis.defaultLegendLength = 200;
|
|
628
|
-
/**
|
|
629
|
-
* A color axis for series. Visually, the color
|
|
630
|
-
* axis will appear as a gradient or as separate items inside the
|
|
631
|
-
* legend, depending on whether the axis is scalar or based on data
|
|
632
|
-
* classes.
|
|
633
|
-
*
|
|
634
|
-
* For supported color formats, see the
|
|
635
|
-
* [docs article about colors](https://www.highcharts.com/docs/chart-design-and-style/colors).
|
|
636
|
-
*
|
|
637
|
-
* A scalar color axis is represented by a gradient. The colors either
|
|
638
|
-
* range between the [minColor](#colorAxis.minColor) and the
|
|
639
|
-
* [maxColor](#colorAxis.maxColor), or for more fine grained control the
|
|
640
|
-
* colors can be defined in [stops](#colorAxis.stops). Often times, the
|
|
641
|
-
* color axis needs to be adjusted to get the right color spread for the
|
|
642
|
-
* data. In addition to stops, consider using a logarithmic
|
|
643
|
-
* [axis type](#colorAxis.type), or setting [min](#colorAxis.min) and
|
|
644
|
-
* [max](#colorAxis.max) to avoid the colors being determined by
|
|
645
|
-
* outliers.
|
|
646
|
-
*
|
|
647
|
-
* When [dataClasses](#colorAxis.dataClasses) are used, the ranges are
|
|
648
|
-
* subdivided into separate classes like categories based on their
|
|
649
|
-
* values. This can be used for ranges between two values, but also for
|
|
650
|
-
* a true category. However, when your data is categorized, it may be as
|
|
651
|
-
* convenient to add each category to a separate series.
|
|
652
|
-
*
|
|
653
|
-
* Color axis does not work with: `sankey`, `sunburst`, `dependencywheel`,
|
|
654
|
-
* `networkgraph`, `wordcloud`, `venn`, `gauge` and `solidgauge` series
|
|
655
|
-
* types.
|
|
656
|
-
*
|
|
657
|
-
* Since v7.2.0 `colorAxis` can also be an array of options objects.
|
|
658
|
-
*
|
|
659
|
-
* See [the Axis object](/class-reference/Highcharts.Axis) for
|
|
660
|
-
* programmatic access to the axis.
|
|
661
|
-
*
|
|
662
|
-
* @sample {highcharts} highcharts/coloraxis/custom-color-key
|
|
663
|
-
* Column chart with color axis
|
|
664
|
-
* @sample {highcharts} highcharts/coloraxis/horizontal-layout
|
|
665
|
-
* Horizontal layout
|
|
666
|
-
* @sample {highmaps} maps/coloraxis/dataclasscolor
|
|
667
|
-
* With data classes
|
|
668
|
-
* @sample {highmaps} maps/coloraxis/mincolor-maxcolor
|
|
669
|
-
* Min color and max color
|
|
670
|
-
*
|
|
671
|
-
* @extends xAxis
|
|
672
|
-
* @excluding alignTicks, allowDecimals, alternateGridColor, breaks,
|
|
673
|
-
* categories, crosshair, dateTimeLabelFormats, height, left,
|
|
674
|
-
* lineWidth, linkedTo, maxZoom, minRange, minTickInterval,
|
|
675
|
-
* offset, opposite, pane, plotBands, plotLines,
|
|
676
|
-
* reversedStacks, showEmpty, title, top, width, zoomEnabled
|
|
677
|
-
* @product highcharts highstock highmaps
|
|
678
|
-
* @type {*|Array<*>}
|
|
679
|
-
* @optionparent colorAxis
|
|
680
|
-
* @ignore
|
|
681
|
-
*/
|
|
682
|
-
ColorAxis.defaultColorAxisOptions = {
|
|
683
|
-
/**
|
|
684
|
-
* Whether to allow decimals on the color axis.
|
|
685
|
-
* @type {boolean}
|
|
686
|
-
* @default true
|
|
687
|
-
* @product highcharts highstock highmaps
|
|
688
|
-
* @apioption colorAxis.allowDecimals
|
|
689
|
-
*/
|
|
690
|
-
/**
|
|
691
|
-
* Determines how to set each data class' color if no individual
|
|
692
|
-
* color is set. The default value, `tween`, computes intermediate
|
|
693
|
-
* colors between `minColor` and `maxColor`. The other possible
|
|
694
|
-
* value, `category`, pulls colors from the global or chart specific
|
|
695
|
-
* [colors](#colors) array.
|
|
696
|
-
*
|
|
697
|
-
* @sample {highmaps} maps/coloraxis/dataclasscolor/
|
|
698
|
-
* Category colors
|
|
699
|
-
*
|
|
700
|
-
* @type {string}
|
|
701
|
-
* @default tween
|
|
702
|
-
* @product highcharts highstock highmaps
|
|
703
|
-
* @validvalue ["tween", "category"]
|
|
704
|
-
* @apioption colorAxis.dataClassColor
|
|
705
|
-
*/
|
|
706
|
-
/**
|
|
707
|
-
* An array of data classes or ranges for the choropleth map. If
|
|
708
|
-
* none given, the color axis is scalar and values are distributed
|
|
709
|
-
* as a gradient between the minimum and maximum colors.
|
|
710
|
-
*
|
|
711
|
-
* @sample {highmaps} maps/demo/data-class-ranges/
|
|
712
|
-
* Multiple ranges
|
|
713
|
-
*
|
|
714
|
-
* @sample {highmaps} maps/demo/data-class-two-ranges/
|
|
715
|
-
* Two ranges
|
|
716
|
-
*
|
|
717
|
-
* @type {Array<*>}
|
|
718
|
-
* @product highcharts highstock highmaps
|
|
719
|
-
* @apioption colorAxis.dataClasses
|
|
720
|
-
*/
|
|
721
|
-
/**
|
|
722
|
-
* The layout of the color axis. Can be `'horizontal'` or `'vertical'`.
|
|
723
|
-
* If none given, the color axis has the same layout as the legend.
|
|
724
|
-
*
|
|
725
|
-
* @sample highcharts/coloraxis/horizontal-layout/
|
|
726
|
-
* Horizontal color axis layout with vertical legend
|
|
727
|
-
*
|
|
728
|
-
* @type {string|undefined}
|
|
729
|
-
* @since 7.2.0
|
|
730
|
-
* @product highcharts highstock highmaps
|
|
731
|
-
* @apioption colorAxis.layout
|
|
732
|
-
*/
|
|
733
|
-
/**
|
|
734
|
-
* The color of each data class. If not set, the color is pulled
|
|
735
|
-
* from the global or chart-specific [colors](#colors) array. In
|
|
736
|
-
* styled mode, this option is ignored. Instead, use colors defined
|
|
737
|
-
* in CSS.
|
|
738
|
-
*
|
|
739
|
-
* @sample {highmaps} maps/demo/data-class-two-ranges/
|
|
740
|
-
* Explicit colors
|
|
741
|
-
*
|
|
742
|
-
* @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
|
|
743
|
-
* @product highcharts highstock highmaps
|
|
744
|
-
* @apioption colorAxis.dataClasses.color
|
|
745
|
-
*/
|
|
746
|
-
/**
|
|
747
|
-
* The start of the value range that the data class represents,
|
|
748
|
-
* relating to the point value.
|
|
749
|
-
*
|
|
750
|
-
* The range of each `dataClass` is closed in both ends, but can be
|
|
751
|
-
* overridden by the next `dataClass`.
|
|
752
|
-
*
|
|
753
|
-
* @type {number}
|
|
754
|
-
* @product highcharts highstock highmaps
|
|
755
|
-
* @apioption colorAxis.dataClasses.from
|
|
756
|
-
*/
|
|
757
|
-
/**
|
|
758
|
-
* The name of the data class as it appears in the legend.
|
|
759
|
-
* If no name is given, it is automatically created based on the
|
|
760
|
-
* `from` and `to` values. For full programmatic control,
|
|
761
|
-
* [legend.labelFormatter](#legend.labelFormatter) can be used.
|
|
762
|
-
* In the formatter, `this.from` and `this.to` can be accessed.
|
|
763
|
-
*
|
|
764
|
-
* @sample {highmaps} maps/coloraxis/dataclasses-name/
|
|
765
|
-
* Named data classes
|
|
766
|
-
*
|
|
767
|
-
* @sample {highmaps} maps/coloraxis/dataclasses-labelformatter/
|
|
768
|
-
* Formatted data classes
|
|
769
|
-
*
|
|
770
|
-
* @type {string}
|
|
771
|
-
* @product highcharts highstock highmaps
|
|
772
|
-
* @apioption colorAxis.dataClasses.name
|
|
773
|
-
*/
|
|
774
|
-
/**
|
|
775
|
-
* The end of the value range that the data class represents,
|
|
776
|
-
* relating to the point value.
|
|
777
|
-
*
|
|
778
|
-
* The range of each `dataClass` is closed in both ends, but can be
|
|
779
|
-
* overridden by the next `dataClass`.
|
|
780
|
-
*
|
|
781
|
-
* @type {number}
|
|
782
|
-
* @product highcharts highstock highmaps
|
|
783
|
-
* @apioption colorAxis.dataClasses.to
|
|
784
|
-
*/
|
|
785
|
-
/** @ignore-option */
|
|
786
|
-
lineWidth: 0,
|
|
787
|
-
/**
|
|
788
|
-
* Padding of the min value relative to the length of the axis. A
|
|
789
|
-
* padding of 0.05 will make a 100px axis 5px longer.
|
|
790
|
-
*
|
|
791
|
-
* @product highcharts highstock highmaps
|
|
792
|
-
*/
|
|
793
|
-
minPadding: 0,
|
|
794
|
-
/**
|
|
795
|
-
* The maximum value of the axis in terms of map point values. If
|
|
796
|
-
* `null`, the max value is automatically calculated. If the
|
|
797
|
-
* `endOnTick` option is true, the max value might be rounded up.
|
|
798
|
-
*
|
|
799
|
-
* @sample {highmaps} maps/coloraxis/gridlines/
|
|
800
|
-
* Explicit min and max to reduce the effect of outliers
|
|
801
|
-
*
|
|
802
|
-
* @type {number}
|
|
803
|
-
* @product highcharts highstock highmaps
|
|
804
|
-
* @apioption colorAxis.max
|
|
805
|
-
*/
|
|
806
|
-
/**
|
|
807
|
-
* The minimum value of the axis in terms of map point values. If
|
|
808
|
-
* `null`, the min value is automatically calculated. If the
|
|
809
|
-
* `startOnTick` option is true, the min value might be rounded
|
|
810
|
-
* down.
|
|
811
|
-
*
|
|
812
|
-
* @sample {highmaps} maps/coloraxis/gridlines/
|
|
813
|
-
* Explicit min and max to reduce the effect of outliers
|
|
814
|
-
*
|
|
815
|
-
* @type {number}
|
|
816
|
-
* @product highcharts highstock highmaps
|
|
817
|
-
* @apioption colorAxis.min
|
|
818
|
-
*/
|
|
819
|
-
/**
|
|
820
|
-
* Padding of the max value relative to the length of the axis. A
|
|
821
|
-
* padding of 0.05 will make a 100px axis 5px longer.
|
|
822
|
-
*
|
|
823
|
-
* @product highcharts highstock highmaps
|
|
824
|
-
*/
|
|
825
|
-
maxPadding: 0,
|
|
826
|
-
/**
|
|
827
|
-
* Color of the grid lines extending from the axis across the
|
|
828
|
-
* gradient.
|
|
829
|
-
*
|
|
830
|
-
* @sample {highmaps} maps/coloraxis/gridlines/
|
|
831
|
-
* Grid lines demonstrated
|
|
832
|
-
*
|
|
833
|
-
* @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
|
|
834
|
-
* @default #e6e6e6
|
|
835
|
-
* @product highcharts highstock highmaps
|
|
836
|
-
* @apioption colorAxis.gridLineColor
|
|
837
|
-
*/
|
|
838
|
-
/**
|
|
839
|
-
* The width of the grid lines extending from the axis across the
|
|
840
|
-
* gradient of a scalar color axis.
|
|
841
|
-
*
|
|
842
|
-
* @sample {highmaps} maps/coloraxis/gridlines/
|
|
843
|
-
* Grid lines demonstrated
|
|
844
|
-
*
|
|
845
|
-
* @product highcharts highstock highmaps
|
|
846
|
-
*/
|
|
847
|
-
gridLineWidth: 1,
|
|
848
|
-
/**
|
|
849
|
-
* The interval of the tick marks in axis units. When `null`, the
|
|
850
|
-
* tick interval is computed to approximately follow the
|
|
851
|
-
* `tickPixelInterval`.
|
|
852
|
-
*
|
|
853
|
-
* @type {number}
|
|
854
|
-
* @product highcharts highstock highmaps
|
|
855
|
-
* @apioption colorAxis.tickInterval
|
|
856
|
-
*/
|
|
857
|
-
/**
|
|
858
|
-
* If [tickInterval](#colorAxis.tickInterval) is `null` this option
|
|
859
|
-
* sets the approximate pixel interval of the tick marks.
|
|
860
|
-
*
|
|
861
|
-
* @product highcharts highstock highmaps
|
|
862
|
-
*/
|
|
863
|
-
tickPixelInterval: 72,
|
|
864
|
-
/**
|
|
865
|
-
* Whether to force the axis to start on a tick. Use this option
|
|
866
|
-
* with the `maxPadding` option to control the axis start.
|
|
867
|
-
*
|
|
868
|
-
* @product highcharts highstock highmaps
|
|
869
|
-
*/
|
|
870
|
-
startOnTick: true,
|
|
871
|
-
/**
|
|
872
|
-
* Whether to force the axis to end on a tick. Use this option with
|
|
873
|
-
* the [maxPadding](#colorAxis.maxPadding) option to control the
|
|
874
|
-
* axis end.
|
|
875
|
-
*
|
|
876
|
-
* @product highcharts highstock highmaps
|
|
877
|
-
*/
|
|
878
|
-
endOnTick: true,
|
|
879
|
-
/** @ignore */
|
|
880
|
-
offset: 0,
|
|
881
|
-
/**
|
|
882
|
-
* The triangular marker on a scalar color axis that points to the
|
|
883
|
-
* value of the hovered area. To disable the marker, set
|
|
884
|
-
* `marker: null`.
|
|
885
|
-
*
|
|
886
|
-
* @sample {highmaps} maps/coloraxis/marker/
|
|
887
|
-
* Black marker
|
|
888
|
-
*
|
|
889
|
-
* @declare Highcharts.PointMarkerOptionsObject
|
|
890
|
-
* @product highcharts highstock highmaps
|
|
891
|
-
*/
|
|
892
|
-
marker: {
|
|
893
|
-
/**
|
|
894
|
-
* Animation for the marker as it moves between values. Set to
|
|
895
|
-
* `false` to disable animation. Defaults to `{ duration: 50 }`.
|
|
896
|
-
*
|
|
897
|
-
* @type {boolean|Partial<Highcharts.AnimationOptionsObject>}
|
|
898
|
-
* @product highcharts highstock highmaps
|
|
899
|
-
*/
|
|
900
|
-
animation: {
|
|
901
|
-
/** @internal */
|
|
902
|
-
duration: 50
|
|
903
|
-
},
|
|
904
|
-
/** @internal */
|
|
905
|
-
width: 0.01,
|
|
906
|
-
/**
|
|
907
|
-
* The color of the marker.
|
|
908
|
-
*
|
|
909
|
-
* @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
|
|
910
|
-
* @product highcharts highstock highmaps
|
|
911
|
-
*/
|
|
912
|
-
color: palette.neutralColor40
|
|
913
|
-
},
|
|
914
|
-
/**
|
|
915
|
-
* The axis labels show the number for each tick.
|
|
916
|
-
*
|
|
917
|
-
* For more live examples on label options, see [xAxis.labels in the
|
|
918
|
-
* Highcharts API.](/highcharts#xAxis.labels)
|
|
919
|
-
*
|
|
920
|
-
* @extends xAxis.labels
|
|
921
|
-
* @product highcharts highstock highmaps
|
|
922
|
-
*/
|
|
923
|
-
labels: {
|
|
924
|
-
/**
|
|
925
|
-
* How to handle overflowing labels on horizontal color axis. If set
|
|
926
|
-
* to `"allow"`, it will not be aligned at all. By default it
|
|
927
|
-
* `"justify"` labels inside the chart area. If there is room to
|
|
928
|
-
* move it, it will be aligned to the edge, else it will be removed.
|
|
929
|
-
*
|
|
930
|
-
* @validvalue ["allow", "justify"]
|
|
931
|
-
* @product highcharts highstock highmaps
|
|
932
|
-
*/
|
|
933
|
-
overflow: 'justify',
|
|
934
|
-
rotation: 0
|
|
935
|
-
},
|
|
936
|
-
/**
|
|
937
|
-
* The color to represent the minimum of the color axis. Unless
|
|
938
|
-
* [dataClasses](#colorAxis.dataClasses) or
|
|
939
|
-
* [stops](#colorAxis.stops) are set, the gradient starts at this
|
|
940
|
-
* value.
|
|
941
|
-
*
|
|
942
|
-
* If dataClasses are set, the color is based on minColor and
|
|
943
|
-
* maxColor unless a color is set for each data class, or the
|
|
944
|
-
* [dataClassColor](#colorAxis.dataClassColor) is set.
|
|
945
|
-
*
|
|
946
|
-
* @sample {highmaps} maps/coloraxis/mincolor-maxcolor/
|
|
947
|
-
* Min and max colors on scalar (gradient) axis
|
|
948
|
-
* @sample {highmaps} maps/coloraxis/mincolor-maxcolor-dataclasses/
|
|
949
|
-
* On data classes
|
|
950
|
-
*
|
|
951
|
-
* @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
|
|
952
|
-
* @product highcharts highstock highmaps
|
|
953
|
-
*/
|
|
954
|
-
minColor: palette.highlightColor10,
|
|
955
|
-
/**
|
|
956
|
-
* The color to represent the maximum of the color axis. Unless
|
|
957
|
-
* [dataClasses](#colorAxis.dataClasses) or
|
|
958
|
-
* [stops](#colorAxis.stops) are set, the gradient ends at this
|
|
959
|
-
* value.
|
|
960
|
-
*
|
|
961
|
-
* If dataClasses are set, the color is based on minColor and
|
|
962
|
-
* maxColor unless a color is set for each data class, or the
|
|
963
|
-
* [dataClassColor](#colorAxis.dataClassColor) is set.
|
|
964
|
-
*
|
|
965
|
-
* @sample {highmaps} maps/coloraxis/mincolor-maxcolor/
|
|
966
|
-
* Min and max colors on scalar (gradient) axis
|
|
967
|
-
* @sample {highmaps} maps/coloraxis/mincolor-maxcolor-dataclasses/
|
|
968
|
-
* On data classes
|
|
969
|
-
*
|
|
970
|
-
* @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
|
|
971
|
-
* @product highcharts highstock highmaps
|
|
972
|
-
*/
|
|
973
|
-
maxColor: palette.highlightColor100,
|
|
974
|
-
/**
|
|
975
|
-
* Color stops for the gradient of a scalar color axis. Use this in
|
|
976
|
-
* cases where a linear gradient between a `minColor` and `maxColor`
|
|
977
|
-
* is not sufficient. The stops is an array of tuples, where the
|
|
978
|
-
* first item is a float between 0 and 1 assigning the relative
|
|
979
|
-
* position in the gradient, and the second item is the color.
|
|
980
|
-
*
|
|
981
|
-
* @sample {highmaps} maps/demo/heatmap/
|
|
982
|
-
* Heatmap with three color stops
|
|
983
|
-
*
|
|
984
|
-
* @type {Array<Array<number,Highcharts.ColorString>>}
|
|
985
|
-
* @product highcharts highstock highmaps
|
|
986
|
-
* @apioption colorAxis.stops
|
|
987
|
-
*/
|
|
988
|
-
/**
|
|
989
|
-
* The pixel length of the main tick marks on the color axis.
|
|
990
|
-
*/
|
|
991
|
-
tickLength: 5,
|
|
992
|
-
/**
|
|
993
|
-
* The type of interpolation to use for the color axis. Can be
|
|
994
|
-
* `linear` or `logarithmic`.
|
|
995
|
-
*
|
|
996
|
-
* @sample highcharts/coloraxis/logarithmic-with-emulate-negative-values/
|
|
997
|
-
* Logarithmic color axis with extension to emulate negative
|
|
998
|
-
* values
|
|
999
|
-
*
|
|
1000
|
-
* @type {Highcharts.ColorAxisTypeValue}
|
|
1001
|
-
* @default linear
|
|
1002
|
-
* @product highcharts highstock highmaps
|
|
1003
|
-
* @apioption colorAxis.type
|
|
1004
|
-
*/
|
|
1005
|
-
/**
|
|
1006
|
-
* Whether to reverse the axis so that the highest number is closest
|
|
1007
|
-
* to the origin. Defaults to `false` in a horizontal legend and
|
|
1008
|
-
* `true` in a vertical legend, where the smallest value starts on
|
|
1009
|
-
* top.
|
|
1010
|
-
*
|
|
1011
|
-
* @type {boolean}
|
|
1012
|
-
* @product highcharts highstock highmaps
|
|
1013
|
-
* @apioption colorAxis.reversed
|
|
1014
|
-
*/
|
|
1015
|
-
/**
|
|
1016
|
-
* @product highcharts highstock highmaps
|
|
1017
|
-
* @excluding afterBreaks, pointBreak, pointInBreak
|
|
1018
|
-
* @apioption colorAxis.events
|
|
1019
|
-
*/
|
|
1020
|
-
/**
|
|
1021
|
-
* Fires when the legend item belonging to the colorAxis is clicked.
|
|
1022
|
-
* One parameter, `event`, is passed to the function.
|
|
1023
|
-
*
|
|
1024
|
-
* @type {Function}
|
|
1025
|
-
* @product highcharts highstock highmaps
|
|
1026
|
-
* @apioption colorAxis.events.legendItemClick
|
|
1027
|
-
*/
|
|
1028
|
-
/**
|
|
1029
|
-
* Whether to display the colorAxis in the legend.
|
|
1030
|
-
*
|
|
1031
|
-
* @sample highcharts/coloraxis/hidden-coloraxis-with-3d-chart/
|
|
1032
|
-
* Hidden color axis with 3d chart
|
|
1033
|
-
*
|
|
1034
|
-
* @see [heatmap.showInLegend](#series.heatmap.showInLegend)
|
|
1035
|
-
*
|
|
1036
|
-
* @since 4.2.7
|
|
1037
|
-
* @product highcharts highstock highmaps
|
|
1038
|
-
*/
|
|
1039
|
-
showInLegend: true
|
|
1040
|
-
};
|
|
1041
|
-
/**
|
|
1042
|
-
* @private
|
|
1043
|
-
*/
|
|
1044
|
-
ColorAxis.keepProps = [
|
|
1045
|
-
'legendGroup',
|
|
1046
|
-
'legendItemHeight',
|
|
1047
|
-
'legendItemWidth',
|
|
1048
|
-
'legendItem',
|
|
1049
|
-
'legendSymbol'
|
|
1050
|
-
];
|
|
1051
|
-
return ColorAxis;
|
|
1052
|
-
}(Axis));
|
|
1053
|
-
// Properties to preserve after destroy, for Axis.update (#5881, #6025).
|
|
1054
|
-
Array.prototype.push.apply(Axis.keepProps, ColorAxis.keepProps);
|
|
1055
|
-
H.ColorAxis = ColorAxis;
|
|
1056
|
-
/**
|
|
1057
|
-
* Handle animation of the color attributes directly
|
|
1058
|
-
*
|
|
1059
|
-
* @private
|
|
1060
|
-
* @function Highcharts.Fx#fillSetter
|
|
1061
|
-
*/ /**
|
|
1062
|
-
* Handle animation of the color attributes directly
|
|
1063
|
-
*
|
|
1064
|
-
* @private
|
|
1065
|
-
* @function Highcharts.Fx#strokeSetter
|
|
1066
|
-
*/
|
|
1067
|
-
['fill', 'stroke'].forEach(function (prop) {
|
|
1068
|
-
Fx.prototype[prop + 'Setter'] = function () {
|
|
1069
|
-
this.elem.attr(prop, color(this.start).tweenTo(color(this.end), this.pos), null, true);
|
|
1070
|
-
};
|
|
1071
|
-
});
|
|
1072
|
-
// Extend the chart getAxes method to also get the color axis
|
|
1073
|
-
addEvent(Chart, 'afterGetAxes', function () {
|
|
1074
|
-
var chart = this, options = chart.options;
|
|
1075
|
-
this.colorAxis = [];
|
|
1076
|
-
if (options.colorAxis) {
|
|
1077
|
-
options.colorAxis = splat(options.colorAxis);
|
|
1078
|
-
options.colorAxis.forEach(function (axisOptions, i) {
|
|
1079
|
-
axisOptions.index = i;
|
|
1080
|
-
new ColorAxis(chart, axisOptions); // eslint-disable-line no-new
|
|
1081
|
-
});
|
|
1082
|
-
}
|
|
1083
|
-
});
|
|
1084
|
-
// Add colorAxis to series axisTypes
|
|
1085
|
-
addEvent(Series, 'bindAxes', function () {
|
|
1086
|
-
var axisTypes = this.axisTypes;
|
|
1087
|
-
if (!axisTypes) {
|
|
1088
|
-
this.axisTypes = ['colorAxis'];
|
|
1089
|
-
}
|
|
1090
|
-
else if (axisTypes.indexOf('colorAxis') === -1) {
|
|
1091
|
-
axisTypes.push('colorAxis');
|
|
1092
|
-
}
|
|
1093
|
-
});
|
|
1094
|
-
// Add the color axis. This also removes the axis' own series to prevent
|
|
1095
|
-
// them from showing up individually.
|
|
1096
|
-
addEvent(Legend, 'afterGetAllItems', function (e) {
|
|
1097
|
-
var _this = this;
|
|
1098
|
-
var colorAxisItems = [], colorAxes = this.chart.colorAxis || [], options, i;
|
|
1099
|
-
var destroyItem = function (item) {
|
|
1100
|
-
var i = e.allItems.indexOf(item);
|
|
1101
|
-
if (i !== -1) {
|
|
1102
|
-
// #15436
|
|
1103
|
-
_this.destroyItem(e.allItems[i]);
|
|
1104
|
-
e.allItems.splice(i, 1);
|
|
1105
|
-
}
|
|
1106
|
-
};
|
|
1107
|
-
colorAxes.forEach(function (colorAxis) {
|
|
1108
|
-
options = colorAxis.options;
|
|
1109
|
-
if (options && options.showInLegend) {
|
|
1110
|
-
// Data classes
|
|
1111
|
-
if (options.dataClasses && options.visible) {
|
|
1112
|
-
colorAxisItems = colorAxisItems.concat(colorAxis.getDataClassLegendSymbols());
|
|
1113
|
-
// Gradient legend
|
|
1114
|
-
}
|
|
1115
|
-
else if (options.visible) {
|
|
1116
|
-
// Add this axis on top
|
|
1117
|
-
colorAxisItems.push(colorAxis);
|
|
1118
|
-
}
|
|
1119
|
-
// If dataClasses are defined or showInLegend option is not set to
|
|
1120
|
-
// true, do not add color axis' series to legend.
|
|
1121
|
-
colorAxis.series.forEach(function (series) {
|
|
1122
|
-
if (!series.options.showInLegend || options.dataClasses) {
|
|
1123
|
-
if (series.options.legendType === 'point') {
|
|
1124
|
-
series.points.forEach(function (point) {
|
|
1125
|
-
destroyItem(point);
|
|
1126
|
-
});
|
|
1127
|
-
}
|
|
1128
|
-
else {
|
|
1129
|
-
destroyItem(series);
|
|
1130
|
-
}
|
|
1131
|
-
}
|
|
1132
|
-
});
|
|
1133
|
-
}
|
|
1134
|
-
});
|
|
1135
|
-
i = colorAxisItems.length;
|
|
1136
|
-
while (i--) {
|
|
1137
|
-
e.allItems.unshift(colorAxisItems[i]);
|
|
1138
|
-
}
|
|
1139
|
-
});
|
|
1140
|
-
addEvent(Legend, 'afterColorizeItem', function (e) {
|
|
1141
|
-
if (e.visible && e.item.legendColor) {
|
|
1142
|
-
e.item.legendSymbol.attr({
|
|
1143
|
-
fill: e.item.legendColor
|
|
1144
|
-
});
|
|
1145
|
-
}
|
|
1146
|
-
});
|
|
1147
|
-
// Updates in the legend need to be reflected in the color axis (6888)
|
|
1148
|
-
addEvent(Legend, 'afterUpdate', function () {
|
|
1149
|
-
var colorAxes = this.chart.colorAxis;
|
|
1150
|
-
if (colorAxes) {
|
|
1151
|
-
colorAxes.forEach(function (colorAxis) {
|
|
1152
|
-
colorAxis.update({}, arguments[2]);
|
|
1153
|
-
});
|
|
1154
|
-
}
|
|
1155
|
-
});
|
|
1156
|
-
// Calculate and set colors for points
|
|
1157
|
-
addEvent(Series, 'afterTranslate', function () {
|
|
1158
|
-
if (this.chart.colorAxis &&
|
|
1159
|
-
this.chart.colorAxis.length ||
|
|
1160
|
-
this.colorAttribs) {
|
|
1161
|
-
this.translateColors();
|
|
1162
|
-
}
|
|
1163
|
-
});
|
|
1164
|
-
export default ColorAxis;
|