highcharts 6.1.1 → 6.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.
Files changed (871) hide show
  1. package/bower.json +1 -1
  2. package/css/highcharts.css +29 -0
  3. package/css/highcharts.scss +25 -1
  4. package/css/themes/dark-unica.css +29 -0
  5. package/css/themes/grid-light.css +29 -0
  6. package/css/themes/sand-signika.css +29 -0
  7. package/es-modules/indicators/accumulation-distribution.src.js +1 -1
  8. package/es-modules/indicators/atr.src.js +1 -1
  9. package/es-modules/indicators/bollinger-bands.src.js +2 -2
  10. package/es-modules/indicators/cci.src.js +1 -1
  11. package/es-modules/indicators/cmf.src.js +1 -1
  12. package/es-modules/indicators/ema.src.js +1 -1
  13. package/es-modules/indicators/ichimoku-kinko-hyo.src.js +1 -1
  14. package/es-modules/indicators/indicators.src.js +29 -14
  15. package/es-modules/indicators/macd.src.js +4 -4
  16. package/es-modules/indicators/mfi.src.js +1 -1
  17. package/es-modules/indicators/momentum.src.js +2 -2
  18. package/es-modules/indicators/pivot-points.src.js +7 -2
  19. package/es-modules/indicators/price-envelopes.src.js +2 -2
  20. package/es-modules/indicators/psar.src.js +1 -1
  21. package/es-modules/indicators/roc.src.js +1 -1
  22. package/es-modules/indicators/rsi.src.js +1 -1
  23. package/es-modules/indicators/stochastic.src.js +9 -7
  24. package/es-modules/indicators/volume-by-price.src.js +1 -1
  25. package/es-modules/indicators/vwap.src.js +1 -1
  26. package/es-modules/indicators/wma.src.js +1 -1
  27. package/es-modules/indicators/zigzag.src.js +1 -1
  28. package/es-modules/masters/highcharts-gantt.src.js +11 -0
  29. package/es-modules/masters/modules/annotations.src.js +1 -1
  30. package/es-modules/masters/modules/arrow-symbols.src.js +12 -0
  31. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  32. package/es-modules/masters/modules/current-date-indicator.src.js +12 -0
  33. package/es-modules/masters/modules/data.src.js +1 -1
  34. package/es-modules/masters/modules/draggable-points.src.js +9 -0
  35. package/es-modules/masters/modules/export-data.src.js +1 -1
  36. package/es-modules/masters/modules/exporting.src.js +1 -1
  37. package/es-modules/masters/modules/funnel.src.js +1 -1
  38. package/es-modules/masters/modules/gantt.src.js +2 -1
  39. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  40. package/es-modules/masters/modules/heatmap.src.js +1 -1
  41. package/es-modules/masters/modules/item-series.src.js +1 -1
  42. package/es-modules/masters/modules/map.src.js +1 -1
  43. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  44. package/es-modules/masters/modules/pathfinder.src.js +12 -0
  45. package/es-modules/masters/modules/sankey.src.js +1 -1
  46. package/es-modules/masters/modules/series-label.src.js +1 -1
  47. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  48. package/es-modules/masters/modules/stock.src.js +1 -1
  49. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  50. package/es-modules/masters/modules/treegrid.src.js +12 -0
  51. package/es-modules/masters/modules/variwide.src.js +1 -1
  52. package/es-modules/masters/modules/vector.src.js +1 -1
  53. package/es-modules/masters/modules/windbarb.src.js +1 -1
  54. package/es-modules/masters/modules/xrange.src.js +1 -1
  55. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  56. package/es-modules/masters/themes/dark-green.src.js +1 -1
  57. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  58. package/es-modules/masters/themes/gray.src.js +1 -1
  59. package/es-modules/masters/themes/grid-light.src.js +1 -1
  60. package/es-modules/masters/themes/grid.src.js +1 -1
  61. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  62. package/es-modules/masters/themes/skies.src.js +1 -1
  63. package/es-modules/mixins/centered-series.js +36 -5
  64. package/es-modules/mixins/on-series.js +1 -1
  65. package/es-modules/mixins/polygon.js +4 -4
  66. package/es-modules/modules/annotations.src.js +2 -2
  67. package/es-modules/modules/boost-canvas.src.js +19 -8
  68. package/es-modules/modules/boost.src.js +300 -137
  69. package/es-modules/modules/broken-axis.src.js +169 -134
  70. package/es-modules/modules/bullet.src.js +2 -2
  71. package/es-modules/modules/data.src.js +8 -6
  72. package/es-modules/modules/draggable-points.src.js +2257 -0
  73. package/es-modules/modules/drilldown.src.js +4 -2
  74. package/es-modules/modules/export-data.src.js +11 -1
  75. package/es-modules/modules/exporting.src.js +62 -36
  76. package/es-modules/modules/funnel.src.js +5 -5
  77. package/es-modules/modules/histogram.src.js +30 -28
  78. package/es-modules/modules/item-series.src.js +36 -11
  79. package/es-modules/modules/keyboard-navigation.src.js +81 -44
  80. package/es-modules/modules/no-data-to-display.src.js +5 -5
  81. package/es-modules/modules/oldie.src.js +14 -9
  82. package/es-modules/modules/overlapping-datalabels.src.js +45 -21
  83. package/es-modules/modules/parallel-coordinates.src.js +4 -3
  84. package/es-modules/modules/pareto.src.js +1 -1
  85. package/es-modules/modules/sankey.src.js +28 -10
  86. package/es-modules/modules/series-label.src.js +6 -6
  87. package/es-modules/modules/solid-gauge.src.js +10 -7
  88. package/es-modules/modules/static-scale.src.js +67 -28
  89. package/es-modules/modules/streamgraph.src.js +4 -4
  90. package/es-modules/modules/sunburst.src.js +4 -4
  91. package/es-modules/modules/tilemap.src.js +231 -134
  92. package/es-modules/modules/treemap.src.js +30 -27
  93. package/es-modules/modules/variable-pie.src.js +3 -3
  94. package/es-modules/modules/variwide.src.js +36 -24
  95. package/es-modules/modules/vector.src.js +98 -28
  96. package/es-modules/modules/windbarb.src.js +4 -4
  97. package/es-modules/modules/wordcloud.src.js +133 -48
  98. package/es-modules/modules/xrange.src.js +258 -78
  99. package/es-modules/parts/AreaSeries.js +83 -50
  100. package/es-modules/parts/AreaSplineSeries.js +66 -29
  101. package/es-modules/parts/Axis.js +2184 -745
  102. package/es-modules/parts/BarSeries.js +70 -53
  103. package/es-modules/parts/CandlestickSeries.js +20 -10
  104. package/es-modules/parts/Chart.js +349 -157
  105. package/es-modules/parts/Color.js +74 -25
  106. package/es-modules/parts/ColumnSeries.js +274 -147
  107. package/es-modules/parts/DataGrouping.js +36 -3
  108. package/es-modules/parts/DataLabels.js +318 -144
  109. package/es-modules/parts/DateTimeAxis.js +27 -5
  110. package/es-modules/parts/Dynamics.js +236 -144
  111. package/es-modules/parts/FlagsSeries.js +49 -7
  112. package/es-modules/parts/Globals.js +4 -3
  113. package/es-modules/parts/Html.js +82 -16
  114. package/es-modules/parts/Interaction.js +198 -65
  115. package/es-modules/parts/Legend.js +181 -31
  116. package/es-modules/parts/LogarithmicAxis.js +36 -3
  117. package/es-modules/parts/MSPointer.js +31 -4
  118. package/es-modules/parts/Navigator.js +479 -187
  119. package/es-modules/parts/OHLCSeries.js +11 -5
  120. package/es-modules/parts/Options.js +1052 -686
  121. package/es-modules/parts/OrdinalAxis.js +20 -6
  122. package/es-modules/parts/PieSeries.js +258 -142
  123. package/es-modules/parts/PlotBandSeries.experimental.js +2 -2
  124. package/es-modules/parts/PlotLineOrBand.js +671 -35
  125. package/es-modules/parts/Point.js +189 -73
  126. package/es-modules/parts/Pointer.js +263 -62
  127. package/es-modules/parts/RangeSelector.js +601 -91
  128. package/es-modules/parts/Responsive.js +82 -36
  129. package/es-modules/parts/ScatterSeries.js +59 -27
  130. package/es-modules/parts/ScrollablePlotArea.js +30 -9
  131. package/es-modules/parts/Scrollbar.js +284 -113
  132. package/es-modules/parts/Series.js +1105 -836
  133. package/es-modules/parts/SplineSeries.js +53 -31
  134. package/es-modules/parts/Stacking.js +108 -7
  135. package/es-modules/parts/StockChart.js +26 -8
  136. package/es-modules/parts/SvgRenderer.js +1251 -613
  137. package/es-modules/parts/Tick.js +164 -30
  138. package/es-modules/parts/Time.js +171 -71
  139. package/es-modules/parts/Tooltip.js +271 -49
  140. package/es-modules/parts/TouchPointer.js +70 -3
  141. package/es-modules/parts/Utilities.js +1024 -429
  142. package/es-modules/parts-3d/Axis.js +4 -3
  143. package/es-modules/parts-3d/Chart.js +8 -9
  144. package/es-modules/parts-3d/Column.js +1 -1
  145. package/es-modules/parts-3d/Math.js +1 -1
  146. package/es-modules/parts-3d/Pie.js +1 -1
  147. package/es-modules/parts-3d/SVGRenderer.js +13 -10
  148. package/es-modules/parts-3d/Scatter.js +4 -4
  149. package/es-modules/parts-3d/Series.js +1 -1
  150. package/es-modules/parts-3d/VMLRenderer.js +1 -1
  151. package/es-modules/parts-gantt/ArrowSymbols.js +110 -0
  152. package/es-modules/parts-gantt/CurrentDateIndicator.js +92 -0
  153. package/es-modules/parts-gantt/GanttChart.js +111 -0
  154. package/es-modules/parts-gantt/GanttSeries.js +376 -0
  155. package/es-modules/parts-gantt/GridAxis.js +965 -0
  156. package/es-modules/parts-gantt/Pathfinder.js +1247 -0
  157. package/es-modules/parts-gantt/PathfinderAlgorithms.js +746 -0
  158. package/es-modules/parts-gantt/Tree.js +146 -0
  159. package/es-modules/parts-gantt/TreeGrid.js +917 -0
  160. package/es-modules/parts-map/ColorAxis.js +4 -5
  161. package/es-modules/parts-map/ColorSeriesMixin.js +3 -1
  162. package/es-modules/parts-map/GeoJSON.js +1 -1
  163. package/es-modules/parts-map/HeatmapSeries.js +126 -55
  164. package/es-modules/parts-map/Map.js +144 -51
  165. package/es-modules/parts-map/MapAxis.js +1 -1
  166. package/es-modules/parts-map/MapBubbleSeries.js +6 -5
  167. package/es-modules/parts-map/MapLineSeries.js +4 -4
  168. package/es-modules/parts-map/MapNavigation.js +50 -12
  169. package/es-modules/parts-map/MapPointSeries.js +3 -3
  170. package/es-modules/parts-map/MapPointer.js +1 -1
  171. package/es-modules/parts-map/MapSeries.js +7 -7
  172. package/es-modules/parts-more/AreaRangeSeries.js +82 -40
  173. package/es-modules/parts-more/AreaSplineRangeSeries.js +3 -3
  174. package/es-modules/parts-more/BoxPlotSeries.js +3 -3
  175. package/es-modules/parts-more/BubbleSeries.js +9 -4
  176. package/es-modules/parts-more/ColumnRangeSeries.js +3 -3
  177. package/es-modules/parts-more/ErrorBarSeries.js +6 -4
  178. package/es-modules/parts-more/GaugeSeries.js +3 -3
  179. package/es-modules/parts-more/Pane.js +3 -2
  180. package/es-modules/parts-more/Polar.js +1 -1
  181. package/es-modules/parts-more/PolygonSeries.js +3 -3
  182. package/es-modules/parts-more/RadialAxis.js +5 -4
  183. package/es-modules/parts-more/WaterfallSeries.js +9 -4
  184. package/es-modules/supplemental.docs.js +0 -1955
  185. package/es-modules/themes/dark-blue.js +1 -1
  186. package/es-modules/themes/dark-green.js +1 -1
  187. package/es-modules/themes/dark-unica.js +1 -1
  188. package/es-modules/themes/gray.js +1 -1
  189. package/es-modules/themes/grid-light.js +1 -1
  190. package/es-modules/themes/grid.js +1 -1
  191. package/es-modules/themes/sand-signika.js +1 -1
  192. package/es-modules/themes/skies.js +1 -1
  193. package/highcharts-3d.js +77 -75
  194. package/highcharts-3d.js.map +1 -8
  195. package/highcharts-3d.src.js +39 -32
  196. package/highcharts-gantt.js +503 -0
  197. package/highcharts-gantt.js.map +1 -0
  198. package/highcharts-gantt.src.js +49289 -0
  199. package/highcharts-more.js +66 -64
  200. package/highcharts-more.js.map +1 -8
  201. package/highcharts-more.src.js +135 -75
  202. package/highcharts.js +413 -403
  203. package/highcharts.js.map +1 -8
  204. package/highcharts.src.js +11114 -4781
  205. package/highmaps.js +442 -433
  206. package/highmaps.js.map +1 -8
  207. package/highmaps.src.js +10740 -4598
  208. package/highstock.js +553 -540
  209. package/highstock.js.map +1 -8
  210. package/highstock.src.js +12807 -5343
  211. package/indicators/accumulation-distribution.js +4 -3
  212. package/indicators/accumulation-distribution.js.map +1 -8
  213. package/indicators/accumulation-distribution.src.js +6 -2
  214. package/indicators/atr.js +4 -3
  215. package/indicators/atr.js.map +1 -8
  216. package/indicators/atr.src.js +6 -2
  217. package/indicators/bollinger-bands.js +7 -6
  218. package/indicators/bollinger-bands.js.map +1 -8
  219. package/indicators/bollinger-bands.src.js +7 -3
  220. package/indicators/cci.js +4 -3
  221. package/indicators/cci.js.map +1 -8
  222. package/indicators/cci.src.js +6 -2
  223. package/indicators/cmf.js +5 -4
  224. package/indicators/cmf.js.map +1 -8
  225. package/indicators/cmf.src.js +6 -2
  226. package/indicators/ema.js +4 -3
  227. package/indicators/ema.js.map +1 -8
  228. package/indicators/ema.src.js +6 -2
  229. package/indicators/ichimoku-kinko-hyo.js +10 -9
  230. package/indicators/ichimoku-kinko-hyo.js.map +1 -8
  231. package/indicators/ichimoku-kinko-hyo.src.js +6 -2
  232. package/indicators/indicators.js +6 -5
  233. package/indicators/indicators.js.map +1 -8
  234. package/indicators/indicators.src.js +34 -15
  235. package/indicators/macd.js +11 -10
  236. package/indicators/macd.js.map +1 -8
  237. package/indicators/macd.src.js +10 -6
  238. package/indicators/mfi.js +5 -3
  239. package/indicators/mfi.js.map +1 -8
  240. package/indicators/mfi.src.js +6 -2
  241. package/indicators/momentum.js +4 -3
  242. package/indicators/momentum.js.map +1 -8
  243. package/indicators/momentum.src.js +7 -3
  244. package/indicators/pivot-points.js +8 -7
  245. package/indicators/pivot-points.js.map +1 -8
  246. package/indicators/pivot-points.src.js +12 -3
  247. package/indicators/price-envelopes.js +7 -6
  248. package/indicators/price-envelopes.js.map +1 -8
  249. package/indicators/price-envelopes.src.js +7 -3
  250. package/indicators/psar.js +5 -4
  251. package/indicators/psar.js.map +1 -8
  252. package/indicators/psar.src.js +6 -2
  253. package/indicators/roc.js +4 -3
  254. package/indicators/roc.js.map +1 -8
  255. package/indicators/roc.src.js +6 -2
  256. package/indicators/rsi.js +4 -3
  257. package/indicators/rsi.js.map +1 -8
  258. package/indicators/rsi.src.js +6 -2
  259. package/indicators/stochastic.js +7 -5
  260. package/indicators/stochastic.js.map +1 -8
  261. package/indicators/stochastic.src.js +14 -8
  262. package/indicators/volume-by-price.js +13 -12
  263. package/indicators/volume-by-price.js.map +1 -8
  264. package/indicators/volume-by-price.src.js +6 -2
  265. package/indicators/vwap.js +4 -3
  266. package/indicators/vwap.js.map +1 -8
  267. package/indicators/vwap.src.js +6 -2
  268. package/indicators/wma.js +4 -3
  269. package/indicators/wma.js.map +1 -8
  270. package/indicators/wma.src.js +6 -2
  271. package/indicators/zigzag.js +5 -3
  272. package/indicators/zigzag.js.map +1 -8
  273. package/indicators/zigzag.src.js +6 -2
  274. package/js/es-modules/indicators/accumulation-distribution.src.js +1 -1
  275. package/js/es-modules/indicators/atr.src.js +1 -1
  276. package/js/es-modules/indicators/bollinger-bands.src.js +2 -2
  277. package/js/es-modules/indicators/cci.src.js +1 -1
  278. package/js/es-modules/indicators/cmf.src.js +1 -1
  279. package/js/es-modules/indicators/ema.src.js +1 -1
  280. package/js/es-modules/indicators/ichimoku-kinko-hyo.src.js +1 -1
  281. package/js/es-modules/indicators/indicators.src.js +29 -14
  282. package/js/es-modules/indicators/macd.src.js +4 -4
  283. package/js/es-modules/indicators/mfi.src.js +1 -1
  284. package/js/es-modules/indicators/momentum.src.js +2 -2
  285. package/js/es-modules/indicators/pivot-points.src.js +7 -2
  286. package/js/es-modules/indicators/price-envelopes.src.js +2 -2
  287. package/js/es-modules/indicators/psar.src.js +1 -1
  288. package/js/es-modules/indicators/roc.src.js +1 -1
  289. package/js/es-modules/indicators/rsi.src.js +1 -1
  290. package/js/es-modules/indicators/stochastic.src.js +9 -7
  291. package/js/es-modules/indicators/volume-by-price.src.js +1 -1
  292. package/js/es-modules/indicators/vwap.src.js +1 -1
  293. package/js/es-modules/indicators/wma.src.js +1 -1
  294. package/js/es-modules/indicators/zigzag.src.js +1 -1
  295. package/js/es-modules/masters/highcharts-gantt.src.js +11 -0
  296. package/js/es-modules/masters/modules/annotations.src.js +1 -1
  297. package/js/es-modules/masters/modules/arrow-symbols.src.js +12 -0
  298. package/js/es-modules/masters/modules/broken-axis.src.js +1 -1
  299. package/js/es-modules/masters/modules/current-date-indicator.src.js +12 -0
  300. package/js/es-modules/masters/modules/data.src.js +1 -1
  301. package/js/es-modules/masters/modules/draggable-points.src.js +9 -0
  302. package/js/es-modules/masters/modules/export-data.src.js +1 -1
  303. package/js/es-modules/masters/modules/exporting.src.js +1 -1
  304. package/js/es-modules/masters/modules/funnel.src.js +1 -1
  305. package/js/es-modules/masters/modules/gantt.src.js +2 -1
  306. package/js/es-modules/masters/modules/grid-axis.src.js +1 -1
  307. package/js/es-modules/masters/modules/heatmap.src.js +1 -1
  308. package/js/es-modules/masters/modules/item-series.src.js +1 -1
  309. package/js/es-modules/masters/modules/map.src.js +1 -1
  310. package/js/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  311. package/js/es-modules/masters/modules/pathfinder.src.js +12 -0
  312. package/js/es-modules/masters/modules/sankey.src.js +1 -1
  313. package/js/es-modules/masters/modules/series-label.src.js +1 -1
  314. package/js/es-modules/masters/modules/solid-gauge.src.js +1 -1
  315. package/js/es-modules/masters/modules/stock.src.js +1 -1
  316. package/js/es-modules/masters/modules/streamgraph.src.js +1 -1
  317. package/js/es-modules/masters/modules/treegrid.src.js +12 -0
  318. package/js/es-modules/masters/modules/variwide.src.js +1 -1
  319. package/js/es-modules/masters/modules/vector.src.js +1 -1
  320. package/js/es-modules/masters/modules/windbarb.src.js +1 -1
  321. package/js/es-modules/masters/modules/xrange.src.js +1 -1
  322. package/js/es-modules/masters/themes/dark-blue.src.js +1 -1
  323. package/js/es-modules/masters/themes/dark-green.src.js +1 -1
  324. package/js/es-modules/masters/themes/dark-unica.src.js +1 -1
  325. package/js/es-modules/masters/themes/gray.src.js +1 -1
  326. package/js/es-modules/masters/themes/grid-light.src.js +1 -1
  327. package/js/es-modules/masters/themes/grid.src.js +1 -1
  328. package/js/es-modules/masters/themes/sand-signika.src.js +1 -1
  329. package/js/es-modules/masters/themes/skies.src.js +1 -1
  330. package/js/es-modules/mixins/centered-series.js +36 -5
  331. package/js/es-modules/mixins/on-series.js +1 -1
  332. package/js/es-modules/mixins/polygon.js +4 -4
  333. package/js/es-modules/modules/annotations.src.js +2 -2
  334. package/js/es-modules/modules/boost-canvas.src.js +19 -8
  335. package/js/es-modules/modules/boost.src.js +300 -137
  336. package/js/es-modules/modules/broken-axis.src.js +169 -134
  337. package/js/es-modules/modules/bullet.src.js +2 -2
  338. package/js/es-modules/modules/data.src.js +8 -6
  339. package/js/es-modules/modules/draggable-points.src.js +2257 -0
  340. package/js/es-modules/modules/drilldown.src.js +4 -2
  341. package/js/es-modules/modules/export-data.src.js +11 -1
  342. package/js/es-modules/modules/exporting.src.js +62 -36
  343. package/js/es-modules/modules/funnel.src.js +5 -5
  344. package/js/es-modules/modules/histogram.src.js +30 -28
  345. package/js/es-modules/modules/item-series.src.js +36 -11
  346. package/js/es-modules/modules/keyboard-navigation.src.js +81 -44
  347. package/js/es-modules/modules/no-data-to-display.src.js +5 -5
  348. package/js/es-modules/modules/oldie.src.js +14 -9
  349. package/js/es-modules/modules/overlapping-datalabels.src.js +45 -21
  350. package/js/es-modules/modules/parallel-coordinates.src.js +4 -3
  351. package/js/es-modules/modules/pareto.src.js +1 -1
  352. package/js/es-modules/modules/sankey.src.js +23 -7
  353. package/js/es-modules/modules/series-label.src.js +6 -6
  354. package/js/es-modules/modules/solid-gauge.src.js +8 -5
  355. package/js/es-modules/modules/static-scale.src.js +67 -28
  356. package/js/es-modules/modules/streamgraph.src.js +4 -4
  357. package/js/es-modules/modules/sunburst.src.js +4 -4
  358. package/js/es-modules/modules/tilemap.src.js +231 -134
  359. package/js/es-modules/modules/treemap.src.js +29 -26
  360. package/js/es-modules/modules/variable-pie.src.js +3 -3
  361. package/js/es-modules/modules/variwide.src.js +36 -24
  362. package/js/es-modules/modules/vector.src.js +98 -28
  363. package/js/es-modules/modules/windbarb.src.js +4 -4
  364. package/js/es-modules/modules/wordcloud.src.js +133 -48
  365. package/js/es-modules/modules/xrange.src.js +256 -69
  366. package/js/es-modules/parts/AreaSeries.js +83 -50
  367. package/js/es-modules/parts/AreaSplineSeries.js +66 -29
  368. package/js/es-modules/parts/Axis.js +2089 -694
  369. package/js/es-modules/parts/BarSeries.js +70 -53
  370. package/js/es-modules/parts/CandlestickSeries.js +20 -10
  371. package/js/es-modules/parts/Chart.js +349 -157
  372. package/js/es-modules/parts/Color.js +74 -25
  373. package/js/es-modules/parts/ColumnSeries.js +241 -128
  374. package/js/es-modules/parts/DataGrouping.js +36 -3
  375. package/js/es-modules/parts/DataLabels.js +287 -116
  376. package/js/es-modules/parts/DateTimeAxis.js +27 -5
  377. package/js/es-modules/parts/Dynamics.js +236 -144
  378. package/js/es-modules/parts/FlagsSeries.js +49 -7
  379. package/js/es-modules/parts/Globals.js +4 -3
  380. package/js/es-modules/parts/Html.js +82 -16
  381. package/js/es-modules/parts/Interaction.js +187 -67
  382. package/js/es-modules/parts/Legend.js +181 -31
  383. package/js/es-modules/parts/LogarithmicAxis.js +36 -3
  384. package/js/es-modules/parts/MSPointer.js +31 -4
  385. package/js/es-modules/parts/Navigator.js +432 -162
  386. package/js/es-modules/parts/OHLCSeries.js +5 -5
  387. package/js/es-modules/parts/Options.js +855 -592
  388. package/js/es-modules/parts/OrdinalAxis.js +20 -6
  389. package/js/es-modules/parts/PieSeries.js +247 -134
  390. package/js/es-modules/parts/PlotBandSeries.experimental.js +2 -2
  391. package/js/es-modules/parts/PlotLineOrBand.js +671 -35
  392. package/js/es-modules/parts/Point.js +182 -70
  393. package/js/es-modules/parts/Pointer.js +263 -62
  394. package/js/es-modules/parts/RangeSelector.js +579 -91
  395. package/js/es-modules/parts/Responsive.js +82 -36
  396. package/js/es-modules/parts/ScatterSeries.js +58 -27
  397. package/js/es-modules/parts/ScrollablePlotArea.js +30 -9
  398. package/js/es-modules/parts/Scrollbar.js +201 -71
  399. package/js/es-modules/parts/Series.js +995 -745
  400. package/js/es-modules/parts/SplineSeries.js +53 -31
  401. package/js/es-modules/parts/Stacking.js +108 -7
  402. package/js/es-modules/parts/StockChart.js +26 -8
  403. package/js/es-modules/parts/SvgRenderer.js +1208 -598
  404. package/js/es-modules/parts/Tick.js +164 -30
  405. package/js/es-modules/parts/Time.js +171 -71
  406. package/js/es-modules/parts/Tooltip.js +276 -49
  407. package/js/es-modules/parts/TouchPointer.js +70 -3
  408. package/js/es-modules/parts/Utilities.js +1024 -429
  409. package/js/es-modules/parts-3d/Axis.js +4 -3
  410. package/js/es-modules/parts-3d/Chart.js +8 -9
  411. package/js/es-modules/parts-3d/Column.js +1 -1
  412. package/js/es-modules/parts-3d/Math.js +1 -1
  413. package/js/es-modules/parts-3d/Pie.js +1 -1
  414. package/js/es-modules/parts-3d/SVGRenderer.js +13 -10
  415. package/js/es-modules/parts-3d/Scatter.js +4 -4
  416. package/js/es-modules/parts-3d/Series.js +1 -1
  417. package/js/es-modules/parts-3d/VMLRenderer.js +1 -1
  418. package/js/es-modules/parts-gantt/ArrowSymbols.js +110 -0
  419. package/js/es-modules/parts-gantt/CurrentDateIndicator.js +92 -0
  420. package/js/es-modules/parts-gantt/GanttChart.js +111 -0
  421. package/js/es-modules/parts-gantt/GanttSeries.js +371 -0
  422. package/js/es-modules/parts-gantt/GridAxis.js +962 -0
  423. package/js/es-modules/parts-gantt/Pathfinder.js +1225 -0
  424. package/js/es-modules/parts-gantt/PathfinderAlgorithms.js +746 -0
  425. package/js/es-modules/parts-gantt/Tree.js +146 -0
  426. package/js/es-modules/parts-gantt/TreeGrid.js +891 -0
  427. package/js/es-modules/parts-map/ColorAxis.js +4 -5
  428. package/js/es-modules/parts-map/ColorSeriesMixin.js +3 -1
  429. package/js/es-modules/parts-map/GeoJSON.js +1 -1
  430. package/js/es-modules/parts-map/HeatmapSeries.js +124 -54
  431. package/js/es-modules/parts-map/Map.js +136 -47
  432. package/js/es-modules/parts-map/MapAxis.js +1 -1
  433. package/js/es-modules/parts-map/MapBubbleSeries.js +6 -5
  434. package/js/es-modules/parts-map/MapLineSeries.js +4 -4
  435. package/js/es-modules/parts-map/MapNavigation.js +50 -12
  436. package/js/es-modules/parts-map/MapPointSeries.js +3 -3
  437. package/js/es-modules/parts-map/MapPointer.js +1 -1
  438. package/js/es-modules/parts-map/MapSeries.js +5 -5
  439. package/js/es-modules/parts-more/AreaRangeSeries.js +82 -40
  440. package/js/es-modules/parts-more/AreaSplineRangeSeries.js +3 -3
  441. package/js/es-modules/parts-more/BoxPlotSeries.js +3 -3
  442. package/js/es-modules/parts-more/BubbleSeries.js +9 -4
  443. package/js/es-modules/parts-more/ColumnRangeSeries.js +3 -3
  444. package/js/es-modules/parts-more/ErrorBarSeries.js +6 -4
  445. package/js/es-modules/parts-more/GaugeSeries.js +3 -3
  446. package/js/es-modules/parts-more/Pane.js +3 -2
  447. package/js/es-modules/parts-more/Polar.js +1 -1
  448. package/js/es-modules/parts-more/PolygonSeries.js +3 -3
  449. package/js/es-modules/parts-more/RadialAxis.js +5 -4
  450. package/js/es-modules/parts-more/WaterfallSeries.js +9 -4
  451. package/js/es-modules/supplemental.docs.js +0 -1955
  452. package/js/es-modules/themes/dark-blue.js +1 -1
  453. package/js/es-modules/themes/dark-green.js +1 -1
  454. package/js/es-modules/themes/dark-unica.js +1 -1
  455. package/js/es-modules/themes/gray.js +1 -1
  456. package/js/es-modules/themes/grid-light.js +1 -1
  457. package/js/es-modules/themes/grid.js +1 -1
  458. package/js/es-modules/themes/sand-signika.js +1 -1
  459. package/js/es-modules/themes/skies.js +1 -1
  460. package/js/highcharts-3d.js +75 -74
  461. package/js/highcharts-3d.js.map +1 -8
  462. package/js/highcharts-3d.src.js +39 -32
  463. package/js/highcharts-gantt.js +480 -0
  464. package/js/highcharts-gantt.js.map +1 -0
  465. package/js/highcharts-gantt.src.js +47011 -0
  466. package/js/highcharts-more.js +63 -61
  467. package/js/highcharts-more.js.map +1 -8
  468. package/js/highcharts-more.src.js +135 -75
  469. package/js/highcharts.js +396 -387
  470. package/js/highcharts.js.map +1 -8
  471. package/js/highcharts.src.js +10765 -4659
  472. package/js/highmaps.js +419 -411
  473. package/js/highmaps.js.map +1 -8
  474. package/js/highmaps.src.js +10198 -4285
  475. package/js/highstock.js +529 -516
  476. package/js/highstock.js.map +1 -8
  477. package/js/highstock.src.js +12108 -4962
  478. package/js/indicators/accumulation-distribution.js +4 -3
  479. package/js/indicators/accumulation-distribution.js.map +1 -8
  480. package/js/indicators/accumulation-distribution.src.js +6 -2
  481. package/js/indicators/atr.js +4 -3
  482. package/js/indicators/atr.js.map +1 -8
  483. package/js/indicators/atr.src.js +6 -2
  484. package/js/indicators/bollinger-bands.js +7 -6
  485. package/js/indicators/bollinger-bands.js.map +1 -8
  486. package/js/indicators/bollinger-bands.src.js +7 -3
  487. package/js/indicators/cci.js +4 -3
  488. package/js/indicators/cci.js.map +1 -8
  489. package/js/indicators/cci.src.js +6 -2
  490. package/js/indicators/cmf.js +5 -4
  491. package/js/indicators/cmf.js.map +1 -8
  492. package/js/indicators/cmf.src.js +6 -2
  493. package/js/indicators/ema.js +4 -3
  494. package/js/indicators/ema.js.map +1 -8
  495. package/js/indicators/ema.src.js +6 -2
  496. package/js/indicators/ichimoku-kinko-hyo.js +10 -9
  497. package/js/indicators/ichimoku-kinko-hyo.js.map +1 -8
  498. package/js/indicators/ichimoku-kinko-hyo.src.js +6 -2
  499. package/js/indicators/indicators.js +6 -5
  500. package/js/indicators/indicators.js.map +1 -8
  501. package/js/indicators/indicators.src.js +34 -15
  502. package/js/indicators/macd.js +11 -10
  503. package/js/indicators/macd.js.map +1 -8
  504. package/js/indicators/macd.src.js +10 -6
  505. package/js/indicators/mfi.js +5 -3
  506. package/js/indicators/mfi.js.map +1 -8
  507. package/js/indicators/mfi.src.js +6 -2
  508. package/js/indicators/momentum.js +4 -3
  509. package/js/indicators/momentum.js.map +1 -8
  510. package/js/indicators/momentum.src.js +7 -3
  511. package/js/indicators/pivot-points.js +8 -7
  512. package/js/indicators/pivot-points.js.map +1 -8
  513. package/js/indicators/pivot-points.src.js +12 -3
  514. package/js/indicators/price-envelopes.js +7 -6
  515. package/js/indicators/price-envelopes.js.map +1 -8
  516. package/js/indicators/price-envelopes.src.js +7 -3
  517. package/js/indicators/psar.js +5 -4
  518. package/js/indicators/psar.js.map +1 -8
  519. package/js/indicators/psar.src.js +6 -2
  520. package/js/indicators/roc.js +4 -3
  521. package/js/indicators/roc.js.map +1 -8
  522. package/js/indicators/roc.src.js +6 -2
  523. package/js/indicators/rsi.js +4 -3
  524. package/js/indicators/rsi.js.map +1 -8
  525. package/js/indicators/rsi.src.js +6 -2
  526. package/js/indicators/stochastic.js +7 -5
  527. package/js/indicators/stochastic.js.map +1 -8
  528. package/js/indicators/stochastic.src.js +14 -8
  529. package/js/indicators/volume-by-price.js +13 -12
  530. package/js/indicators/volume-by-price.js.map +1 -8
  531. package/js/indicators/volume-by-price.src.js +6 -2
  532. package/js/indicators/vwap.js +4 -3
  533. package/js/indicators/vwap.js.map +1 -8
  534. package/js/indicators/vwap.src.js +6 -2
  535. package/js/indicators/wma.js +4 -3
  536. package/js/indicators/wma.js.map +1 -8
  537. package/js/indicators/wma.src.js +6 -2
  538. package/js/indicators/zigzag.js +5 -3
  539. package/js/indicators/zigzag.js.map +1 -8
  540. package/js/indicators/zigzag.src.js +6 -2
  541. package/js/modules/accessibility.js +52 -51
  542. package/js/modules/accessibility.js.map +1 -8
  543. package/js/modules/accessibility.src.js +86 -45
  544. package/js/modules/annotations.js +22 -21
  545. package/js/modules/annotations.js.map +1 -8
  546. package/js/modules/annotations.src.js +8 -4
  547. package/js/modules/arrow-symbols.js +13 -0
  548. package/js/modules/arrow-symbols.js.map +1 -0
  549. package/js/modules/arrow-symbols.src.js +138 -0
  550. package/js/modules/boost-canvas.js +15 -13
  551. package/js/modules/boost-canvas.js.map +1 -8
  552. package/js/modules/boost-canvas.src.js +24 -9
  553. package/js/modules/boost.js +57 -52
  554. package/js/modules/boost.js.map +1 -8
  555. package/js/modules/boost.src.js +305 -138
  556. package/js/modules/broken-axis.js +12 -10
  557. package/js/modules/broken-axis.js.map +1 -8
  558. package/js/modules/broken-axis.src.js +175 -136
  559. package/js/modules/bullet.js +3 -2
  560. package/js/modules/bullet.js.map +1 -8
  561. package/js/modules/bullet.src.js +7 -3
  562. package/js/modules/current-date-indicator.js +13 -0
  563. package/js/modules/current-date-indicator.js.map +1 -0
  564. package/js/modules/current-date-indicator.src.js +120 -0
  565. package/js/modules/data.js +25 -24
  566. package/js/modules/data.js.map +1 -8
  567. package/js/modules/data.src.js +14 -8
  568. package/js/modules/drag-panes.js +9 -8
  569. package/js/modules/drag-panes.js.map +1 -8
  570. package/js/modules/drag-panes.src.js +5 -1
  571. package/js/modules/draggable-points.js +38 -0
  572. package/js/modules/draggable-points.js.map +1 -0
  573. package/js/modules/draggable-points.src.js +2281 -0
  574. package/js/modules/drilldown.js +20 -19
  575. package/js/modules/drilldown.js.map +1 -8
  576. package/js/modules/drilldown.src.js +9 -3
  577. package/js/modules/export-data.js +20 -19
  578. package/js/modules/export-data.js.map +1 -8
  579. package/js/modules/export-data.src.js +17 -3
  580. package/js/modules/exporting.js +24 -23
  581. package/js/modules/exporting.js.map +1 -8
  582. package/js/modules/exporting.src.js +68 -38
  583. package/js/modules/funnel.js +8 -6
  584. package/js/modules/funnel.js.map +1 -8
  585. package/js/modules/funnel.src.js +11 -7
  586. package/js/modules/gantt.js +81 -18
  587. package/js/modules/gantt.js.map +1 -8
  588. package/js/modules/gantt.src.js +5494 -372
  589. package/js/modules/grid-axis.js +16 -10
  590. package/js/modules/grid-axis.js.map +1 -8
  591. package/js/modules/grid-axis.src.js +735 -293
  592. package/js/modules/heatmap.js +22 -21
  593. package/js/modules/heatmap.js.map +1 -8
  594. package/js/modules/heatmap.src.js +137 -62
  595. package/js/modules/histogram-bellcurve.js +9 -8
  596. package/js/modules/histogram-bellcurve.js.map +1 -8
  597. package/js/modules/histogram-bellcurve.src.js +35 -29
  598. package/js/modules/item-series.js +6 -4
  599. package/js/modules/item-series.js.map +1 -8
  600. package/js/modules/item-series.src.js +42 -13
  601. package/js/modules/map.js +63 -62
  602. package/js/modules/map.js.map +1 -8
  603. package/js/modules/map.src.js +353 -145
  604. package/js/modules/no-data-to-display.js +5 -4
  605. package/js/modules/no-data-to-display.js.map +1 -8
  606. package/js/modules/no-data-to-display.src.js +10 -6
  607. package/js/modules/offline-exporting.js +14 -13
  608. package/js/modules/offline-exporting.js.map +1 -8
  609. package/js/modules/offline-exporting.src.js +6 -2
  610. package/js/modules/oldie.js +29 -27
  611. package/js/modules/oldie.js.map +1 -8
  612. package/js/modules/oldie.src.js +20 -11
  613. package/js/modules/overlapping-datalabels.js +4 -3
  614. package/js/modules/overlapping-datalabels.js.map +1 -8
  615. package/js/modules/overlapping-datalabels.src.js +6 -2
  616. package/js/modules/parallel-coordinates.js +10 -9
  617. package/js/modules/parallel-coordinates.js.map +1 -8
  618. package/js/modules/parallel-coordinates.src.js +9 -4
  619. package/js/modules/pareto.js +5 -4
  620. package/js/modules/pareto.js.map +1 -8
  621. package/js/modules/pareto.src.js +6 -2
  622. package/js/modules/pathfinder.js +34 -0
  623. package/js/modules/pathfinder.js.map +1 -0
  624. package/js/modules/pathfinder.src.js +2106 -0
  625. package/js/modules/pattern-fill.js +13 -12
  626. package/js/modules/pattern-fill.js.map +1 -8
  627. package/js/modules/pattern-fill.src.js +5 -1
  628. package/js/modules/sankey.js +13 -12
  629. package/js/modules/sankey.js.map +1 -8
  630. package/js/modules/sankey.src.js +29 -9
  631. package/js/modules/series-label.js +17 -15
  632. package/js/modules/series-label.js.map +1 -8
  633. package/js/modules/series-label.src.js +12 -8
  634. package/js/modules/solid-gauge.js +9 -8
  635. package/js/modules/solid-gauge.js.map +1 -8
  636. package/js/modules/solid-gauge.src.js +14 -7
  637. package/js/modules/static-scale.js +4 -3
  638. package/js/modules/static-scale.js.map +1 -8
  639. package/js/modules/static-scale.src.js +69 -26
  640. package/js/modules/stock.js +136 -132
  641. package/js/modules/stock.js.map +1 -8
  642. package/js/modules/stock.src.js +1543 -499
  643. package/js/modules/streamgraph.js +4 -3
  644. package/js/modules/streamgraph.js.map +1 -8
  645. package/js/modules/streamgraph.src.js +10 -6
  646. package/js/modules/sunburst.js +40 -39
  647. package/js/modules/sunburst.js.map +1 -8
  648. package/js/modules/sunburst.src.js +38 -31
  649. package/js/modules/tilemap.js +19 -18
  650. package/js/modules/tilemap.js.map +1 -8
  651. package/js/modules/tilemap.src.js +363 -190
  652. package/js/modules/treegrid.js +51 -0
  653. package/js/modules/treegrid.js.map +1 -0
  654. package/js/modules/treegrid.src.js +2759 -0
  655. package/js/modules/treemap.js +27 -26
  656. package/js/modules/treemap.js.map +1 -8
  657. package/js/modules/treemap.src.js +34 -27
  658. package/js/modules/variable-pie.js +8 -7
  659. package/js/modules/variable-pie.js.map +1 -8
  660. package/js/modules/variable-pie.src.js +8 -4
  661. package/js/modules/variwide.js +8 -7
  662. package/js/modules/variwide.js.map +1 -8
  663. package/js/modules/variwide.src.js +42 -26
  664. package/js/modules/vector.js +7 -6
  665. package/js/modules/vector.js.map +1 -8
  666. package/js/modules/vector.src.js +104 -30
  667. package/js/modules/windbarb.js +11 -10
  668. package/js/modules/windbarb.js.map +1 -8
  669. package/js/modules/windbarb.src.js +11 -7
  670. package/js/modules/wordcloud.js +18 -15
  671. package/js/modules/wordcloud.js.map +1 -8
  672. package/js/modules/wordcloud.src.js +142 -53
  673. package/js/modules/xrange.js +12 -10
  674. package/js/modules/xrange.js.map +1 -8
  675. package/js/modules/xrange.src.js +262 -71
  676. package/js/themes/avocado.js +3 -2
  677. package/js/themes/avocado.js.map +1 -8
  678. package/js/themes/avocado.src.js +5 -1
  679. package/js/themes/dark-blue.js +9 -8
  680. package/js/themes/dark-blue.js.map +1 -8
  681. package/js/themes/dark-blue.src.js +7 -3
  682. package/js/themes/dark-green.js +9 -8
  683. package/js/themes/dark-green.js.map +1 -8
  684. package/js/themes/dark-green.src.js +7 -3
  685. package/js/themes/dark-unica.js +9 -7
  686. package/js/themes/dark-unica.js.map +1 -8
  687. package/js/themes/dark-unica.src.js +7 -3
  688. package/js/themes/gray.js +10 -8
  689. package/js/themes/gray.js.map +1 -8
  690. package/js/themes/gray.src.js +7 -3
  691. package/js/themes/grid-light.js +5 -4
  692. package/js/themes/grid-light.js.map +1 -8
  693. package/js/themes/grid-light.src.js +7 -3
  694. package/js/themes/grid.js +6 -5
  695. package/js/themes/grid.js.map +1 -8
  696. package/js/themes/grid.src.js +7 -3
  697. package/js/themes/sand-signika.js +6 -5
  698. package/js/themes/sand-signika.js.map +1 -8
  699. package/js/themes/sand-signika.src.js +7 -3
  700. package/js/themes/skies.js +6 -5
  701. package/js/themes/skies.js.map +1 -8
  702. package/js/themes/skies.src.js +7 -3
  703. package/js/themes/sunset.js +3 -2
  704. package/js/themes/sunset.js.map +1 -8
  705. package/js/themes/sunset.src.js +5 -1
  706. package/modules/accessibility.js +53 -51
  707. package/modules/accessibility.js.map +1 -8
  708. package/modules/accessibility.src.js +86 -45
  709. package/modules/annotations.js +24 -22
  710. package/modules/annotations.js.map +1 -8
  711. package/modules/annotations.src.js +8 -4
  712. package/modules/arrow-symbols.js +13 -0
  713. package/modules/arrow-symbols.js.map +1 -0
  714. package/modules/arrow-symbols.src.js +138 -0
  715. package/modules/boost-canvas.js +15 -13
  716. package/modules/boost-canvas.js.map +1 -8
  717. package/modules/boost-canvas.src.js +24 -9
  718. package/modules/boost.js +57 -52
  719. package/modules/boost.js.map +1 -8
  720. package/modules/boost.src.js +305 -138
  721. package/modules/broken-axis.js +12 -10
  722. package/modules/broken-axis.js.map +1 -8
  723. package/modules/broken-axis.src.js +175 -136
  724. package/modules/bullet.js +6 -5
  725. package/modules/bullet.js.map +1 -8
  726. package/modules/bullet.src.js +7 -3
  727. package/modules/current-date-indicator.js +13 -0
  728. package/modules/current-date-indicator.js.map +1 -0
  729. package/modules/current-date-indicator.src.js +120 -0
  730. package/modules/data.js +25 -24
  731. package/modules/data.js.map +1 -8
  732. package/modules/data.src.js +14 -8
  733. package/modules/drag-panes.js +9 -8
  734. package/modules/drag-panes.js.map +1 -8
  735. package/modules/drag-panes.src.js +5 -1
  736. package/modules/draggable-points.js +38 -0
  737. package/modules/draggable-points.js.map +1 -0
  738. package/modules/draggable-points.src.js +2281 -0
  739. package/modules/drilldown.js +16 -15
  740. package/modules/drilldown.js.map +1 -8
  741. package/modules/drilldown.src.js +9 -3
  742. package/modules/export-data.js +20 -19
  743. package/modules/export-data.js.map +1 -8
  744. package/modules/export-data.src.js +17 -3
  745. package/modules/exporting.js +23 -21
  746. package/modules/exporting.js.map +1 -8
  747. package/modules/exporting.src.js +68 -38
  748. package/modules/funnel.js +8 -7
  749. package/modules/funnel.js.map +1 -8
  750. package/modules/funnel.src.js +11 -7
  751. package/modules/gantt.js +84 -19
  752. package/modules/gantt.js.map +1 -8
  753. package/modules/gantt.src.js +5557 -379
  754. package/modules/grid-axis.js +17 -10
  755. package/modules/grid-axis.js.map +1 -8
  756. package/modules/grid-axis.src.js +736 -293
  757. package/modules/heatmap.js +22 -21
  758. package/modules/heatmap.js.map +1 -8
  759. package/modules/heatmap.src.js +139 -63
  760. package/modules/histogram-bellcurve.js +9 -8
  761. package/modules/histogram-bellcurve.js.map +1 -8
  762. package/modules/histogram-bellcurve.src.js +35 -29
  763. package/modules/item-series.js +6 -4
  764. package/modules/item-series.js.map +1 -8
  765. package/modules/item-series.src.js +42 -13
  766. package/modules/map.js +65 -64
  767. package/modules/map.js.map +1 -8
  768. package/modules/map.src.js +365 -152
  769. package/modules/no-data-to-display.js +5 -4
  770. package/modules/no-data-to-display.js.map +1 -8
  771. package/modules/no-data-to-display.src.js +10 -6
  772. package/modules/offline-exporting.js +14 -12
  773. package/modules/offline-exporting.js.map +1 -8
  774. package/modules/offline-exporting.src.js +6 -2
  775. package/modules/oldie.js +29 -27
  776. package/modules/oldie.js.map +1 -8
  777. package/modules/oldie.src.js +20 -11
  778. package/modules/overlapping-datalabels.js +4 -3
  779. package/modules/overlapping-datalabels.js.map +1 -8
  780. package/modules/overlapping-datalabels.src.js +6 -2
  781. package/modules/parallel-coordinates.js +10 -9
  782. package/modules/parallel-coordinates.js.map +1 -8
  783. package/modules/parallel-coordinates.src.js +9 -4
  784. package/modules/pareto.js +5 -4
  785. package/modules/pareto.js.map +1 -8
  786. package/modules/pareto.src.js +6 -2
  787. package/modules/pathfinder.js +35 -0
  788. package/modules/pathfinder.js.map +1 -0
  789. package/modules/pathfinder.src.js +2128 -0
  790. package/modules/pattern-fill.js +13 -12
  791. package/modules/pattern-fill.js.map +1 -8
  792. package/modules/pattern-fill.src.js +5 -1
  793. package/modules/sankey.js +13 -12
  794. package/modules/sankey.js.map +1 -8
  795. package/modules/sankey.src.js +34 -12
  796. package/modules/series-label.js +17 -15
  797. package/modules/series-label.js.map +1 -8
  798. package/modules/series-label.src.js +12 -8
  799. package/modules/solid-gauge.js +9 -8
  800. package/modules/solid-gauge.js.map +1 -8
  801. package/modules/solid-gauge.src.js +16 -9
  802. package/modules/static-scale.js +4 -3
  803. package/modules/static-scale.js.map +1 -8
  804. package/modules/static-scale.src.js +69 -26
  805. package/modules/stock.js +143 -139
  806. package/modules/stock.js.map +1 -8
  807. package/modules/stock.src.js +1701 -566
  808. package/modules/streamgraph.js +4 -3
  809. package/modules/streamgraph.js.map +1 -8
  810. package/modules/streamgraph.src.js +10 -6
  811. package/modules/sunburst.js +42 -41
  812. package/modules/sunburst.js.map +1 -8
  813. package/modules/sunburst.src.js +39 -32
  814. package/modules/tilemap.js +18 -17
  815. package/modules/tilemap.js.map +1 -8
  816. package/modules/tilemap.src.js +365 -191
  817. package/modules/treegrid.js +52 -0
  818. package/modules/treegrid.js.map +1 -0
  819. package/modules/treegrid.src.js +2797 -0
  820. package/modules/treemap.js +29 -28
  821. package/modules/treemap.js.map +1 -8
  822. package/modules/treemap.src.js +35 -28
  823. package/modules/variable-pie.js +8 -7
  824. package/modules/variable-pie.js.map +1 -8
  825. package/modules/variable-pie.src.js +8 -4
  826. package/modules/variwide.js +8 -7
  827. package/modules/variwide.js.map +1 -8
  828. package/modules/variwide.src.js +42 -26
  829. package/modules/vector.js +7 -6
  830. package/modules/vector.js.map +1 -8
  831. package/modules/vector.src.js +104 -30
  832. package/modules/windbarb.js +11 -10
  833. package/modules/windbarb.js.map +1 -8
  834. package/modules/windbarb.src.js +11 -7
  835. package/modules/wordcloud.js +18 -15
  836. package/modules/wordcloud.js.map +1 -8
  837. package/modules/wordcloud.src.js +142 -53
  838. package/modules/xrange.js +13 -11
  839. package/modules/xrange.js.map +1 -8
  840. package/modules/xrange.src.js +264 -80
  841. package/package.json +1 -1
  842. package/themes/avocado.js +3 -2
  843. package/themes/avocado.js.map +1 -8
  844. package/themes/avocado.src.js +5 -1
  845. package/themes/dark-blue.js +9 -8
  846. package/themes/dark-blue.js.map +1 -8
  847. package/themes/dark-blue.src.js +7 -3
  848. package/themes/dark-green.js +9 -8
  849. package/themes/dark-green.js.map +1 -8
  850. package/themes/dark-green.src.js +7 -3
  851. package/themes/dark-unica.js +9 -7
  852. package/themes/dark-unica.js.map +1 -8
  853. package/themes/dark-unica.src.js +7 -3
  854. package/themes/gray.js +10 -8
  855. package/themes/gray.js.map +1 -8
  856. package/themes/gray.src.js +7 -3
  857. package/themes/grid-light.js +5 -4
  858. package/themes/grid-light.js.map +1 -8
  859. package/themes/grid-light.src.js +7 -3
  860. package/themes/grid.js +6 -5
  861. package/themes/grid.js.map +1 -8
  862. package/themes/grid.src.js +7 -3
  863. package/themes/sand-signika.js +6 -5
  864. package/themes/sand-signika.js.map +1 -8
  865. package/themes/sand-signika.src.js +7 -3
  866. package/themes/skies.js +6 -5
  867. package/themes/skies.js.map +1 -8
  868. package/themes/skies.src.js +7 -3
  869. package/themes/sunset.js +3 -2
  870. package/themes/sunset.js.map +1 -8
  871. package/themes/sunset.src.js +5 -1
@@ -1,9 +1,67 @@
1
1
  /**
2
- * (c) 2010-2017 Torstein Honsi
2
+ * (c) 2010-2018 Torstein Honsi
3
3
  *
4
4
  * License: www.highcharts.com/license
5
5
  */
6
+
7
+ /**
8
+ * Options for crosshairs on axes.
9
+ *
10
+ * @typedef {Highcharts.XAxisCrosshairOptions|Highcharts.YAxisCrosshairOptions} Highcharts.AxisCrosshairOptions
11
+ */
12
+
13
+ /**
14
+ * Options for axes.
15
+ *
16
+ * @typedef {Highcharts.XAxisOptions|Highcharts.YAxisOptions|Highcharts.ZAxisOptions} Highcharts.AxisOptions
17
+ */
18
+
19
+ /**
20
+ * Position of the axis title.
21
+ *
22
+ * @typedef Highcharts.AxisTitlePositionObject
23
+ *
24
+ * @property {number} x
25
+ * X position.
26
+ *
27
+ * @property {number} y
28
+ * Y position.
29
+ */
30
+
31
+ /**
32
+ * The returned object literal from the {@link Highcharts.Axis#getExtremes}
33
+ * function.
34
+ *
35
+ * @typedef Highcharts.ExtremesObject
36
+ *
37
+ * @property {number} dataMax
38
+ * The maximum value of the axis' associated series.
39
+ *
40
+ * @property {number} dataMin
41
+ * The minimum value of the axis' associated series.
42
+ *
43
+ * @property {number} max
44
+ * The maximum axis value, either automatic or set manually. If
45
+ * the `max` option is not set, `maxPadding` is 0 and `endOnTick`
46
+ * is false, this value will be the same as `dataMax`.
47
+ *
48
+ * @property {number} min
49
+ * The minimum axis value, either automatic or set manually. If
50
+ * the `min` option is not set, `minPadding` is 0 and
51
+ * `startOnTick` is false, this value will be the same
52
+ * as `dataMin`.
53
+ *
54
+ * @property {number} userMax
55
+ * The user defined maximum, either from the `max` option or from
56
+ * a zoom or `setExtremes` action.
57
+ *
58
+ * @property {number} userMin
59
+ * The user defined minimum, either from the `min` option or from
60
+ * a zoom or `setExtremes` action.
61
+ */
62
+
6
63
  'use strict';
64
+
7
65
  import H from './Globals.js';
8
66
  import './Utilities.js';
9
67
  import './Color.js';
@@ -62,10 +120,14 @@ var addEvent = H.addEvent,
62
120
  * Configuration options for the axes are given in options.xAxis and
63
121
  * options.yAxis.
64
122
  *
65
- * @class Highcharts.Axis
66
- * @memberof Highcharts
67
- * @param {Highcharts.Chart} chart - The Chart instance to apply the axis on.
68
- * @param {Object} options - Axis options
123
+ * @class
124
+ * @name Highcharts.Axis
125
+ *
126
+ * @param {Highcharts.Chart} chart
127
+ * The Chart instance to apply the axis on.
128
+ *
129
+ * @param {Highcharts.AxisOptions} options
130
+ * Axis options.
69
131
  */
70
132
  var Axis = function () {
71
133
  this.init.apply(this, arguments);
@@ -89,39 +151,57 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
89
151
  * @optionparent xAxis
90
152
  */
91
153
  defaultOptions: {
154
+
155
+ /**
156
+ * When using multiple axis, the ticks of two or more opposite axes
157
+ * will automatically be aligned by adding ticks to the axis or axes
158
+ * with the least ticks, as if `tickAmount` were specified.
159
+ *
160
+ * This can be prevented by setting `alignTicks` to false. If the grid
161
+ * lines look messy, it's a good idea to hide them for the secondary
162
+ * axis by setting `gridLineWidth` to 0.
163
+ *
164
+ * If `startOnTick` or `endOnTick` in an Axis options are set to false,
165
+ * then the `alignTicks ` will be disabled for the Axis.
166
+ *
167
+ * Disabled for logarithmic axes.
168
+ *
169
+ * @type {boolean}
170
+ * @default true
171
+ * @product highcharts highstock gantt
172
+ * @apioption xAxis.alignTicks
173
+ */
174
+
92
175
  /**
93
176
  * Whether to allow decimals in this axis' ticks. When counting
94
177
  * integers, like persons or hits on a web page, decimals should
95
178
  * be avoided in the labels.
96
179
  *
97
- * @type {Boolean}
98
- * @see [minTickInterval](#xAxis.minTickInterval)
99
- * @sample {highcharts|highstock}
100
- * highcharts/yaxis/allowdecimals-true/
101
- * True by default
102
- * @sample {highcharts|highstock}
103
- * highcharts/yaxis/allowdecimals-false/
104
- * False
180
+ * @see [minTickInterval](#xAxis.minTickInterval)
181
+ *
182
+ * @sample {highcharts|highstock} highcharts/yaxis/allowdecimals-true/
183
+ * True by default
184
+ * @sample {highcharts|highstock} highcharts/yaxis/allowdecimals-false/
185
+ * False
186
+ *
187
+ * @type {boolean}
105
188
  * @default true
106
189
  * @since 2.0
107
190
  * @apioption xAxis.allowDecimals
108
191
  */
109
- // allowDecimals: null,
110
-
111
192
 
112
193
  /**
113
194
  * When using an alternate grid color, a band is painted across the
114
195
  * plot area between every other grid line.
115
196
  *
116
- * @type {Color}
117
- * @sample {highcharts} highcharts/yaxis/alternategridcolor/
118
- * Alternate grid color on the Y axis
119
- * @sample {highstock} stock/xaxis/alternategridcolor/
120
- * Alternate grid color on the Y axis
121
- * @default null
197
+ * @sample {highcharts} highcharts/yaxis/alternategridcolor/
198
+ * Alternate grid color on the Y axis
199
+ * @sample {highstock} stock/xaxis/alternategridcolor/
200
+ * Alternate grid color on the Y axis
201
+ *
202
+ * @type {Highcharts.ColorString}
122
203
  * @apioption xAxis.alternateGridColor
123
204
  */
124
- // alternateGridColor: null,
125
205
 
126
206
  /**
127
207
  * An array defining breaks in the axis, the sections defined will be
@@ -130,18 +210,16 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
130
210
  * @productdesc {highcharts}
131
211
  * Requires that the broken-axis.js module is loaded.
132
212
  *
133
- * @type {Array}
134
- * @sample {highcharts}
135
- * highcharts/axisbreak/break-simple/
136
- * Simple break
137
- * @sample {highcharts|highstock}
138
- * highcharts/axisbreak/break-visualized/
139
- * Advanced with callback
140
- * @sample {highstock}
141
- * stock/demo/intraday-breaks/
142
- * Break on nights and weekends
213
+ * @sample {highcharts} highcharts/axisbreak/break-simple/
214
+ * Simple break
215
+ * @sample {highcharts|highstock} highcharts/axisbreak/break-visualized/
216
+ * Advanced with callback
217
+ * @sample {highstock} stock/demo/intraday-breaks/
218
+ * Break on nights and weekends
219
+ *
220
+ * @type {Array<*>}
143
221
  * @since 4.1.0
144
- * @product highcharts highstock
222
+ * @product highcharts highstock gantt
145
223
  * @apioption xAxis.breaks
146
224
  */
147
225
 
@@ -151,19 +229,19 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
151
229
  * so for instance on a `datetime` axis, a break size of 3600000 would
152
230
  * indicate the equivalent of an hour.
153
231
  *
154
- * @type {Number}
232
+ * @type {number}
155
233
  * @default 0
156
234
  * @since 4.1.0
157
- * @product highcharts highstock
235
+ * @product highcharts highstock gantt
158
236
  * @apioption xAxis.breaks.breakSize
159
237
  */
160
238
 
161
239
  /**
162
240
  * The point where the break starts.
163
241
  *
164
- * @type {Number}
242
+ * @type {number}
165
243
  * @since 4.1.0
166
- * @product highcharts highstock
244
+ * @product highcharts highstock gantt
167
245
  * @apioption xAxis.breaks.from
168
246
  */
169
247
 
@@ -171,19 +249,19 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
171
249
  * Defines an interval after which the break appears again. By default
172
250
  * the breaks do not repeat.
173
251
  *
174
- * @type {Number}
252
+ * @type {number}
175
253
  * @default 0
176
254
  * @since 4.1.0
177
- * @product highcharts highstock
255
+ * @product highcharts highstock gantt
178
256
  * @apioption xAxis.breaks.repeat
179
257
  */
180
258
 
181
259
  /**
182
260
  * The point where the break ends.
183
261
  *
184
- * @type {Number}
262
+ * @type {number}
185
263
  * @since 4.1.0
186
- * @product highcharts highstock
264
+ * @product highcharts highstock gantt
187
265
  * @apioption xAxis.breaks.to
188
266
  */
189
267
 
@@ -198,27 +276,28 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
198
276
  *
199
277
  * <pre>categories: ['Apples', 'Bananas', 'Oranges']</pre>
200
278
  *
201
- * @type {Array<String>}
202
- * @sample {highcharts} highcharts/chart/reflow-true/
203
- * With
204
- * @sample {highcharts} highcharts/xaxis/categories/
205
- * Without
279
+ * @sample {highcharts} highcharts/demo/line-labels/
280
+ * With
281
+ * @sample {highcharts} highcharts/xaxis/categories/
282
+ * Without
283
+ *
284
+ * @type {Array<string>}
206
285
  * @product highcharts
207
- * @default null
208
286
  * @apioption xAxis.categories
209
287
  */
210
- // categories: [],
211
288
 
212
289
  /**
213
290
  * The highest allowed value for automatically computed axis extremes.
214
291
  *
215
- * @type {Number}
216
- * @see [floor](#xAxis.floor)
217
- * @sample {highcharts|highstock} highcharts/yaxis/floor-ceiling/
218
- * Floor and ceiling
219
- * @since 4.0
220
- * @product highcharts highstock
221
- * @apioption xAxis.ceiling
292
+ * @see [floor](#xAxis.floor)
293
+ *
294
+ * @sample {highcharts|highstock} highcharts/yaxis/floor-ceiling/
295
+ * Floor and ceiling
296
+ *
297
+ * @type {number}
298
+ * @since 4.0
299
+ * @product highcharts highstock gantt
300
+ * @apioption xAxis.ceiling
222
301
  */
223
302
 
224
303
  /**
@@ -226,10 +305,10 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
226
305
  * Highcharts styled mode. The class name is applied to group elements
227
306
  * for the grid, axis elements and labels.
228
307
  *
229
- * @type {String}
230
- * @sample {highcharts|highstock|highmaps}
231
- * highcharts/css/axis/
232
- * Multiple axes with separate styling
308
+ * @sample {highcharts|highstock|highmaps} highcharts/css/axis/
309
+ * Multiple axes with separate styling
310
+ *
311
+ * @type {string}
233
312
  * @since 5.0.0
234
313
  * @apioption xAxis.className
235
314
  */
@@ -243,16 +322,17 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
243
322
  * `.highcharts-xaxis-category` classes.
244
323
  *
245
324
  * @productdesc {highstock}
246
- * In Highstock, bu default, the crosshair is enabled on the X axis and
325
+ * In Highstock, by default, the crosshair is enabled on the X axis and
247
326
  * disabled on the Y axis.
248
327
  *
249
- * @type {Boolean|Object}
250
- * @sample {highcharts} highcharts/xaxis/crosshair-both/
251
- * Crosshair on both axes
252
- * @sample {highstock} stock/xaxis/crosshairs-xy/
253
- * Crosshair on both axes
254
- * @sample {highmaps} highcharts/xaxis/crosshair-both/
255
- * Crosshair on both axes
328
+ * @sample {highcharts} highcharts/xaxis/crosshair-both/
329
+ * Crosshair on both axes
330
+ * @sample {highstock} stock/xaxis/crosshairs-xy/
331
+ * Crosshair on both axes
332
+ * @sample {highmaps} highcharts/xaxis/crosshair-both/
333
+ * Crosshair on both axes
334
+ *
335
+ * @type {boolean|*}
256
336
  * @default false
257
337
  * @since 4.1
258
338
  * @apioption xAxis.crosshair
@@ -261,7 +341,7 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
261
341
  /**
262
342
  * A class name for the crosshair, especially as a hook for styling.
263
343
  *
264
- * @type {String}
344
+ * @type {string}
265
345
  * @since 5.0.0
266
346
  * @apioption xAxis.crosshair.className
267
347
  */
@@ -271,10 +351,10 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
271
351
  * datetime axes, and `rgba(204,214,235,0.25)` for category axes, where
272
352
  * the crosshair by default highlights the whole category.
273
353
  *
274
- * @type {Color}
275
- * @sample {highcharts|highstock|highmaps}
276
- * highcharts/xaxis/crosshair-customized/
277
- * Customized crosshairs
354
+ * @sample {highcharts|highstock|highmaps} highcharts/xaxis/crosshair-customized/
355
+ * Customized crosshairs
356
+ *
357
+ * @type {Highcharts.ColorString}
278
358
  * @default #cccccc
279
359
  * @since 4.1
280
360
  * @apioption xAxis.crosshair.color
@@ -285,30 +365,145 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
285
365
  * [series.dashStyle](#plotOptions.series.dashStyle)
286
366
  * for possible values.
287
367
  *
288
- * @validvalue ["Solid", "ShortDash", "ShortDot", "ShortDashDot",
289
- * "ShortDashDotDot", "Dot", "Dash" ,"LongDash",
290
- * "DashDot", "LongDashDot", "LongDashDotDot"]
291
- * @type {String}
292
- * @sample {highcharts|highmaps} highcharts/xaxis/crosshair-dotted/
293
- * Dotted crosshair
294
- * @sample {highstock} stock/xaxis/crosshair-dashed/
295
- * Dashed X axis crosshair
368
+ * @sample {highcharts|highmaps} highcharts/xaxis/crosshair-dotted/
369
+ * Dotted crosshair
370
+ * @sample {highstock} stock/xaxis/crosshair-dashed/
371
+ * Dashed X axis crosshair
372
+ *
373
+ * @type {string}
296
374
  * @default Solid
297
375
  * @since 4.1
376
+ * @validvalue ["Solid", "ShortDash", "ShortDot", "ShortDashDot",
377
+ * "ShortDashDotDot", "Dot", "Dash" ,"LongDash", "DashDot",
378
+ * "LongDashDot", "LongDashDotDot"]
298
379
  * @apioption xAxis.crosshair.dashStyle
299
380
  */
300
381
 
382
+ /**
383
+ * A label on the axis next to the crosshair.
384
+ *
385
+ * In styled mode, the label is styled with the
386
+ * `.highcharts-crosshair-label` class.
387
+ *
388
+ * @sample {highstock} stock/xaxis/crosshair-label/
389
+ * Crosshair labels
390
+ * @sample {highstock} highcharts/css/crosshair-label/
391
+ * Style mode
392
+ *
393
+ * @since 2.1
394
+ * @product highstock
395
+ * @apioption xAxis.crosshair.label
396
+ */
397
+
398
+ /**
399
+ * Alignment of the label compared to the axis. Defaults to `left` for
400
+ * right-side axes, `right` for left-side axes and `center` for
401
+ * horizontal axes.
402
+ *
403
+ * @type {string}
404
+ * @since 2.1
405
+ * @product highstock
406
+ * @apioption xAxis.crosshair.label.align
407
+ */
408
+
409
+ /**
410
+ * The background color for the label. Defaults to the related series
411
+ * color, or `#666666` if that is not available.
412
+ *
413
+ * @type {Highcharts.ColorString}
414
+ * @since 2.1
415
+ * @product highstock
416
+ * @apioption xAxis.crosshair.label.backgroundColor
417
+ */
418
+
419
+ /**
420
+ * The border color for the crosshair label
421
+ *
422
+ * @type {Highcharts.ColorString}
423
+ * @since 2.1
424
+ * @product highstock
425
+ * @apioption xAxis.crosshair.label.borderColor
426
+ */
427
+
428
+ /**
429
+ * The border corner radius of the crosshair label.
430
+ *
431
+ * @type {number}
432
+ * @default 3
433
+ * @since 2.1.10
434
+ * @product highstock
435
+ * @apioption xAxis.crosshair.label.borderRadius
436
+ */
437
+
438
+ /**
439
+ * The border width for the crosshair label.
440
+ *
441
+ * @type {number}
442
+ * @default 0
443
+ * @since 2.1
444
+ * @product highstock
445
+ * @apioption xAxis.crosshair.label.borderWidth
446
+ */
447
+
448
+ /**
449
+ * A format string for the crosshair label. Defaults to `{value}` for
450
+ * numeric axes and `{value:%b %d, %Y}` for datetime axes.
451
+ *
452
+ * @type {string}
453
+ * @since 2.1
454
+ * @product highstock
455
+ * @apioption xAxis.crosshair.label.format
456
+ */
457
+
458
+ /**
459
+ * Formatter function for the label text.
460
+ *
461
+ * @type {Highcharts.FormatterCallbackFunction}
462
+ * @since 2.1
463
+ * @product highstock
464
+ * @apioption xAxis.crosshair.label.formatter
465
+ */
466
+
467
+ /**
468
+ * Padding inside the crosshair label.
469
+ *
470
+ * @type {number}
471
+ * @default 8
472
+ * @since 2.1
473
+ * @product highstock
474
+ * @apioption xAxis.crosshair.label.padding
475
+ */
476
+
477
+ /**
478
+ * The shape to use for the label box.
479
+ *
480
+ * @type {string}
481
+ * @default callout
482
+ * @since 2.1
483
+ * @product highstock
484
+ * @apioption xAxis.crosshair.label.shape
485
+ */
486
+
487
+ /**
488
+ * Text styles for the crosshair label.
489
+ *
490
+ * @type {Highcharts.CSSObject}
491
+ * @default {"color": "white", "fontWeight": "normal", "fontSize": "11px", "textAlign": "center"}
492
+ * @since 2.1
493
+ * @product highstock
494
+ * @apioption xAxis.crosshair.label.style
495
+ */
496
+
301
497
  /**
302
498
  * Whether the crosshair should snap to the point or follow the pointer
303
499
  * independent of points.
304
500
  *
305
- * @type {Boolean}
306
- * @sample {highcharts|highstock}
307
- * highcharts/xaxis/crosshair-snap-false/
308
- * True by default
309
- * @sample {highmaps}
310
- * maps/demo/latlon-advanced/
311
- * Snap is false
501
+ * @sample {highcharts|highstock} highcharts/xaxis/crosshair-snap-false/
502
+ * True by default
503
+ * @sample {highmaps} maps/demo/latlon-advanced/
504
+ * Snap is false
505
+ *
506
+ * @type {boolean}
312
507
  * @default true
313
508
  * @since 4.1
314
509
  * @apioption xAxis.crosshair.snap
@@ -318,13 +513,14 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
318
513
  * The pixel width of the crosshair. Defaults to 1 for numeric or
319
514
  * datetime axes, and for one category width for category axes.
320
515
  *
321
- * @type {Number}
322
- * @sample {highcharts} highcharts/xaxis/crosshair-customized/
323
- * Customized crosshairs
324
- * @sample {highstock} highcharts/xaxis/crosshair-customized/
325
- * Customized crosshairs
326
- * @sample {highmaps} highcharts/xaxis/crosshair-customized/
327
- * Customized crosshairs
516
+ * @sample {highcharts} highcharts/xaxis/crosshair-customized/
517
+ * Customized crosshairs
518
+ * @sample {highstock} highcharts/xaxis/crosshair-customized/
519
+ * Customized crosshairs
520
+ * @sample {highmaps} highcharts/xaxis/crosshair-customized/
521
+ * Customized crosshairs
522
+ *
523
+ * @type {number}
328
524
  * @default 1
329
525
  * @since 4.1
330
526
  * @apioption xAxis.crosshair.width
@@ -334,7 +530,7 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
334
530
  * The Z index of the crosshair. Higher Z indices allow drawing the
335
531
  * crosshair on top of the series or behind the grid lines.
336
532
  *
337
- * @type {Number}
533
+ * @type {number}
338
534
  * @default 2
339
535
  * @since 4.1
340
536
  * @apioption xAxis.crosshair.zIndex
@@ -360,22 +556,42 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
360
556
  * year: '%Y'
361
557
  * }</pre>
362
558
  *
363
- * @type {Object}
364
- * @sample {highcharts} highcharts/xaxis/datetimelabelformats/
365
- * Different day format on X axis
366
- * @sample {highstock} stock/xaxis/datetimelabelformats/
367
- * More information in x axis labels
368
- * @product highcharts highstock
559
+ * @sample {highcharts} highcharts/xaxis/datetimelabelformats/
560
+ * Different day format on X axis
561
+ * @sample {highstock} stock/xaxis/datetimelabelformats/
562
+ * More information in x axis labels
563
+ *
564
+ * @product highcharts highstock gantt
369
565
  */
370
566
  dateTimeLabelFormats: {
371
- millisecond: '%H:%M:%S.%L',
372
- second: '%H:%M:%S',
373
- minute: '%H:%M',
374
- hour: '%H:%M',
375
- day: '%e. %b',
376
- week: '%e. %b',
377
- month: '%b \'%y',
378
- year: '%Y'
567
+ millisecond: {
568
+ main: '%H:%M:%S.%L',
569
+ range: false
570
+ },
571
+ second: {
572
+ main: '%H:%M:%S',
573
+ range: false
574
+ },
575
+ minute: {
576
+ main: '%H:%M',
577
+ range: false
578
+ },
579
+ hour: {
580
+ main: '%H:%M',
581
+ range: false
582
+ },
583
+ day: {
584
+ main: '%e. %b'
585
+ },
586
+ week: {
587
+ main: '%e. %b'
588
+ },
589
+ month: {
590
+ main: '%b \'%y'
591
+ },
592
+ year: {
593
+ main: '%Y'
594
+ }
379
595
  },
380
596
 
381
597
  /**
@@ -383,8 +599,7 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
383
599
  *
384
600
  * Description of the axis to screen reader users.
385
601
  *
386
- * @type {String}
387
- * @default undefined
602
+ * @type {string}
388
603
  * @since 5.0.0
389
604
  * @apioption xAxis.description
390
605
  */
@@ -405,25 +620,29 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
405
620
  * True by default
406
621
  * @sample {highstock} stock/xaxis/endontick/
407
622
  * False
408
- * @since 1.2.0
623
+ *
624
+ * @since 1.2.0
409
625
  */
410
626
  endOnTick: false,
411
627
 
412
628
  /**
413
629
  * Event handlers for the axis.
414
630
  *
631
+ * @type {*}
415
632
  * @apioption xAxis.events
416
633
  */
417
634
 
418
635
  /**
419
636
  * An event fired after the breaks have rendered.
420
637
  *
638
+ * @see [breaks](#xAxis.breaks)
639
+ *
640
+ * @sample {highcharts} highcharts/axisbreak/break-event/
641
+ * AfterBreak Event
642
+ *
421
643
  * @type {Function}
422
- * @see [breaks](#xAxis.breaks)
423
- * @sample {highcharts} highcharts/axisbreak/break-event/
424
- * AfterBreak Event
425
644
  * @since 4.1.0
426
- * @product highcharts
645
+ * @product highcharts gantt
427
646
  * @apioption xAxis.events.afterBreaks
428
647
  */
429
648
 
@@ -443,21 +662,23 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
443
662
  * `event.dataMin` and `event.dataMax`.
444
663
  *
445
664
  * @type {Function}
446
- * @context Axis
447
665
  * @since 2.3
666
+ * @context Axis
448
667
  * @apioption xAxis.events.afterSetExtremes
449
668
  */
450
669
 
451
670
  /**
452
671
  * An event fired when a break from this axis occurs on a point.
453
672
  *
673
+ * @see [breaks](#xAxis.breaks)
674
+ *
675
+ * @sample {highcharts} highcharts/axisbreak/break-visualized/
676
+ * Visualization of a Break
677
+ *
454
678
  * @type {Function}
455
- * @see [breaks](#xAxis.breaks)
456
- * @context Axis
457
- * @sample {highcharts} highcharts/axisbreak/break-visualized/
458
- * Visualization of a Break
459
679
  * @since 4.1.0
460
- * @product highcharts
680
+ * @product highcharts gantt
681
+ * @context Axis
461
682
  * @apioption xAxis.events.pointBreak
462
683
  */
463
684
 
@@ -465,8 +686,8 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
465
686
  * An event fired when a point falls inside a break from this axis.
466
687
  *
467
688
  * @type {Function}
689
+ * @product highcharts highstock gantt
468
690
  * @context Axis
469
- * @product highcharts highstock
470
691
  * @apioption xAxis.events.pointInBreak
471
692
  */
472
693
 
@@ -482,56 +703,60 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
482
703
  * the "Reset zoom" button, `event.min` and `event.max` are null, and
483
704
  * the new extremes are set based on `this.dataMin` and `this.dataMax`.
484
705
  *
706
+ * @sample {highstock} stock/xaxis/events-setextremes/
707
+ * Log new extremes on x axis
708
+ *
485
709
  * @type {Function}
486
- * @context Axis
487
- * @sample {highstock} stock/xaxis/events-setextremes/
488
- * Log new extremes on x axis
489
710
  * @since 1.2.0
711
+ * @context Axis
490
712
  * @apioption xAxis.events.setExtremes
491
713
  */
492
714
 
493
715
  /**
494
716
  * The lowest allowed value for automatically computed axis extremes.
495
717
  *
496
- * @type {Number}
497
- * @see [ceiling](#yAxis.ceiling)
498
- * @sample {highcharts} highcharts/yaxis/floor-ceiling/
499
- * Floor and ceiling
500
- * @sample {highstock} stock/demo/lazy-loading/
501
- * Prevent negative stock price on Y axis
502
- * @default null
718
+ * @see [ceiling](#yAxis.ceiling)
719
+ *
720
+ * @sample {highcharts} highcharts/yaxis/floor-ceiling/
721
+ * Floor and ceiling
722
+ * @sample {highstock} stock/demo/lazy-loading/
723
+ * Prevent negative stock price on Y axis
724
+ *
725
+ * @type {number}
503
726
  * @since 4.0
504
- * @product highcharts highstock
727
+ * @product highcharts highstock gantt
505
728
  * @apioption xAxis.floor
506
729
  */
507
730
 
508
731
  /**
509
732
  * The dash or dot style of the grid lines. For possible values, see
510
- * [this demonstration](http://jsfiddle.net/gh/get/library/pure/
511
- *highcharts/highcharts/tree/master/samples/highcharts/plotoptions/
512
- *series-dashstyle-all/).
733
+ * [this demonstration](https://jsfiddle.net/gh/get/library/pure/
734
+ * highcharts/highcharts/tree/master/samples/highcharts/plotoptions/
735
+ * series-dashstyle-all/).
513
736
  *
514
- * @validvalue ["Solid", "ShortDash", "ShortDot", "ShortDashDot",
515
- * "ShortDashDotDot", "Dot", "Dash" ,"LongDash",
516
- * "DashDot", "LongDashDot", "LongDashDotDot"]
517
- * @type {String}
518
- * @sample {highcharts} highcharts/yaxis/gridlinedashstyle/
519
- * Long dashes
520
- * @sample {highstock} stock/xaxis/gridlinedashstyle/
521
- * Long dashes
737
+ * @sample {highcharts} highcharts/yaxis/gridlinedashstyle/
738
+ * Long dashes
739
+ * @sample {highstock} stock/xaxis/gridlinedashstyle/
740
+ * Long dashes
741
+ *
742
+ * @type {string}
522
743
  * @default Solid
523
744
  * @since 1.2
745
+ * @validvalue ["Solid", "ShortDash", "ShortDot", "ShortDashDot",
746
+ * "ShortDashDotDot", "Dot", "Dash" ,"LongDash", "DashDot",
747
+ * "LongDashDot", "LongDashDotDot"]
524
748
  * @apioption xAxis.gridLineDashStyle
525
749
  */
526
750
 
527
751
  /**
528
752
  * The Z index of the grid lines.
529
753
  *
530
- * @type {Number}
531
- * @sample {highcharts|highstock} highcharts/xaxis/gridzindex/
532
- * A Z index of 4 renders the grid above the graph
754
+ * @sample {highcharts|highstock} highcharts/xaxis/gridzindex/
755
+ * A Z index of 4 renders the grid above the graph
756
+ *
757
+ * @type {number}
533
758
  * @default 1
534
- * @product highcharts highstock
759
+ * @product highcharts highstock gantt
535
760
  * @apioption xAxis.gridZIndex
536
761
  */
537
762
 
@@ -539,12 +764,12 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
539
764
  * An id for the axis. This can be used after render time to get
540
765
  * a pointer to the axis object through `chart.get()`.
541
766
  *
542
- * @type {String}
543
- * @sample {highcharts} highcharts/xaxis/id/
544
- * Get the object
545
- * @sample {highstock} stock/xaxis/id/
546
- * Get the object
547
- * @default null
767
+ * @sample {highcharts} highcharts/xaxis/id/
768
+ * Get the object
769
+ * @sample {highstock} stock/xaxis/id/
770
+ * Get the object
771
+ *
772
+ * @type {string}
548
773
  * @since 1.2.0
549
774
  * @apioption xAxis.id
550
775
  */
@@ -558,6 +783,7 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
558
783
  * and can be enabled on X and Y axes too.
559
784
  */
560
785
  labels: {
786
+
561
787
  /**
562
788
  * What part of the string the given position is anchored to.
563
789
  * If `left`, the left side of the string is at the axis position.
@@ -565,19 +791,19 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
565
791
  * an intelligent guess based on which side of the chart the axis
566
792
  * is on and the rotation of the label.
567
793
  *
794
+ * @see [reserveSpace](#xAxis.labels.reserveSpace)
795
+ *
796
+ * @sample {highcharts} highcharts/xaxis/labels-align-left/
797
+ * Left
798
+ * @sample {highcharts} highcharts/xaxis/labels-align-right/
799
+ * Right
800
+ * @sample {highcharts} highcharts/xaxis/labels-reservespace-true/
801
+ * Left-aligned labels on a vertical category axis
802
+ *
803
+ * @type {string}
568
804
  * @validvalue ["left", "center", "right"]
569
- * @type {String}
570
- * @sample {highcharts} highcharts/xaxis/labels-align-left/
571
- * Left
572
- * @sample {highcharts} highcharts/xaxis/labels-align-right/
573
- * Right
574
- * @sample {highcharts}
575
- * highcharts/xaxis/labels-reservespace-true/
576
- * Left-aligned labels on a vertical category axis
577
- * @see [reserveSpace](#xAxis.labels.reserveSpace)
578
805
  * @apioption xAxis.labels.align
579
806
  */
580
- // align: 'center',
581
807
 
582
808
  /**
583
809
  * For horizontal axes, the allowed degrees of label rotation
@@ -588,16 +814,15 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
588
814
  * Set it to `false` to disable rotation, which will
589
815
  * cause the labels to word-wrap if possible.
590
816
  *
591
- * @type {Array<Number>}
592
- * @sample {highcharts|highstock}
593
- * highcharts/xaxis/labels-autorotation-default/
594
- * Default auto rotation of 0 or -45
595
- * @sample {highcharts|highstock}
596
- * highcharts/xaxis/labels-autorotation-0-90/
597
- * Custom graded auto rotation
817
+ * @sample {highcharts|highstock} highcharts/xaxis/labels-autorotation-default/
818
+ * Default auto rotation of 0 or -45
819
+ * @sample {highcharts|highstock} highcharts/xaxis/labels-autorotation-0-90/
820
+ * Custom graded auto rotation
821
+ *
822
+ * @type {Array<number>}
598
823
  * @default [-45]
599
824
  * @since 4.1.0
600
- * @product highcharts highstock
825
+ * @product highcharts highstock gantt
601
826
  * @apioption xAxis.labels.autoRotation
602
827
  */
603
828
 
@@ -608,13 +833,13 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
608
833
  * short words that don't extend the available horizontal space for
609
834
  * each label.
610
835
  *
611
- * @type {Number}
612
- * @sample {highcharts}
613
- * highcharts/xaxis/labels-autorotationlimit/
614
- * Lower limit
836
+ * @sample {highcharts} highcharts/xaxis/labels-autorotationlimit/
837
+ * Lower limit
838
+ *
839
+ * @type {number}
615
840
  * @default 80
616
841
  * @since 4.1.5
617
- * @product highcharts
842
+ * @product highcharts gantt
618
843
  * @apioption xAxis.labels.autoRotationLimit
619
844
  */
620
845
 
@@ -622,31 +847,33 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
622
847
  * Polar charts only. The label's pixel distance from the perimeter
623
848
  * of the plot area.
624
849
  *
625
- * @type {Number}
850
+ * @type {number}
626
851
  * @default 15
627
- * @product highcharts
852
+ * @product highcharts gantt
628
853
  * @apioption xAxis.labels.distance
629
854
  */
630
855
 
631
856
  /**
632
857
  * Enable or disable the axis labels.
633
858
  *
634
- * @sample {highcharts} highcharts/xaxis/labels-enabled/
635
- * X axis labels disabled
636
- * @sample {highstock} stock/xaxis/labels-enabled/
637
- * X axis labels disabled
638
- * @default {highcharts|highstock} true
859
+ * @sample {highcharts} highcharts/xaxis/labels-enabled/
860
+ * X axis labels disabled
861
+ * @sample {highstock} stock/xaxis/labels-enabled/
862
+ * X axis labels disabled
863
+ *
864
+ * @default {highcharts|highstock|gantt} true
639
865
  * @default {highmaps} false
640
866
  */
641
867
  enabled: true,
642
868
 
643
869
  /**
644
- * A [format string](http://www.highcharts.com/docs/chart-
870
+ * A [format string](https://www.highcharts.com/docs/chart-
645
871
  * concepts/labels-and-string-formatting) for the axis label.
646
872
  *
647
- * @type {String}
648
- * @sample {highcharts|highstock} highcharts/yaxis/labels-format/
649
- * Add units to Y axis label
873
+ * @sample {highcharts|highstock} highcharts/yaxis/labels-format/
874
+ * Add units to Y axis label
875
+ *
876
+ * @type {string}
650
877
  * @default {value}
651
878
  * @since 3.0
652
879
  * @apioption xAxis.labels.format
@@ -665,31 +892,52 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
665
892
  * return this.value;
666
893
  * }</pre>
667
894
  *
895
+ * @sample {highcharts} highcharts/xaxis/labels-formatter-linked/
896
+ * Linked category names
897
+ * @sample {highcharts} highcharts/xaxis/labels-formatter-extended/
898
+ * Modified numeric labels
899
+ * @sample {highstock} stock/xaxis/labels-formatter/
900
+ * Added units on Y axis
901
+ *
668
902
  * @type {Function}
669
- * @sample {highcharts}
670
- * highcharts/xaxis/labels-formatter-linked/
671
- * Linked category names
672
- * @sample {highcharts}
673
- * highcharts/xaxis/labels-formatter-extended/
674
- * Modified numeric labels
675
- * @sample {highstock}
676
- * stock/xaxis/labels-formatter/
677
- * Added units on Y axis
678
903
  * @apioption xAxis.labels.formatter
679
904
  */
680
905
 
681
906
  /**
682
- * How to handle overflowing labels on horizontal axis. Can be
683
- * undefined, `false` or `"justify"`. By default it aligns inside
684
- * the chart area. If "justify", labels will not render outside
685
- * the plot area. If `false`, it will not be aligned at all.
686
- * If there is room to move it, it will be aligned to the edge,
687
- * else it will be removed.
907
+ * The number of pixels to indent the labels per level in a treegrid
908
+ * axis.
909
+ *
910
+ * @product gantt
911
+ * @sample gantt/treegrid-axis/demo
912
+ * Indentation 10px by default.
913
+ * @sample gantt/treegrid-axis/indentation-0px
914
+ * Indentation set to 0px.
915
+ */
916
+ indentation: 10,
917
+
918
+ /**
919
+ * Horizontal axis only. When `staggerLines` is not set,
920
+ * `maxStaggerLines` defines how many lines the axis is allowed to
921
+ * add to automatically avoid overlapping X labels. Set to `1` to
922
+ * disable overlap detection.
688
923
  *
689
924
  * @deprecated
690
- * @validvalue [null, "justify"]
691
- * @type {String}
925
+ * @type {number}
926
+ * @default 5
927
+ * @since 1.3.3
928
+ * @apioption xAxis.labels.maxStaggerLines
929
+ */
930
+
931
+ /**
932
+ * How to handle overflowing labels on horizontal axis. If set to
933
+ * `"allow"`, it will not be aligned at all. By default it
934
+ * `"justify"` labels inside the chart area. If there is room to
935
+ * move it, it will be aligned to the edge, else it will be removed.
936
+ *
937
+ * @type {boolean|string}
938
+ * @default justify
692
939
  * @since 2.2.5
940
+ * @validvalue ["allow", "justify"]
693
941
  * @apioption xAxis.labels.overflow
694
942
  */
695
943
 
@@ -697,9 +945,9 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
697
945
  * The pixel padding for axis labels, to ensure white space between
698
946
  * them.
699
947
  *
700
- * @type {Number}
948
+ * @type {number}
701
949
  * @default 5
702
- * @product highcharts
950
+ * @product highcharts gantt
703
951
  * @apioption xAxis.labels.padding
704
952
  */
705
953
 
@@ -715,25 +963,26 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
715
963
  * This can be turned off when for example the labels are rendered
716
964
  * inside the plot area instead of outside.
717
965
  *
718
- * @type {Boolean}
719
- * @sample {highcharts} highcharts/xaxis/labels-reservespace/
720
- * No reserved space, labels inside plot
721
- * @sample {highcharts}
722
- * highcharts/xaxis/labels-reservespace-true/
723
- * Left-aligned labels on a vertical category axis
724
- * @see [labels.align](#xAxis.labels.align)
725
- * @default null
966
+ * @see [labels.align](#xAxis.labels.align)
967
+ *
968
+ * @sample {highcharts} highcharts/xaxis/labels-reservespace/
969
+ * No reserved space, labels inside plot
970
+ * @sample {highcharts} highcharts/xaxis/labels-reservespace-true/
971
+ * Left-aligned labels on a vertical category axis
972
+ *
973
+ * @type {boolean}
726
974
  * @since 4.1.10
727
- * @product highcharts
975
+ * @product highcharts gantt
728
976
  * @apioption xAxis.labels.reserveSpace
729
977
  */
730
978
 
731
979
  /**
732
980
  * Rotation of the labels in degrees.
733
981
  *
734
- * @type {Number}
735
- * @sample {highcharts} highcharts/xaxis/labels-rotation/
736
- * X axis labels rotated 90°
982
+ * @sample {highcharts} highcharts/xaxis/labels-rotation/
983
+ * X axis labels rotated 90°
984
+ *
985
+ * @type {number}
737
986
  * @default 0
738
987
  * @apioption xAxis.labels.rotation
739
988
  */
@@ -742,12 +991,12 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
742
991
  * Horizontal axes only. The number of lines to spread the labels
743
992
  * over to make room or tighter labels.
744
993
  *
745
- * @type {Number}
746
- * @sample {highcharts} highcharts/xaxis/labels-staggerlines/
747
- * Show labels over two lines
748
- * @sample {highstock} stock/xaxis/labels-staggerlines/
749
- * Show labels over two lines
750
- * @default null
994
+ * @sample {highcharts} highcharts/xaxis/labels-staggerlines/
995
+ * Show labels over two lines
996
+ * @sample {highstock} stock/xaxis/labels-staggerlines/
997
+ * Show labels over two lines
998
+ *
999
+ * @type {number}
751
1000
  * @since 2.1
752
1001
  * @apioption xAxis.labels.staggerLines
753
1002
  */
@@ -762,60 +1011,59 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
762
1011
  * chosen the wrong axis type.
763
1012
  *
764
1013
  * Read more at
765
- * [Axis docs](http://www.highcharts.com/docs/chart-concepts/axes)
1014
+ * [Axis docs](https://www.highcharts.com/docs/chart-concepts/axes)
766
1015
  * => What axis should I use?
767
1016
  *
768
- * @type {Number}
769
- * @sample {highcharts} highcharts/xaxis/labels-step/
770
- * Showing only every other axis label on a categorized
771
- * x axis
772
- * @sample {highcharts} highcharts/xaxis/labels-step-auto/
773
- * Auto steps on a category axis
774
- * @default null
1017
+ * @sample {highcharts} highcharts/xaxis/labels-step/
1018
+ * Showing only every other axis label on a categorized
1019
+ * x-axis
1020
+ * @sample {highcharts} highcharts/xaxis/labels-step-auto/
1021
+ * Auto steps on a category axis
1022
+ *
1023
+ * @type {number}
775
1024
  * @since 2.1
776
1025
  * @apioption xAxis.labels.step
777
1026
  */
778
1027
 
1028
+ /**
1029
+ * Whether to [use HTML](https://www.highcharts.com/docs/chart-
1030
+ * concepts/labels-and-string-formatting#html) to render the labels.
1031
+ *
1032
+ * @type {boolean}
1033
+ * @default false
1034
+ * @apioption xAxis.labels.useHTML
1035
+ */
1036
+
1037
+ /**
1038
+ * The x position offset of the label relative to the tick position
1039
+ * on the axis.
1040
+ *
1041
+ * @sample {highcharts} highcharts/xaxis/labels-x/
1042
+ * Y axis labels placed on grid lines
1043
+ */
1044
+ x: 0,
779
1045
 
780
1046
  /**
781
1047
  * The y position offset of the label relative to the tick position
782
1048
  * on the axis. The default makes it adapt to the font size on
783
1049
  * bottom axis.
784
1050
  *
785
- * @type {Number}
786
- * @sample {highcharts} highcharts/xaxis/labels-x/
787
- * Y axis labels placed on grid lines
788
- * @default null
1051
+ * @sample {highcharts} highcharts/xaxis/labels-x/
1052
+ * Y axis labels placed on grid lines
1053
+ *
1054
+ * @type {number}
789
1055
  * @apioption xAxis.labels.y
790
1056
  */
791
1057
 
792
1058
  /**
793
1059
  * The Z index for the axis labels.
794
1060
  *
795
- * @type {Number}
796
- * @default 7
1061
+ * @type {number}
1062
+ * @default 7
797
1063
  * @apioption xAxis.labels.zIndex
798
1064
  */
799
1065
 
800
1066
 
801
-
802
- /**
803
- * Whether to [use HTML](http://www.highcharts.com/docs/chart-
804
- * concepts/labels-and-string-formatting#html) to render the labels.
805
- *
806
- * @type {Boolean}
807
- * @default false
808
- * @apioption xAxis.labels.useHTML
809
- */
810
-
811
- /**
812
- * The x position offset of the label relative to the tick position
813
- * on the axis.
814
- *
815
- * @sample {highcharts} highcharts/xaxis/labels-x/
816
- * Y axis labels placed on grid lines
817
- */
818
- x: 0
819
1067
  },
820
1068
 
821
1069
  /**
@@ -825,14 +1073,14 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
825
1073
  * It can be used to show additional info, or to ease reading the
826
1074
  * chart by duplicating the scales.
827
1075
  *
828
- * @type {Number}
829
- * @sample {highcharts} highcharts/xaxis/linkedto/
830
- * Different string formats of the same date
831
- * @sample {highcharts} highcharts/yaxis/linkedto/
832
- * Y values on both sides
833
- * @default null
1076
+ * @sample {highcharts} highcharts/xaxis/linkedto/
1077
+ * Different string formats of the same date
1078
+ * @sample {highcharts} highcharts/yaxis/linkedto/
1079
+ * Y values on both sides
1080
+ *
1081
+ * @type {number}
834
1082
  * @since 2.0.2
835
- * @product highcharts highstock
1083
+ * @product highcharts highstock gantt
836
1084
  * @apioption xAxis.linkedTo
837
1085
  */
838
1086
 
@@ -840,44 +1088,25 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
840
1088
  * The maximum value of the axis. If `null`, the max value is
841
1089
  * automatically calculated.
842
1090
  *
843
- * If the `endOnTick` option is true, the `max` value might
844
- * be rounded up.
1091
+ * If the [endOnTick](#yAxis.endOnTick) option is true, the `max` value
1092
+ * might be rounded up.
845
1093
  *
846
1094
  * If a [tickAmount](#yAxis.tickAmount) is set, the axis may be extended
847
1095
  * beyond the set max in order to reach the given number of ticks. The
848
1096
  * same may happen in a chart with multiple axes, determined by [chart.
849
1097
  * alignTicks](#chart), where a `tickAmount` is applied internally.
850
1098
  *
851
- * @type {Number}
852
- * @sample {highcharts} highcharts/yaxis/max-200/
853
- * Y axis max of 200
854
- * @sample {highcharts} highcharts/yaxis/max-logarithmic/
855
- * Y axis max on logarithmic axis
856
- * @sample {highstock} stock/xaxis/min-max/
857
- * Fixed min and max on X axis
858
- * @sample {highmaps} maps/axis/min-max/
859
- * Pre-zoomed to a specific area
860
- * @apioption xAxis.max
861
- */
862
-
863
- /**
864
- * When using multiple axis, the ticks of two or more opposite axes
865
- * will automatically be aligned by adding ticks to the axis or axes
866
- * with the least ticks, as if `tickAmount` were specified.
867
- *
868
- * This can be prevented by setting `alignTicks` to false. If the grid
869
- * lines look messy, it's a good idea to hide them for the secondary
870
- * axis by setting `gridLineWidth` to 0.
871
- *
872
- * If `startOnTick` or `endOnTick` in an Axis options are set to false,
873
- * then the `alignTicks ` will be disabled for the Axis.
874
- *
875
- * Disabled for logarithmic axes.
1099
+ * @sample {highcharts} highcharts/yaxis/max-200/
1100
+ * Y axis max of 200
1101
+ * @sample {highcharts} highcharts/yaxis/max-logarithmic/
1102
+ * Y axis max on logarithmic axis
1103
+ * @sample {highstock} stock/xaxis/min-max/
1104
+ * Fixed min and max on X axis
1105
+ * @sample {highmaps} maps/axis/min-max/
1106
+ * Pre-zoomed to a specific area
876
1107
  *
877
- * @type {Boolean}
878
- * @default true
879
- * @product highcharts highstock
880
- * @apioption xAxis.alignTicks
1108
+ * @type {number}
1109
+ * @apioption xAxis.max
881
1110
  */
882
1111
 
883
1112
  /**
@@ -887,15 +1116,16 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
887
1116
  * of the plot area. When the axis' `max` option is set or a max extreme
888
1117
  * is set using `axis.setExtremes()`, the maxPadding will be ignored.
889
1118
  *
890
- * @sample {highcharts} highcharts/yaxis/maxpadding/
891
- * Max padding of 0.25 on y axis
892
- * @sample {highstock} stock/xaxis/minpadding-maxpadding/
893
- * Greater min- and maxPadding
894
- * @sample {highmaps} maps/chart/plotbackgroundcolor-gradient/
895
- * Add some padding
896
- * @default {highcharts} 0.01
897
- * @default {highstock|highmaps} 0
898
- * @since 1.2.0
1119
+ * @sample {highcharts} highcharts/yaxis/maxpadding/
1120
+ * Max padding of 0.25 on y axis
1121
+ * @sample {highstock} stock/xaxis/minpadding-maxpadding/
1122
+ * Greater min- and maxPadding
1123
+ * @sample {highmaps} maps/chart/plotbackgroundcolor-gradient/
1124
+ * Add some padding
1125
+ *
1126
+ * @default {highcharts} 0.01
1127
+ * @default {highstock|highmaps} 0
1128
+ * @since 1.2.0
899
1129
  */
900
1130
  maxPadding: 0.01,
901
1131
 
@@ -903,17 +1133,17 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
903
1133
  * Deprecated. Use `minRange` instead.
904
1134
  *
905
1135
  * @deprecated
906
- * @type {Number}
907
- * @product highcharts highstock
908
- * @apioption xAxis.maxZoom
1136
+ * @type {number}
1137
+ * @product highcharts highstock
1138
+ * @apioption xAxis.maxZoom
909
1139
  */
910
1140
 
911
1141
  /**
912
1142
  * The minimum value of the axis. If `null` the min value is
913
1143
  * automatically calculated.
914
1144
  *
915
- * If the `startOnTick` option is true (default), the `min` value might
916
- * be rounded down.
1145
+ * If the [startOnTick](#yAxis.startOnTick) option is true (default),
1146
+ * the `min` value might be rounded down.
917
1147
  *
918
1148
  * The automatically calculated minimum value is also affected by
919
1149
  * [floor](#yAxis.floor), [softMin](#yAxis.softMin),
@@ -921,64 +1151,67 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
921
1151
  * as well as [series.threshold](#plotOptions.series.threshold)
922
1152
  * and [series.softThreshold](#plotOptions.series.softThreshold).
923
1153
  *
924
- * @type {Number}
925
- * @sample {highcharts} highcharts/yaxis/min-startontick-false/
926
- * -50 with startOnTick to false
927
- * @sample {highcharts} highcharts/yaxis/min-startontick-true/
928
- * -50 with startOnTick true by default
929
- * @sample {highstock} stock/xaxis/min-max/
930
- * Set min and max on X axis
931
- * @sample {highmaps} maps/axis/min-max/
932
- * Pre-zoomed to a specific area
1154
+ * @sample {highcharts} highcharts/yaxis/min-startontick-false/
1155
+ * -50 with startOnTick to false
1156
+ * @sample {highcharts} highcharts/yaxis/min-startontick-true/
1157
+ * -50 with startOnTick true by default
1158
+ * @sample {highstock} stock/xaxis/min-max/
1159
+ * Set min and max on X axis
1160
+ * @sample {highmaps} maps/axis/min-max/
1161
+ * Pre-zoomed to a specific area
1162
+ *
1163
+ * @type {number}
933
1164
  * @apioption xAxis.min
934
1165
  */
935
1166
 
936
1167
  /**
937
1168
  * The dash or dot style of the minor grid lines. For possible values,
938
- * see [this demonstration](http://jsfiddle.net/gh/get/library/pure/
1169
+ * see [this demonstration](https://jsfiddle.net/gh/get/library/pure/
939
1170
  * highcharts/highcharts/tree/master/samples/highcharts/plotoptions/
940
1171
  * series-dashstyle-all/).
941
1172
  *
942
- * @validvalue ["Solid", "ShortDash", "ShortDot", "ShortDashDot",
943
- * "ShortDashDotDot", "Dot", "Dash" ,"LongDash",
944
- * "DashDot", "LongDashDot", "LongDashDotDot"]
945
- * @type {String}
946
- * @sample {highcharts} highcharts/yaxis/minorgridlinedashstyle/
947
- * Long dashes on minor grid lines
948
- * @sample {highstock} stock/xaxis/minorgridlinedashstyle/
949
- * Long dashes on minor grid lines
1173
+ * @sample {highcharts} highcharts/yaxis/minorgridlinedashstyle/
1174
+ * Long dashes on minor grid lines
1175
+ * @sample {highstock} stock/xaxis/minorgridlinedashstyle/
1176
+ * Long dashes on minor grid lines
1177
+ *
1178
+ * @type {string}
950
1179
  * @default Solid
951
1180
  * @since 1.2
1181
+ * @validvalue ["Solid", "ShortDash", "ShortDot", "ShortDashDot",
1182
+ * "ShortDashDotDot", "Dot", "Dash" ,"LongDash",
1183
+ * "DashDot", "LongDashDot", "LongDashDotDot"]
952
1184
  * @apioption xAxis.minorGridLineDashStyle
953
1185
  */
954
1186
 
955
1187
  /**
956
- * Specific tick interval in axis units for the minor ticks.
957
- * On a linear axis, if `"auto"`, the minor tick interval is
958
- * calculated as a fifth of the tickInterval. If `null`, minor
959
- * ticks are not shown.
1188
+ * Specific tick interval in axis units for the minor ticks. On a linear
1189
+ * axis, if `"auto"`, the minor tick interval is calculated as a fifth
1190
+ * of the tickInterval. If `null` or `undefined`, minor ticks are not
1191
+ * shown.
960
1192
  *
961
1193
  * On logarithmic axes, the unit is the power of the value. For example,
962
- * setting the minorTickInterval to 1 puts one tick on each of 0.1,
963
- * 1, 10, 100 etc. Setting the minorTickInterval to 0.1 produces 9
964
- * ticks between 1 and 10, 10 and 100 etc.
1194
+ * setting the minorTickInterval to 1 puts one tick on each of 0.1, 1,
1195
+ * 10, 100 etc. Setting the minorTickInterval to 0.1 produces 9 ticks
1196
+ * between 1 and 10, 10 and 100 etc.
965
1197
  *
966
1198
  * If user settings dictate minor ticks to become too dense, they don't
967
1199
  * make sense, and will be ignored to prevent performance problems.
968
1200
  *
969
- * @type {Number|String}
970
- * @sample {highcharts} highcharts/yaxis/minortickinterval-null/
971
- * Null by default
972
- * @sample {highcharts} highcharts/yaxis/minortickinterval-5/
973
- * 5 units
974
- * @sample {highcharts} highcharts/yaxis/minortickinterval-log-auto/
975
- * "auto"
976
- * @sample {highcharts} highcharts/yaxis/minortickinterval-log/
977
- * 0.1
978
- * @sample {highstock} stock/demo/basic-line/
979
- * Null by default
980
- * @sample {highstock} stock/xaxis/minortickinterval-auto/
981
- * "auto"
1201
+ * @sample {highcharts} highcharts/yaxis/minortickinterval-null/
1202
+ * Null by default
1203
+ * @sample {highcharts} highcharts/yaxis/minortickinterval-5/
1204
+ * 5 units
1205
+ * @sample {highcharts} highcharts/yaxis/minortickinterval-log-auto/
1206
+ * "auto"
1207
+ * @sample {highcharts} highcharts/yaxis/minortickinterval-log/
1208
+ * 0.1
1209
+ * @sample {highstock} stock/demo/basic-line/
1210
+ * Null by default
1211
+ * @sample {highstock} stock/xaxis/minortickinterval-auto/
1212
+ * "auto"
1213
+ *
1214
+ * @type {number|string|null}
982
1215
  * @apioption xAxis.minorTickInterval
983
1216
  */
984
1217
 
@@ -996,13 +1229,14 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
996
1229
  * The position of the minor tick marks relative to the axis line.
997
1230
  * Can be one of `inside` and `outside`.
998
1231
  *
1232
+ * @sample {highcharts} highcharts/yaxis/minortickposition-outside/
1233
+ * Outside by default
1234
+ * @sample {highcharts} highcharts/yaxis/minortickposition-inside/
1235
+ * Inside
1236
+ * @sample {highstock} stock/xaxis/minorticks/
1237
+ * Inside
1238
+ *
999
1239
  * @validvalue ["inside", "outside"]
1000
- * @sample {highcharts} highcharts/yaxis/minortickposition-outside/
1001
- * Outside by default
1002
- * @sample {highcharts} highcharts/yaxis/minortickposition-inside/
1003
- * Inside
1004
- * @sample {highstock} stock/xaxis/minorticks/
1005
- * Inside
1006
1240
  */
1007
1241
  minorTickPosition: 'outside',
1008
1242
 
@@ -1022,22 +1256,24 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1022
1256
  * On axes using [categories](#xAxis.categories), minor ticks are not
1023
1257
  * supported.
1024
1258
  *
1025
- * @type {Boolean}
1259
+ * @sample {highcharts} highcharts/yaxis/minorticks-true/
1260
+ * Enabled on linear Y axis
1261
+ *
1262
+ * @type {boolean}
1026
1263
  * @default false
1027
1264
  * @since 6.0.0
1028
- * @sample {highcharts} highcharts/yaxis/minorticks-true/
1029
- * Enabled on linear Y axis
1030
1265
  * @apioption xAxis.minorTicks
1031
1266
  */
1032
1267
 
1033
1268
  /**
1034
1269
  * The pixel width of the minor tick mark.
1035
1270
  *
1036
- * @type {Number}
1037
- * @sample {highcharts} highcharts/yaxis/minortickwidth/
1038
- * 3px width
1039
- * @sample {highstock} stock/xaxis/minorticks/
1040
- * 1px width
1271
+ * @sample {highcharts} highcharts/yaxis/minortickwidth/
1272
+ * 3px width
1273
+ * @sample {highstock} stock/xaxis/minorticks/
1274
+ * 1px width
1275
+ *
1276
+ * @type {number}
1041
1277
  * @default 0
1042
1278
  * @apioption xAxis.minorTickWidth
1043
1279
  */
@@ -1049,15 +1285,17 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1049
1285
  * of the plot area. When the axis' `min` option is set or a min extreme
1050
1286
  * is set using `axis.setExtremes()`, the minPadding will be ignored.
1051
1287
  *
1052
- * @sample {highcharts} highcharts/yaxis/minpadding/
1053
- * Min padding of 0.2
1054
- * @sample {highstock} stock/xaxis/minpadding-maxpadding/
1055
- * Greater min- and maxPadding
1056
- * @sample {highmaps} maps/chart/plotbackgroundcolor-gradient/
1057
- * Add some padding
1058
- * @default {highcharts} 0.01
1059
- * @default {highstock|highmaps} 0
1060
- * @since 1.2.0
1288
+ * @sample {highcharts} highcharts/yaxis/minpadding/
1289
+ * Min padding of 0.2
1290
+ * @sample {highstock} stock/xaxis/minpadding-maxpadding/
1291
+ * Greater min- and maxPadding
1292
+ * @sample {highmaps} maps/chart/plotbackgroundcolor-gradient/
1293
+ * Add some padding
1294
+ *
1295
+ * @default {highcharts} 0.01
1296
+ * @default {highstock|highmaps} 0
1297
+ * @since 1.2.0
1298
+ * @product highcharts highstock gantt
1061
1299
  */
1062
1300
  minPadding: 0.01,
1063
1301
 
@@ -1078,13 +1316,14 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1078
1316
  * `endOnTick` settings also affect how the extremes of the axis
1079
1317
  * are computed.
1080
1318
  *
1081
- * @type {Number}
1082
- * @sample {highcharts} highcharts/xaxis/minrange/
1083
- * Minimum range of 5
1084
- * @sample {highstock} stock/xaxis/minrange/
1085
- * Max zoom of 6 months overrides user selections
1086
- * @sample {highmaps} maps/axis/minrange/
1087
- * Minimum range of 1000
1319
+ * @sample {highcharts} highcharts/xaxis/minrange/
1320
+ * Minimum range of 5
1321
+ * @sample {highstock} stock/xaxis/minrange/
1322
+ * Max zoom of 6 months overrides user selections
1323
+ * @sample {highmaps} maps/axis/minrange/
1324
+ * Minimum range of 1000
1325
+ *
1326
+ * @type {number}
1088
1327
  * @apioption xAxis.minRange
1089
1328
  */
1090
1329
 
@@ -1094,7 +1333,7 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1094
1333
  * the axis from showing hours. Defaults to the closest distance between
1095
1334
  * two points on the axis.
1096
1335
  *
1097
- * @type {Number}
1336
+ * @type {number}
1098
1337
  * @since 2.3.0
1099
1338
  * @apioption xAxis.minTickInterval
1100
1339
  */
@@ -1107,13 +1346,14 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1107
1346
  * axes the offset is dynamically adjusted to avoid collision, this
1108
1347
  * can be overridden by setting offset explicitly.
1109
1348
  *
1110
- * @type {Number}
1111
1349
  * @sample {highcharts} highcharts/yaxis/offset/
1112
1350
  * Y axis offset of 70
1113
1351
  * @sample {highcharts} highcharts/yaxis/offset-centered/
1114
1352
  * Axes positioned in the center of the plot
1115
1353
  * @sample {highstock} stock/xaxis/offset/
1116
1354
  * Y axis offset by 70 px
1355
+ *
1356
+ * @type {number}
1117
1357
  * @default 0
1118
1358
  * @apioption xAxis.offset
1119
1359
  */
@@ -1124,69 +1364,221 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1124
1364
  * horizontal, so the opposite sides will be right and top respectively.
1125
1365
  * This is typically used with dual or multiple axes.
1126
1366
  *
1127
- * @type {Boolean}
1128
- * @sample {highcharts} highcharts/yaxis/opposite/
1129
- * Secondary Y axis opposite
1130
- * @sample {highstock} stock/xaxis/opposite/
1131
- * Y axis on left side
1367
+ * @sample {highcharts} highcharts/yaxis/opposite/
1368
+ * Secondary Y axis opposite
1369
+ * @sample {highstock} stock/xaxis/opposite/
1370
+ * Y axis on left side
1371
+ *
1372
+ * @type {boolean}
1132
1373
  * @default false
1133
1374
  * @apioption xAxis.opposite
1134
1375
  */
1135
1376
 
1136
1377
  /**
1137
- * Refers to the index in the [panes](#panes) array. Used for circular
1138
- * gauges and polar charts. When the option is not set then first pane
1139
- * will be used.
1378
+ * In an ordinal axis, the points are equally spaced in the chart
1379
+ * regardless of the actual time or x distance between them. This means
1380
+ * that missing data periods (e.g. nights or weekends for a stock chart)
1381
+ * will not take up space in the chart.
1382
+ * Having `ordinal: false` will show any gaps created by the `gapSize`
1383
+ * setting proportionate to their duration.
1140
1384
  *
1141
- * @type {Number}
1142
- * @sample highcharts/demo/gauge-vu-meter
1143
- * Two gauges with different center
1144
- * @product highcharts
1145
- * @apioption xAxis.pane
1146
- */
1147
-
1385
+ * In stock charts the X axis is ordinal by default, unless
1386
+ * the boost module is used and at least one of the series' data length
1387
+ * exceeds the [boostThreshold](#series.line.boostThreshold).
1388
+ *
1389
+ * @sample {highstock} stock/xaxis/ordinal-true/
1390
+ * True by default
1391
+ * @sample {highstock} stock/xaxis/ordinal-false/
1392
+ * False
1393
+ *
1394
+ * @type {boolean}
1395
+ * @default true
1396
+ * @since 1.1
1397
+ * @product highstock
1398
+ * @apioption xAxis.ordinal
1399
+ */
1400
+
1401
+ /**
1402
+ * Additional range on the right side of the xAxis. Works similar to
1403
+ * `xAxis.maxPadding`, but value is set in milliseconds. Can be set for
1404
+ * both main `xAxis` and the navigator's `xAxis`.
1405
+ *
1406
+ * @sample {highstock} stock/xaxis/overscroll/
1407
+ * One minute overscroll with live data
1408
+ *
1409
+ * @type {number}
1410
+ * @default 0
1411
+ * @since 6.0.0
1412
+ * @product highstock
1413
+ * @apioption xAxis.overscroll
1414
+ */
1415
+
1416
+ /**
1417
+ * Refers to the index in the [panes](#panes) array. Used for circular
1418
+ * gauges and polar charts. When the option is not set then first pane
1419
+ * will be used.
1420
+ *
1421
+ * @sample highcharts/demo/gauge-vu-meter
1422
+ * Two gauges with different center
1423
+ *
1424
+ * @type {number}
1425
+ * @product highcharts
1426
+ * @apioption xAxis.pane
1427
+ */
1428
+
1429
+
1430
+ /**
1431
+ * The zoomed range to display when only defining one or none of `min`
1432
+ * or `max`. For example, to show the latest month, a range of one month
1433
+ * can be set.
1434
+ *
1435
+ * @sample {highstock} stock/xaxis/range/
1436
+ * Setting a zoomed range when the rangeSelector is disabled
1437
+ *
1438
+ * @type {number}
1439
+ * @product highstock
1440
+ * @apioption xAxis.range
1441
+ */
1442
+
1148
1443
  /**
1149
1444
  * Whether to reverse the axis so that the highest number is closest
1150
1445
  * to the origin. If the chart is inverted, the x axis is reversed by
1151
1446
  * default.
1152
1447
  *
1153
- * @type {Boolean}
1154
- * @sample {highcharts} highcharts/yaxis/reversed/
1155
- * Reversed Y axis
1156
- * @sample {highstock} stock/xaxis/reversed/
1157
- * Reversed Y axis
1448
+ * @sample {highcharts} highcharts/yaxis/reversed/
1449
+ * Reversed Y axis
1450
+ * @sample {highstock} stock/xaxis/reversed/
1451
+ * Reversed Y axis
1452
+ *
1453
+ * @type {boolean}
1158
1454
  * @default false
1159
1455
  * @apioption xAxis.reversed
1160
1456
  */
1161
1457
  // reversed: false,
1162
1458
 
1459
+ /**
1460
+ * This option determines how stacks should be ordered within a group.
1461
+ * For example reversed xAxis also reverses stacks, so first series
1462
+ * comes last in a group. To keep order like for non-reversed xAxis
1463
+ * enable this option.
1464
+ *
1465
+ * @sample {highcharts} highcharts/xaxis/reversedstacks/
1466
+ * Reversed stacks comparison
1467
+ * @sample {highstock} highcharts/xaxis/reversedstacks/
1468
+ * Reversed stacks comparison
1469
+ *
1470
+ * @type {boolean}
1471
+ * @default false
1472
+ * @since 6.1.1
1473
+ * @product highcharts highstock
1474
+ * @apioption xAxis.reversedStacks
1475
+ */
1476
+
1477
+ /**
1478
+ * An optional scrollbar to display on the X axis in response to
1479
+ * limiting the minimum and maximum of the axis values.
1480
+ *
1481
+ * In styled mode, all the presentational options for the scrollbar
1482
+ * are replaced by the classes `.highcharts-scrollbar-thumb`,
1483
+ * `.highcharts-scrollbar-arrow`, `.highcharts-scrollbar-button`,
1484
+ * `.highcharts-scrollbar-rifles` and `.highcharts-scrollbar-track`.
1485
+ *
1486
+ * @sample {highstock} stock/yaxis/heatmap-scrollbars/
1487
+ * Heatmap with both scrollbars
1488
+ *
1489
+ * @type {*}
1490
+ * @extends scrollbar
1491
+ * @since 4.2.6
1492
+ * @product highstock
1493
+ * @apioption xAxis.scrollbar
1494
+ */
1495
+
1496
+ /**
1497
+ * Whether to show the axis line and title when the axis has no data.
1498
+ *
1499
+ * @sample {highcharts} highcharts/yaxis/showempty/
1500
+ * When clicking the legend to hide series, one axis preserves
1501
+ * line and title, the other doesn't
1502
+ * @sample {highstock} highcharts/yaxis/showempty/
1503
+ * When clicking the legend to hide series, one axis preserves
1504
+ * line and title, the other doesn't
1505
+ *
1506
+ * @type {boolean}
1507
+ * @default true
1508
+ * @since 1.1
1509
+ * @apioption xAxis.showEmpty
1510
+ */
1511
+
1512
+ /**
1513
+ * Whether to show the first tick label.
1514
+ *
1515
+ * @sample {highcharts} highcharts/xaxis/showfirstlabel-false/
1516
+ * Set to false on X axis
1517
+ * @sample {highstock} stock/xaxis/showfirstlabel/
1518
+ * Labels below plot lines on Y axis
1519
+ *
1520
+ * @type {boolean}
1521
+ * @default true
1522
+ * @apioption xAxis.showFirstLabel
1523
+ */
1524
+
1163
1525
  /**
1164
1526
  * Whether to show the last tick label. Defaults to `true` on cartesian
1165
1527
  * charts, and `false` on polar charts.
1166
1528
  *
1167
- * @type {Boolean}
1168
- * @sample {highcharts} highcharts/xaxis/showlastlabel-true/
1169
- * Set to true on X axis
1170
- * @sample {highstock} stock/xaxis/showfirstlabel/
1171
- * Labels below plot lines on Y axis
1529
+ * @sample {highcharts} highcharts/xaxis/showlastlabel-true/
1530
+ * Set to true on X axis
1531
+ * @sample {highstock} stock/xaxis/showfirstlabel/
1532
+ * Labels below plot lines on Y axis
1533
+ *
1534
+ * @type {boolean}
1172
1535
  * @default true
1173
- * @product highcharts highstock
1536
+ * @product highcharts highstock gantt
1174
1537
  * @apioption xAxis.showLastLabel
1175
1538
  */
1176
1539
 
1540
+ /**
1541
+ * A soft maximum for the axis. If the series data maximum is less than
1542
+ * this, the axis will stay at this maximum, but if the series data
1543
+ * maximum is higher, the axis will flex to show all data.
1544
+ *
1545
+ * @sample highcharts/yaxis/softmin-softmax/
1546
+ * Soft min and max
1547
+ *
1548
+ * @type {number}
1549
+ * @since 5.0.1
1550
+ * @product highcharts highstock gantt
1551
+ * @apioption xAxis.softMax
1552
+ */
1553
+
1554
+ /**
1555
+ * A soft minimum for the axis. If the series data minimum is greater
1556
+ * than this, the axis will stay at this minimum, but if the series
1557
+ * data minimum is lower, the axis will flex to show all data.
1558
+ *
1559
+ * @sample highcharts/yaxis/softmin-softmax/
1560
+ * Soft min and max
1561
+ *
1562
+ * @type {number}
1563
+ * @since 5.0.1
1564
+ * @product highcharts highstock gantt
1565
+ * @apioption xAxis.softMin
1566
+ */
1567
+
1177
1568
  /**
1178
1569
  * For datetime axes, this decides where to put the tick between weeks.
1179
1570
  * 0 = Sunday, 1 = Monday.
1180
1571
  *
1181
- * @sample {highcharts} highcharts/xaxis/startofweek-monday/
1182
- * Monday by default
1183
- * @sample {highcharts} highcharts/xaxis/startofweek-sunday/
1184
- * Sunday
1185
- * @sample {highstock} stock/xaxis/startofweek-1
1186
- * Monday by default
1187
- * @sample {highstock} stock/xaxis/startofweek-0
1188
- * Sunday
1189
- * @product highcharts highstock
1572
+ * @sample {highcharts} highcharts/xaxis/startofweek-monday/
1573
+ * Monday by default
1574
+ * @sample {highcharts} highcharts/xaxis/startofweek-sunday/
1575
+ * Sunday
1576
+ * @sample {highstock} stock/xaxis/startofweek-1
1577
+ * Monday by default
1578
+ * @sample {highstock} stock/xaxis/startofweek-0
1579
+ * Sunday
1580
+ *
1581
+ * @product highcharts highstock gantt
1190
1582
  */
1191
1583
  startOfWeek: 1,
1192
1584
 
@@ -1198,16 +1590,72 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1198
1590
  * In Highstock, `startOnTick` is always false when the navigator is
1199
1591
  * enabled, to prevent jumpy scrolling.
1200
1592
  *
1201
- * @sample {highcharts} highcharts/xaxis/startontick-false/
1202
- * False by default
1203
- * @sample {highcharts} highcharts/xaxis/startontick-true/
1204
- * True
1205
- * @sample {highstock} stock/xaxis/endontick/
1206
- * False for Y axis
1207
- * @since 1.2.0
1593
+ * @sample {highcharts} highcharts/xaxis/startontick-false/
1594
+ * False by default
1595
+ * @sample {highcharts} highcharts/xaxis/startontick-true/
1596
+ * True
1597
+ * @sample {highstock} stock/xaxis/endontick/
1598
+ * False for Y axis
1599
+ *
1600
+ * @since 1.2.0
1208
1601
  */
1209
1602
  startOnTick: false,
1210
1603
 
1604
+
1605
+ /**
1606
+ * The amount of ticks to draw on the axis. This opens up for aligning
1607
+ * the ticks of multiple charts or panes within a chart. This option
1608
+ * overrides the `tickPixelInterval` option.
1609
+ *
1610
+ * This option only has an effect on linear axes. Datetime, logarithmic
1611
+ * or category axes are not affected.
1612
+ *
1613
+ * @sample {highcharts} highcharts/yaxis/tickamount/
1614
+ * 8 ticks on Y axis
1615
+ * @sample {highstock} highcharts/yaxis/tickamount/
1616
+ * 8 ticks on Y axis
1617
+ *
1618
+ * @type {number}
1619
+ * @since 4.1.0
1620
+ * @product highcharts highstock gantt
1621
+ * @apioption xAxis.tickAmount
1622
+ */
1623
+
1624
+ /**
1625
+ * The interval of the tick marks in axis units. When `undefined`, the
1626
+ * tick interval is computed to approximately follow the
1627
+ * [tickPixelInterval](#xAxis.tickPixelInterval) on linear and datetime
1628
+ * axes. On categorized axes, a `undefined` tickInterval will default to
1629
+ * 1, one category. Note that datetime axes are based on milliseconds,
1630
+ * so for example an interval of one day is expressed as
1631
+ * `24 * 3600 * 1000`.
1632
+ *
1633
+ * On logarithmic axes, the tickInterval is based on powers, so a
1634
+ * tickInterval of 1 means one tick on each of 0.1, 1, 10, 100 etc. A
1635
+ * tickInterval of 2 means a tick of 0.1, 10, 1000 etc. A tickInterval
1636
+ * of 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20,
1637
+ * 40 etc.
1638
+ *
1639
+ *
1640
+ * If the tickInterval is too dense for labels to be drawn, Highcharts
1641
+ * may remove ticks.
1642
+ *
1643
+ * If the chart has multiple axes, the [alignTicks](#chart.alignTicks)
1644
+ * option may interfere with the `tickInterval` setting.
1645
+ *
1646
+ * @see [tickPixelInterval](#xAxis.tickPixelInterval)
1647
+ * @see [tickPositions](#xAxis.tickPositions)
1648
+ * @see [tickPositioner](#xAxis.tickPositioner)
1649
+ *
1650
+ * @sample {highcharts} highcharts/xaxis/tickinterval-5/
1651
+ * Tick interval of 5 on a linear axis
1652
+ * @sample {highstock} stock/xaxis/tickinterval/
1653
+ * Tick interval of 0.01 on Y axis
1654
+ *
1655
+ * @type {number}
1656
+ * @apioption xAxis.tickInterval
1657
+ */
1658
+
1211
1659
  /**
1212
1660
  * The pixel length of the main tick marks.
1213
1661
  *
@@ -1218,21 +1666,6 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1218
1666
  */
1219
1667
  tickLength: 10,
1220
1668
 
1221
- /**
1222
- * For categorized axes only. If `on` the tick mark is placed in the
1223
- * center of the category, if `between` the tick mark is placed between
1224
- * categories. The default is `between` if the `tickInterval` is 1,
1225
- * else `on`.
1226
- *
1227
- * @validvalue [null, "on", "between"]
1228
- * @sample {highcharts} highcharts/xaxis/tickmarkplacement-between/
1229
- * "between" by default
1230
- * @sample {highcharts} highcharts/xaxis/tickmarkplacement-on/
1231
- * "on"
1232
- * @product highcharts
1233
- */
1234
- tickmarkPlacement: 'between',
1235
-
1236
1669
  /**
1237
1670
  * If tickInterval is `null` this option sets the approximate pixel
1238
1671
  * interval of the tick marks. Not applicable to categorized axis.
@@ -1241,9 +1674,10 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1241
1674
  * #xAxis.minTickInterval) option, that, by default prevents ticks from
1242
1675
  * being denser than the data points.
1243
1676
  *
1244
- * @see [tickInterval](#xAxis.tickInterval),
1245
- * [tickPositioner](#xAxis.tickPositioner),
1246
- * [tickPositions](#xAxis.tickPositions).
1677
+ * @see [tickInterval](#xAxis.tickInterval)
1678
+ * @see [tickPositioner](#xAxis.tickPositioner)
1679
+ * @see [tickPositions](#xAxis.tickPositions)
1680
+ *
1247
1681
  * @sample {highcharts} highcharts/xaxis/tickpixelinterval-50/
1248
1682
  * 50 px on X axis
1249
1683
  * @sample {highstock} stock/xaxis/tickpixelinterval/
@@ -1251,20 +1685,93 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1251
1685
  */
1252
1686
  tickPixelInterval: 100,
1253
1687
 
1688
+ /**
1689
+ * For categorized axes only. If `on` the tick mark is placed in the
1690
+ * center of the category, if `between` the tick mark is placed between
1691
+ * categories. The default is `between` if the `tickInterval` is 1,
1692
+ * else `on`.
1693
+ *
1694
+ * @sample {highcharts} highcharts/xaxis/tickmarkplacement-between/
1695
+ * "between" by default
1696
+ * @sample {highcharts} highcharts/xaxis/tickmarkplacement-on/
1697
+ * "on"
1698
+ *
1699
+ * @product highcharts gantt
1700
+ * @validvalue [null, "on", "between"]
1701
+ */
1702
+ tickmarkPlacement: 'between',
1703
+
1254
1704
  /**
1255
1705
  * The position of the major tick marks relative to the axis line.
1256
1706
  * Can be one of `inside` and `outside`.
1257
1707
  *
1708
+ * @sample {highcharts} highcharts/xaxis/tickposition-outside/
1709
+ * "outside" by default
1710
+ * @sample {highcharts} highcharts/xaxis/tickposition-inside/
1711
+ * "inside"
1712
+ * @sample {highstock} stock/xaxis/ticks/
1713
+ * Formatted ticks on X axis
1714
+ *
1258
1715
  * @validvalue ["inside", "outside"]
1259
- * @sample {highcharts} highcharts/xaxis/tickposition-outside/
1260
- * "outside" by default
1261
- * @sample {highcharts} highcharts/xaxis/tickposition-inside/
1262
- * "inside"
1263
- * @sample {highstock} stock/xaxis/ticks/
1264
- * Formatted ticks on X axis
1265
1716
  */
1266
1717
  tickPosition: 'outside',
1267
1718
 
1719
+ /**
1720
+ * A callback function returning array defining where the ticks are
1721
+ * laid out on the axis. This overrides the default behaviour of
1722
+ * [tickPixelInterval](#xAxis.tickPixelInterval) and [tickInterval](
1723
+ * #xAxis.tickInterval). The automatic tick positions are accessible
1724
+ * through `this.tickPositions` and can be modified by the callback.
1725
+ *
1726
+ * @see [tickPositions](#xAxis.tickPositions)
1727
+ *
1728
+ * @sample {highcharts} highcharts/xaxis/tickpositions-tickpositioner/
1729
+ * Demo of tickPositions and tickPositioner
1730
+ * @sample {highstock} highcharts/xaxis/tickpositions-tickpositioner/
1731
+ * Demo of tickPositions and tickPositioner
1732
+ *
1733
+ * @type {Function}
1734
+ * @apioption xAxis.tickPositioner
1735
+ */
1736
+
1737
+ /**
1738
+ * An array defining where the ticks are laid out on the axis. This
1739
+ * overrides the default behaviour of [tickPixelInterval](
1740
+ * #xAxis.tickPixelInterval) and [tickInterval](#xAxis.tickInterval).
1741
+ *
1742
+ * @see [tickPositioner](#xAxis.tickPositioner)
1743
+ *
1744
+ * @sample {highcharts} highcharts/xaxis/tickpositions-tickpositioner/
1745
+ * Demo of tickPositions and tickPositioner
1746
+ * @sample {highstock} highcharts/xaxis/tickpositions-tickpositioner/
1747
+ * Demo of tickPositions and tickPositioner
1748
+ *
1749
+ * @type {Array<number>}
1750
+ * @apioption xAxis.tickPositions
1751
+ */
1752
+
1753
+ /**
1754
+ * The pixel width of the major tick marks.
1755
+ *
1756
+ * In styled mode, the stroke width is given in the `.highcharts-tick`
1757
+ * class.
1758
+ *
1759
+ * @sample {highcharts} highcharts/xaxis/tickwidth/
1760
+ * 10 px width
1761
+ * @sample {highcharts} highcharts/css/axis-grid/
1762
+ * Styled mode
1763
+ * @sample {highstock} stock/xaxis/ticks/
1764
+ * Formatted ticks on X axis
1765
+ * @sample {highstock} highcharts/css/axis-grid/
1766
+ * Styled mode
1767
+ *
1768
+ * @type {number}
1769
+ * @default {highcharts} 1
1770
+ * @default {highstock} 1
1771
+ * @default {highmaps} 0
1772
+ * @apioption xAxis.tickWidth
1773
+ */
1774
+
1268
1775
  /**
1269
1776
  * The axis title, showing next to the axis line.
1270
1777
  *
@@ -1275,25 +1782,153 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1275
1782
  */
1276
1783
  title: {
1277
1784
 
1785
+ /**
1786
+ * Deprecated. Set the `text` to `null` to disable the title.
1787
+ *
1788
+ * @deprecated
1789
+ * @type {string}
1790
+ * @default middle
1791
+ * @product highcharts
1792
+ * @apioption xAxis.title.enabled
1793
+ */
1794
+
1795
+ /**
1796
+ * The pixel distance between the axis labels or line and the title.
1797
+ * Defaults to 0 for horizontal axes, 10 for vertical
1798
+ *
1799
+ * @sample {highcharts} highcharts/xaxis/title-margin/
1800
+ * Y axis title margin of 60
1801
+ *
1802
+ * @type {number}
1803
+ * @apioption xAxis.title.margin
1804
+ */
1805
+
1806
+ /**
1807
+ * The distance of the axis title from the axis line. By default,
1808
+ * this distance is computed from the offset width of the labels,
1809
+ * the labels' distance from the axis and the title's margin.
1810
+ * However when the offset option is set, it overrides all this.
1811
+ *
1812
+ * @sample {highcharts} highcharts/yaxis/title-offset/
1813
+ * Place the axis title on top of the axis
1814
+ * @sample {highstock} highcharts/yaxis/title-offset/
1815
+ * Place the axis title on top of the Y axis
1816
+ *
1817
+ * @type {number}
1818
+ * @since 2.2.0
1819
+ * @apioption xAxis.title.offset
1820
+ */
1821
+
1822
+ /**
1823
+ * Whether to reserve space for the title when laying out the axis.
1824
+ *
1825
+ * @type {boolean}
1826
+ * @default true
1827
+ * @since 5.0.11
1828
+ * @product highcharts highstock gantt
1829
+ * @apioption xAxis.title.reserveSpace
1830
+ */
1831
+
1832
+ /**
1833
+ * The rotation of the text in degrees. 0 is horizontal, 270 is
1834
+ * vertical reading from bottom to top.
1835
+ *
1836
+ * @sample {highcharts} highcharts/yaxis/title-offset/
1837
+ * Horizontal
1838
+ *
1839
+ * @type {number}
1840
+ * @default 0
1841
+ * @apioption xAxis.title.rotation
1842
+ */
1843
+
1844
+ /**
1845
+ * The actual text of the axis title. It can contain basic HTML text
1846
+ * markup like <b>, <i> and spans with style.
1847
+ *
1848
+ * @sample {highcharts} highcharts/xaxis/title-text/
1849
+ * Custom HTML
1850
+ * @sample {highstock} stock/xaxis/title-text/
1851
+ * Titles for both axes
1852
+ *
1853
+ * @type {string}
1854
+ * @apioption xAxis.title.text
1855
+ */
1856
+
1857
+ /**
1858
+ * Alignment of the text, can be `"left"`, `"right"` or `"center"`.
1859
+ * Default alignment depends on the
1860
+ * [title.align](xAxis.title.align):
1861
+ *
1862
+ * Horizontal axes:
1863
+ * - for `align` = `"low"`, `textAlign` is set to `left`
1864
+ * - for `align` = `"middle"`, `textAlign` is set to `center`
1865
+ * - for `align` = `"high"`, `textAlign` is set to `right`
1866
+ *
1867
+ * Vertical axes:
1868
+ * - for `align` = `"low"` and `opposite` = `true`, `textAlign` is
1869
+ * set to `right`
1870
+ * - for `align` = `"low"` and `opposite` = `false`, `textAlign` is
1871
+ * set to `left`
1872
+ * - for `align` = `"middle"`, `textAlign` is set to `center`
1873
+ * - for `align` = `"high"` and `opposite` = `true` `textAlign` is
1874
+ * set to `left`
1875
+ * - for `align` = `"high"` and `opposite` = `false` `textAlign` is
1876
+ * set to `right`
1877
+ *
1878
+ * @type {string}
1879
+ * @apioption xAxis.title.textAlign
1880
+ */
1881
+
1882
+ /**
1883
+ * Whether to [use HTML](https://www.highcharts.com/docs/
1884
+ * chart-concepts/labels-and-string-formatting#html) to render the
1885
+ * axis title.
1886
+ *
1887
+ * @type {boolean}
1888
+ * @default false
1889
+ * @product highcharts highstock gantt
1890
+ * @apioption xAxis.title.useHTML
1891
+ */
1892
+
1893
+ /**
1894
+ * Horizontal pixel offset of the title position.
1895
+ *
1896
+ * @type {number}
1897
+ * @default 0
1898
+ * @since 4.1.6
1899
+ * @product highcharts highstock gantt
1900
+ * @apioption xAxis.title.x
1901
+ */
1902
+
1903
+ /**
1904
+ * Vertical pixel offset of the title position.
1905
+ *
1906
+ * @type {number}
1907
+ * @product highcharts highstock gantt
1908
+ * @apioption xAxis.title.y
1909
+ */
1910
+
1278
1911
  /**
1279
1912
  * Alignment of the title relative to the axis values. Possible
1280
1913
  * values are "low", "middle" or "high".
1281
1914
  *
1915
+ * @sample {highcharts} highcharts/xaxis/title-align-low/
1916
+ * "low"
1917
+ * @sample {highcharts} highcharts/xaxis/title-align-center/
1918
+ * "middle" by default
1919
+ * @sample {highcharts} highcharts/xaxis/title-align-high/
1920
+ * "high"
1921
+ * @sample {highcharts} highcharts/yaxis/title-offset/
1922
+ * Place the Y axis title on top of the axis
1923
+ * @sample {highstock} stock/xaxis/title-align/
1924
+ * Aligned to "high" value
1925
+ *
1282
1926
  * @validvalue ["low", "middle", "high"]
1283
- * @sample {highcharts} highcharts/xaxis/title-align-low/
1284
- * "low"
1285
- * @sample {highcharts} highcharts/xaxis/title-align-center/
1286
- * "middle" by default
1287
- * @sample {highcharts} highcharts/xaxis/title-align-high/
1288
- * "high"
1289
- * @sample {highcharts} highcharts/yaxis/title-offset/
1290
- * Place the Y axis title on top of the axis
1291
- * @sample {highstock} stock/xaxis/title-align/
1292
- * Aligned to "high" value
1293
1927
  */
1294
1928
  align: 'middle'
1295
1929
 
1296
1930
 
1931
+
1297
1932
  },
1298
1933
 
1299
1934
  /**
@@ -1305,22 +1940,116 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1305
1940
  * for categories, if not a [categories](#xAxis.categories) array is
1306
1941
  * defined.
1307
1942
  *
1943
+ * @sample {highcharts} highcharts/xaxis/type-linear/
1944
+ * Linear
1945
+ * @sample {highcharts} highcharts/yaxis/type-log/
1946
+ * Logarithmic
1947
+ * @sample {highcharts} highcharts/yaxis/type-log-minorgrid/
1948
+ * Logarithmic with minor grid lines
1949
+ * @sample {highcharts} highcharts/xaxis/type-log-both/
1950
+ * Logarithmic on two axes
1951
+ * @sample {highcharts} highcharts/yaxis/type-log-negative/
1952
+ * Logarithmic with extension to emulate negative values
1953
+ *
1954
+ * @product highcharts gantt
1308
1955
  * @validvalue ["linear", "logarithmic", "datetime", "category"]
1309
- * @sample {highcharts} highcharts/xaxis/type-linear/
1310
- * Linear
1311
- * @sample {highcharts} highcharts/yaxis/type-log/
1312
- * Logarithmic
1313
- * @sample {highcharts} highcharts/yaxis/type-log-minorgrid/
1314
- * Logarithmic with minor grid lines
1315
- * @sample {highcharts} highcharts/xaxis/type-log-both/
1316
- * Logarithmic on two axes
1317
- * @sample {highcharts} highcharts/yaxis/type-log-negative/
1318
- * Logarithmic with extension to emulate negative values
1319
- * @product highcharts
1320
1956
  */
1321
- type: 'linear'
1957
+ type: 'linear',
1958
+
1959
+ /**
1960
+ * The type of axis. Can be one of `linear`, `logarithmic`, `datetime`,
1961
+ * `category` or `treegrid`. Defaults to `treegrid` for Gantt charts,
1962
+ * `linear` for other chart types.
1963
+ *
1964
+ * In a datetime axis, the numbers are given in milliseconds, and tick
1965
+ * marks are placed on appropriate values, like full hours or days. In a
1966
+ * category or treegrid axis, the [point names](#series.line.data.name)
1967
+ * of the chart's series are used for categories, if a
1968
+ * [categories](#xAxis.categories) array is not defined.
1969
+ *
1970
+ * @sample {highcharts} highcharts/yaxis/type-log-minorgrid/
1971
+ * Logarithmic with minor grid lines
1972
+ * @sample {highcharts} highcharts/yaxis/type-log-negative/
1973
+ * Logarithmic with extension to emulate negative values
1974
+ *
1975
+ * @product highcharts gantt
1976
+ * @validvalue ["linear", "logarithmic", "datetime", "category", "treegrid"]
1977
+ * @default {highcharts} linear
1978
+ * @default {gantt} treegrid
1979
+ * @apioption yAxis.type
1980
+ */
1981
+
1982
+ /**
1983
+ * Applies only when the axis `type` is `category`. When `uniqueNames`
1984
+ * is true, points are placed on the X axis according to their names.
1985
+ * If the same point name is repeated in the same or another series,
1986
+ * the point is placed on the same X position as other points of the
1987
+ * same name. When `uniqueNames` is false, the points are laid out in
1988
+ * increasing X positions regardless of their names, and the X axis
1989
+ * category will take the name of the last point in each position.
1990
+ *
1991
+ * @sample {highcharts} highcharts/xaxis/uniquenames-true/
1992
+ * True by default
1993
+ * @sample {highcharts} highcharts/xaxis/uniquenames-false/
1994
+ * False
1995
+ *
1996
+ * @type {boolean}
1997
+ * @default true
1998
+ * @since 4.2.7
1999
+ * @product highcharts gantt
2000
+ * @apioption xAxis.uniqueNames
2001
+ */
2002
+
2003
+ /**
2004
+ * Datetime axis only. An array determining what time intervals the
2005
+ * ticks are allowed to fall on. Each array item is an array where the
2006
+ * first value is the time unit and the second value another array of
2007
+ * allowed multiples. Defaults to:
2008
+ *
2009
+ * <pre>units: [[
2010
+ * 'millisecond', // unit name
2011
+ * [1, 2, 5, 10, 20, 25, 50, 100, 200, 500] // allowed multiples
2012
+ * ], [
2013
+ * 'second',
2014
+ * [1, 2, 5, 10, 15, 30]
2015
+ * ], [
2016
+ * 'minute',
2017
+ * [1, 2, 5, 10, 15, 30]
2018
+ * ], [
2019
+ * 'hour',
2020
+ * [1, 2, 3, 4, 6, 8, 12]
2021
+ * ], [
2022
+ * 'day',
2023
+ * [1]
2024
+ * ], [
2025
+ * 'week',
2026
+ * [1]
2027
+ * ], [
2028
+ * 'month',
2029
+ * [1, 3, 6]
2030
+ * ], [
2031
+ * 'year',
2032
+ * null
2033
+ * ]]</pre>
2034
+ *
2035
+ * @type {Array<Array<string|Array<number>>>}
2036
+ * @product highcharts highstock gantt
2037
+ * @apioption xAxis.units
2038
+ */
2039
+
2040
+ /**
2041
+ * Whether axis, including axis title, line, ticks and labels, should
2042
+ * be visible.
2043
+ *
2044
+ * @type {boolean}
2045
+ * @default true
2046
+ * @since 4.1.9
2047
+ * @product highcharts highstock gantt
2048
+ * @apioption xAxis.visible
2049
+ */
1322
2050
 
1323
2051
 
2052
+
1324
2053
  },
1325
2054
 
1326
2055
  /**
@@ -1333,42 +2062,248 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1333
2062
  * access to the axis.
1334
2063
  *
1335
2064
  * @extends xAxis
1336
- * @excluding ordinal,overscroll
2065
+ * @excluding ordinal,overscroll,currentDateIndicator
1337
2066
  * @optionparent yAxis
1338
2067
  */
1339
2068
  defaultYAxisOptions: {
2069
+
2070
+ /**
2071
+ * In a polar chart, this is the angle of the Y axis in degrees, where
2072
+ * 0 is up and 90 is right. The angle determines the position of the
2073
+ * axis line and the labels, though the coordinate system is unaffected.
2074
+ *
2075
+ * @sample {highcharts} highcharts/yaxis/angle/
2076
+ * Dual axis polar chart
2077
+ *
2078
+ * @type {number}
2079
+ * @default 0
2080
+ * @since 4.2.7
2081
+ * @product highcharts
2082
+ * @apioption yAxis.angle
2083
+ */
2084
+
2085
+ /**
2086
+ * Polar charts only. Whether the grid lines should draw as a polygon
2087
+ * with straight lines between categories, or as circles. Can be either
2088
+ * `circle` or `polygon`.
2089
+ *
2090
+ * @sample {highcharts} highcharts/demo/polar-spider/
2091
+ * Polygon grid lines
2092
+ * @sample {highcharts} highcharts/yaxis/gridlineinterpolation/
2093
+ * Circle and polygon
2094
+ *
2095
+ * @type {string}
2096
+ * @product highcharts
2097
+ * @validvalue ["circle", "polygon"]
2098
+ * @apioption yAxis.gridLineInterpolation
2099
+ */
2100
+
2101
+ /**
2102
+ * The height of the Y axis. If it's a number, it is interpreted as
2103
+ * pixels.
2104
+ *
2105
+ * Since Highstock 2: If it's a percentage string, it is interpreted
2106
+ * as percentages of the total plot height.
2107
+ *
2108
+ * @see [yAxis.top](#yAxis.top)
2109
+ *
2110
+ * @sample {highstock} stock/demo/candlestick-and-volume/
2111
+ * Percentage height panes
2112
+ *
2113
+ * @type {number|string}
2114
+ * @product highstock
2115
+ * @apioption yAxis.height
2116
+ */
2117
+
2118
+ /**
2119
+ * Solid gauge only. Unless [stops](#yAxis.stops) are set, the color
2120
+ * to represent the maximum value of the Y axis.
2121
+ *
2122
+ * @sample {highcharts} highcharts/yaxis/mincolor-maxcolor/
2123
+ * Min and max colors
2124
+ *
2125
+ * @type {Highcharts.ColorString}
2126
+ * @default #003399
2127
+ * @since 4.0
2128
+ * @product highcharts
2129
+ * @apioption yAxis.maxColor
2130
+ */
2131
+
2132
+ /**
2133
+ * Solid gauge only. Unless [stops](#yAxis.stops) are set, the color
2134
+ * to represent the minimum value of the Y axis.
2135
+ *
2136
+ * @sample {highcharts} highcharts/yaxis/mincolor-maxcolor/
2137
+ * Min and max color
2138
+ *
2139
+ * @type {Highcharts.ColorString}
2140
+ * @default #e6ebf5
2141
+ * @since 4.0
2142
+ * @product highcharts
2143
+ * @apioption yAxis.minColor
2144
+ */
2145
+
2146
+ /**
2147
+ * Whether to reverse the axis so that the highest number is closest
2148
+ * to the origin.
2149
+ *
2150
+ * @sample {highcharts} highcharts/yaxis/reversed/
2151
+ * Reversed Y axis
2152
+ * @sample {highstock} stock/xaxis/reversed/
2153
+ * Reversed Y axis
2154
+ *
2155
+ * @type {boolean}
2156
+ * @default {highcharts} false
2157
+ * @default {highstock} false
2158
+ * @default {highmaps} true
2159
+ * @default {gantt} true
2160
+ * @apioption yAxis.reversed
2161
+ */
2162
+
2163
+ /**
2164
+ * If `true`, the first series in a stack will be drawn on top in a
2165
+ * positive, non-reversed Y axis. If `false`, the first series is in
2166
+ * the base of the stack.
2167
+ *
2168
+ * @sample {highcharts} highcharts/yaxis/reversedstacks-false/
2169
+ * Non-reversed stacks
2170
+ * @sample {highstock} highcharts/yaxis/reversedstacks-false/
2171
+ * Non-reversed stacks
2172
+ *
2173
+ * @type {boolean}
2174
+ * @default true
2175
+ * @since 3.0.10
2176
+ * @product highcharts highstock
2177
+ * @apioption yAxis.reversedStacks
2178
+ */
2179
+
2180
+ /**
2181
+ * Solid gauge series only. Color stops for the solid gauge. Use this
2182
+ * in cases where a linear gradient between a `minColor` and `maxColor`
2183
+ * is not sufficient. The stops is an array of tuples, where the first
2184
+ * item is a float between 0 and 1 assigning the relative position in
2185
+ * the gradient, and the second item is the color.
2186
+ *
2187
+ * For solid gauges, the Y axis also inherits the concept of [data classes](http://api.
2188
+ * highcharts.com/highmaps#colorAxis.dataClasses) from the Highmaps
2189
+ * color axis.
2190
+ *
2191
+ * @see [minColor](#yAxis.minColor)
2192
+ * @see [maxColor](#yAxis.maxColor)
2193
+ *
2194
+ * @sample {highcharts} highcharts/demo/gauge-solid/
2195
+ * True by default
2196
+ *
2197
+ * @type {Array<Array<number, Highcharts.ColorString>>}
2198
+ * @since 4.0
2199
+ * @product highcharts
2200
+ * @apioption yAxis.stops
2201
+ */
2202
+
2203
+ /**
2204
+ * The pixel width of the major tick marks.
2205
+ *
2206
+ * @sample {highcharts} highcharts/xaxis/tickwidth/ 10 px width
2207
+ * @sample {highstock} stock/xaxis/ticks/ Formatted ticks on X axis
2208
+ *
2209
+ * @type {number}
2210
+ * @default 0
2211
+ * @product highcharts highstock gantt
2212
+ * @apioption yAxis.tickWidth
2213
+ */
2214
+
2215
+ /**
2216
+ * Angular gauges and solid gauges only. The label's pixel distance
2217
+ * from the perimeter of the plot area.
2218
+ *
2219
+ * @type {number}
2220
+ * @default -25
2221
+ * @product highcharts
2222
+ * @apioption yAxis.labels.distance
2223
+ */
2224
+
2225
+ /**
2226
+ * The y position offset of the label relative to the tick position
2227
+ * on the axis.
2228
+ *
2229
+ * @sample {highcharts} highcharts/xaxis/labels-x/
2230
+ * Y axis labels placed on grid lines
2231
+ *
2232
+ * @type {number}
2233
+ * @default {highcharts} 3
2234
+ * @default {highstock} -2
2235
+ * @default {highmaps} 3
2236
+ * @apioption yAxis.labels.y
2237
+ */
2238
+
1340
2239
  /**
1341
2240
  * @productdesc {highstock}
1342
2241
  * In Highstock, `endOnTick` is always false when the navigator is
1343
2242
  * enabled, to prevent jumpy scrolling.
1344
2243
  */
1345
- endOnTick: true,
2244
+ endOnTick: true,
2245
+
2246
+ /**
2247
+ * Padding of the max value relative to the length of the axis. A
2248
+ * padding of 0.05 will make a 100px axis 5px longer. This is useful
2249
+ * when you don't want the highest data value to appear on the edge
2250
+ * of the plot area. When the axis' `max` option is set or a max extreme
2251
+ * is set using `axis.setExtremes()`, the maxPadding will be ignored.
2252
+ *
2253
+ * @sample {highcharts} highcharts/yaxis/maxpadding-02/
2254
+ * Max padding of 0.2
2255
+ * @sample {highstock} stock/xaxis/minpadding-maxpadding/
2256
+ * Greater min- and maxPadding
2257
+ *
2258
+ * @since 1.2.0
2259
+ * @product highcharts highstock gantt
2260
+ */
2261
+ maxPadding: 0.05,
2262
+
2263
+ /**
2264
+ * Padding of the min value relative to the length of the axis. A
2265
+ * padding of 0.05 will make a 100px axis 5px longer. This is useful
2266
+ * when you don't want the lowest data value to appear on the edge
2267
+ * of the plot area. When the axis' `min` option is set or a max extreme
2268
+ * is set using `axis.setExtremes()`, the maxPadding will be ignored.
2269
+ *
2270
+ * @sample {highcharts} highcharts/yaxis/minpadding/
2271
+ * Min padding of 0.2
2272
+ * @sample {highstock} stock/xaxis/minpadding-maxpadding/
2273
+ * Greater min- and maxPadding
2274
+ *
2275
+ * @since 1.2.0
2276
+ * @product highcharts highstock gantt
2277
+ */
2278
+ minPadding: 0.05,
1346
2279
 
1347
2280
  /**
1348
2281
  * @productdesc {highstock}
1349
2282
  * In Highstock 1.x, the Y axis was placed on the left side by default.
1350
2283
  *
1351
- * @sample {highcharts} highcharts/yaxis/opposite/
1352
- * Secondary Y axis opposite
1353
- * @sample {highstock} stock/xaxis/opposite/
1354
- * Y axis on left side
2284
+ * @sample {highcharts} highcharts/yaxis/opposite/
2285
+ * Secondary Y axis opposite
2286
+ * @sample {highstock} stock/xaxis/opposite/
2287
+ * Y axis on left side
2288
+ *
2289
+ * @type {boolean}
1355
2290
  * @default {highstock} true
1356
2291
  * @default {highcharts} false
1357
- * @product highstock highcharts
2292
+ * @product highstock highcharts gantt
1358
2293
  * @apioption yAxis.opposite
1359
2294
  */
1360
2295
 
1361
2296
  /**
1362
- * @see [tickInterval](#xAxis.tickInterval),
1363
- * [tickPositioner](#xAxis.tickPositioner),
1364
- * [tickPositions](#xAxis.tickPositions).
2297
+ * @see [tickInterval](#xAxis.tickInterval)
2298
+ * @see [tickPositioner](#xAxis.tickPositioner)
2299
+ * @see [tickPositions](#xAxis.tickPositions)
1365
2300
  */
1366
2301
  tickPixelInterval: 72,
1367
2302
 
1368
2303
  showLastLabel: true,
1369
2304
 
1370
2305
  /**
1371
- * @extends xAxis.labels
2306
+ * @extends xAxis.labels
1372
2307
  */
1373
2308
  labels: {
1374
2309
  /**
@@ -1378,12 +2313,13 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1378
2313
  *
1379
2314
  * Angular gauges and solid gauges defaults to `center`.
1380
2315
  *
1381
- * @validvalue ["left", "center", "right"]
1382
- * @type {String}
1383
- * @sample {highcharts} highcharts/yaxis/labels-align-left/
1384
- * Left
2316
+ * @sample {highcharts} highcharts/yaxis/labels-align-left/
2317
+ * Left
2318
+ *
2319
+ * @type {string}
1385
2320
  * @default {highcharts|highmaps} right
1386
2321
  * @default {highstock} left
2322
+ * @validvalue ["left", "center", "right"]
1387
2323
  * @apioption yAxis.labels.align
1388
2324
  */
1389
2325
 
@@ -1402,64 +2338,269 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1402
2338
  * In Highmaps, the axis line is hidden by default, because the axis is
1403
2339
  * not visible by default.
1404
2340
  *
2341
+ * @type {Highcharts.ColorString}
1405
2342
  * @apioption yAxis.lineColor
1406
2343
  */
1407
2344
 
1408
2345
  /**
1409
- * @sample {highcharts} highcharts/yaxis/min-startontick-false/
1410
- * -50 with startOnTick to false
1411
- * @sample {highcharts} highcharts/yaxis/min-startontick-true/
1412
- * -50 with startOnTick true by default
1413
- * @sample {highstock} stock/yaxis/min-max/
1414
- * Fixed min and max on Y axis
1415
- * @sample {highmaps} maps/axis/min-max/
1416
- * Pre-zoomed to a specific area
2346
+ * @sample {highcharts} highcharts/yaxis/max-200/
2347
+ * Y axis max of 200
2348
+ * @sample {highcharts} highcharts/yaxis/max-logarithmic/
2349
+ * Y axis max on logarithmic axis
2350
+ * @sample {highstock} stock/yaxis/min-max/
2351
+ * Fixed min and max on Y axis
2352
+ * @sample {highmaps} maps/axis/min-max/
2353
+ * Pre-zoomed to a specific area
2354
+ *
2355
+ * @type {number}
2356
+ * @apioption yAxis.max
2357
+ */
2358
+
2359
+ /**
2360
+ * @sample {highcharts} highcharts/yaxis/min-startontick-false/
2361
+ * -50 with startOnTick to false
2362
+ * @sample {highcharts} highcharts/yaxis/min-startontick-true/
2363
+ * -50 with startOnTick true by default
2364
+ * @sample {highstock} stock/yaxis/min-max/
2365
+ * Fixed min and max on Y axis
2366
+ * @sample {highmaps} maps/axis/min-max/
2367
+ * Pre-zoomed to a specific area
2368
+ *
2369
+ * @type {number}
1417
2370
  * @apioption yAxis.min
1418
2371
  */
1419
2372
 
1420
2373
  /**
1421
- * @sample {highcharts} highcharts/yaxis/max-200/
1422
- * Y axis max of 200
1423
- * @sample {highcharts} highcharts/yaxis/max-logarithmic/
1424
- * Y axis max on logarithmic axis
1425
- * @sample {highstock} stock/yaxis/min-max/
1426
- * Fixed min and max on Y axis
1427
- * @sample {highmaps} maps/axis/min-max/
1428
- * Pre-zoomed to a specific area
1429
- * @apioption yAxis.max
2374
+ * An optional scrollbar to display on the Y axis in response to
2375
+ * limiting the minimum an maximum of the axis values.
2376
+ *
2377
+ * In styled mode, all the presentational options for the scrollbar
2378
+ * are replaced by the classes `.highcharts-scrollbar-thumb`,
2379
+ * `.highcharts-scrollbar-arrow`, `.highcharts-scrollbar-button`,
2380
+ * `.highcharts-scrollbar-rifles` and `.highcharts-scrollbar-track`.
2381
+ *
2382
+ * @sample {highstock} stock/yaxis/scrollbar/
2383
+ * Scrollbar on the Y axis
2384
+ *
2385
+ * @extends scrollbar
2386
+ * @excluding height
2387
+ * @since 4.2.6
2388
+ * @product highstock
2389
+ * @apioption yAxis.scrollbar
1430
2390
  */
1431
2391
 
1432
2392
  /**
1433
- * Padding of the max value relative to the length of the axis. A
1434
- * padding of 0.05 will make a 100px axis 5px longer. This is useful
1435
- * when you don't want the highest data value to appear on the edge
1436
- * of the plot area. When the axis' `max` option is set or a max extreme
1437
- * is set using `axis.setExtremes()`, the maxPadding will be ignored.
2393
+ * Enable the scrollbar on the Y axis.
1438
2394
  *
1439
- * @sample {highcharts} highcharts/yaxis/maxpadding-02/
1440
- * Max padding of 0.2
1441
- * @sample {highstock} stock/xaxis/minpadding-maxpadding/
1442
- * Greater min- and maxPadding
1443
- * @since 1.2.0
1444
- * @product highcharts highstock
2395
+ * @sample {highstock} stock/yaxis/scrollbar/
2396
+ * Enabled on Y axis
2397
+ *
2398
+ * @type {boolean}
2399
+ * @default false
2400
+ * @since 4.2.6
2401
+ * @product highstock
2402
+ * @apioption yAxis.scrollbar.enabled
1445
2403
  */
1446
- maxPadding: 0.05,
1447
2404
 
1448
2405
  /**
1449
- * Padding of the min value relative to the length of the axis. A
1450
- * padding of 0.05 will make a 100px axis 5px longer. This is useful
1451
- * when you don't want the lowest data value to appear on the edge
1452
- * of the plot area. When the axis' `min` option is set or a max extreme
1453
- * is set using `axis.setExtremes()`, the maxPadding will be ignored.
2406
+ * Pixel margin between the scrollbar and the axis elements.
1454
2407
  *
1455
- * @sample {highcharts} highcharts/yaxis/minpadding/
1456
- * Min padding of 0.2
1457
- * @sample {highstock} stock/xaxis/minpadding-maxpadding/
1458
- * Greater min- and maxPadding
1459
- * @since 1.2.0
1460
- * @product highcharts highstock
2408
+ * @type {number}
2409
+ * @default 10
2410
+ * @since 4.2.6
2411
+ * @product highstock
2412
+ * @apioption yAxis.scrollbar.margin
2413
+ */
2414
+
2415
+ /**
2416
+ * Whether to show the scrollbar when it is fully zoomed out at max
2417
+ * range. Setting it to `false` on the Y axis makes the scrollbar stay
2418
+ * hidden until the user zooms in, like common in browsers.
2419
+ *
2420
+ * @type {boolean}
2421
+ * @default true
2422
+ * @since 4.2.6
2423
+ * @product highstock
2424
+ * @apioption yAxis.scrollbar.showFull
2425
+ */
2426
+
2427
+ /**
2428
+ * The width of a vertical scrollbar or height of a horizontal
2429
+ * scrollbar. Defaults to 20 on touch devices.
2430
+ *
2431
+ * @type {number}
2432
+ * @default 14
2433
+ * @since 4.2.6
2434
+ * @product highstock
2435
+ * @apioption yAxis.scrollbar.size
2436
+ */
2437
+
2438
+ /**
2439
+ * Z index of the scrollbar elements.
2440
+ *
2441
+ * @type {number}
2442
+ * @default 3
2443
+ * @since 4.2.6
2444
+ * @product highstock
2445
+ * @apioption yAxis.scrollbar.zIndex
2446
+ */
2447
+
2448
+ /**
2449
+ * A soft maximum for the axis. If the series data maximum is less
2450
+ * than this, the axis will stay at this maximum, but if the series
2451
+ * data maximum is higher, the axis will flex to show all data.
2452
+ *
2453
+ * **Note**: The [series.softThreshold](
2454
+ * #plotOptions.series.softThreshold) option takes precedence over this
2455
+ * option.
2456
+ *
2457
+ * @sample highcharts/yaxis/softmin-softmax/
2458
+ * Soft min and max
2459
+ *
2460
+ * @type {number}
2461
+ * @since 5.0.1
2462
+ * @product highcharts highstock gantt
2463
+ * @apioption yAxis.softMax
2464
+ */
2465
+
2466
+ /**
2467
+ * A soft minimum for the axis. If the series data minimum is greater
2468
+ * than this, the axis will stay at this minimum, but if the series
2469
+ * data minimum is lower, the axis will flex to show all data.
2470
+ *
2471
+ * **Note**: The [series.softThreshold](
2472
+ * #plotOptions.series.softThreshold) option takes precedence over this
2473
+ * option.
2474
+ *
2475
+ * @sample highcharts/yaxis/softmin-softmax/
2476
+ * Soft min and max
2477
+ *
2478
+ * @type {number}
2479
+ * @since 5.0.1
2480
+ * @product highcharts highstock gantt
2481
+ * @apioption yAxis.softMin
2482
+ */
2483
+
2484
+ /**
2485
+ * Defines the horizontal alignment of the stack total label. Can be one
2486
+ * of `"left"`, `"center"` or `"right"`. The default value is calculated
2487
+ * at runtime and depends on orientation and whether the stack is
2488
+ * positive or negative.
2489
+ *
2490
+ * @sample {highcharts} highcharts/yaxis/stacklabels-align-left/
2491
+ * Aligned to the left
2492
+ * @sample {highcharts} highcharts/yaxis/stacklabels-align-center/
2493
+ * Aligned in center
2494
+ * @sample {highcharts} highcharts/yaxis/stacklabels-align-right/
2495
+ * Aligned to the right
2496
+ *
2497
+ * @type {string}
2498
+ * @since 2.1.5
2499
+ * @product highcharts
2500
+ * @validvalue ["left", "center", "right"]
2501
+ * @apioption yAxis.stackLabels.align
2502
+ */
2503
+
2504
+ /**
2505
+ * A [format string](http://docs.highcharts.com/#formatting) for the
2506
+ * data label. Available variables are the same as for `formatter`.
2507
+ *
2508
+ * @type {string}
2509
+ * @default {total}
2510
+ * @since 3.0.2
2511
+ * @product highcharts highstock
2512
+ * @apioption yAxis.stackLabels.format
2513
+ */
2514
+
2515
+ /**
2516
+ * Rotation of the labels in degrees.
2517
+ *
2518
+ * @sample {highcharts} highcharts/yaxis/stacklabels-rotation/
2519
+ * Labels rotated 45°
2520
+ *
2521
+ * @type {number}
2522
+ * @default 0
2523
+ * @since 2.1.5
2524
+ * @product highcharts
2525
+ * @apioption yAxis.stackLabels.rotation
2526
+ */
2527
+
2528
+ /**
2529
+ * The text alignment for the label. While `align` determines where the
2530
+ * texts anchor point is placed with regards to the stack, `textAlign`
2531
+ * determines how the text is aligned against its anchor point. Possible
2532
+ * values are `"left"`, `"center"` and `"right"`. The default value is
2533
+ * calculated at runtime and depends on orientation and whether the
2534
+ * stack is positive or negative.
2535
+ *
2536
+ * @sample {highcharts} highcharts/yaxis/stacklabels-textalign-left/
2537
+ * Label in center position but text-aligned left
2538
+ *
2539
+ * @type {string}
2540
+ * @since 2.1.5
2541
+ * @product highcharts
2542
+ * @validvalue ["left", "center", "right"]
2543
+ * @apioption yAxis.stackLabels.textAlign
2544
+ */
2545
+
2546
+ /**
2547
+ * Whether to [use HTML](https://www.highcharts.com/docs/chart-concepts/
2548
+ * labels-and-string-formatting#html) to render the labels.
2549
+ *
2550
+ * @type {boolean}
2551
+ * @default false
2552
+ * @since 3.0
2553
+ * @product highcharts highstock
2554
+ * @apioption yAxis.stackLabels.useHTML
2555
+ */
2556
+
2557
+ /**
2558
+ * Defines the vertical alignment of the stack total label. Can be one
2559
+ * of `"top"`, `"middle"` or `"bottom"`. The default value is calculated
2560
+ * at runtime and depends on orientation and whether the stack is
2561
+ * positive or negative.
2562
+ *
2563
+ * @sample {highcharts} highcharts/yaxis/stacklabels-verticalalign-top/
2564
+ * Vertically aligned top
2565
+ * @sample {highcharts} highcharts/yaxis/stacklabels-verticalalign-middle/
2566
+ * Vertically aligned middle
2567
+ * @sample {highcharts} highcharts/yaxis/stacklabels-verticalalign-bottom/
2568
+ * Vertically aligned bottom
2569
+ *
2570
+ * @type {string}
2571
+ * @since 2.1.5
2572
+ * @product highcharts
2573
+ * @validvalue ["top", "middle", "bottom"]
2574
+ * @apioption yAxis.stackLabels.verticalAlign
2575
+ */
2576
+
2577
+ /**
2578
+ * The x position offset of the label relative to the left of the
2579
+ * stacked bar. The default value is calculated at runtime and depends
2580
+ * on orientation and whether the stack is positive or negative.
2581
+ *
2582
+ * @sample {highcharts} highcharts/yaxis/stacklabels-x/
2583
+ * Stack total labels with x offset
2584
+ *
2585
+ * @type {number}
2586
+ * @since 2.1.5
2587
+ * @product highcharts
2588
+ * @apioption yAxis.stackLabels.x
2589
+ */
2590
+
2591
+ /**
2592
+ * The y position offset of the label relative to the tick position
2593
+ * on the axis. The default value is calculated at runtime and depends
2594
+ * on orientation and whether the stack is positive or negative.
2595
+ *
2596
+ * @sample {highcharts} highcharts/yaxis/stacklabels-y/
2597
+ * Stack total labels with y offset
2598
+ *
2599
+ * @type {number}
2600
+ * @since 2.1.5
2601
+ * @product highcharts
2602
+ * @apioption yAxis.stackLabels.y
1461
2603
  */
1462
- minPadding: 0.05,
1463
2604
 
1464
2605
  /**
1465
2606
  * Whether to force the axis to start on a tick. Use this option with
@@ -1471,16 +2612,26 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1471
2612
  * True
1472
2613
  * @sample {highstock} stock/xaxis/endontick/
1473
2614
  * False for Y axis
2615
+ *
1474
2616
  * @since 1.2.0
1475
- * @product highcharts highstock
2617
+ * @product highcharts highstock gantt
1476
2618
  */
1477
2619
  startOnTick: true,
1478
2620
 
1479
- /**
1480
- * @extends xAxis.title
1481
- */
1482
2621
  title: {
1483
2622
 
2623
+ /**
2624
+ * The pixel distance between the axis labels and the title.
2625
+ * Positive values are outside the axis line, negative are inside.
2626
+ *
2627
+ * @sample {highcharts} highcharts/xaxis/title-margin/
2628
+ * Y axis title margin of 60
2629
+ *
2630
+ * @type {number}
2631
+ * @default 40
2632
+ * @apioption yAxis.title.margin
2633
+ */
2634
+
1484
2635
  /**
1485
2636
  * The rotation of the text in degrees. 0 is horizontal, 270 is
1486
2637
  * vertical reading from bottom to top.
@@ -1494,17 +2645,35 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1494
2645
  * The actual text of the axis title. Horizontal texts can contain
1495
2646
  * HTML, but rotated texts are painted using vector techniques and
1496
2647
  * must be clean text. The Y axis title is disabled by setting the
1497
- * `text` option to `null`.
2648
+ * `text` option to `undefined`.
1498
2649
  *
1499
2650
  * @sample {highcharts} highcharts/xaxis/title-text/
1500
2651
  * Custom HTML
2652
+ *
1501
2653
  * @default {highcharts} Values
1502
- * @default {highstock} null
1503
- * @product highcharts highstock
2654
+ * @default {highstock} undefined
2655
+ * @product highcharts highstock gantt
1504
2656
  */
1505
2657
  text: 'Values'
1506
2658
  },
1507
2659
 
2660
+ /**
2661
+ * The top position of the Y axis. If it's a number, it is interpreted
2662
+ * as pixel position relative to the chart.
2663
+ *
2664
+ * Since Highstock 2: If it's a percentage string, it is interpreted
2665
+ * as percentages of the plot height, offset from plot area top.
2666
+ *
2667
+ * @see [yAxis.height](#yAxis.height)
2668
+ *
2669
+ * @sample {highstock} stock/demo/candlestick-and-volume/
2670
+ * Percentage height panes
2671
+ *
2672
+ * @type {number|string}
2673
+ * @product highstock
2674
+ * @apioption yAxis.top
2675
+ */
2676
+
1508
2677
  /**
1509
2678
  * The stack labels show the total value for each bar in a stacked
1510
2679
  * column or bar chart. The label will be placed on top of positive
@@ -1519,9 +2688,9 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1519
2688
  /**
1520
2689
  * Allow the stack labels to overlap.
1521
2690
  *
1522
- * @sample {highcharts}
1523
- * highcharts/yaxis/stacklabels-allowoverlap-false/
1524
- * Default false
2691
+ * @sample {highcharts} highcharts/yaxis/stacklabels-allowoverlap-false/
2692
+ * Default false
2693
+ *
1525
2694
  * @since 5.0.13
1526
2695
  * @product highcharts
1527
2696
  */
@@ -1530,8 +2699,9 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1530
2699
  /**
1531
2700
  * Enable or disable the stack total labels.
1532
2701
  *
1533
- * @sample {highcharts} highcharts/yaxis/stacklabels-enabled/
1534
- * Enabled stack total labels
2702
+ * @sample {highcharts} highcharts/yaxis/stacklabels-enabled/
2703
+ * Enabled stack total labels
2704
+ *
1535
2705
  * @since 2.1.5
1536
2706
  * @product highcharts
1537
2707
  */
@@ -1541,27 +2711,49 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1541
2711
  * Callback JavaScript function to format the label. The value is
1542
2712
  * given by `this.total`.
1543
2713
  *
1544
- * @default function() { return this.total; }
2714
+ * @sample {highcharts} highcharts/yaxis/stacklabels-formatter/
2715
+ * Added units to stack total value
1545
2716
  *
1546
- * @type {Function}
1547
- * @sample {highcharts} highcharts/yaxis/stacklabels-formatter/
1548
- * Added units to stack total value
2717
+ * @type {Highcharts.FormatterCallbackFunction}
1549
2718
  * @since 2.1.5
1550
2719
  * @product highcharts
1551
2720
  */
1552
2721
  formatter: function () {
1553
2722
  return H.numberFormat(this.total, -1);
1554
2723
  }
2724
+
1555
2725
 
2726
+
1556
2727
  }
2728
+
1557
2729
 
2730
+
1558
2731
  },
1559
2732
 
2733
+ /**
2734
+ * The Z axis or depth axis for 3D plots.
2735
+ *
2736
+ * See [the Axis object](/class-reference/Highcharts.Axis) for programmatic
2737
+ * access to the axis.
2738
+ *
2739
+ * @sample {highcharts} highcharts/3d/scatter-zaxis-categories/
2740
+ * Z-Axis with Categories
2741
+ * @sample {highcharts} highcharts/3d/scatter-zaxis-grid/
2742
+ * Z-Axis with styling
2743
+ *
2744
+ * @extends xAxis
2745
+ * @since 5.0.0
2746
+ * @product highcharts
2747
+ * @excluding breaks, crosshair, lineColor, lineWidth, nameToX, showEmpty
2748
+ * @apioption zAxis
2749
+ */
2750
+
1560
2751
  /**
1561
2752
  * These options extend the defaultOptions for left axes.
1562
2753
  *
1563
2754
  * @private
1564
- * @type {Object}
2755
+ * @name Highcharts.Axis#defaultLeftAxisOptions
2756
+ * @type {*}
1565
2757
  */
1566
2758
  defaultLeftAxisOptions: {
1567
2759
  labels: {
@@ -1576,7 +2768,8 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1576
2768
  * These options extend the defaultOptions for right axes.
1577
2769
  *
1578
2770
  * @private
1579
- * @type {Object}
2771
+ * @name Highcharts.Axis#defaultRightAxisOptions
2772
+ * @type {*}
1580
2773
  */
1581
2774
  defaultRightAxisOptions: {
1582
2775
  labels: {
@@ -1591,7 +2784,8 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1591
2784
  * These options extend the defaultOptions for bottom axes.
1592
2785
  *
1593
2786
  * @private
1594
- * @type {Object}
2787
+ * @name Highcharts.Axis#defaultBottomAxisOptions
2788
+ * @type {*}
1595
2789
  */
1596
2790
  defaultBottomAxisOptions: {
1597
2791
  labels: {
@@ -1608,7 +2802,8 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1608
2802
  * These options extend the defaultOptions for top axes.
1609
2803
  *
1610
2804
  * @private
1611
- * @type {Object}
2805
+ * @name Highcharts.Axis#defaultTopAxisOptions
2806
+ * @type {*}
1612
2807
  */
1613
2808
  defaultTopAxisOptions: {
1614
2809
  labels: {
@@ -1626,6 +2821,15 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1626
2821
  * Overrideable function to initialize the axis.
1627
2822
  *
1628
2823
  * @see {@link Axis}
2824
+ *
2825
+ * @function Highcharts.Axis#init
2826
+ *
2827
+ * @param {Highcharts.Chart} chart
2828
+ *
2829
+ * @param {Highcharts.Options} userOptions
2830
+ *
2831
+ * @fires Highcharts.Axis#event:afterInit
2832
+ * @fires Highcharts.Axis#event:init
1629
2833
  */
1630
2834
  init: function (chart, userOptions) {
1631
2835
 
@@ -1636,18 +2840,16 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1636
2840
  /**
1637
2841
  * The Chart that the axis belongs to.
1638
2842
  *
1639
- * @name chart
1640
- * @memberof Axis
1641
- * @type {Chart}
2843
+ * @name Highcharts.Axis#chart
2844
+ * @type {Highcharts.Chart}
1642
2845
  */
1643
2846
  axis.chart = chart;
1644
2847
 
1645
2848
  /**
1646
2849
  * Whether the axis is horizontal.
1647
2850
  *
1648
- * @name horiz
1649
- * @memberof Axis
1650
- * @type {Boolean}
2851
+ * @name Highcharts.Axis#horiz
2852
+ * @type {boolean}
1651
2853
  */
1652
2854
  axis.horiz = chart.inverted && !axis.isZAxis ? !isXAxis : isXAxis;
1653
2855
 
@@ -1659,9 +2861,8 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1659
2861
  * or `colorAxis`. Corresponds to properties on Chart, for example
1660
2862
  * {@link Chart.xAxis}.
1661
2863
  *
1662
- * @name coll
1663
- * @memberof Axis
1664
- * @type {String}
2864
+ * @name Highcharts.Axis#coll
2865
+ * @type {string}
1665
2866
  */
1666
2867
  axis.coll = axis.coll || (isXAxis ? 'xAxis' : 'yAxis');
1667
2868
 
@@ -1673,9 +2874,8 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1673
2874
  * The side on which the axis is rendered. 0 is top, 1 is right, 2 is
1674
2875
  * bottom and 3 is left.
1675
2876
  *
1676
- * @name side
1677
- * @memberof Axis
1678
- * @type {Number}
2877
+ * @name Highcharts.Axis#side
2878
+ * @type {number}
1679
2879
  */
1680
2880
  axis.side = userOptions.side || (axis.horiz ?
1681
2881
  (axis.opposite ? 0 : 2) : // top : bottom
@@ -1702,9 +2902,8 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1702
2902
  * Whether the axis is reversed. Based on the `axis.reversed`,
1703
2903
  * option, but inverted charts have reversed xAxis by default.
1704
2904
  *
1705
- * @name reversed
1706
- * @memberof Axis
1707
- * @type {Boolean}
2905
+ * @name Highcharts.Axis#reversed
2906
+ * @type {boolean}
1708
2907
  */
1709
2908
  axis.reversed = options.reversed;
1710
2909
  axis.visible = options.visible !== false;
@@ -1730,10 +2929,25 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1730
2929
  // Flag, if axis is linked to another axis
1731
2930
  axis.isLinked = defined(options.linkedTo);
1732
2931
 
1733
- // Major ticks
2932
+ /**
2933
+ * List of major ticks mapped by postition on axis.
2934
+ *
2935
+ * @name ticks
2936
+ * @memberOf Axis
2937
+ * @type {Object.<number, Highcharts.Tick>}
2938
+ * @see Highcharts.Tick
2939
+ */
1734
2940
  axis.ticks = {};
1735
2941
  axis.labelEdge = [];
1736
- // Minor ticks
2942
+ /**
2943
+ * List of minor ticks mapped by position on the axis.
2944
+ *
2945
+ * @name minorTicks
2946
+ * @memberOf Axis
2947
+ * @type {Object.<number, Highcharts.Tick>}
2948
+ *
2949
+ * @see Highcharts.Tick
2950
+ */
1737
2951
  axis.minorTicks = {};
1738
2952
 
1739
2953
  // List of plotLines/Bands
@@ -1760,9 +2974,8 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1760
2974
  * logarithm of the real value, and the real value can be obtained from
1761
2975
  * {@link Axis#getExtremes}.
1762
2976
  *
1763
- * @name max
1764
- * @memberof Axis
1765
- * @type {Number}
2977
+ * @name Highcharts.Axis#max
2978
+ * @type {number}
1766
2979
  */
1767
2980
  axis.max = null;
1768
2981
  /**
@@ -1770,9 +2983,8 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1770
2983
  * logarithm of the real value, and the real value can be obtained from
1771
2984
  * {@link Axis#getExtremes}.
1772
2985
  *
1773
- * @name min
1774
- * @memberof Axis
1775
- * @type {Number}
2986
+ * @name Highcharts.Axis#min
2987
+ * @type {number}
1776
2988
  */
1777
2989
  axis.min = null;
1778
2990
 
@@ -1780,9 +2992,8 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1780
2992
  /**
1781
2993
  * The processed crosshair options.
1782
2994
  *
1783
- * @name crosshair
1784
- * @memberof Axis
1785
- * @type {AxisCrosshairOptions}
2995
+ * @name Highcharts.Axis#crosshair
2996
+ * @type {false|Highcharts.AxisCrosshairOptions}
1786
2997
  */
1787
2998
  axis.crosshair = pick(
1788
2999
  options.crosshair,
@@ -1806,9 +3017,8 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1806
3017
  /**
1807
3018
  * All series associated to the axis.
1808
3019
  *
1809
- * @name series
1810
- * @memberof Axis
1811
- * @type {Array<Series>}
3020
+ * @name Highcharts.Axis#series
3021
+ * @type {Array<Highcharts.Series>}
1812
3022
  */
1813
3023
  axis.series = axis.series || []; // populated by Series
1814
3024
 
@@ -1841,6 +3051,11 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1841
3051
  * Merge and set options.
1842
3052
  *
1843
3053
  * @private
3054
+ * @function Highcharts.Axis#setOptions
3055
+ *
3056
+ * @param {Highcharts.AxisOptions} userOptions
3057
+ *
3058
+ * @fires Highcharts.Axis#event:afterSetOptions
1844
3059
  */
1845
3060
  setOptions: function (userOptions) {
1846
3061
  this.options = merge(
@@ -1868,6 +3083,9 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1868
3083
  * labels.formatter} instead except when a modification is needed.
1869
3084
  *
1870
3085
  * @private
3086
+ * @function Highcharts.Axis#defaultLabelFormatter
3087
+ *
3088
+ * @return {string}
1871
3089
  */
1872
3090
  defaultLabelFormatter: function () {
1873
3091
  var axis = this.axis,
@@ -1937,6 +3155,10 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1937
3155
  * analyzes the axis series and updates `this.dataMin` and `this.dataMax`.
1938
3156
  *
1939
3157
  * @private
3158
+ * @function Highcharts.Axis#getSeriesExtremes
3159
+ *
3160
+ * @fires Highcharts.Axis#event:afterGetSeriesExtremes
3161
+ * @fires Highcharts.Axis#event:getSeriesExtremes
1940
3162
  */
1941
3163
  getSeriesExtremes: function () {
1942
3164
  var axis = this,
@@ -2055,6 +3277,21 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2055
3277
  * the `toPixels` and `toValue` functions in applications.
2056
3278
  *
2057
3279
  * @private
3280
+ * @function Highcharts.Axis#translate
3281
+ *
3282
+ * @param {number} val
3283
+ *
3284
+ * @param {boolean} [backwards]
3285
+ *
3286
+ * @param {boolean} [cvsCoord]
3287
+ *
3288
+ * @param {boolean} [old]
3289
+ *
3290
+ * @param {boolean} [handleLog]
3291
+ *
3292
+ * @param {number} [pointPlacement=0]
3293
+ *
3294
+ * @return {number|undefined}
2058
3295
  */
2059
3296
  translate: function (
2060
3297
  val,
@@ -2125,12 +3362,17 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2125
3362
  /**
2126
3363
  * Translate a value in terms of axis units into pixels within the chart.
2127
3364
  *
2128
- * @param {Number} value
2129
- * A value in terms of axis units.
2130
- * @param {Boolean} paneCoordinates
2131
- * Whether to return the pixel coordinate relative to the chart or
2132
- * just the axis/pane itself.
2133
- * @return {Number} Pixel position of the value on the chart or axis.
3365
+ * @function Highcharts.Axis#toPixels
3366
+ *
3367
+ * @param {number} value
3368
+ * A value in terms of axis units.
3369
+ *
3370
+ * @param {boolean} paneCoordinates
3371
+ * Whether to return the pixel coordinate relative to the chart or
3372
+ * just the axis/pane itself.
3373
+ *
3374
+ * @return {number}
3375
+ * Pixel position of the value on the chart or axis.
2134
3376
  */
2135
3377
  toPixels: function (value, paneCoordinates) {
2136
3378
  return this.translate(value, false, !this.horiz, null, true) +
@@ -2140,12 +3382,18 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2140
3382
  /**
2141
3383
  * Translate a pixel position along the axis to a value in terms of axis
2142
3384
  * units.
2143
- * @param {Number} pixel
2144
- * The pixel value coordinate.
2145
- * @param {Boolean} paneCoordiantes
2146
- * Whether the input pixel is relative to the chart or just the
2147
- * axis/pane itself.
2148
- * @return {Number} The axis value.
3385
+ *
3386
+ * @function Highcharts.Axis#toValue
3387
+ *
3388
+ * @param {number} pixel
3389
+ * The pixel value coordinate.
3390
+ *
3391
+ * @param {boolean} paneCoordiantes
3392
+ * Whether the input pixel is relative to the chart or just the
3393
+ * axis/pane itself.
3394
+ *
3395
+ * @return {number}
3396
+ * The axis value.
2149
3397
  */
2150
3398
  toValue: function (pixel, paneCoordinates) {
2151
3399
  return this.translate(
@@ -2162,20 +3410,28 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2162
3410
  * this axis, across the plot to the opposite side. Also used internally for
2163
3411
  * grid lines and crosshairs.
2164
3412
  *
2165
- * @param {Number} value
2166
- * Axis value.
2167
- * @param {Number} [lineWidth=1]
2168
- * Used for calculation crisp line coordinates.
2169
- * @param {Boolean} [old=false]
2170
- * Use old coordinates (for resizing and rescaling).
2171
- * @param {Boolean} [force=false]
2172
- * If `false`, the function will return null when it falls outside
2173
- * the axis bounds.
2174
- * @param {Number} [translatedValue]
2175
- * If given, return the plot line path of a pixel position on the
2176
- * axis.
2177
- *
2178
- * @return {Array<String|Number>}
3413
+ * @function Highcharts.Axis#getPlotLinePath
3414
+ *
3415
+ * @param {number} value
3416
+ * Axis value.
3417
+ *
3418
+ * @param {number} [lineWidth=1]
3419
+ * Used for calculation crisp line coordinates.
3420
+ *
3421
+ * @param {boolean} [old=false]
3422
+ * Use old coordinates (for resizing and rescaling).
3423
+ *
3424
+ * @param {boolean|string} [force=false]
3425
+ * If `false`, the function will return null when it falls outside
3426
+ * the axis bounds. If `true`, the function will return a path
3427
+ * aligned to the plot area sides if it falls outside. If `pass`, it
3428
+ * will return a path outside.
3429
+ *
3430
+ * @param {number} [translatedValue]
3431
+ * If given, return the plot line path of a pixel position on the
3432
+ * axis.
3433
+ *
3434
+ * @return {Array<string|number>}
2179
3435
  * The SVG path definition for the plot line.
2180
3436
  */
2181
3437
  getPlotLinePath: function (value, lineWidth, old, force, translatedValue) {
@@ -2196,7 +3452,7 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2196
3452
  * or skip, depending on the force parameter.
2197
3453
  */
2198
3454
  between = function (x, a, b) {
2199
- if (x < a || x > b) {
3455
+ if (force !== 'pass' && x < a || x > b) {
2200
3456
  if (force) {
2201
3457
  x = Math.min(Math.max(a, x), b);
2202
3458
  } else {
@@ -2241,14 +3497,18 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2241
3497
  * Internal function to et the tick positions of a linear axis to round
2242
3498
  * values like whole tens or every five.
2243
3499
  *
2244
- * @param {Number} tickInterval
2245
- * The normalized tick interval
2246
- * @param {Number} min
2247
- * Axis minimum.
2248
- * @param {Number} max
2249
- * Axis maximum.
3500
+ * @function Highcharts.Axis#getLinearTickPositions
3501
+ *
3502
+ * @param {number} tickInterval
3503
+ * The normalized tick interval.
3504
+ *
3505
+ * @param {number} min
3506
+ * Axis minimum.
2250
3507
  *
2251
- * @return {Array<Number>}
3508
+ * @param {number} max
3509
+ * Axis maximum.
3510
+ *
3511
+ * @return {Array<number>}
2252
3512
  * An array of axis values where ticks should be placed.
2253
3513
  */
2254
3514
  getLinearTickPositions: function (tickInterval, min, max) {
@@ -2302,6 +3562,10 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2302
3562
  /**
2303
3563
  * Resolve the new minorTicks/minorTickInterval options into the legacy
2304
3564
  * loosely typed minorTickInterval option.
3565
+ *
3566
+ * @function Highcharts.Axis#getMinorTickInterval
3567
+ *
3568
+ * @return {number|'auto'|null}
2305
3569
  */
2306
3570
  getMinorTickInterval: function () {
2307
3571
  var options = this.options;
@@ -2319,7 +3583,9 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2319
3583
  * Internal function to return the minor tick positions. For logarithmic
2320
3584
  * axes, the same logic as for major ticks is reused.
2321
3585
  *
2322
- * @return {Array<Number>}
3586
+ * @function Highcharts.Axis#getMinorTickPositions
3587
+ *
3588
+ * @return {Array<number>}
2323
3589
  * An array of axis values where ticks should be placed.
2324
3590
  */
2325
3591
  getMinorTickPositions: function () {
@@ -2396,6 +3662,7 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2396
3662
  * max.
2397
3663
  *
2398
3664
  * @private
3665
+ * @function Highcharts.Axis#adjustForMinRange
2399
3666
  */
2400
3667
  adjustForMinRange: function () {
2401
3668
  var axis = this,
@@ -2488,6 +3755,9 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2488
3755
  * Find the closestPointRange across all series.
2489
3756
  *
2490
3757
  * @private
3758
+ * @function Highcharts.Axis#getClosest
3759
+ *
3760
+ * @return {number}
2491
3761
  */
2492
3762
  getClosest: function () {
2493
3763
  var ret;
@@ -2520,11 +3790,12 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2520
3790
  * new category (#2522).
2521
3791
  *
2522
3792
  * @private
3793
+ * @function Highcharts.Axis#nameToX
2523
3794
  *
2524
- * @param {Point}
2525
- * The point to inspect.
3795
+ * @param {Highcharts.Point} point
3796
+ * The point to inspect.
2526
3797
  *
2527
- * @return {Number}
3798
+ * @return {number}
2528
3799
  * The X value that the point is given.
2529
3800
  */
2530
3801
  nameToX: function (point) {
@@ -2567,6 +3838,7 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2567
3838
  * When changes have been done to series data, update the axis.names.
2568
3839
  *
2569
3840
  * @private
3841
+ * @function Highcharts.Axis#updateNames
2570
3842
  */
2571
3843
  updateNames: function () {
2572
3844
  var axis = this,
@@ -2609,6 +3881,11 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2609
3881
  * Update translation information.
2610
3882
  *
2611
3883
  * @private
3884
+ * @function Highcharts.Axis#setAxisTranslation
3885
+ *
3886
+ * @param {boolean} saveOld
3887
+ *
3888
+ * @fires Highcharts.Axis#event:afterSetAxisTranslation
2612
3889
  */
2613
3890
  setAxisTranslation: function (saveOld) {
2614
3891
  var axis = this,
@@ -2698,7 +3975,7 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2698
3975
  axis.oldTransA = transA;
2699
3976
  }
2700
3977
  axis.translationSlope = axis.transA = transA =
2701
- axis.options.staticScale ||
3978
+ axis.staticScale ||
2702
3979
  axis.len / ((range + pointRangePadding) || 1);
2703
3980
 
2704
3981
  // Translation addend
@@ -2708,6 +3985,12 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2708
3985
  fireEvent(this, 'afterSetAxisTranslation');
2709
3986
  },
2710
3987
 
3988
+ /**
3989
+ * @private
3990
+ * @function Highcharts.Axis#minFromRange
3991
+ *
3992
+ * @return {number}
3993
+ */
2711
3994
  minFromRange: function () {
2712
3995
  return this.max - this.range;
2713
3996
  },
@@ -2717,6 +4000,11 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2717
4000
  * to the nearest tick.
2718
4001
  *
2719
4002
  * @private
4003
+ * @function Highcharts.Axis#setTickInterval
4004
+ *
4005
+ * @param {boolean} secondPass
4006
+ *
4007
+ * @fires Highcharts.Axis#event:foundExtremes
2720
4008
  */
2721
4009
  setTickInterval: function (secondPass) {
2722
4010
  var axis = this,
@@ -2987,6 +4275,10 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2987
4275
 
2988
4276
  /**
2989
4277
  * Now we have computed the normalized tickInterval, get the tick positions
4278
+ *
4279
+ * @function Highcharts.Axis#setTickPositions
4280
+ *
4281
+ * @fires Highcharts.Axis#event:afterSetTickPositions
2990
4282
  */
2991
4283
  setTickPositions: function () {
2992
4284
 
@@ -3034,7 +4326,19 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3034
4326
  tickPositionsOption && tickPositionsOption.slice();
3035
4327
  if (!tickPositions) {
3036
4328
 
3037
- if (this.isDatetimeAxis) {
4329
+ // Too many ticks (#6405). Create a friendly warning and provide two
4330
+ // ticks so at least we can show the data series.
4331
+ if (
4332
+ !this.ordinalPositions &&
4333
+ (
4334
+ (this.max - this.min) / this.tickInterval >
4335
+ Math.max(2 * this.len, 200)
4336
+ )
4337
+ ) {
4338
+ tickPositions = [this.min, this.max];
4339
+ H.error(19);
4340
+
4341
+ } else if (this.isDatetimeAxis) {
3038
4342
  tickPositions = this.getTimeTicks(
3039
4343
  this.normalizeTimeTickInterval(
3040
4344
  this.tickInterval,
@@ -3110,6 +4414,13 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3110
4414
  * rounded min/max. Also handle single data points.
3111
4415
  *
3112
4416
  * @private
4417
+ * @function Highcharts.Axis#trimTicks
4418
+ *
4419
+ * @param {Array<number>} tickPositions
4420
+ *
4421
+ * @param {boolean} startOnTicl
4422
+ *
4423
+ * @param {boolean} endOnTick
3113
4424
  */
3114
4425
  trimTicks: function (tickPositions, startOnTick, endOnTick) {
3115
4426
  var roundedMin = tickPositions[0],
@@ -3149,7 +4460,9 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3149
4460
  * Check if there are multiple axes in the same pane.
3150
4461
  *
3151
4462
  * @private
3152
- * @return {Boolean}
4463
+ * @function Highcharts.Axis#alignToOthers
4464
+ *
4465
+ * @return {boolean}
3153
4466
  * True if there are other axes.
3154
4467
  */
3155
4468
  alignToOthers: function () {
@@ -3198,6 +4511,7 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3198
4511
  * in `this.tickAmount`.
3199
4512
  *
3200
4513
  * @private
4514
+ * @function Highcharts.Axis#getTickAmount
3201
4515
  */
3202
4516
  getTickAmount: function () {
3203
4517
  var options = this.options,
@@ -3237,6 +4551,7 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3237
4551
  * number of ticks in that group.
3238
4552
  *
3239
4553
  * @private
4554
+ * @function Highcharts.Axis#adjustTickAmount
3240
4555
  */
3241
4556
  adjustTickAmount: function () {
3242
4557
  var tickInterval = this.tickInterval,
@@ -3302,6 +4617,9 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3302
4617
  * Set the scale based on data min and max, user set min and max or options.
3303
4618
  *
3304
4619
  * @private
4620
+ * @function Highcharts.Axis#setScale
4621
+ *
4622
+ * @fires Highcharts.Axis#event:afterSetScale
3305
4623
  */
3306
4624
  setScale: function () {
3307
4625
  var axis = this,
@@ -3379,18 +4697,6 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3379
4697
  * will not allow a range lower than the `minRange` option, which by default
3380
4698
  * is the range of five points.
3381
4699
  *
3382
- * @param {Number} [newMin]
3383
- * The new minimum value.
3384
- * @param {Number} [newMax]
3385
- * The new maximum value.
3386
- * @param {Boolean} [redraw=true]
3387
- * Whether to redraw the chart or wait for an explicit call to
3388
- * {@link Highcharts.Chart#redraw}
3389
- * @param {AnimationOptions} [animation=true]
3390
- * Enable or modify animations.
3391
- * @param {Object} [eventArguments]
3392
- * Arguments to be accessed in event handler.
3393
- *
3394
4700
  * @sample highcharts/members/axis-setextremes/
3395
4701
  * Set extremes from a button
3396
4702
  * @sample highcharts/members/axis-setextremes-datetime/
@@ -3401,6 +4707,26 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3401
4707
  * Set extremes in Highstock
3402
4708
  * @sample maps/members/axis-setextremes/
3403
4709
  * Set extremes in Highmaps
4710
+ *
4711
+ * @function Highcharts.Axis#setExtremes
4712
+ *
4713
+ * @param {number} [newMin]
4714
+ * The new minimum value.
4715
+ *
4716
+ * @param {number} [newMax]
4717
+ * The new maximum value.
4718
+ *
4719
+ * @param {boolean} [redraw=true]
4720
+ * Whether to redraw the chart or wait for an explicit call to
4721
+ * {@link Highcharts.Chart#redraw}
4722
+ *
4723
+ * @param {boolean|Highcharts.AnimationOptionsObject} [animation=true]
4724
+ * Enable or modify animations.
4725
+ *
4726
+ * @param {*} [eventArguments]
4727
+ * Arguments to be accessed in event handler.
4728
+ *
4729
+ * @fires Highcharts.Axis#event:setExtremes
3404
4730
  */
3405
4731
  setExtremes: function (newMin, newMax, redraw, animation, eventArguments) {
3406
4732
  var axis = this,
@@ -3436,6 +4762,13 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3436
4762
  * allow overriding in stock charts.
3437
4763
  *
3438
4764
  * @private
4765
+ * @function Highcharts.Axis#zoom
4766
+ *
4767
+ * @param {number} newMin
4768
+ *
4769
+ * @param {number} newMax
4770
+ *
4771
+ * @return {boolean}
3439
4772
  */
3440
4773
  zoom: function (newMin, newMax) {
3441
4774
  var dataMin = this.dataMin,
@@ -3489,6 +4822,7 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3489
4822
  * Update the axis metrics.
3490
4823
  *
3491
4824
  * @private
4825
+ * @function Highcharts.Axis#setAxisSize
3492
4826
  */
3493
4827
  setAxisSize: function () {
3494
4828
  var chart = this.chart,
@@ -3533,35 +4867,18 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3533
4867
  this.pos = horiz ? left : top; // distance from SVG origin
3534
4868
  },
3535
4869
 
3536
- /**
3537
- * The returned object literal from the {@link Highcharts.Axis#getExtremes}
3538
- * function.
3539
- *
3540
- * @typedef {Object} Extremes
3541
- * @property {Number} dataMax
3542
- * The maximum value of the axis' associated series.
3543
- * @property {Number} dataMin
3544
- * The minimum value of the axis' associated series.
3545
- * @property {Number} max
3546
- * The maximum axis value, either automatic or set manually. If
3547
- * the `max` option is not set, `maxPadding` is 0 and `endOnTick`
3548
- * is false, this value will be the same as `dataMax`.
3549
- * @property {Number} min
3550
- * The minimum axis value, either automatic or set manually. If
3551
- * the `min` option is not set, `minPadding` is 0 and
3552
- * `startOnTick` is false, this value will be the same
3553
- * as `dataMin`.
3554
- */
3555
4870
  /**
3556
4871
  * Get the current extremes for the axis.
3557
4872
  *
3558
- * @returns {Extremes}
3559
- * An object containing extremes information.
4873
+ * @sample highcharts/members/axis-getextremes/
4874
+ * Report extremes by click on a button
4875
+ * @sample maps/members/axis-getextremes/
4876
+ * Get extremes in Highmaps
4877
+ *
4878
+ * @function Highcharts.Axis#getExtremes
3560
4879
  *
3561
- * @sample highcharts/members/axis-getextremes/
3562
- * Report extremes by click on a button
3563
- * @sample maps/members/axis-getextremes/
3564
- * Get extremes in Highmaps
4880
+ * @returns {Highcharts.ExtremesObject}
4881
+ * An object containing extremes information.
3565
4882
  */
3566
4883
  getExtremes: function () {
3567
4884
  var axis = this,
@@ -3581,10 +4898,12 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3581
4898
  * Get the zero plane either based on zero or on the min or max value.
3582
4899
  * Used in bar and area plots.
3583
4900
  *
3584
- * @param {Number} threshold
3585
- * The threshold in axis values.
4901
+ * @function Highcharts.Axis#getThreshold
4902
+ *
4903
+ * @param {number} threshold
4904
+ * The threshold in axis values.
3586
4905
  *
3587
- * @return {Number}
4906
+ * @return {number}
3588
4907
  * The translated threshold position in terms of pixels, and
3589
4908
  * corrected to stay within the axis bounds.
3590
4909
  */
@@ -3611,10 +4930,15 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3611
4930
  * Compute auto alignment for the axis label based on which side the axis is
3612
4931
  * on and the given rotation for the label.
3613
4932
  *
3614
- * @param {Number} rotation
3615
- * The rotation in degrees as set by either the `rotation` or
3616
- * `autoRotation` options.
3617
4933
  * @private
4934
+ * @function Highcharts.Axis#autoLabelAlign
4935
+ *
4936
+ * @param {number} rotation
4937
+ * The rotation in degrees as set by either the `rotation` or
4938
+ * `autoRotation` options.
4939
+ *
4940
+ * @return {string}
4941
+ * Can be `center`, `left` or `right`.
3618
4942
  */
3619
4943
  autoLabelAlign: function (rotation) {
3620
4944
  var ret,
@@ -3634,10 +4958,12 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3634
4958
  * Get the tick length and width for the axis based on axis options.
3635
4959
  *
3636
4960
  * @private
4961
+ * @function Highcharts.Axis#tickSize
3637
4962
  *
3638
- * @param {String} prefix
3639
- * 'tick' or 'minorTick'
3640
- * @return {Array<Number>}
4963
+ * @param {string} prefix
4964
+ * 'tick' or 'minorTick'
4965
+ *
4966
+ * @return {Array<number>}
3641
4967
  * An array of tickLength and tickWidth
3642
4968
  */
3643
4969
  tickSize: function (prefix) {
@@ -3662,6 +4988,9 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3662
4988
  * Return the size of the labels.
3663
4989
  *
3664
4990
  * @private
4991
+ * @function Highcharts.Axis#labelMetrics
4992
+ *
4993
+ * @return {Highcharts.FontMetricsObject}
3665
4994
  */
3666
4995
  labelMetrics: function () {
3667
4996
  var index = this.tickPositions && this.tickPositions[0] || 0;
@@ -3677,6 +5006,9 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3677
5006
  * and adding ellipsis. On a vertical axis remove ticks and add ellipsis.
3678
5007
  *
3679
5008
  * @private
5009
+ * @function Highcharts.Axis#unsquish
5010
+ *
5011
+ * @return {number}
3680
5012
  */
3681
5013
  unsquish: function () {
3682
5014
  var labelOptions = this.options.labels,
@@ -3755,15 +5087,17 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3755
5087
  * rendering and placement.
3756
5088
  *
3757
5089
  * @private
5090
+ * @function Highcharts.Axis#getSlotWidth
3758
5091
  *
3759
- * @param {Object} tick Optionally, calculate the slot width basing on
3760
- * tick label. It is used in highcharts-3d module, where the slots has
3761
- * different widths depending on perspective angles.
5092
+ * @param {*} [tick]
5093
+ * Optionally, calculate the slot width basing on tick label. It is
5094
+ * used in highcharts-3d module, where the slots has different widths
5095
+ * depending on perspective angles.
3762
5096
  *
3763
- * @return {Number}
5097
+ * @return {number}
3764
5098
  * The pixel width allocated to each axis label.
3765
5099
  */
3766
- getSlotWidth: function () {
5100
+ getSlotWidth: function (tick) {
3767
5101
  // #5086, #1580, #1931
3768
5102
  var chart = this.chart,
3769
5103
  horiz = this.horiz,
@@ -3775,6 +5109,9 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3775
5109
  marginLeft = chart.margin[3];
3776
5110
 
3777
5111
  return (
5112
+ tick &&
5113
+ tick.slotWidth // Used by grid axis
5114
+ ) || (
3778
5115
  horiz &&
3779
5116
  (labelOptions.step || 0) < 2 &&
3780
5117
  !labelOptions.rotation && // #4415
@@ -3801,6 +5138,7 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3801
5138
  * to be applied.
3802
5139
  *
3803
5140
  * @private
5141
+ * @function Highcharts.Axis#renderUnsquish
3804
5142
  */
3805
5143
  renderUnsquish: function () {
3806
5144
  var chart = this.chart,
@@ -3907,7 +5245,7 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3907
5245
  commonWidth = (
3908
5246
  maxLabelLength > chart.chartHeight * 0.5 ?
3909
5247
  chart.chartHeight * 0.33 :
3910
- chart.chartHeight
5248
+ maxLabelLength
3911
5249
  );
3912
5250
  if (!textOverflowOption) {
3913
5251
  commonTextOverflow = 'ellipsis';
@@ -3927,11 +5265,14 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3927
5265
  label = tick && tick.label,
3928
5266
  widthOption = labelStyleOptions.width,
3929
5267
  css = {};
5268
+
3930
5269
  if (label) {
3931
5270
  // This needs to go before the CSS in old IE (#4502)
3932
5271
  label.attr(attr);
3933
5272
 
3934
- if (
5273
+ if (tick.shortenLabel) {
5274
+ tick.shortenLabel();
5275
+ } else if (
3935
5276
  commonWidth &&
3936
5277
  !widthOption &&
3937
5278
  // Setting width in this case messes with the bounding box
@@ -3966,7 +5307,7 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3966
5307
  delete label.specificTextOverflow;
3967
5308
  tick.rotation = attr.rotation;
3968
5309
  }
3969
- });
5310
+ }, this);
3970
5311
 
3971
5312
  // Note: Why is this not part of getLabelPosition?
3972
5313
  this.tickRotCorr = renderer.rotCorr(
@@ -3979,7 +5320,9 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3979
5320
  /**
3980
5321
  * Return true if the axis has associated data.
3981
5322
  *
3982
- * @return {Boolean}
5323
+ * @function Highcharts.Axis#hasData
5324
+ *
5325
+ * @return {boolean}
3983
5326
  * True if the axis has associated visible series and those series
3984
5327
  * have either valid data points or explicit `min` and `max`
3985
5328
  * settings.
@@ -3998,7 +5341,11 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3998
5341
 
3999
5342
  /**
4000
5343
  * Adds the title defined in axis.options.title.
4001
- * @param {Boolean} display - whether or not to display the title
5344
+ *
5345
+ * @function Highcharts.Axis#addTitle
5346
+ *
5347
+ * @param {boolean} display
5348
+ * Whether or not to display the title.
4002
5349
  */
4003
5350
  addTitle: function (display) {
4004
5351
  var axis = this,
@@ -4054,8 +5401,11 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4054
5401
  * Generates a tick for initial positioning.
4055
5402
  *
4056
5403
  * @private
5404
+ * @function Highcharts.Axis#generateTick
5405
+ *
4057
5406
  * @param {number} pos
4058
5407
  * The tick position in axis values.
5408
+ *
4059
5409
  * @param {number} i
4060
5410
  * The index of the tick in {@link Axis.tickPositions}.
4061
5411
  */
@@ -4070,9 +5420,13 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4070
5420
  },
4071
5421
 
4072
5422
  /**
4073
- * Render the tick labels to a preliminary position to get their sizes.
5423
+ /**
5424
+ * Render the tick labels to a preliminary position to get their sizes
4074
5425
  *
4075
5426
  * @private
5427
+ * @function Highcharts.Axis#getOffset
5428
+ *
5429
+ * @fires Highcharts.Axis#event:afterGetOffset
4076
5430
  */
4077
5431
  getOffset: function () {
4078
5432
  var axis = this,
@@ -4101,7 +5455,7 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4101
5455
  className = options.className,
4102
5456
  axisParent = axis.axisParent, // Used in color axis
4103
5457
  lineHeightCorrection,
4104
- tickSize = this.tickSize('tick');
5458
+ tickSize;
4105
5459
 
4106
5460
  // For reuse in Axis.render
4107
5461
  hasData = axis.hasData();
@@ -4227,6 +5581,17 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4227
5581
 
4228
5582
  axis.axisTitleMargin = pick(titleOffsetOption, labelOffsetPadded);
4229
5583
 
5584
+ if (axis.getMaxLabelDimensions) {
5585
+ axis.maxLabelDimensions = axis.getMaxLabelDimensions(
5586
+ ticks,
5587
+ tickPositions
5588
+ );
5589
+ }
5590
+
5591
+ // Due to GridAxis.tickSize, tickSize should be calculated after ticks
5592
+ // has rendered.
5593
+ tickSize = this.tickSize('tick');
5594
+
4230
5595
  axisOffset[side] = Math.max(
4231
5596
  axisOffset[side],
4232
5597
  axis.axisTitleMargin + titleOffset + directionFactor * axis.offset,
@@ -4242,15 +5607,20 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4242
5607
  0 :
4243
5608
  Math.floor(axis.axisLine.strokeWidth() / 2) * 2; // #4308, #4371
4244
5609
  clipOffset[invertedSide] = Math.max(clipOffset[invertedSide], clip);
5610
+
5611
+ fireEvent(this, 'afterGetOffset');
4245
5612
  },
4246
5613
 
4247
5614
  /**
4248
5615
  * Internal function to get the path for the axis line. Extended for polar
4249
5616
  * charts.
4250
5617
  *
4251
- * @param {Number} lineWidth
4252
- * The line width in pixels.
4253
- * @return {Array}
5618
+ * @function Highcharts.Axis#getLinePath
5619
+ *
5620
+ * @param {number} lineWidth
5621
+ * The line width in pixels.
5622
+ *
5623
+ * @return {Highcharts.SVGPathArray}
4254
5624
  * The SVG path definition in array form.
4255
5625
  */
4256
5626
  getLinePath: function (lineWidth) {
@@ -4288,6 +5658,8 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4288
5658
  /**
4289
5659
  * Render the axis line. Called internally when rendering and redrawing the
4290
5660
  * axis.
5661
+ *
5662
+ * @function Highcharts.Axis#renderLine
4291
5663
  */
4292
5664
  renderLine: function () {
4293
5665
  if (!this.axisLine) {
@@ -4303,8 +5675,9 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4303
5675
  * Position the axis title.
4304
5676
  *
4305
5677
  * @private
5678
+ * @function Highcharts.Axis#getTitlePosition
4306
5679
  *
4307
- * @return {Object}
5680
+ * @return {Highcharts.AxisTitlePositionObject}
4308
5681
  * X and Y positions for the title.
4309
5682
  */
4310
5683
  getTitlePosition: function () {
@@ -4366,8 +5739,10 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4366
5739
  * Render a minor tick into the given position. If a minor tick already
4367
5740
  * exists in this position, move it.
4368
5741
  *
4369
- * @param {number} pos
4370
- * The position in axis values.
5742
+ * @function Highcharts.Axis#renderMinorTick
5743
+ *
5744
+ * @param {number} pos
5745
+ * The position in axis values.
4371
5746
  */
4372
5747
  renderMinorTick: function (pos) {
4373
5748
  var slideInTicks = this.chart.hasRendered && isNumber(this.oldMin),
@@ -4389,10 +5764,13 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4389
5764
  * Render a major tick into the given position. If a tick already exists
4390
5765
  * in this position, move it.
4391
5766
  *
4392
- * @param {number} pos
4393
- * The position in axis values.
4394
- * @param {number} i
4395
- * The tick index.
5767
+ * @function Highcharts.Axis#renderTick
5768
+ *
5769
+ * @param {number} pos
5770
+ * The position in axis values.
5771
+ *
5772
+ * @param {number} i
5773
+ * The tick index.
4396
5774
  */
4397
5775
  renderTick: function (pos, i) {
4398
5776
  var isLinked = this.isLinked,
@@ -4405,10 +5783,13 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4405
5783
  if (!ticks[pos]) {
4406
5784
  ticks[pos] = new Tick(this, pos);
4407
5785
  }
4408
-
5786
+ // NOTE this seems like overkill. Could be handled in tick.render by
5787
+ // setting old position in attr, then set new position in animate.
4409
5788
  // render new ticks in old position
4410
5789
  if (slideInTicks && ticks[pos].isNew) {
4411
- ticks[pos].render(i, true, 0.1);
5790
+ // Start with negative opacity so that it is visible from
5791
+ // halfway into the animation
5792
+ ticks[pos].render(i, true, -1);
4412
5793
  }
4413
5794
 
4414
5795
  ticks[pos].render(i);
@@ -4419,6 +5800,9 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4419
5800
  * Render the axis.
4420
5801
  *
4421
5802
  * @private
5803
+ * @function Highcharts.Axis#render
5804
+ *
5805
+ * @fires Highcharts.Axis#event:afterRender
4422
5806
  */
4423
5807
  render: function () {
4424
5808
  var axis = this,
@@ -4604,6 +5988,7 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4604
5988
  * internally from {@link Chart#redraw}.
4605
5989
  *
4606
5990
  * @private
5991
+ * @function Highcharts.Axis#redraw
4607
5992
  */
4608
5993
  redraw: function () {
4609
5994
 
@@ -4633,8 +6018,10 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4633
6018
  * to fully remove the axis.
4634
6019
  *
4635
6020
  * @private
4636
- * @param {Boolean} keepEvents
4637
- * Whether to preserve events, used internally in Axis.update.
6021
+ * @function Highcharts.Axis#destroy
6022
+ *
6023
+ * @param {boolean} keepEvents
6024
+ * Whether to preserve events, used internally in Axis.update.
4638
6025
  */
4639
6026
  destroy: function (keepEvents) {
4640
6027
  var axis = this,
@@ -4671,10 +6058,10 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4671
6058
  }
4672
6059
  }
4673
6060
 
4674
- // Destroy local variables
6061
+ // Destroy elements
4675
6062
  each(
4676
6063
  ['stackTotalGroup', 'axisLine', 'axisTitle', 'axisGroup',
4677
- 'gridGroup', 'labelGroup', 'cross'],
6064
+ 'gridGroup', 'labelGroup', 'cross', 'scrollbar'],
4678
6065
  function (prop) {
4679
6066
  if (axis[prop]) {
4680
6067
  axis[prop] = axis[prop].destroy();
@@ -4699,11 +6086,17 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4699
6086
  /**
4700
6087
  * Internal function to draw a crosshair.
4701
6088
  *
4702
- * @param {PointerEvent} [e]
4703
- * The event arguments from the modified pointer event, extended
4704
- * with `chartX` and `chartY`
4705
- * @param {Point} [point]
4706
- * The Point object if the crosshair snaps to points.
6089
+ * @function Highcharts.Axis#drawCrosshair
6090
+ *
6091
+ * @param {Highcharts.PointerEventObject} [e]
6092
+ * The event arguments from the modified pointer event, extended with
6093
+ * `chartX` and `chartY`
6094
+ *
6095
+ * @param {Highcharts.Point} [point]
6096
+ * The Point object if the crosshair snaps to points.
6097
+ *
6098
+ * @fires Highcharts.Axis#event:afterDrawCrosshair
6099
+ * @fires Highcharts.Axis#event:drawCrosshair
4707
6100
  */
4708
6101
  drawCrosshair: function (e, point) {
4709
6102
 
@@ -4802,7 +6195,9 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4802
6195
  },
4803
6196
 
4804
6197
  /**
4805
- * Hide the crosshair if visible.
6198
+ * Hide the crosshair if visible.
6199
+ *
6200
+ * @function Highcharts.Axis#hideCrosshair
4806
6201
  */
4807
6202
  hideCrosshair: function () {
4808
6203
  if (this.cross) {