highcharts 10.1.0 → 10.2.0
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/es-modules/Accessibility/Accessibility.js +2 -3
- package/es-modules/Accessibility/Components/AnnotationsA11y.js +3 -3
- package/es-modules/Accessibility/Components/ContainerComponent.js +3 -1
- package/es-modules/Accessibility/Components/InfoRegionsComponent.js +5 -3
- package/es-modules/Accessibility/Components/LegendComponent.js +3 -3
- package/es-modules/Accessibility/Components/MenuComponent.js +3 -1
- package/es-modules/Accessibility/Components/RangeSelectorComponent.js +3 -1
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +3 -1
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +12 -6
- package/es-modules/Accessibility/Components/ZoomComponent.js +30 -70
- package/es-modules/Accessibility/HighContrastMode.js +1 -1
- package/es-modules/Accessibility/KeyboardNavigation.js +2 -2
- package/es-modules/Accessibility/Options/{Options.js → A11yDefaults.js} +6 -1
- package/es-modules/Accessibility/Options/DeprecatedOptions.js +12 -2
- package/es-modules/Accessibility/Options/{LangOptions.js → LangDefaults.js} +10 -0
- package/es-modules/Accessibility/Utils/ChartUtilities.js +1 -1
- package/es-modules/Core/Animation/Fx.js +1 -1
- package/es-modules/Core/Axis/Axis.js +18 -19
- package/es-modules/Core/Axis/AxisDefaults.js +8 -8
- package/es-modules/Core/Axis/Color/ColorAxis.js +4 -2
- package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +3 -3
- package/es-modules/Core/Axis/DateTimeAxis.js +5 -3
- package/es-modules/Core/Axis/GridAxis.js +817 -821
- package/es-modules/Core/Axis/OrdinalAxis.js +23 -1
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +2 -2
- package/es-modules/Core/Axis/Tick.js +20 -16
- package/es-modules/Core/Axis/TreeGridTick.js +2 -2
- package/es-modules/Core/Axis/ZAxis.js +3 -1
- package/es-modules/Core/Chart/Chart.js +13 -12
- package/es-modules/Core/Chart/ChartDefaults.js +3 -3
- package/es-modules/Core/Chart/GanttChart.js +3 -1
- package/es-modules/Core/Chart/MapChart.js +3 -1
- package/es-modules/Core/Chart/StockChart.js +6 -4
- package/es-modules/Core/Color/Color.js +1 -1
- package/es-modules/Core/DefaultOptions.js +11 -11
- package/es-modules/Core/Globals.js +1 -1
- package/es-modules/Core/HttpUtilities.js +39 -37
- package/es-modules/Core/Legend/Legend.js +3 -3
- package/es-modules/Core/MSPointer.js +3 -1
- package/es-modules/Core/Navigator.js +6 -6
- package/es-modules/Core/Pointer.js +1 -1
- package/es-modules/Core/Renderer/HTML/AST.js +1 -1
- package/es-modules/Core/Renderer/HTML/HTMLElement.js +3 -1
- package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +3 -1
- package/es-modules/Core/Renderer/SVG/SVGElement.js +7 -7
- package/es-modules/Core/Renderer/SVG/SVGLabel.js +3 -1
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +37 -35
- package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +3 -1
- package/es-modules/Core/ScrollbarDefaults.js +8 -8
- package/es-modules/Core/Series/DataLabel.js +2 -2
- package/es-modules/Core/Series/Point.js +9 -0
- package/es-modules/Core/Series/Series.js +5 -5
- package/es-modules/Core/Series/Series3D.js +3 -1
- package/es-modules/Core/Series/SeriesDefaults.js +3 -3
- package/es-modules/Core/Time.js +6 -7
- package/es-modules/Core/Tooltip.js +3 -3
- package/es-modules/Core/Utilities.js +5 -5
- package/es-modules/Data/DataConverter.js +1 -1
- package/es-modules/Data/DataTable.js +12 -10
- package/es-modules/Data/Modifiers/ChainModifier.js +3 -1
- package/es-modules/Data/Modifiers/GroupModifier.js +3 -1
- package/es-modules/Data/Modifiers/InvertModifier.js +9 -7
- package/es-modules/Data/Modifiers/RangeModifier.js +3 -1
- package/es-modules/Data/Modifiers/SeriesPointsModifier.js +3 -1
- package/es-modules/Data/Modifiers/SortModifier.js +3 -1
- package/es-modules/Data/Parsers/CSVParser.js +3 -1
- package/es-modules/Data/Parsers/DataParser.js +1 -1
- package/es-modules/Data/Parsers/GoogleSheetsParser.js +3 -2
- package/es-modules/Data/Parsers/HTMLTableParser.js +3 -1
- package/es-modules/Data/Stores/CSVStore.js +8 -5
- package/es-modules/Data/Stores/GoogleSheetsStore.js +3 -1
- package/es-modules/Data/Stores/HTMLTableStore.js +3 -1
- package/es-modules/Extensions/Annotations/{Annotations.js → Annotation.js} +21 -9
- package/es-modules/Extensions/Annotations/AnnotationsDefaults.js +0 -0
- package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +5 -2
- package/es-modules/Extensions/Annotations/NavigationBindings.js +8 -5
- package/es-modules/Extensions/Annotations/Popup.js +2 -2
- package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +13 -9
- package/es-modules/Extensions/Annotations/Types/CrookedLine.js +4 -2
- package/es-modules/Extensions/Annotations/Types/ElliottWave.js +4 -2
- package/es-modules/Extensions/Annotations/Types/Fibonacci.js +5 -3
- package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +4 -2
- package/es-modules/Extensions/Annotations/Types/InfinityLine.js +4 -2
- package/es-modules/Extensions/Annotations/Types/Measure.js +4 -2
- package/es-modules/Extensions/Annotations/Types/Pitchfork.js +4 -2
- package/es-modules/Extensions/Annotations/Types/TimeCycles.js +4 -2
- package/es-modules/Extensions/Annotations/Types/Tunnel.js +5 -2
- package/es-modules/Extensions/Annotations/Types/VerticalLine.js +4 -2
- package/es-modules/Extensions/Boost/BoostAttach.js +5 -1
- package/es-modules/Extensions/Boost/BoostInit.js +3 -2
- package/es-modules/Extensions/BoostCanvas.js +11 -5
- package/es-modules/Extensions/Breadcrumbs.js +31 -6
- package/es-modules/Extensions/CurrentDateIndication.js +1 -1
- package/es-modules/Extensions/Data.js +638 -602
- package/es-modules/Extensions/DownloadURL.js +3 -3
- package/es-modules/Extensions/DragPanes.js +1 -1
- package/es-modules/Extensions/Drilldown.js +2 -2
- package/es-modules/Extensions/ExportData.js +57 -7
- package/es-modules/Extensions/Exporting/Exporting.js +3 -3
- package/es-modules/Extensions/Exporting/ExportingDefaults.js +7 -7
- package/es-modules/Extensions/GeoJSON.js +0 -2
- package/es-modules/Extensions/MarkerClusters.js +3 -3
- package/es-modules/Extensions/NoDataToDisplay.js +1 -1
- package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
- package/es-modules/Extensions/Oldie/Oldie.js +2 -2
- package/es-modules/Extensions/Pane.js +3 -3
- package/es-modules/Extensions/ParallelCoordinates.js +1 -1
- package/es-modules/Extensions/PatternFill.js +14 -2
- package/es-modules/Extensions/RangeSelector.js +29 -18
- package/es-modules/Extensions/ScrollablePlotArea.js +3 -3
- package/es-modules/Extensions/{SeriesLabel.js → SeriesLabel/SeriesLabel.js} +262 -384
- package/es-modules/Extensions/SeriesLabel/SeriesLabelDefaults.js +124 -0
- package/es-modules/Extensions/SeriesLabel/SeriesLabelUtilities.js +67 -0
- package/es-modules/Extensions/Sonification/Earcon.js +1 -1
- package/es-modules/Extensions/Stacking.js +1 -1
- package/es-modules/Maps/MapNavigation.js +2 -2
- package/es-modules/Maps/MapView.js +23 -16
- package/es-modules/Maps/MapViewInsetsOptionsDefault.js +1 -1
- package/es-modules/Maps/Projection.js +13 -11
- package/es-modules/Series/ArcDiagram/ArcDiagramPoint.js +3 -1
- package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +3 -1
- package/es-modules/Series/Area/AreaSeries.js +21 -14
- package/es-modules/Series/AreaRange/AreaRangePoint.js +24 -11
- package/es-modules/Series/AreaRange/AreaRangeSeries.js +154 -147
- package/es-modules/Series/AreaSpline/AreaSplineSeries.js +45 -41
- package/es-modules/Series/AreaSplineRange/AreaSplineRangeSeries.js +43 -43
- package/es-modules/Series/Bar/BarSeries.js +3 -1
- package/es-modules/Series/Bellcurve/BellcurveSeries.js +3 -1
- package/es-modules/Series/BoxPlot/BoxPlotSeries.js +4 -2
- package/es-modules/Series/Bubble/BubbleLegendDefaults.js +1 -1
- package/es-modules/Series/Bubble/BubblePoint.js +3 -1
- package/es-modules/Series/Bubble/BubbleSeries.js +15 -6
- package/es-modules/Series/Bullet/BulletPoint.js +3 -1
- package/es-modules/Series/Bullet/BulletSeries.js +4 -3
- package/es-modules/Series/Candlestick/CandlestickSeries.js +5 -3
- package/es-modules/Series/CenteredUtilities.js +2 -1
- package/es-modules/Series/ColorMapComposition.js +111 -0
- package/es-modules/Series/Column/ColumnSeries.js +6 -4
- package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +3 -1
- package/es-modules/Series/ColumnRange/ColumnRangePoint.js +17 -13
- package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +60 -57
- package/es-modules/Series/Cylinder/CylinderPoint.js +3 -1
- package/es-modules/Series/Cylinder/CylinderSeries.js +3 -1
- package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +3 -1
- package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +3 -1
- package/es-modules/Series/DotPlot/DotPlotSeries.js +3 -1
- package/es-modules/Series/DrawPointUtilities.js +87 -0
- package/es-modules/Series/Dumbbell/DumbbellPoint.js +3 -1
- package/es-modules/Series/Dumbbell/DumbbellSeries.js +4 -2
- package/es-modules/Series/ErrorBar/ErrorBarSeries.js +4 -2
- package/es-modules/Series/Flags/FlagsPoint.js +4 -1
- package/es-modules/Series/Flags/FlagsSeries.js +6 -4
- package/es-modules/Series/Funnel/FunnelSeries.js +5 -3
- package/es-modules/Series/Funnel3D/Funnel3DPoint.js +3 -1
- package/es-modules/Series/Funnel3D/Funnel3DSeries.js +3 -1
- package/es-modules/Series/Gantt/GanttPoint.js +3 -1
- package/es-modules/Series/Gantt/GanttSeries.js +3 -1
- package/es-modules/Series/Gauge/GaugePoint.js +3 -1
- package/es-modules/Series/Gauge/GaugeSeries.js +195 -173
- package/es-modules/Series/HLC/HLCPoint.js +3 -1
- package/es-modules/Series/HLC/HLCSeries.js +4 -2
- package/es-modules/Series/Heatmap/HeatmapPoint.js +7 -5
- package/es-modules/Series/Heatmap/HeatmapSeries.js +16 -13
- package/es-modules/Series/HeikinAshi/HeikinAshiPoint.js +3 -1
- package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +3 -1
- package/es-modules/Series/Histogram/HistogramSeries.js +3 -1
- package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +3 -1
- package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +11 -9
- package/es-modules/Series/Item/ItemPoint.js +3 -1
- package/es-modules/Series/Item/ItemSeries.js +3 -1
- package/es-modules/Series/Line/LineSeries.js +4 -2
- package/es-modules/Series/Lollipop/LollipopPoint.js +3 -1
- package/es-modules/Series/Lollipop/LollipopSeries.js +3 -1
- package/es-modules/Series/Map/MapPoint.js +8 -6
- package/es-modules/Series/Map/MapSeries.js +98 -26
- package/es-modules/Series/MapBubble/MapBubblePoint.js +3 -1
- package/es-modules/Series/MapBubble/MapBubbleSeries.js +3 -1
- package/es-modules/Series/MapLine/MapLineSeries.js +18 -1
- package/es-modules/Series/MapPoint/MapPointPoint.js +4 -2
- package/es-modules/Series/MapPoint/MapPointSeries.js +10 -2
- package/es-modules/Series/Networkgraph/Networkgraph.js +3 -1
- package/es-modules/Series/NodesComposition.js +45 -40
- package/es-modules/Series/OHLC/OHLCPoint.js +3 -1
- package/es-modules/Series/OHLC/OHLCSeries.js +3 -1
- package/es-modules/Series/Organization/OrganizationPoint.js +3 -1
- package/es-modules/Series/Organization/OrganizationSeries.js +5 -3
- package/es-modules/Series/PackedBubble/PackedBubbleComposition.js +0 -2
- package/es-modules/Series/PackedBubble/PackedBubblePoint.js +3 -1
- package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +3 -1
- package/es-modules/Series/ParetoSeries/ParetoSeries.js +3 -1
- package/es-modules/Series/Pie/PieDataLabel.js +1 -1
- package/es-modules/Series/Pie/PiePoint.js +3 -1
- package/es-modules/Series/Pie/PieSeries.js +39 -36
- package/es-modules/Series/Pie3D/Pie3DPoint.js +3 -1
- package/es-modules/Series/Pie3D/Pie3DSeries.js +3 -1
- package/es-modules/Series/PolarComposition.js +819 -0
- package/es-modules/Series/Polygon/PolygonSeries.js +3 -1
- package/es-modules/Series/Pyramid/PyramidSeries.js +3 -1
- package/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +3 -1
- package/es-modules/Series/Sankey/SankeyPoint.js +3 -1
- package/es-modules/Series/Sankey/SankeySeries.js +22 -8
- package/es-modules/Series/Scatter/ScatterSeries.js +10 -5
- package/es-modules/Series/Scatter3D/Scatter3DPoint.js +3 -1
- package/es-modules/Series/Scatter3D/Scatter3DSeries.js +3 -1
- package/es-modules/Series/SeriesOnPointComposition.js +391 -0
- package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +5 -3
- package/es-modules/Series/Spline/SplineSeries.js +13 -4
- package/es-modules/Series/Streamgraph/StreamgraphSeries.js +3 -1
- package/es-modules/Series/Sunburst/SunburstPoint.js +3 -3
- package/es-modules/Series/Sunburst/SunburstSeries.js +7 -2
- package/es-modules/Series/Tilemap/TilemapPoint.js +3 -1
- package/es-modules/Series/Tilemap/TilemapSeries.js +3 -1
- package/es-modules/Series/Timeline/TimelinePoint.js +3 -1
- package/es-modules/Series/Timeline/TimelineSeries.js +6 -4
- package/es-modules/Series/Treemap/TreemapPoint.js +8 -4
- package/es-modules/Series/Treemap/TreemapSeries.js +9 -7
- package/es-modules/Series/VariablePie/VariablePieSeries.js +3 -1
- package/es-modules/Series/Variwide/VariwidePoint.js +3 -1
- package/es-modules/Series/Variwide/VariwideSeries.js +3 -1
- package/es-modules/Series/Vector/VectorSeries.js +3 -1
- package/es-modules/Series/Venn/VennPoint.js +5 -5
- package/es-modules/Series/Venn/VennSeries.js +9 -6
- package/es-modules/Series/Waterfall/WaterfallPoint.js +3 -1
- package/es-modules/Series/Waterfall/WaterfallSeries.js +14 -12
- package/es-modules/Series/Windbarb/WindbarbPoint.js +3 -1
- package/es-modules/Series/Windbarb/WindbarbSeries.js +3 -1
- package/es-modules/Series/Wordcloud/WordcloudPoint.js +6 -6
- package/es-modules/Series/Wordcloud/WordcloudSeries.js +7 -4
- package/es-modules/Series/XRange/XRangePoint.js +3 -1
- package/es-modules/Series/XRange/XRangeSeries.js +3 -1
- package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +3 -1
- package/es-modules/Stock/Indicators/AD/ADIndicator.js +3 -1
- package/es-modules/Stock/Indicators/AO/AOIndicator.js +5 -3
- package/es-modules/Stock/Indicators/APO/APOIndicator.js +3 -1
- package/es-modules/Stock/Indicators/ATR/ATRIndicator.js +3 -1
- package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +3 -1
- package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +3 -1
- package/es-modules/Stock/Indicators/BB/BBIndicator.js +6 -4
- package/es-modules/Stock/Indicators/CCI/CCIIndicator.js +3 -1
- package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +3 -1
- package/es-modules/Stock/Indicators/CMO/CMOIndicator.js +3 -1
- package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +3 -1
- package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +3 -1
- package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +13 -7
- package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +3 -1
- package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +3 -1
- package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +3 -1
- package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +3 -1
- package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +3 -1
- package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +3 -1
- package/es-modules/Stock/Indicators/LinearRegression/LinearRegression.js +3 -1
- package/es-modules/Stock/Indicators/LinearRegressionAngle/LinearRegressionAngle.js +3 -1
- package/es-modules/Stock/Indicators/LinearRegressionIntercept/LinearRegressionIntercept.js +3 -1
- package/es-modules/Stock/Indicators/LinearRegressionSlopes/LinearRegressionSlopes.js +3 -1
- package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +26 -13
- package/es-modules/Stock/Indicators/MFI/MFIIndicator.js +3 -1
- package/es-modules/Stock/Indicators/Momentum/MomentumIndicator.js +3 -1
- package/es-modules/Stock/Indicators/MultipleLinesComposition.js +85 -95
- package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +3 -1
- package/es-modules/Stock/Indicators/OBV/OBVIndicator.js +3 -1
- package/es-modules/Stock/Indicators/PC/PCIndicator.js +3 -1
- package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +3 -1
- package/es-modules/Stock/Indicators/PSAR/PSARIndicator.js +3 -1
- package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +3 -1
- package/es-modules/Stock/Indicators/PivotPoints/PivotPointsPoint.js +3 -1
- package/es-modules/Stock/Indicators/PriceEnvelopes/PriceEnvelopesIndicator.js +3 -1
- package/es-modules/Stock/Indicators/ROC/ROCIndicator.js +3 -1
- package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +3 -1
- package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +3 -1
- package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +3 -1
- package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +3 -1
- package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +6 -4
- package/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +3 -1
- package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +3 -1
- package/es-modules/Stock/Indicators/TrendLine/TrendLineIndicator.js +3 -1
- package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +3 -1
- package/es-modules/Stock/Indicators/VBP/VBPPoint.js +3 -1
- package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +3 -1
- package/es-modules/Stock/Indicators/WMA/WMAIndicator.js +3 -1
- package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +3 -1
- package/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +3 -1
- package/es-modules/Stock/StockToolsBindings.js +20 -19
- package/es-modules/Stock/StockToolsGui.js +1 -1
- 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 +4 -4
- package/es-modules/masters/highcharts.src.js +1 -1
- 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/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 +2 -2
- package/es-modules/masters/modules/annotations.src.js +2 -2
- package/es-modules/masters/modules/arc-diagram.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 +1 -1
- 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 +2 -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 +1 -1
- 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 +1 -1
- package/es-modules/masters/modules/grid-axis.src.js +1 -1
- package/es-modules/masters/modules/heatmap.src.js +1 -1
- package/es-modules/masters/modules/heikinashi.src.js +1 -1
- package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
- package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +5 -2
- package/es-modules/masters/modules/series-on-point.src.js +16 -0
- package/es-modules/masters/modules/solid-gauge.src.js +1 -1
- package/es-modules/masters/modules/sonification.src.js +2 -6
- 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 +1 -1
- 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 +1 -1
- package/es-modules/masters/themes/brand-dark.src.js +1 -1
- package/es-modules/masters/themes/brand-light.src.js +1 -1
- package/es-modules/masters/themes/dark-blue.src.js +1 -1
- package/es-modules/masters/themes/dark-green.src.js +1 -1
- package/es-modules/masters/themes/dark-unica.src.js +1 -1
- package/es-modules/masters/themes/gray.src.js +1 -1
- package/es-modules/masters/themes/grid-light.src.js +1 -1
- package/es-modules/masters/themes/grid.src.js +1 -1
- package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
- package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
- package/es-modules/masters/themes/sand-signika.src.js +1 -1
- package/es-modules/masters/themes/skies.src.js +1 -1
- package/es-modules/masters/themes/sunset.src.js +1 -1
- package/highcharts-3d.js +1 -1
- package/highcharts-3d.src.js +1 -1
- package/highcharts-gantt.js +811 -809
- package/highcharts-gantt.js.map +1 -1
- package/highcharts-gantt.src.js +1271 -1213
- package/highcharts-more.d.ts +10 -0
- package/highcharts-more.js +194 -195
- package/highcharts-more.js.map +1 -1
- package/highcharts-more.src.d.ts +10 -0
- package/highcharts-more.src.js +5649 -5515
- package/highcharts.d.ts +9118 -429
- package/highcharts.js +595 -594
- package/highcharts.js.map +1 -1
- package/highcharts.src.d.ts +9118 -429
- package/highcharts.src.js +335 -285
- package/highmaps.js +763 -760
- package/highmaps.js.map +1 -1
- package/highmaps.src.js +640 -448
- package/highstock.js +797 -794
- package/highstock.js.map +1 -1
- package/highstock.src.js +414 -327
- package/indicators/acceleration-bands.d.ts +1 -17
- package/indicators/acceleration-bands.js +11 -12
- package/indicators/acceleration-bands.js.map +1 -1
- package/indicators/acceleration-bands.src.d.ts +1 -17
- package/indicators/acceleration-bands.src.js +89 -99
- 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 +3 -3
- package/indicators/apo.js +1 -1
- package/indicators/apo.src.js +1 -1
- package/indicators/aroon-oscillator.d.ts +1 -17
- package/indicators/aroon-oscillator.js +10 -10
- package/indicators/aroon-oscillator.js.map +1 -1
- package/indicators/aroon-oscillator.src.d.ts +1 -17
- package/indicators/aroon-oscillator.src.js +89 -99
- package/indicators/aroon.d.ts +1 -17
- package/indicators/aroon.js +11 -11
- package/indicators/aroon.js.map +1 -1
- package/indicators/aroon.src.d.ts +1 -17
- package/indicators/aroon.src.js +89 -99
- package/indicators/atr.js +1 -1
- package/indicators/atr.src.js +1 -1
- package/indicators/bollinger-bands.d.ts +1 -17
- package/indicators/bollinger-bands.js +11 -12
- package/indicators/bollinger-bands.js.map +1 -1
- package/indicators/bollinger-bands.src.d.ts +1 -17
- package/indicators/bollinger-bands.src.js +92 -102
- 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 +12 -12
- package/indicators/dmi.js.map +1 -1
- package/indicators/dmi.src.js +99 -105
- package/indicators/dpo.js +1 -1
- package/indicators/dpo.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.d.ts +1 -17
- package/indicators/indicators-all.js +195 -194
- package/indicators/indicators-all.js.map +1 -1
- package/indicators/indicators-all.src.d.ts +1 -17
- package/indicators/indicators-all.src.js +131 -125
- package/indicators/indicators.js +1 -1
- package/indicators/indicators.src.js +1 -1
- package/indicators/keltner-channels.d.ts +1 -17
- package/indicators/keltner-channels.js +11 -12
- package/indicators/keltner-channels.js.map +1 -1
- package/indicators/keltner-channels.src.d.ts +1 -17
- package/indicators/keltner-channels.src.js +89 -99
- package/indicators/klinger.js +14 -14
- package/indicators/klinger.js.map +1 -1
- package/indicators/klinger.src.js +89 -99
- package/indicators/macd.js +10 -9
- package/indicators/macd.js.map +1 -1
- package/indicators/macd.src.js +25 -13
- 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.d.ts +1 -17
- package/indicators/price-channel.js +11 -11
- package/indicators/price-channel.js.map +1 -1
- package/indicators/price-channel.src.d.ts +1 -17
- package/indicators/price-channel.src.js +89 -99
- 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.d.ts +1 -17
- package/indicators/stochastic.js +12 -12
- package/indicators/stochastic.js.map +1 -1
- package/indicators/stochastic.src.d.ts +1 -17
- package/indicators/stochastic.src.js +89 -99
- package/indicators/supertrend.js +1 -1
- package/indicators/supertrend.src.js +4 -4
- 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 +1 -1
- package/indicators/volume-by-price.src.js +1 -1
- 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 +230 -229
- package/modules/accessibility.js.map +1 -1
- package/modules/accessibility.src.js +110 -115
- package/modules/annotations-advanced.js +187 -187
- package/modules/annotations-advanced.js.map +1 -1
- package/modules/annotations-advanced.src.js +62 -39
- package/modules/annotations.js +61 -61
- package/modules/annotations.js.map +1 -1
- package/modules/annotations.src.js +38 -20
- package/modules/arc-diagram.js +1 -1
- package/modules/arc-diagram.src.js +1 -1
- package/modules/arrow-symbols.js +1 -1
- package/modules/arrow-symbols.src.js +1 -1
- package/modules/boost-canvas.js +12 -11
- package/modules/boost-canvas.js.map +1 -1
- package/modules/boost-canvas.src.js +12 -6
- package/modules/boost.js +81 -80
- package/modules/boost.js.map +1 -1
- package/modules/boost.src.js +20 -9
- package/modules/broken-axis.js +1 -1
- package/modules/broken-axis.src.js +1 -1
- package/modules/bullet.js +1 -1
- package/modules/bullet.js.map +1 -1
- package/modules/bullet.src.js +2 -5
- package/modules/coloraxis.js +2 -2
- package/modules/coloraxis.js.map +1 -1
- package/modules/coloraxis.src.js +5 -5
- package/modules/current-date-indicator.js +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.d.ts +12 -12
- package/modules/data.js +33 -34
- package/modules/data.js.map +1 -1
- package/modules/data.src.d.ts +12 -12
- package/modules/data.src.js +862 -829
- package/modules/datagrouping.js +1 -1
- package/modules/datagrouping.src.js +1 -1
- package/modules/debugger.js +1 -1
- package/modules/debugger.src.js +1 -1
- 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 +2 -2
- package/modules/draggable-points.js +1 -1
- package/modules/draggable-points.src.js +1 -1
- package/modules/drilldown.js +37 -36
- package/modules/drilldown.js.map +1 -1
- package/modules/drilldown.src.js +40 -9
- package/modules/dumbbell.d.ts +4 -0
- package/modules/dumbbell.js +17 -17
- package/modules/dumbbell.js.map +1 -1
- package/modules/dumbbell.src.d.ts +4 -0
- package/modules/dumbbell.src.js +24 -12
- package/modules/export-data.js +24 -22
- package/modules/export-data.js.map +1 -1
- package/modules/export-data.src.js +76 -11
- package/modules/exporting.d.ts +8 -8
- package/modules/exporting.js +36 -36
- package/modules/exporting.js.map +1 -1
- package/modules/exporting.src.d.ts +8 -8
- package/modules/exporting.src.js +50 -50
- package/modules/full-screen.js +1 -1
- package/modules/full-screen.src.js +1 -1
- package/modules/funnel.js +1 -1
- package/modules/funnel.src.js +3 -3
- package/modules/funnel3d.js +1 -1
- package/modules/funnel3d.src.js +1 -1
- package/modules/gantt.js +218 -218
- package/modules/gantt.js.map +1 -1
- package/modules/gantt.src.js +935 -927
- package/modules/grid-axis.js +23 -23
- package/modules/grid-axis.js.map +1 -1
- package/modules/grid-axis.src.js +886 -890
- package/modules/heatmap.js +40 -40
- package/modules/heatmap.js.map +1 -1
- package/modules/heatmap.src.js +115 -87
- package/modules/heikinashi.js +1 -1
- package/modules/heikinashi.src.js +1 -1
- package/modules/histogram-bellcurve.js +1 -1
- package/modules/histogram-bellcurve.src.js +1 -1
- package/modules/hollowcandlestick.js +1 -1
- package/modules/hollowcandlestick.src.js +9 -9
- 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.js +171 -169
- package/modules/map.js.map +1 -1
- package/modules/map.src.js +306 -164
- package/modules/marker-clusters.js +1 -1
- package/modules/marker-clusters.js.map +1 -1
- package/modules/marker-clusters.src.js +2 -6
- package/modules/networkgraph.d.ts +1 -17
- package/modules/networkgraph.js +49 -49
- package/modules/networkgraph.js.map +1 -1
- package/modules/networkgraph.src.d.ts +1 -17
- package/modules/networkgraph.src.js +55 -45
- package/modules/no-data-to-display.js +1 -1
- package/modules/no-data-to-display.src.js +2 -2
- package/modules/offline-exporting.js +3 -3
- package/modules/offline-exporting.js.map +1 -1
- package/modules/offline-exporting.src.js +5 -5
- 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 +3 -3
- package/modules/organization.js +1 -1
- package/modules/organization.src.js +3 -3
- package/modules/overlapping-datalabels.js +1 -1
- package/modules/overlapping-datalabels.src.js +1 -1
- package/modules/parallel-coordinates.js +2 -2
- package/modules/parallel-coordinates.js.map +1 -1
- package/modules/parallel-coordinates.src.js +2 -2
- 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 +15 -14
- package/modules/pattern-fill.js.map +1 -1
- package/modules/pattern-fill.src.js +15 -2
- 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.d.ts +1 -17
- package/modules/sankey.js +32 -32
- package/modules/sankey.js.map +1 -1
- package/modules/sankey.src.d.ts +1 -17
- package/modules/sankey.src.js +86 -55
- package/modules/series-label.js +18 -18
- package/modules/series-label.js.map +1 -1
- package/modules/series-label.src.js +472 -385
- package/modules/series-on-point.js +18 -0
- package/modules/series-on-point.js.map +1 -0
- package/modules/series-on-point.src.js +464 -0
- package/modules/solid-gauge.js +4 -4
- package/modules/solid-gauge.js.map +1 -1
- package/modules/solid-gauge.src.js +5 -5
- package/modules/sonification.js +1 -1
- package/modules/sonification.js.map +1 -1
- package/modules/sonification.src.js +3 -7
- package/modules/static-scale.js +1 -1
- package/modules/static-scale.src.js +1 -1
- package/modules/stock-tools.js +142 -142
- package/modules/stock-tools.js.map +1 -1
- package/modules/stock-tools.src.js +57 -38
- package/modules/stock.js +205 -204
- package/modules/stock.js.map +1 -1
- package/modules/stock.src.js +80 -43
- package/modules/streamgraph.js +1 -1
- package/modules/streamgraph.src.js +1 -1
- package/modules/sunburst.js +73 -73
- package/modules/sunburst.js.map +1 -1
- package/modules/sunburst.src.js +211 -177
- package/modules/tilemap.js +1 -1
- package/modules/tilemap.src.js +1 -1
- package/modules/timeline.js +1 -1
- package/modules/timeline.src.js +4 -4
- package/modules/treegrid.js +56 -56
- package/modules/treegrid.js.map +1 -1
- package/modules/treegrid.src.js +888 -892
- package/modules/treemap.js +54 -53
- package/modules/treemap.js.map +1 -1
- package/modules/treemap.src.js +208 -176
- 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 -31
- package/modules/venn.js.map +1 -1
- package/modules/venn.src.js +78 -107
- package/modules/windbarb.js +1 -1
- package/modules/windbarb.src.js +1 -1
- package/modules/wordcloud.js +23 -24
- package/modules/wordcloud.js.map +1 -1
- package/modules/wordcloud.src.js +78 -107
- package/modules/xrange.js +1 -1
- package/modules/xrange.src.js +1 -1
- package/package.json +1 -1
- package/themes/avocado.js +1 -1
- package/themes/avocado.src.js +1 -1
- package/themes/brand-dark.js +1 -1
- package/themes/brand-dark.src.js +1 -1
- package/themes/brand-light.js +1 -1
- package/themes/brand-light.src.js +1 -1
- package/themes/dark-blue.js +1 -1
- package/themes/dark-blue.src.js +1 -1
- package/themes/dark-green.js +1 -1
- package/themes/dark-green.src.js +1 -1
- package/themes/dark-unica.js +1 -1
- package/themes/dark-unica.src.js +1 -1
- package/themes/gray.js +1 -1
- package/themes/gray.src.js +1 -1
- package/themes/grid-light.js +1 -1
- package/themes/grid-light.src.js +1 -1
- package/themes/grid.js +1 -1
- package/themes/grid.src.js +1 -1
- package/themes/high-contrast-dark.js +1 -1
- package/themes/high-contrast-dark.src.js +1 -1
- package/themes/high-contrast-light.js +1 -1
- package/themes/high-contrast-light.src.js +1 -1
- package/themes/sand-signika.js +1 -1
- package/themes/sand-signika.src.js +1 -1
- package/themes/skies.js +1 -1
- package/themes/skies.src.js +1 -1
- package/themes/sunset.js +1 -1
- package/themes/sunset.src.js +1 -1
- package/es-modules/Extensions/Polar.js +0 -743
- package/es-modules/Series/ColorMapMixin.js +0 -84
- package/es-modules/Series/DrawPointComposition.js +0 -114
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highcharts JS v10.
|
|
2
|
+
* @license Highcharts JS v10.2.0 (2022-07-05)
|
|
3
3
|
*
|
|
4
4
|
* (c) 2009-2021 Torstein Honsi
|
|
5
5
|
*
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
-
_registerModule(_modules, 'Extensions/SeriesLabel
|
|
38
|
+
_registerModule(_modules, 'Extensions/SeriesLabel/SeriesLabelDefaults.js', [], function () {
|
|
39
39
|
/* *
|
|
40
40
|
*
|
|
41
41
|
* (c) 2009-2021 Torstein Honsi
|
|
@@ -45,162 +45,149 @@
|
|
|
45
45
|
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
46
46
|
*
|
|
47
47
|
* */
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
extend = U.extend,
|
|
54
|
-
fireEvent = U.fireEvent,
|
|
55
|
-
isNumber = U.isNumber,
|
|
56
|
-
pick = U.pick,
|
|
57
|
-
syncTimeout = U.syncTimeout;
|
|
48
|
+
/* *
|
|
49
|
+
*
|
|
50
|
+
* Constants
|
|
51
|
+
*
|
|
52
|
+
* */
|
|
58
53
|
/**
|
|
59
|
-
*
|
|
54
|
+
* Series labels are placed as close to the series as possible in a
|
|
55
|
+
* natural way, seeking to avoid other series. The goal of this
|
|
56
|
+
* feature is to make the chart more easily readable, like if a
|
|
57
|
+
* human designer placed the labels in the optimal position.
|
|
60
58
|
*
|
|
61
|
-
*
|
|
62
|
-
|
|
63
|
-
* @name Highcharts.LabelIntersectBoxObject#bottom
|
|
64
|
-
* @type {number}
|
|
65
|
-
*/ /**
|
|
66
|
-
* @name Highcharts.LabelIntersectBoxObject#left
|
|
67
|
-
* @type {number}
|
|
68
|
-
*/ /**
|
|
69
|
-
* @name Highcharts.LabelIntersectBoxObject#right
|
|
70
|
-
* @type {number}
|
|
71
|
-
*/ /**
|
|
72
|
-
* @name Highcharts.LabelIntersectBoxObject#top
|
|
73
|
-
* @type {number}
|
|
74
|
-
*/
|
|
75
|
-
/*
|
|
76
|
-
* Highcharts module to place labels next to a series in a natural position.
|
|
59
|
+
* The series labels currently work with series types having a
|
|
60
|
+
* `graph` or an `area`.
|
|
77
61
|
*
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
*
|
|
62
|
+
* @sample highcharts/series-label/line-chart
|
|
63
|
+
* Line chart
|
|
64
|
+
* @sample highcharts/demo/streamgraph
|
|
65
|
+
* Stream graph
|
|
66
|
+
* @sample highcharts/series-label/stock-chart
|
|
67
|
+
* Stock chart
|
|
82
68
|
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
*
|
|
69
|
+
* @declare Highcharts.SeriesLabelOptionsObject
|
|
70
|
+
* @since 6.0.0
|
|
71
|
+
* @product highcharts highstock gantt
|
|
72
|
+
* @requires modules/series-label
|
|
73
|
+
* @optionparent plotOptions.series.label
|
|
87
74
|
*/
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
75
|
+
var SeriesLabelDefaults = {
|
|
76
|
+
/**
|
|
77
|
+
* Enable the series label per series.
|
|
78
|
+
*/
|
|
79
|
+
enabled: true,
|
|
80
|
+
/**
|
|
81
|
+
* Allow labels to be placed distant to the graph if necessary,
|
|
82
|
+
* and draw a connector line to the graph. Setting this option
|
|
83
|
+
* to true may decrease the performance significantly,
|
|
84
|
+
since the
|
|
85
|
+
* algorithm with systematically search for open spaces in the
|
|
86
|
+
* whole plot area. Visually,
|
|
87
|
+
it may also result in a more
|
|
88
|
+
* cluttered chart,
|
|
89
|
+
though more of the series will be labeled.
|
|
90
|
+
*/
|
|
91
|
+
connectorAllowed: false,
|
|
92
|
+
/**
|
|
93
|
+
* If the label is closer than this to a neighbour graph,
|
|
94
|
+
draw a
|
|
95
|
+
* connector.
|
|
96
|
+
*/
|
|
97
|
+
connectorNeighbourDistance: 24,
|
|
98
|
+
/**
|
|
99
|
+
* A format string for the label,
|
|
100
|
+
with support for a subset of
|
|
101
|
+
* HTML. Variables are enclosed by curly brackets. Available
|
|
102
|
+
* variables are `name`,
|
|
103
|
+
`options.xxx`,
|
|
104
|
+
`color` and other
|
|
105
|
+
* members from the `series` object. Use this option also to set
|
|
106
|
+
* a static text for the label.
|
|
107
|
+
*
|
|
108
|
+
* @type string
|
|
109
|
+
* @since 8.1.0
|
|
110
|
+
*/
|
|
111
|
+
format: void 0,
|
|
112
|
+
/**
|
|
113
|
+
* Callback function to format each of the series' labels. The
|
|
114
|
+
* `this` keyword refers to the series object. By default the
|
|
115
|
+
* `formatter` is undefined and the `series.name` is rendered.
|
|
116
|
+
*
|
|
117
|
+
* @type {Highcharts.FormatterCallbackFunction<Series>}
|
|
118
|
+
* @since 8.1.0
|
|
119
|
+
*/
|
|
120
|
+
formatter: void 0,
|
|
121
|
+
/**
|
|
122
|
+
* For area-like series,
|
|
123
|
+
allow the font size to vary so that
|
|
124
|
+
* small areas get a smaller font size. The default applies this
|
|
125
|
+
* effect to area-like series but not line-like series.
|
|
126
|
+
*
|
|
127
|
+
* @type {number|null}
|
|
128
|
+
*/
|
|
129
|
+
minFontSize: null,
|
|
130
|
+
/**
|
|
131
|
+
* For area-like series,
|
|
132
|
+
allow the font size to vary so that
|
|
133
|
+
* small areas get a smaller font size. The default applies this
|
|
134
|
+
* effect to area-like series but not line-like series.
|
|
135
|
+
*
|
|
136
|
+
* @type {number|null}
|
|
137
|
+
*/
|
|
138
|
+
maxFontSize: null,
|
|
139
|
+
/**
|
|
140
|
+
* Draw the label on the area of an area series. By default it
|
|
141
|
+
* is drawn on the area. Set it to `false` to draw it next to
|
|
142
|
+
* the graph instead.
|
|
143
|
+
*
|
|
144
|
+
* @type {boolean|null}
|
|
145
|
+
*/
|
|
146
|
+
onArea: null,
|
|
147
|
+
/**
|
|
148
|
+
* Styles for the series label. The color defaults to the series
|
|
149
|
+
* color,
|
|
150
|
+
or a contrast color if `onArea`.
|
|
151
|
+
*
|
|
152
|
+
* @type {Highcharts.CSSObject}
|
|
153
|
+
*/
|
|
154
|
+
style: {
|
|
155
|
+
/** @internal */
|
|
156
|
+
fontWeight: 'bold'
|
|
157
|
+
},
|
|
158
|
+
/**
|
|
159
|
+
* An array of boxes to avoid when laying out the labels. Each
|
|
160
|
+
* item has a `left`,
|
|
161
|
+
`right`,
|
|
162
|
+
`top` and `bottom` property.
|
|
163
|
+
*
|
|
164
|
+
* @type {Array<Highcharts.LabelIntersectBoxObject>}
|
|
165
|
+
*/
|
|
166
|
+
boxesToAvoid: []
|
|
167
|
+
};
|
|
168
|
+
/* *
|
|
169
|
+
*
|
|
170
|
+
* Default Export
|
|
171
|
+
*
|
|
172
|
+
* */
|
|
173
|
+
|
|
174
|
+
return SeriesLabelDefaults;
|
|
175
|
+
});
|
|
176
|
+
_registerModule(_modules, 'Extensions/SeriesLabel/SeriesLabelUtilities.js', [], function () {
|
|
177
|
+
/* *
|
|
178
|
+
*
|
|
179
|
+
* (c) 2009-2021 Torstein Honsi
|
|
180
|
+
*
|
|
181
|
+
* License: www.highcharts.com/license
|
|
182
|
+
*
|
|
183
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
184
|
+
*
|
|
185
|
+
* */
|
|
186
|
+
/* *
|
|
187
|
+
*
|
|
188
|
+
* Functions
|
|
189
|
+
*
|
|
190
|
+
* */
|
|
204
191
|
/**
|
|
205
192
|
* Counter-clockwise, part of the fast line intersection logic.
|
|
206
193
|
*
|
|
@@ -235,224 +222,92 @@
|
|
|
235
222
|
);
|
|
236
223
|
}
|
|
237
224
|
/**
|
|
238
|
-
* General symbol definition for labels with connector.
|
|
239
|
-
*/
|
|
240
|
-
symbols.connector = function (x, y, w, h, options) {
|
|
241
|
-
var anchorX = options && options.anchorX,
|
|
242
|
-
anchorY = options && options.anchorY;
|
|
243
|
-
var path,
|
|
244
|
-
yOffset,
|
|
245
|
-
lateral = w / 2;
|
|
246
|
-
if (isNumber(anchorX) && isNumber(anchorY)) {
|
|
247
|
-
path = [['M', anchorX, anchorY]];
|
|
248
|
-
// Prefer 45 deg connectors
|
|
249
|
-
yOffset = y - anchorY;
|
|
250
|
-
if (yOffset < 0) {
|
|
251
|
-
yOffset = -h - yOffset;
|
|
252
|
-
}
|
|
253
|
-
if (yOffset < w) {
|
|
254
|
-
lateral = anchorX < x + (w / 2) ? yOffset : w - yOffset;
|
|
255
|
-
}
|
|
256
|
-
// Anchor below label
|
|
257
|
-
if (anchorY > y + h) {
|
|
258
|
-
path.push(['L', x + lateral, y + h]);
|
|
259
|
-
// Anchor above label
|
|
260
|
-
}
|
|
261
|
-
else if (anchorY < y) {
|
|
262
|
-
path.push(['L', x + lateral, y]);
|
|
263
|
-
// Anchor left of label
|
|
264
|
-
}
|
|
265
|
-
else if (anchorX < x) {
|
|
266
|
-
path.push(['L', x, y + h / 2]);
|
|
267
|
-
// Anchor right of label
|
|
268
|
-
}
|
|
269
|
-
else if (anchorX > x + w) {
|
|
270
|
-
path.push(['L', x + w, y + h / 2]);
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
return path || [];
|
|
274
|
-
};
|
|
275
|
-
/**
|
|
276
|
-
* Points to avoid. In addition to actual data points, the label should avoid
|
|
277
|
-
* interpolated positions.
|
|
278
|
-
*
|
|
279
225
|
* @private
|
|
280
|
-
* @function Highcharts.Series#getPointsOnGraph
|
|
281
226
|
*/
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
graph = this.graph || this.area,
|
|
290
|
-
node = graph.element,
|
|
291
|
-
inverted = this.chart.inverted,
|
|
292
|
-
xAxis = this.xAxis,
|
|
293
|
-
yAxis = this.yAxis,
|
|
294
|
-
paneLeft = inverted ? yAxis.pos : xAxis.pos,
|
|
295
|
-
paneTop = inverted ? xAxis.pos : yAxis.pos,
|
|
296
|
-
onArea = pick(this.options.label.onArea, !!this.area),
|
|
297
|
-
translatedThreshold = yAxis.getThreshold(this.options.threshold),
|
|
298
|
-
grid = {};
|
|
299
|
-
var point,
|
|
300
|
-
last,
|
|
301
|
-
i,
|
|
302
|
-
deltaX,
|
|
303
|
-
deltaY,
|
|
304
|
-
delta,
|
|
305
|
-
len,
|
|
306
|
-
n,
|
|
307
|
-
j,
|
|
308
|
-
d;
|
|
309
|
-
/**
|
|
310
|
-
* Push the point to the interpolated points, but only if that position in
|
|
311
|
-
* the grid has not been occupied. As a performance optimization, we divide
|
|
312
|
-
* the plot area into a grid and only add one point per series (#9815).
|
|
313
|
-
* @private
|
|
314
|
-
*/
|
|
315
|
-
function pushDiscrete(point) {
|
|
316
|
-
var cellSize = 8, key = Math.round(point.plotX / cellSize) + ',' +
|
|
317
|
-
Math.round(point.plotY / cellSize);
|
|
318
|
-
if (!grid[key]) {
|
|
319
|
-
grid[key] = 1;
|
|
320
|
-
interpolated.push(point);
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
// For splines, get the point at length (possible caveat: peaks are not
|
|
324
|
-
// correctly detected)
|
|
325
|
-
if (this.getPointSpline &&
|
|
326
|
-
node.getPointAtLength &&
|
|
327
|
-
!onArea &&
|
|
328
|
-
// Not performing well on complex series, node.getPointAtLength is too
|
|
329
|
-
// heavy (#9815)
|
|
330
|
-
points.length < this.chart.plotSizeX / distance) {
|
|
331
|
-
// If it is animating towards a path definition, use that briefly, and
|
|
332
|
-
// reset
|
|
333
|
-
if (graph.toD) {
|
|
334
|
-
d = graph.attr('d');
|
|
335
|
-
graph.attr({ d: graph.toD });
|
|
336
|
-
}
|
|
337
|
-
len = node.getTotalLength();
|
|
338
|
-
for (i = 0; i < len; i += distance) {
|
|
339
|
-
point = node.getPointAtLength(i);
|
|
340
|
-
pushDiscrete({
|
|
341
|
-
chartX: paneLeft + point.x,
|
|
342
|
-
chartY: paneTop + point.y,
|
|
343
|
-
plotX: point.x,
|
|
344
|
-
plotY: point.y
|
|
345
|
-
});
|
|
346
|
-
}
|
|
347
|
-
if (d) {
|
|
348
|
-
graph.attr({ d: d });
|
|
349
|
-
}
|
|
350
|
-
// Last point
|
|
351
|
-
point = points[points.length - 1];
|
|
352
|
-
point.chartX = paneLeft + point.plotX;
|
|
353
|
-
point.chartY = paneTop + point.plotY;
|
|
354
|
-
pushDiscrete(point);
|
|
355
|
-
// Interpolate
|
|
356
|
-
}
|
|
357
|
-
else {
|
|
358
|
-
len = points.length;
|
|
359
|
-
for (i = 0; i < len; i += 1) {
|
|
360
|
-
point = points[i];
|
|
361
|
-
last = points[i - 1];
|
|
362
|
-
// Absolute coordinates so we can compare different panes
|
|
363
|
-
point.chartX = paneLeft + point.plotX;
|
|
364
|
-
point.chartY = paneTop + point.plotY;
|
|
365
|
-
if (onArea) {
|
|
366
|
-
// Vertically centered inside area
|
|
367
|
-
point.chartCenterY = paneTop + (point.plotY +
|
|
368
|
-
pick(point.yBottom, translatedThreshold)) / 2;
|
|
369
|
-
}
|
|
370
|
-
// Add interpolated points
|
|
371
|
-
if (i > 0) {
|
|
372
|
-
deltaX = Math.abs(point.chartX - last.chartX);
|
|
373
|
-
deltaY = Math.abs(point.chartY - last.chartY);
|
|
374
|
-
delta = Math.max(deltaX, deltaY);
|
|
375
|
-
if (delta > distance) {
|
|
376
|
-
n = Math.ceil(delta / distance);
|
|
377
|
-
for (j = 1; j < n; j += 1) {
|
|
378
|
-
pushDiscrete({
|
|
379
|
-
chartX: last.chartX +
|
|
380
|
-
(point.chartX - last.chartX) *
|
|
381
|
-
(j / n),
|
|
382
|
-
chartY: last.chartY +
|
|
383
|
-
(point.chartY - last.chartY) *
|
|
384
|
-
(j / n),
|
|
385
|
-
chartCenterY: last.chartCenterY +
|
|
386
|
-
(point.chartCenterY -
|
|
387
|
-
last.chartCenterY) * (j / n),
|
|
388
|
-
plotX: last.plotX +
|
|
389
|
-
(point.plotX - last.plotX) *
|
|
390
|
-
(j / n),
|
|
391
|
-
plotY: last.plotY +
|
|
392
|
-
(point.plotY - last.plotY) *
|
|
393
|
-
(j / n)
|
|
394
|
-
});
|
|
395
|
-
}
|
|
396
|
-
}
|
|
397
|
-
}
|
|
398
|
-
// Add the real point in order to find positive and negative peaks
|
|
399
|
-
if (isNumber(point.plotY)) {
|
|
400
|
-
pushDiscrete(point);
|
|
401
|
-
}
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
// Get the bounding box so we can do a quick check first if the bounding
|
|
405
|
-
// boxes overlap.
|
|
406
|
-
/*
|
|
407
|
-
interpolated.bBox = node.getBBox();
|
|
408
|
-
interpolated.bBox.x += paneLeft;
|
|
409
|
-
interpolated.bBox.y += paneTop;
|
|
410
|
-
*/
|
|
411
|
-
return interpolated;
|
|
412
|
-
};
|
|
413
|
-
/**
|
|
414
|
-
* Overridable function to return series-specific font sizes for the labels. By
|
|
415
|
-
* default it returns bigger font sizes for series with the greater sum of y
|
|
416
|
-
* values.
|
|
227
|
+
function intersectRect(r1, r2) {
|
|
228
|
+
return !(r2.left > r1.right ||
|
|
229
|
+
r2.right < r1.left ||
|
|
230
|
+
r2.top > r1.bottom ||
|
|
231
|
+
r2.bottom < r1.top);
|
|
232
|
+
}
|
|
233
|
+
/* *
|
|
417
234
|
*
|
|
418
|
-
*
|
|
419
|
-
*
|
|
235
|
+
* Default Export
|
|
236
|
+
*
|
|
237
|
+
* */
|
|
238
|
+
var SeriesLabelUtilities = {
|
|
239
|
+
boxIntersectLine: boxIntersectLine,
|
|
240
|
+
intersectRect: intersectRect
|
|
241
|
+
};
|
|
242
|
+
|
|
243
|
+
return SeriesLabelUtilities;
|
|
244
|
+
});
|
|
245
|
+
_registerModule(_modules, 'Extensions/SeriesLabel/SeriesLabel.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Chart/Chart.js'], _modules['Core/FormatUtilities.js'], _modules['Core/DefaultOptions.js'], _modules['Extensions/SeriesLabel/SeriesLabelDefaults.js'], _modules['Extensions/SeriesLabel/SeriesLabelUtilities.js'], _modules['Core/Utilities.js']], function (A, Chart, FU, D, SeriesLabelDefaults, SLU, U) {
|
|
246
|
+
/* *
|
|
247
|
+
*
|
|
248
|
+
* (c) 2009-2021 Torstein Honsi
|
|
249
|
+
*
|
|
250
|
+
* License: www.highcharts.com/license
|
|
251
|
+
*
|
|
252
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
253
|
+
*
|
|
254
|
+
* */
|
|
255
|
+
/*
|
|
256
|
+
* Highcharts module to place labels next to a series in a natural position.
|
|
257
|
+
*
|
|
258
|
+
* TODO:
|
|
259
|
+
* - add column support (box collision detection, boxesToAvoid logic)
|
|
260
|
+
* - avoid data labels, when data labels above, show series label below.
|
|
261
|
+
* - add more options (connector, format, formatter)
|
|
262
|
+
*
|
|
263
|
+
* https://jsfiddle.net/highcharts/L2u9rpwr/
|
|
264
|
+
* https://jsfiddle.net/highcharts/y5A37/
|
|
265
|
+
* https://jsfiddle.net/highcharts/264Nm/
|
|
266
|
+
* https://jsfiddle.net/highcharts/y5A37/
|
|
420
267
|
*/
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
268
|
+
var animObject = A.animObject;
|
|
269
|
+
var format = FU.format;
|
|
270
|
+
var setOptions = D.setOptions;
|
|
271
|
+
var boxIntersectLine = SLU.boxIntersectLine,
|
|
272
|
+
intersectRect = SLU.intersectRect;
|
|
273
|
+
var addEvent = U.addEvent,
|
|
274
|
+
extend = U.extend,
|
|
275
|
+
fireEvent = U.fireEvent,
|
|
276
|
+
isNumber = U.isNumber,
|
|
277
|
+
pick = U.pick,
|
|
278
|
+
syncTimeout = U.syncTimeout;
|
|
279
|
+
/* *
|
|
280
|
+
*
|
|
281
|
+
* Constants
|
|
282
|
+
*
|
|
283
|
+
* */
|
|
284
|
+
var composedClasses = [];
|
|
285
|
+
var labelDistance = 3;
|
|
286
|
+
/* *
|
|
287
|
+
*
|
|
288
|
+
* Functions
|
|
289
|
+
*
|
|
290
|
+
* */
|
|
425
291
|
/**
|
|
426
292
|
* Check whether a proposed label position is clear of other elements.
|
|
427
|
-
*
|
|
428
293
|
* @private
|
|
429
|
-
* @function Highcharts.Series#checkClearPoint
|
|
430
294
|
*/
|
|
431
|
-
|
|
432
|
-
var chart =
|
|
433
|
-
onArea = pick(
|
|
434
|
-
findDistanceToOthers = (onArea ||
|
|
295
|
+
function checkClearPoint(series, x, y, bBox, checkDistance) {
|
|
296
|
+
var chart = series.chart,
|
|
297
|
+
onArea = pick(series.options.label.onArea, !!series.area),
|
|
298
|
+
findDistanceToOthers = (onArea || series.options.label.connectorAllowed),
|
|
435
299
|
leastDistance = 16;
|
|
436
300
|
var distToOthersSquared = Number.MAX_VALUE, // distance to other graphs
|
|
437
301
|
distToPointSquared = Number.MAX_VALUE,
|
|
438
302
|
dist,
|
|
439
303
|
connectorPoint,
|
|
440
|
-
|
|
304
|
+
serie,
|
|
441
305
|
points,
|
|
442
306
|
withinRange,
|
|
443
307
|
xDist,
|
|
444
308
|
yDist,
|
|
445
309
|
i,
|
|
446
310
|
j;
|
|
447
|
-
/**
|
|
448
|
-
* @private
|
|
449
|
-
*/
|
|
450
|
-
function intersectRect(r1, r2) {
|
|
451
|
-
return !(r2.left > r1.right ||
|
|
452
|
-
r2.right < r1.left ||
|
|
453
|
-
r2.top > r1.bottom ||
|
|
454
|
-
r2.bottom < r1.top);
|
|
455
|
-
}
|
|
456
311
|
/**
|
|
457
312
|
* Get the weight in order to determine the ideal position. Larger distance
|
|
458
313
|
* to other series gives more weight. Smaller distance to the actual point
|
|
@@ -476,9 +331,9 @@
|
|
|
476
331
|
// For each position, check if the lines around the label intersect with any
|
|
477
332
|
// of the graphs.
|
|
478
333
|
for (i = 0; i < chart.series.length; i += 1) {
|
|
479
|
-
|
|
480
|
-
points =
|
|
481
|
-
if (
|
|
334
|
+
serie = chart.series[i];
|
|
335
|
+
points = serie.interpolatedPoints;
|
|
336
|
+
if (serie.visible && points) {
|
|
482
337
|
for (j = 1; j < points.length; j += 1) {
|
|
483
338
|
if (
|
|
484
339
|
// To avoid processing, only check intersection if the X
|
|
@@ -501,14 +356,14 @@
|
|
|
501
356
|
}
|
|
502
357
|
// But if it is too far away (a padded box doesn't
|
|
503
358
|
// intersect), also return.
|
|
504
|
-
if (
|
|
359
|
+
if (series === serie && !withinRange && checkDistance) {
|
|
505
360
|
withinRange = boxIntersectLine(x - leastDistance, y - leastDistance, bBox.width + 2 * leastDistance, bBox.height + 2 * leastDistance, points[j - 1].chartX, points[j - 1].chartY, points[j].chartX, points[j].chartY);
|
|
506
361
|
}
|
|
507
362
|
}
|
|
508
363
|
// Find the squared distance from the center of the label. On
|
|
509
364
|
// area series, avoid its own graph.
|
|
510
365
|
if ((findDistanceToOthers || withinRange) &&
|
|
511
|
-
(
|
|
366
|
+
(series !== serie || onArea)) {
|
|
512
367
|
xDist = x + bBox.width / 2 - points[j].chartX;
|
|
513
368
|
yDist = y + bBox.height / 2 - points[j].chartY;
|
|
514
369
|
distToOthersSquared = Math.min(distToOthersSquared, xDist * xDist + yDist * yDist);
|
|
@@ -517,9 +372,10 @@
|
|
|
517
372
|
// Do we need a connector?
|
|
518
373
|
if (!onArea &&
|
|
519
374
|
findDistanceToOthers &&
|
|
520
|
-
|
|
375
|
+
series === serie &&
|
|
521
376
|
((checkDistance && !withinRange) ||
|
|
522
|
-
distToOthersSquared < Math.pow(
|
|
377
|
+
distToOthersSquared < Math.pow(series.options.label
|
|
378
|
+
.connectorNeighbourDistance, 2))) {
|
|
523
379
|
for (j = 1; j < points.length; j += 1) {
|
|
524
380
|
dist = Math.min((Math.pow(x + bBox.width / 2 - points[j].chartX, 2) +
|
|
525
381
|
Math.pow(y + bBox.height / 2 - points[j].chartY, 2)), (Math.pow(x - points[j].chartX, 2) +
|
|
@@ -542,7 +398,26 @@
|
|
|
542
398
|
weight: getWeight(distToOthersSquared, connectorPoint ? distToPointSquared : 0),
|
|
543
399
|
connectorPoint: connectorPoint
|
|
544
400
|
} : false;
|
|
545
|
-
}
|
|
401
|
+
}
|
|
402
|
+
/**
|
|
403
|
+
* @private
|
|
404
|
+
*/
|
|
405
|
+
function compose(ChartClass, SVGRendererClass) {
|
|
406
|
+
if (composedClasses.indexOf(ChartClass) === -1) {
|
|
407
|
+
composedClasses.push(ChartClass);
|
|
408
|
+
// Leave both events, we handle animation differently (#9815)
|
|
409
|
+
addEvent(Chart, 'load', onChartRedraw);
|
|
410
|
+
addEvent(Chart, 'redraw', onChartRedraw);
|
|
411
|
+
}
|
|
412
|
+
if (composedClasses.indexOf(SVGRendererClass) === -1) {
|
|
413
|
+
composedClasses.push(SVGRendererClass);
|
|
414
|
+
SVGRendererClass.prototype.symbols.connector = symbolConnector;
|
|
415
|
+
}
|
|
416
|
+
if (composedClasses.indexOf(setOptions) === -1) {
|
|
417
|
+
composedClasses.push(setOptions);
|
|
418
|
+
setOptions({ plotOptions: { series: { label: SeriesLabelDefaults } } });
|
|
419
|
+
}
|
|
420
|
+
}
|
|
546
421
|
/**
|
|
547
422
|
* The main initialize method that runs on chart level after initialization and
|
|
548
423
|
* redraw. It runs in a timeout to prevent locking, and loops over all series,
|
|
@@ -551,14 +426,13 @@
|
|
|
551
426
|
* @private
|
|
552
427
|
* @function Highcharts.Chart#drawSeriesLabels
|
|
553
428
|
*/
|
|
554
|
-
|
|
429
|
+
function drawSeriesLabels(chart) {
|
|
555
430
|
// console.time('drawSeriesLabels');
|
|
556
|
-
var
|
|
557
|
-
labelSeries = this.labelSeries;
|
|
431
|
+
var labelSeries = chart.labelSeries;
|
|
558
432
|
chart.boxesToAvoid = [];
|
|
559
433
|
// Build the interpolated points
|
|
560
434
|
labelSeries.forEach(function (series) {
|
|
561
|
-
series.interpolatedPoints =
|
|
435
|
+
series.interpolatedPoints = getPointsOnGraph(series);
|
|
562
436
|
(series.options.label.boxesToAvoid || []).forEach(function (box) {
|
|
563
437
|
chart.boxesToAvoid.push(box);
|
|
564
438
|
});
|
|
@@ -620,7 +494,7 @@
|
|
|
620
494
|
labelText = labelOptions.formatter.call(series);
|
|
621
495
|
}
|
|
622
496
|
series.labelBySeries = label = chart.renderer
|
|
623
|
-
.label(labelText, 0,
|
|
497
|
+
.label(labelText, 0, 0, 'connector')
|
|
624
498
|
.addClass('highcharts-series-label ' +
|
|
625
499
|
'highcharts-series-label-' + series.index + ' ' +
|
|
626
500
|
(series.options.className || '') + ' ' +
|
|
@@ -640,7 +514,7 @@
|
|
|
640
514
|
// Adapt label sizes to the sum of the data
|
|
641
515
|
if (minFontSize && maxFontSize) {
|
|
642
516
|
label.css({
|
|
643
|
-
fontSize:
|
|
517
|
+
fontSize: labelFontSize(series, minFontSize, maxFontSize)
|
|
644
518
|
});
|
|
645
519
|
}
|
|
646
520
|
label
|
|
@@ -660,7 +534,7 @@
|
|
|
660
534
|
x = points[i].chartX - bBox.width / 2;
|
|
661
535
|
y = points[i].chartCenterY - bBox.height / 2;
|
|
662
536
|
if (insidePane(x, y, bBox)) {
|
|
663
|
-
best =
|
|
537
|
+
best = checkClearPoint(series, x, y, bBox);
|
|
664
538
|
}
|
|
665
539
|
if (best) {
|
|
666
540
|
results.push(best);
|
|
@@ -671,7 +545,7 @@
|
|
|
671
545
|
x = points[i].chartX + labelDistance;
|
|
672
546
|
y = points[i].chartY - bBox.height - labelDistance;
|
|
673
547
|
if (insidePane(x, y, bBox)) {
|
|
674
|
-
best =
|
|
548
|
+
best = checkClearPoint(series, x, y, bBox, true);
|
|
675
549
|
}
|
|
676
550
|
if (best) {
|
|
677
551
|
results.push(best);
|
|
@@ -680,7 +554,7 @@
|
|
|
680
554
|
x = points[i].chartX + labelDistance;
|
|
681
555
|
y = points[i].chartY + labelDistance;
|
|
682
556
|
if (insidePane(x, y, bBox)) {
|
|
683
|
-
best =
|
|
557
|
+
best = checkClearPoint(series, x, y, bBox, true);
|
|
684
558
|
}
|
|
685
559
|
if (best) {
|
|
686
560
|
results.push(best);
|
|
@@ -689,7 +563,7 @@
|
|
|
689
563
|
x = points[i].chartX - bBox.width - labelDistance;
|
|
690
564
|
y = points[i].chartY + labelDistance;
|
|
691
565
|
if (insidePane(x, y, bBox)) {
|
|
692
|
-
best =
|
|
566
|
+
best = checkClearPoint(series, x, y, bBox, true);
|
|
693
567
|
}
|
|
694
568
|
if (best) {
|
|
695
569
|
results.push(best);
|
|
@@ -698,7 +572,7 @@
|
|
|
698
572
|
x = points[i].chartX - bBox.width - labelDistance;
|
|
699
573
|
y = points[i].chartY - bBox.height - labelDistance;
|
|
700
574
|
if (insidePane(x, y, bBox)) {
|
|
701
|
-
best =
|
|
575
|
+
best = checkClearPoint(series, x, y, bBox, true);
|
|
702
576
|
}
|
|
703
577
|
if (best) {
|
|
704
578
|
results.push(best);
|
|
@@ -709,7 +583,7 @@
|
|
|
709
583
|
if (labelOptions.connectorAllowed && !results.length && !onArea) {
|
|
710
584
|
for (x = paneLeft + paneWidth - bBox.width; x >= paneLeft; x -= 16) {
|
|
711
585
|
for (y = paneTop; y < paneTop + paneHeight - bBox.height; y += 16) {
|
|
712
|
-
clearPoint =
|
|
586
|
+
clearPoint = checkClearPoint(series, x, y, bBox, true);
|
|
713
587
|
if (clearPoint) {
|
|
714
588
|
results.push(clearPoint);
|
|
715
589
|
}
|
|
@@ -717,9 +591,7 @@
|
|
|
717
591
|
}
|
|
718
592
|
}
|
|
719
593
|
if (results.length) {
|
|
720
|
-
results.sort(function (a, b) {
|
|
721
|
-
return b.weight - a.weight;
|
|
722
|
-
});
|
|
594
|
+
results.sort(function (a, b) { return b.weight - a.weight; });
|
|
723
595
|
best = results[0];
|
|
724
596
|
chart.boxesToAvoid.push({
|
|
725
597
|
left: best.x,
|
|
@@ -792,15 +664,160 @@
|
|
|
792
664
|
});
|
|
793
665
|
fireEvent(chart, 'afterDrawSeriesLabels');
|
|
794
666
|
// console.timeEnd('drawSeriesLabels');
|
|
795
|
-
}
|
|
796
|
-
/* eslint-disable no-invalid-this */
|
|
667
|
+
}
|
|
797
668
|
/**
|
|
798
|
-
*
|
|
669
|
+
* Points to avoid. In addition to actual data points, the label should avoid
|
|
670
|
+
* interpolated positions.
|
|
799
671
|
*
|
|
800
672
|
* @private
|
|
801
|
-
* @function
|
|
673
|
+
* @function Highcharts.Series#getPointsOnGraph
|
|
674
|
+
*/
|
|
675
|
+
function getPointsOnGraph(series) {
|
|
676
|
+
if (!series.xAxis && !series.yAxis) {
|
|
677
|
+
return;
|
|
678
|
+
}
|
|
679
|
+
var distance = 16,
|
|
680
|
+
points = series.points,
|
|
681
|
+
interpolated = [],
|
|
682
|
+
graph = series.graph || series.area,
|
|
683
|
+
node = graph.element,
|
|
684
|
+
inverted = series.chart.inverted,
|
|
685
|
+
xAxis = series.xAxis,
|
|
686
|
+
yAxis = series.yAxis,
|
|
687
|
+
paneLeft = inverted ? yAxis.pos : xAxis.pos,
|
|
688
|
+
paneTop = inverted ? xAxis.pos : yAxis.pos,
|
|
689
|
+
onArea = pick(series.options.label.onArea, !!series.area),
|
|
690
|
+
translatedThreshold = yAxis.getThreshold(series.options.threshold),
|
|
691
|
+
grid = {};
|
|
692
|
+
var point,
|
|
693
|
+
last,
|
|
694
|
+
i,
|
|
695
|
+
deltaX,
|
|
696
|
+
deltaY,
|
|
697
|
+
delta,
|
|
698
|
+
len,
|
|
699
|
+
n,
|
|
700
|
+
j,
|
|
701
|
+
d;
|
|
702
|
+
/**
|
|
703
|
+
* Push the point to the interpolated points, but only if that position in
|
|
704
|
+
* the grid has not been occupied. As a performance optimization, we divide
|
|
705
|
+
* the plot area into a grid and only add one point per series (#9815).
|
|
706
|
+
* @private
|
|
707
|
+
*/
|
|
708
|
+
function pushDiscrete(point) {
|
|
709
|
+
var cellSize = 8, key = Math.round(point.plotX / cellSize) + ',' +
|
|
710
|
+
Math.round(point.plotY / cellSize);
|
|
711
|
+
if (!grid[key]) {
|
|
712
|
+
grid[key] = 1;
|
|
713
|
+
interpolated.push(point);
|
|
714
|
+
}
|
|
715
|
+
}
|
|
716
|
+
// For splines, get the point at length (possible caveat: peaks are not
|
|
717
|
+
// correctly detected)
|
|
718
|
+
if (series.getPointSpline &&
|
|
719
|
+
(node.getPointAtLength) &&
|
|
720
|
+
!onArea &&
|
|
721
|
+
// Not performing well on complex series, node.getPointAtLength is too
|
|
722
|
+
// heavy (#9815)
|
|
723
|
+
points.length < series.chart.plotSizeX / distance) {
|
|
724
|
+
// If it is animating towards a path definition, use that briefly, and
|
|
725
|
+
// reset
|
|
726
|
+
if (graph.toD) {
|
|
727
|
+
d = graph.attr('d');
|
|
728
|
+
graph.attr({ d: graph.toD });
|
|
729
|
+
}
|
|
730
|
+
len = node.getTotalLength();
|
|
731
|
+
for (i = 0; i < len; i += distance) {
|
|
732
|
+
point = node.getPointAtLength(i);
|
|
733
|
+
pushDiscrete({
|
|
734
|
+
chartX: paneLeft + point.x,
|
|
735
|
+
chartY: paneTop + point.y,
|
|
736
|
+
plotX: point.x,
|
|
737
|
+
plotY: point.y
|
|
738
|
+
});
|
|
739
|
+
}
|
|
740
|
+
if (d) {
|
|
741
|
+
graph.attr({ d: d });
|
|
742
|
+
}
|
|
743
|
+
// Last point
|
|
744
|
+
point = points[points.length - 1];
|
|
745
|
+
point.chartX = paneLeft + point.plotX;
|
|
746
|
+
point.chartY = paneTop + point.plotY;
|
|
747
|
+
pushDiscrete(point);
|
|
748
|
+
// Interpolate
|
|
749
|
+
}
|
|
750
|
+
else {
|
|
751
|
+
len = points.length;
|
|
752
|
+
for (i = 0; i < len; i += 1) {
|
|
753
|
+
point = points[i];
|
|
754
|
+
last = points[i - 1];
|
|
755
|
+
// Absolute coordinates so we can compare different panes
|
|
756
|
+
point.chartX = paneLeft + point.plotX;
|
|
757
|
+
point.chartY = paneTop + point.plotY;
|
|
758
|
+
if (onArea) {
|
|
759
|
+
// Vertically centered inside area
|
|
760
|
+
point.chartCenterY = paneTop + (point.plotY +
|
|
761
|
+
pick(point.yBottom, translatedThreshold)) / 2;
|
|
762
|
+
}
|
|
763
|
+
// Add interpolated points
|
|
764
|
+
if (i > 0) {
|
|
765
|
+
deltaX = Math.abs(point.chartX - last.chartX);
|
|
766
|
+
deltaY = Math.abs(point.chartY - last.chartY);
|
|
767
|
+
delta = Math.max(deltaX, deltaY);
|
|
768
|
+
if (delta > distance) {
|
|
769
|
+
n = Math.ceil(delta / distance);
|
|
770
|
+
for (j = 1; j < n; j += 1) {
|
|
771
|
+
pushDiscrete({
|
|
772
|
+
chartX: last.chartX +
|
|
773
|
+
(point.chartX - last.chartX) *
|
|
774
|
+
(j / n),
|
|
775
|
+
chartY: last.chartY +
|
|
776
|
+
(point.chartY - last.chartY) *
|
|
777
|
+
(j / n),
|
|
778
|
+
chartCenterY: last.chartCenterY +
|
|
779
|
+
(point.chartCenterY -
|
|
780
|
+
last.chartCenterY) * (j / n),
|
|
781
|
+
plotX: last.plotX +
|
|
782
|
+
(point.plotX - last.plotX) *
|
|
783
|
+
(j / n),
|
|
784
|
+
plotY: last.plotY +
|
|
785
|
+
(point.plotY - last.plotY) *
|
|
786
|
+
(j / n)
|
|
787
|
+
});
|
|
788
|
+
}
|
|
789
|
+
}
|
|
790
|
+
}
|
|
791
|
+
// Add the real point in order to find positive and negative peaks
|
|
792
|
+
if (isNumber(point.plotY)) {
|
|
793
|
+
pushDiscrete(point);
|
|
794
|
+
}
|
|
795
|
+
}
|
|
796
|
+
}
|
|
797
|
+
// Get the bounding box so we can do a quick check first if the bounding
|
|
798
|
+
// boxes overlap.
|
|
799
|
+
/*
|
|
800
|
+
interpolated.bBox = node.getBBox();
|
|
801
|
+
interpolated.bBox.x += paneLeft;
|
|
802
|
+
interpolated.bBox.y += paneTop;
|
|
803
|
+
*/
|
|
804
|
+
return interpolated;
|
|
805
|
+
}
|
|
806
|
+
/**
|
|
807
|
+
* Overridable function to return series-specific font sizes for the labels. By
|
|
808
|
+
* default it returns bigger font sizes for series with the greater sum of y
|
|
809
|
+
* values.
|
|
810
|
+
* @private
|
|
811
|
+
*/
|
|
812
|
+
function labelFontSize(series, minFontSize, maxFontSize) {
|
|
813
|
+
return minFontSize + ((series.sum / series.chart.labelSeriesMaxSum) *
|
|
814
|
+
(maxFontSize - minFontSize)) + 'px';
|
|
815
|
+
}
|
|
816
|
+
/**
|
|
817
|
+
* Prepare drawing series labels.
|
|
818
|
+
* @private
|
|
802
819
|
*/
|
|
803
|
-
function
|
|
820
|
+
function onChartRedraw(e) {
|
|
804
821
|
if (this.renderer) {
|
|
805
822
|
var chart_1 = this;
|
|
806
823
|
var delay_1 = animObject(chart_1.renderer.globalAnimation).duration;
|
|
@@ -844,18 +861,88 @@
|
|
|
844
861
|
});
|
|
845
862
|
chart_1.seriesLabelTimer = syncTimeout(function () {
|
|
846
863
|
if (chart_1.series && chart_1.labelSeries) { // #7931, chart destroyed
|
|
847
|
-
|
|
864
|
+
drawSeriesLabels(chart_1);
|
|
848
865
|
}
|
|
849
866
|
}, chart_1.renderer.forExport || !delay_1 ? 0 : delay_1);
|
|
850
867
|
}
|
|
851
868
|
}
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
869
|
+
/**
|
|
870
|
+
* General symbol definition for labels with connector.
|
|
871
|
+
* @private
|
|
872
|
+
*/
|
|
873
|
+
function symbolConnector(x, y, w, h, options) {
|
|
874
|
+
var anchorX = options && options.anchorX,
|
|
875
|
+
anchorY = options && options.anchorY;
|
|
876
|
+
var path,
|
|
877
|
+
yOffset,
|
|
878
|
+
lateral = w / 2;
|
|
879
|
+
if (isNumber(anchorX) && isNumber(anchorY)) {
|
|
880
|
+
path = [['M', anchorX, anchorY]];
|
|
881
|
+
// Prefer 45 deg connectors
|
|
882
|
+
yOffset = y - anchorY;
|
|
883
|
+
if (yOffset < 0) {
|
|
884
|
+
yOffset = -h - yOffset;
|
|
885
|
+
}
|
|
886
|
+
if (yOffset < w) {
|
|
887
|
+
lateral = anchorX < x + (w / 2) ? yOffset : w - yOffset;
|
|
888
|
+
}
|
|
889
|
+
// Anchor below label
|
|
890
|
+
if (anchorY > y + h) {
|
|
891
|
+
path.push(['L', x + lateral, y + h]);
|
|
892
|
+
// Anchor above label
|
|
893
|
+
}
|
|
894
|
+
else if (anchorY < y) {
|
|
895
|
+
path.push(['L', x + lateral, y]);
|
|
896
|
+
// Anchor left of label
|
|
897
|
+
}
|
|
898
|
+
else if (anchorX < x) {
|
|
899
|
+
path.push(['L', x, y + h / 2]);
|
|
900
|
+
// Anchor right of label
|
|
901
|
+
}
|
|
902
|
+
else if (anchorX > x + w) {
|
|
903
|
+
path.push(['L', x + w, y + h / 2]);
|
|
904
|
+
}
|
|
905
|
+
}
|
|
906
|
+
return path || [];
|
|
907
|
+
}
|
|
908
|
+
/* *
|
|
909
|
+
*
|
|
910
|
+
* Default Export
|
|
911
|
+
*
|
|
912
|
+
* */
|
|
913
|
+
var SeriesLabel = {
|
|
914
|
+
compose: compose
|
|
915
|
+
};
|
|
916
|
+
/* *
|
|
917
|
+
*
|
|
918
|
+
* API Declarations
|
|
919
|
+
*
|
|
920
|
+
* */
|
|
921
|
+
/**
|
|
922
|
+
* Containing the position of a box that should be avoided by labels.
|
|
923
|
+
*
|
|
924
|
+
* @interface Highcharts.LabelIntersectBoxObject
|
|
925
|
+
*/ /**
|
|
926
|
+
* @name Highcharts.LabelIntersectBoxObject#bottom
|
|
927
|
+
* @type {number}
|
|
928
|
+
*/ /**
|
|
929
|
+
* @name Highcharts.LabelIntersectBoxObject#left
|
|
930
|
+
* @type {number}
|
|
931
|
+
*/ /**
|
|
932
|
+
* @name Highcharts.LabelIntersectBoxObject#right
|
|
933
|
+
* @type {number}
|
|
934
|
+
*/ /**
|
|
935
|
+
* @name Highcharts.LabelIntersectBoxObject#top
|
|
936
|
+
* @type {number}
|
|
937
|
+
*/
|
|
938
|
+
(''); // keeps doclets above in JS file
|
|
855
939
|
|
|
940
|
+
return SeriesLabel;
|
|
856
941
|
});
|
|
857
|
-
_registerModule(_modules, 'masters/modules/series-label.src.js', [], function () {
|
|
942
|
+
_registerModule(_modules, 'masters/modules/series-label.src.js', [_modules['Core/Globals.js'], _modules['Extensions/SeriesLabel/SeriesLabel.js']], function (Highcharts, SeriesLabel) {
|
|
858
943
|
|
|
944
|
+
var G = Highcharts;
|
|
945
|
+
SeriesLabel.compose(G.Chart, G.SVGRenderer);
|
|
859
946
|
|
|
860
947
|
});
|
|
861
948
|
}));
|