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,38 +1011,55 @@ 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
 
@@ -807,34 +1073,28 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
807
1073
  * In styled mode, the labels are styled with the
808
1074
  * `.highcharts-axis-labels` class.
809
1075
  *
810
- * @type {CSSObject}
811
1076
  * @sample {highcharts} highcharts/xaxis/labels-style/
812
1077
  * Red X axis labels
1078
+ *
1079
+ * @type {Highcharts.CSSObject}
1080
+ * @default {"color": "#666666", "cursor": "default", "fontSize": "11px"}
813
1081
  */
814
1082
  style: {
1083
+ /**
1084
+ * @ignore
1085
+ */
815
1086
  color: '#666666',
1087
+ /**
1088
+ * @ignore
1089
+ */
816
1090
  cursor: 'default',
1091
+ /**
1092
+ * @ignore
1093
+ */
817
1094
  fontSize: '11px'
818
- },
819
-
820
-
821
- /**
822
- * Whether to [use HTML](http://www.highcharts.com/docs/chart-
823
- * concepts/labels-and-string-formatting#html) to render the labels.
824
- *
825
- * @type {Boolean}
826
- * @default false
827
- * @apioption xAxis.labels.useHTML
828
- */
1095
+ }
829
1096
 
830
- /**
831
- * The x position offset of the label relative to the tick position
832
- * on the axis.
833
- *
834
- * @sample {highcharts} highcharts/xaxis/labels-x/
835
- * Y axis labels placed on grid lines
836
- */
837
- x: 0
1097
+
838
1098
  },
839
1099
 
840
1100
  /**
@@ -844,14 +1104,14 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
844
1104
  * It can be used to show additional info, or to ease reading the
845
1105
  * chart by duplicating the scales.
846
1106
  *
847
- * @type {Number}
848
- * @sample {highcharts} highcharts/xaxis/linkedto/
849
- * Different string formats of the same date
850
- * @sample {highcharts} highcharts/yaxis/linkedto/
851
- * Y values on both sides
852
- * @default null
1107
+ * @sample {highcharts} highcharts/xaxis/linkedto/
1108
+ * Different string formats of the same date
1109
+ * @sample {highcharts} highcharts/yaxis/linkedto/
1110
+ * Y values on both sides
1111
+ *
1112
+ * @type {number}
853
1113
  * @since 2.0.2
854
- * @product highcharts highstock
1114
+ * @product highcharts highstock gantt
855
1115
  * @apioption xAxis.linkedTo
856
1116
  */
857
1117
 
@@ -859,44 +1119,25 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
859
1119
  * The maximum value of the axis. If `null`, the max value is
860
1120
  * automatically calculated.
861
1121
  *
862
- * If the `endOnTick` option is true, the `max` value might
863
- * be rounded up.
1122
+ * If the [endOnTick](#yAxis.endOnTick) option is true, the `max` value
1123
+ * might be rounded up.
864
1124
  *
865
1125
  * If a [tickAmount](#yAxis.tickAmount) is set, the axis may be extended
866
1126
  * beyond the set max in order to reach the given number of ticks. The
867
1127
  * same may happen in a chart with multiple axes, determined by [chart.
868
1128
  * alignTicks](#chart), where a `tickAmount` is applied internally.
869
1129
  *
870
- * @type {Number}
871
- * @sample {highcharts} highcharts/yaxis/max-200/
872
- * Y axis max of 200
873
- * @sample {highcharts} highcharts/yaxis/max-logarithmic/
874
- * Y axis max on logarithmic axis
875
- * @sample {highstock} stock/xaxis/min-max/
876
- * Fixed min and max on X axis
877
- * @sample {highmaps} maps/axis/min-max/
878
- * Pre-zoomed to a specific area
879
- * @apioption xAxis.max
880
- */
881
-
882
- /**
883
- * When using multiple axis, the ticks of two or more opposite axes
884
- * will automatically be aligned by adding ticks to the axis or axes
885
- * with the least ticks, as if `tickAmount` were specified.
886
- *
887
- * This can be prevented by setting `alignTicks` to false. If the grid
888
- * lines look messy, it's a good idea to hide them for the secondary
889
- * axis by setting `gridLineWidth` to 0.
890
- *
891
- * If `startOnTick` or `endOnTick` in an Axis options are set to false,
892
- * then the `alignTicks ` will be disabled for the Axis.
893
- *
894
- * Disabled for logarithmic axes.
1130
+ * @sample {highcharts} highcharts/yaxis/max-200/
1131
+ * Y axis max of 200
1132
+ * @sample {highcharts} highcharts/yaxis/max-logarithmic/
1133
+ * Y axis max on logarithmic axis
1134
+ * @sample {highstock} stock/xaxis/min-max/
1135
+ * Fixed min and max on X axis
1136
+ * @sample {highmaps} maps/axis/min-max/
1137
+ * Pre-zoomed to a specific area
895
1138
  *
896
- * @type {Boolean}
897
- * @default true
898
- * @product highcharts highstock
899
- * @apioption xAxis.alignTicks
1139
+ * @type {number}
1140
+ * @apioption xAxis.max
900
1141
  */
901
1142
 
902
1143
  /**
@@ -906,15 +1147,16 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
906
1147
  * of the plot area. When the axis' `max` option is set or a max extreme
907
1148
  * is set using `axis.setExtremes()`, the maxPadding will be ignored.
908
1149
  *
909
- * @sample {highcharts} highcharts/yaxis/maxpadding/
910
- * Max padding of 0.25 on y axis
911
- * @sample {highstock} stock/xaxis/minpadding-maxpadding/
912
- * Greater min- and maxPadding
913
- * @sample {highmaps} maps/chart/plotbackgroundcolor-gradient/
914
- * Add some padding
915
- * @default {highcharts} 0.01
916
- * @default {highstock|highmaps} 0
917
- * @since 1.2.0
1150
+ * @sample {highcharts} highcharts/yaxis/maxpadding/
1151
+ * Max padding of 0.25 on y axis
1152
+ * @sample {highstock} stock/xaxis/minpadding-maxpadding/
1153
+ * Greater min- and maxPadding
1154
+ * @sample {highmaps} maps/chart/plotbackgroundcolor-gradient/
1155
+ * Add some padding
1156
+ *
1157
+ * @default {highcharts} 0.01
1158
+ * @default {highstock|highmaps} 0
1159
+ * @since 1.2.0
918
1160
  */
919
1161
  maxPadding: 0.01,
920
1162
 
@@ -922,17 +1164,17 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
922
1164
  * Deprecated. Use `minRange` instead.
923
1165
  *
924
1166
  * @deprecated
925
- * @type {Number}
926
- * @product highcharts highstock
927
- * @apioption xAxis.maxZoom
1167
+ * @type {number}
1168
+ * @product highcharts highstock
1169
+ * @apioption xAxis.maxZoom
928
1170
  */
929
1171
 
930
1172
  /**
931
1173
  * The minimum value of the axis. If `null` the min value is
932
1174
  * automatically calculated.
933
1175
  *
934
- * If the `startOnTick` option is true (default), the `min` value might
935
- * be rounded down.
1176
+ * If the [startOnTick](#yAxis.startOnTick) option is true (default),
1177
+ * the `min` value might be rounded down.
936
1178
  *
937
1179
  * The automatically calculated minimum value is also affected by
938
1180
  * [floor](#yAxis.floor), [softMin](#yAxis.softMin),
@@ -940,64 +1182,67 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
940
1182
  * as well as [series.threshold](#plotOptions.series.threshold)
941
1183
  * and [series.softThreshold](#plotOptions.series.softThreshold).
942
1184
  *
943
- * @type {Number}
944
- * @sample {highcharts} highcharts/yaxis/min-startontick-false/
945
- * -50 with startOnTick to false
946
- * @sample {highcharts} highcharts/yaxis/min-startontick-true/
947
- * -50 with startOnTick true by default
948
- * @sample {highstock} stock/xaxis/min-max/
949
- * Set min and max on X axis
950
- * @sample {highmaps} maps/axis/min-max/
951
- * Pre-zoomed to a specific area
1185
+ * @sample {highcharts} highcharts/yaxis/min-startontick-false/
1186
+ * -50 with startOnTick to false
1187
+ * @sample {highcharts} highcharts/yaxis/min-startontick-true/
1188
+ * -50 with startOnTick true by default
1189
+ * @sample {highstock} stock/xaxis/min-max/
1190
+ * Set min and max on X axis
1191
+ * @sample {highmaps} maps/axis/min-max/
1192
+ * Pre-zoomed to a specific area
1193
+ *
1194
+ * @type {number}
952
1195
  * @apioption xAxis.min
953
1196
  */
954
1197
 
955
1198
  /**
956
1199
  * The dash or dot style of the minor grid lines. For possible values,
957
- * see [this demonstration](http://jsfiddle.net/gh/get/library/pure/
1200
+ * see [this demonstration](https://jsfiddle.net/gh/get/library/pure/
958
1201
  * highcharts/highcharts/tree/master/samples/highcharts/plotoptions/
959
1202
  * series-dashstyle-all/).
960
1203
  *
961
- * @validvalue ["Solid", "ShortDash", "ShortDot", "ShortDashDot",
962
- * "ShortDashDotDot", "Dot", "Dash" ,"LongDash",
963
- * "DashDot", "LongDashDot", "LongDashDotDot"]
964
- * @type {String}
965
- * @sample {highcharts} highcharts/yaxis/minorgridlinedashstyle/
966
- * Long dashes on minor grid lines
967
- * @sample {highstock} stock/xaxis/minorgridlinedashstyle/
968
- * Long dashes on minor grid lines
1204
+ * @sample {highcharts} highcharts/yaxis/minorgridlinedashstyle/
1205
+ * Long dashes on minor grid lines
1206
+ * @sample {highstock} stock/xaxis/minorgridlinedashstyle/
1207
+ * Long dashes on minor grid lines
1208
+ *
1209
+ * @type {string}
969
1210
  * @default Solid
970
1211
  * @since 1.2
1212
+ * @validvalue ["Solid", "ShortDash", "ShortDot", "ShortDashDot",
1213
+ * "ShortDashDotDot", "Dot", "Dash" ,"LongDash",
1214
+ * "DashDot", "LongDashDot", "LongDashDotDot"]
971
1215
  * @apioption xAxis.minorGridLineDashStyle
972
1216
  */
973
1217
 
974
1218
  /**
975
- * Specific tick interval in axis units for the minor ticks.
976
- * On a linear axis, if `"auto"`, the minor tick interval is
977
- * calculated as a fifth of the tickInterval. If `null`, minor
978
- * ticks are not shown.
1219
+ * Specific tick interval in axis units for the minor ticks. On a linear
1220
+ * axis, if `"auto"`, the minor tick interval is calculated as a fifth
1221
+ * of the tickInterval. If `null` or `undefined`, minor ticks are not
1222
+ * shown.
979
1223
  *
980
1224
  * On logarithmic axes, the unit is the power of the value. For example,
981
- * setting the minorTickInterval to 1 puts one tick on each of 0.1,
982
- * 1, 10, 100 etc. Setting the minorTickInterval to 0.1 produces 9
983
- * ticks between 1 and 10, 10 and 100 etc.
1225
+ * setting the minorTickInterval to 1 puts one tick on each of 0.1, 1,
1226
+ * 10, 100 etc. Setting the minorTickInterval to 0.1 produces 9 ticks
1227
+ * between 1 and 10, 10 and 100 etc.
984
1228
  *
985
1229
  * If user settings dictate minor ticks to become too dense, they don't
986
1230
  * make sense, and will be ignored to prevent performance problems.
987
1231
  *
988
- * @type {Number|String}
989
- * @sample {highcharts} highcharts/yaxis/minortickinterval-null/
990
- * Null by default
991
- * @sample {highcharts} highcharts/yaxis/minortickinterval-5/
992
- * 5 units
993
- * @sample {highcharts} highcharts/yaxis/minortickinterval-log-auto/
994
- * "auto"
995
- * @sample {highcharts} highcharts/yaxis/minortickinterval-log/
996
- * 0.1
997
- * @sample {highstock} stock/demo/basic-line/
998
- * Null by default
999
- * @sample {highstock} stock/xaxis/minortickinterval-auto/
1000
- * "auto"
1232
+ * @sample {highcharts} highcharts/yaxis/minortickinterval-null/
1233
+ * Null by default
1234
+ * @sample {highcharts} highcharts/yaxis/minortickinterval-5/
1235
+ * 5 units
1236
+ * @sample {highcharts} highcharts/yaxis/minortickinterval-log-auto/
1237
+ * "auto"
1238
+ * @sample {highcharts} highcharts/yaxis/minortickinterval-log/
1239
+ * 0.1
1240
+ * @sample {highstock} stock/demo/basic-line/
1241
+ * Null by default
1242
+ * @sample {highstock} stock/xaxis/minortickinterval-auto/
1243
+ * "auto"
1244
+ *
1245
+ * @type {number|string|null}
1001
1246
  * @apioption xAxis.minorTickInterval
1002
1247
  */
1003
1248
 
@@ -1015,13 +1260,14 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1015
1260
  * The position of the minor tick marks relative to the axis line.
1016
1261
  * Can be one of `inside` and `outside`.
1017
1262
  *
1263
+ * @sample {highcharts} highcharts/yaxis/minortickposition-outside/
1264
+ * Outside by default
1265
+ * @sample {highcharts} highcharts/yaxis/minortickposition-inside/
1266
+ * Inside
1267
+ * @sample {highstock} stock/xaxis/minorticks/
1268
+ * Inside
1269
+ *
1018
1270
  * @validvalue ["inside", "outside"]
1019
- * @sample {highcharts} highcharts/yaxis/minortickposition-outside/
1020
- * Outside by default
1021
- * @sample {highcharts} highcharts/yaxis/minortickposition-inside/
1022
- * Inside
1023
- * @sample {highstock} stock/xaxis/minorticks/
1024
- * Inside
1025
1271
  */
1026
1272
  minorTickPosition: 'outside',
1027
1273
 
@@ -1041,22 +1287,24 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1041
1287
  * On axes using [categories](#xAxis.categories), minor ticks are not
1042
1288
  * supported.
1043
1289
  *
1044
- * @type {Boolean}
1290
+ * @sample {highcharts} highcharts/yaxis/minorticks-true/
1291
+ * Enabled on linear Y axis
1292
+ *
1293
+ * @type {boolean}
1045
1294
  * @default false
1046
1295
  * @since 6.0.0
1047
- * @sample {highcharts} highcharts/yaxis/minorticks-true/
1048
- * Enabled on linear Y axis
1049
1296
  * @apioption xAxis.minorTicks
1050
1297
  */
1051
1298
 
1052
1299
  /**
1053
1300
  * The pixel width of the minor tick mark.
1054
1301
  *
1055
- * @type {Number}
1056
- * @sample {highcharts} highcharts/yaxis/minortickwidth/
1057
- * 3px width
1058
- * @sample {highstock} stock/xaxis/minorticks/
1059
- * 1px width
1302
+ * @sample {highcharts} highcharts/yaxis/minortickwidth/
1303
+ * 3px width
1304
+ * @sample {highstock} stock/xaxis/minorticks/
1305
+ * 1px width
1306
+ *
1307
+ * @type {number}
1060
1308
  * @default 0
1061
1309
  * @apioption xAxis.minorTickWidth
1062
1310
  */
@@ -1068,15 +1316,17 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1068
1316
  * of the plot area. When the axis' `min` option is set or a min extreme
1069
1317
  * is set using `axis.setExtremes()`, the minPadding will be ignored.
1070
1318
  *
1071
- * @sample {highcharts} highcharts/yaxis/minpadding/
1072
- * Min padding of 0.2
1073
- * @sample {highstock} stock/xaxis/minpadding-maxpadding/
1074
- * Greater min- and maxPadding
1075
- * @sample {highmaps} maps/chart/plotbackgroundcolor-gradient/
1076
- * Add some padding
1077
- * @default {highcharts} 0.01
1078
- * @default {highstock|highmaps} 0
1079
- * @since 1.2.0
1319
+ * @sample {highcharts} highcharts/yaxis/minpadding/
1320
+ * Min padding of 0.2
1321
+ * @sample {highstock} stock/xaxis/minpadding-maxpadding/
1322
+ * Greater min- and maxPadding
1323
+ * @sample {highmaps} maps/chart/plotbackgroundcolor-gradient/
1324
+ * Add some padding
1325
+ *
1326
+ * @default {highcharts} 0.01
1327
+ * @default {highstock|highmaps} 0
1328
+ * @since 1.2.0
1329
+ * @product highcharts highstock gantt
1080
1330
  */
1081
1331
  minPadding: 0.01,
1082
1332
 
@@ -1097,13 +1347,14 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1097
1347
  * `endOnTick` settings also affect how the extremes of the axis
1098
1348
  * are computed.
1099
1349
  *
1100
- * @type {Number}
1101
- * @sample {highcharts} highcharts/xaxis/minrange/
1102
- * Minimum range of 5
1103
- * @sample {highstock} stock/xaxis/minrange/
1104
- * Max zoom of 6 months overrides user selections
1105
- * @sample {highmaps} maps/axis/minrange/
1106
- * Minimum range of 1000
1350
+ * @sample {highcharts} highcharts/xaxis/minrange/
1351
+ * Minimum range of 5
1352
+ * @sample {highstock} stock/xaxis/minrange/
1353
+ * Max zoom of 6 months overrides user selections
1354
+ * @sample {highmaps} maps/axis/minrange/
1355
+ * Minimum range of 1000
1356
+ *
1357
+ * @type {number}
1107
1358
  * @apioption xAxis.minRange
1108
1359
  */
1109
1360
 
@@ -1113,7 +1364,7 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1113
1364
  * the axis from showing hours. Defaults to the closest distance between
1114
1365
  * two points on the axis.
1115
1366
  *
1116
- * @type {Number}
1367
+ * @type {number}
1117
1368
  * @since 2.3.0
1118
1369
  * @apioption xAxis.minTickInterval
1119
1370
  */
@@ -1126,13 +1377,14 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1126
1377
  * axes the offset is dynamically adjusted to avoid collision, this
1127
1378
  * can be overridden by setting offset explicitly.
1128
1379
  *
1129
- * @type {Number}
1130
1380
  * @sample {highcharts} highcharts/yaxis/offset/
1131
1381
  * Y axis offset of 70
1132
1382
  * @sample {highcharts} highcharts/yaxis/offset-centered/
1133
1383
  * Axes positioned in the center of the plot
1134
1384
  * @sample {highstock} stock/xaxis/offset/
1135
1385
  * Y axis offset by 70 px
1386
+ *
1387
+ * @type {number}
1136
1388
  * @default 0
1137
1389
  * @apioption xAxis.offset
1138
1390
  */
@@ -1143,69 +1395,221 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1143
1395
  * horizontal, so the opposite sides will be right and top respectively.
1144
1396
  * This is typically used with dual or multiple axes.
1145
1397
  *
1146
- * @type {Boolean}
1147
- * @sample {highcharts} highcharts/yaxis/opposite/
1148
- * Secondary Y axis opposite
1149
- * @sample {highstock} stock/xaxis/opposite/
1150
- * Y axis on left side
1398
+ * @sample {highcharts} highcharts/yaxis/opposite/
1399
+ * Secondary Y axis opposite
1400
+ * @sample {highstock} stock/xaxis/opposite/
1401
+ * Y axis on left side
1402
+ *
1403
+ * @type {boolean}
1151
1404
  * @default false
1152
1405
  * @apioption xAxis.opposite
1153
1406
  */
1154
1407
 
1408
+ /**
1409
+ * In an ordinal axis, the points are equally spaced in the chart
1410
+ * regardless of the actual time or x distance between them. This means
1411
+ * that missing data periods (e.g. nights or weekends for a stock chart)
1412
+ * will not take up space in the chart.
1413
+ * Having `ordinal: false` will show any gaps created by the `gapSize`
1414
+ * setting proportionate to their duration.
1415
+ *
1416
+ * In stock charts the X axis is ordinal by default, unless
1417
+ * the boost module is used and at least one of the series' data length
1418
+ * exceeds the [boostThreshold](#series.line.boostThreshold).
1419
+ *
1420
+ * @sample {highstock} stock/xaxis/ordinal-true/
1421
+ * True by default
1422
+ * @sample {highstock} stock/xaxis/ordinal-false/
1423
+ * False
1424
+ *
1425
+ * @type {boolean}
1426
+ * @default true
1427
+ * @since 1.1
1428
+ * @product highstock
1429
+ * @apioption xAxis.ordinal
1430
+ */
1431
+
1432
+ /**
1433
+ * Additional range on the right side of the xAxis. Works similar to
1434
+ * `xAxis.maxPadding`, but value is set in milliseconds. Can be set for
1435
+ * both main `xAxis` and the navigator's `xAxis`.
1436
+ *
1437
+ * @sample {highstock} stock/xaxis/overscroll/
1438
+ * One minute overscroll with live data
1439
+ *
1440
+ * @type {number}
1441
+ * @default 0
1442
+ * @since 6.0.0
1443
+ * @product highstock
1444
+ * @apioption xAxis.overscroll
1445
+ */
1446
+
1155
1447
  /**
1156
1448
  * Refers to the index in the [panes](#panes) array. Used for circular
1157
1449
  * gauges and polar charts. When the option is not set then first pane
1158
1450
  * will be used.
1159
1451
  *
1160
- * @type {Number}
1161
- * @sample highcharts/demo/gauge-vu-meter
1162
- * Two gauges with different center
1452
+ * @sample highcharts/demo/gauge-vu-meter
1453
+ * Two gauges with different center
1454
+ *
1455
+ * @type {number}
1163
1456
  * @product highcharts
1164
1457
  * @apioption xAxis.pane
1165
1458
  */
1166
1459
 
1460
+
1461
+ /**
1462
+ * The zoomed range to display when only defining one or none of `min`
1463
+ * or `max`. For example, to show the latest month, a range of one month
1464
+ * can be set.
1465
+ *
1466
+ * @sample {highstock} stock/xaxis/range/
1467
+ * Setting a zoomed range when the rangeSelector is disabled
1468
+ *
1469
+ * @type {number}
1470
+ * @product highstock
1471
+ * @apioption xAxis.range
1472
+ */
1473
+
1167
1474
  /**
1168
1475
  * Whether to reverse the axis so that the highest number is closest
1169
1476
  * to the origin. If the chart is inverted, the x axis is reversed by
1170
1477
  * default.
1171
1478
  *
1172
- * @type {Boolean}
1173
- * @sample {highcharts} highcharts/yaxis/reversed/
1174
- * Reversed Y axis
1175
- * @sample {highstock} stock/xaxis/reversed/
1176
- * Reversed Y axis
1479
+ * @sample {highcharts} highcharts/yaxis/reversed/
1480
+ * Reversed Y axis
1481
+ * @sample {highstock} stock/xaxis/reversed/
1482
+ * Reversed Y axis
1483
+ *
1484
+ * @type {boolean}
1177
1485
  * @default false
1178
1486
  * @apioption xAxis.reversed
1179
1487
  */
1180
1488
  // reversed: false,
1181
1489
 
1490
+ /**
1491
+ * This option determines how stacks should be ordered within a group.
1492
+ * For example reversed xAxis also reverses stacks, so first series
1493
+ * comes last in a group. To keep order like for non-reversed xAxis
1494
+ * enable this option.
1495
+ *
1496
+ * @sample {highcharts} highcharts/xaxis/reversedstacks/
1497
+ * Reversed stacks comparison
1498
+ * @sample {highstock} highcharts/xaxis/reversedstacks/
1499
+ * Reversed stacks comparison
1500
+ *
1501
+ * @type {boolean}
1502
+ * @default false
1503
+ * @since 6.1.1
1504
+ * @product highcharts highstock
1505
+ * @apioption xAxis.reversedStacks
1506
+ */
1507
+
1508
+ /**
1509
+ * An optional scrollbar to display on the X axis in response to
1510
+ * limiting the minimum and maximum of the axis values.
1511
+ *
1512
+ * In styled mode, all the presentational options for the scrollbar
1513
+ * are replaced by the classes `.highcharts-scrollbar-thumb`,
1514
+ * `.highcharts-scrollbar-arrow`, `.highcharts-scrollbar-button`,
1515
+ * `.highcharts-scrollbar-rifles` and `.highcharts-scrollbar-track`.
1516
+ *
1517
+ * @sample {highstock} stock/yaxis/heatmap-scrollbars/
1518
+ * Heatmap with both scrollbars
1519
+ *
1520
+ * @type {*}
1521
+ * @extends scrollbar
1522
+ * @since 4.2.6
1523
+ * @product highstock
1524
+ * @apioption xAxis.scrollbar
1525
+ */
1526
+
1527
+ /**
1528
+ * Whether to show the axis line and title when the axis has no data.
1529
+ *
1530
+ * @sample {highcharts} highcharts/yaxis/showempty/
1531
+ * When clicking the legend to hide series, one axis preserves
1532
+ * line and title, the other doesn't
1533
+ * @sample {highstock} highcharts/yaxis/showempty/
1534
+ * When clicking the legend to hide series, one axis preserves
1535
+ * line and title, the other doesn't
1536
+ *
1537
+ * @type {boolean}
1538
+ * @default true
1539
+ * @since 1.1
1540
+ * @apioption xAxis.showEmpty
1541
+ */
1542
+
1543
+ /**
1544
+ * Whether to show the first tick label.
1545
+ *
1546
+ * @sample {highcharts} highcharts/xaxis/showfirstlabel-false/
1547
+ * Set to false on X axis
1548
+ * @sample {highstock} stock/xaxis/showfirstlabel/
1549
+ * Labels below plot lines on Y axis
1550
+ *
1551
+ * @type {boolean}
1552
+ * @default true
1553
+ * @apioption xAxis.showFirstLabel
1554
+ */
1555
+
1182
1556
  /**
1183
1557
  * Whether to show the last tick label. Defaults to `true` on cartesian
1184
1558
  * charts, and `false` on polar charts.
1185
1559
  *
1186
- * @type {Boolean}
1187
- * @sample {highcharts} highcharts/xaxis/showlastlabel-true/
1188
- * Set to true on X axis
1189
- * @sample {highstock} stock/xaxis/showfirstlabel/
1190
- * Labels below plot lines on Y axis
1560
+ * @sample {highcharts} highcharts/xaxis/showlastlabel-true/
1561
+ * Set to true on X axis
1562
+ * @sample {highstock} stock/xaxis/showfirstlabel/
1563
+ * Labels below plot lines on Y axis
1564
+ *
1565
+ * @type {boolean}
1191
1566
  * @default true
1192
- * @product highcharts highstock
1567
+ * @product highcharts highstock gantt
1193
1568
  * @apioption xAxis.showLastLabel
1194
1569
  */
1195
1570
 
1571
+ /**
1572
+ * A soft maximum for the axis. If the series data maximum is less than
1573
+ * this, the axis will stay at this maximum, but if the series data
1574
+ * maximum is higher, the axis will flex to show all data.
1575
+ *
1576
+ * @sample highcharts/yaxis/softmin-softmax/
1577
+ * Soft min and max
1578
+ *
1579
+ * @type {number}
1580
+ * @since 5.0.1
1581
+ * @product highcharts highstock gantt
1582
+ * @apioption xAxis.softMax
1583
+ */
1584
+
1585
+ /**
1586
+ * A soft minimum for the axis. If the series data minimum is greater
1587
+ * than this, the axis will stay at this minimum, but if the series
1588
+ * data minimum is lower, the axis will flex to show all data.
1589
+ *
1590
+ * @sample highcharts/yaxis/softmin-softmax/
1591
+ * Soft min and max
1592
+ *
1593
+ * @type {number}
1594
+ * @since 5.0.1
1595
+ * @product highcharts highstock gantt
1596
+ * @apioption xAxis.softMin
1597
+ */
1598
+
1196
1599
  /**
1197
1600
  * For datetime axes, this decides where to put the tick between weeks.
1198
1601
  * 0 = Sunday, 1 = Monday.
1199
1602
  *
1200
- * @sample {highcharts} highcharts/xaxis/startofweek-monday/
1201
- * Monday by default
1202
- * @sample {highcharts} highcharts/xaxis/startofweek-sunday/
1203
- * Sunday
1204
- * @sample {highstock} stock/xaxis/startofweek-1
1205
- * Monday by default
1206
- * @sample {highstock} stock/xaxis/startofweek-0
1207
- * Sunday
1208
- * @product highcharts highstock
1603
+ * @sample {highcharts} highcharts/xaxis/startofweek-monday/
1604
+ * Monday by default
1605
+ * @sample {highcharts} highcharts/xaxis/startofweek-sunday/
1606
+ * Sunday
1607
+ * @sample {highstock} stock/xaxis/startofweek-1
1608
+ * Monday by default
1609
+ * @sample {highstock} stock/xaxis/startofweek-0
1610
+ * Sunday
1611
+ *
1612
+ * @product highcharts highstock gantt
1209
1613
  */
1210
1614
  startOfWeek: 1,
1211
1615
 
@@ -1217,16 +1621,72 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1217
1621
  * In Highstock, `startOnTick` is always false when the navigator is
1218
1622
  * enabled, to prevent jumpy scrolling.
1219
1623
  *
1220
- * @sample {highcharts} highcharts/xaxis/startontick-false/
1221
- * False by default
1222
- * @sample {highcharts} highcharts/xaxis/startontick-true/
1223
- * True
1224
- * @sample {highstock} stock/xaxis/endontick/
1225
- * False for Y axis
1226
- * @since 1.2.0
1624
+ * @sample {highcharts} highcharts/xaxis/startontick-false/
1625
+ * False by default
1626
+ * @sample {highcharts} highcharts/xaxis/startontick-true/
1627
+ * True
1628
+ * @sample {highstock} stock/xaxis/endontick/
1629
+ * False for Y axis
1630
+ *
1631
+ * @since 1.2.0
1227
1632
  */
1228
1633
  startOnTick: false,
1229
1634
 
1635
+
1636
+ /**
1637
+ * The amount of ticks to draw on the axis. This opens up for aligning
1638
+ * the ticks of multiple charts or panes within a chart. This option
1639
+ * overrides the `tickPixelInterval` option.
1640
+ *
1641
+ * This option only has an effect on linear axes. Datetime, logarithmic
1642
+ * or category axes are not affected.
1643
+ *
1644
+ * @sample {highcharts} highcharts/yaxis/tickamount/
1645
+ * 8 ticks on Y axis
1646
+ * @sample {highstock} highcharts/yaxis/tickamount/
1647
+ * 8 ticks on Y axis
1648
+ *
1649
+ * @type {number}
1650
+ * @since 4.1.0
1651
+ * @product highcharts highstock gantt
1652
+ * @apioption xAxis.tickAmount
1653
+ */
1654
+
1655
+ /**
1656
+ * The interval of the tick marks in axis units. When `undefined`, the
1657
+ * tick interval is computed to approximately follow the
1658
+ * [tickPixelInterval](#xAxis.tickPixelInterval) on linear and datetime
1659
+ * axes. On categorized axes, a `undefined` tickInterval will default to
1660
+ * 1, one category. Note that datetime axes are based on milliseconds,
1661
+ * so for example an interval of one day is expressed as
1662
+ * `24 * 3600 * 1000`.
1663
+ *
1664
+ * On logarithmic axes, the tickInterval is based on powers, so a
1665
+ * tickInterval of 1 means one tick on each of 0.1, 1, 10, 100 etc. A
1666
+ * tickInterval of 2 means a tick of 0.1, 10, 1000 etc. A tickInterval
1667
+ * of 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20,
1668
+ * 40 etc.
1669
+ *
1670
+ *
1671
+ * If the tickInterval is too dense for labels to be drawn, Highcharts
1672
+ * may remove ticks.
1673
+ *
1674
+ * If the chart has multiple axes, the [alignTicks](#chart.alignTicks)
1675
+ * option may interfere with the `tickInterval` setting.
1676
+ *
1677
+ * @see [tickPixelInterval](#xAxis.tickPixelInterval)
1678
+ * @see [tickPositions](#xAxis.tickPositions)
1679
+ * @see [tickPositioner](#xAxis.tickPositioner)
1680
+ *
1681
+ * @sample {highcharts} highcharts/xaxis/tickinterval-5/
1682
+ * Tick interval of 5 on a linear axis
1683
+ * @sample {highstock} stock/xaxis/tickinterval/
1684
+ * Tick interval of 0.01 on Y axis
1685
+ *
1686
+ * @type {number}
1687
+ * @apioption xAxis.tickInterval
1688
+ */
1689
+
1230
1690
  /**
1231
1691
  * The pixel length of the main tick marks.
1232
1692
  *
@@ -1237,21 +1697,6 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1237
1697
  */
1238
1698
  tickLength: 10,
1239
1699
 
1240
- /**
1241
- * For categorized axes only. If `on` the tick mark is placed in the
1242
- * center of the category, if `between` the tick mark is placed between
1243
- * categories. The default is `between` if the `tickInterval` is 1,
1244
- * else `on`.
1245
- *
1246
- * @validvalue [null, "on", "between"]
1247
- * @sample {highcharts} highcharts/xaxis/tickmarkplacement-between/
1248
- * "between" by default
1249
- * @sample {highcharts} highcharts/xaxis/tickmarkplacement-on/
1250
- * "on"
1251
- * @product highcharts
1252
- */
1253
- tickmarkPlacement: 'between',
1254
-
1255
1700
  /**
1256
1701
  * If tickInterval is `null` this option sets the approximate pixel
1257
1702
  * interval of the tick marks. Not applicable to categorized axis.
@@ -1260,9 +1705,10 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1260
1705
  * #xAxis.minTickInterval) option, that, by default prevents ticks from
1261
1706
  * being denser than the data points.
1262
1707
  *
1263
- * @see [tickInterval](#xAxis.tickInterval),
1264
- * [tickPositioner](#xAxis.tickPositioner),
1265
- * [tickPositions](#xAxis.tickPositions).
1708
+ * @see [tickInterval](#xAxis.tickInterval)
1709
+ * @see [tickPositioner](#xAxis.tickPositioner)
1710
+ * @see [tickPositions](#xAxis.tickPositions)
1711
+ *
1266
1712
  * @sample {highcharts} highcharts/xaxis/tickpixelinterval-50/
1267
1713
  * 50 px on X axis
1268
1714
  * @sample {highstock} stock/xaxis/tickpixelinterval/
@@ -1270,20 +1716,93 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1270
1716
  */
1271
1717
  tickPixelInterval: 100,
1272
1718
 
1719
+ /**
1720
+ * For categorized axes only. If `on` the tick mark is placed in the
1721
+ * center of the category, if `between` the tick mark is placed between
1722
+ * categories. The default is `between` if the `tickInterval` is 1,
1723
+ * else `on`.
1724
+ *
1725
+ * @sample {highcharts} highcharts/xaxis/tickmarkplacement-between/
1726
+ * "between" by default
1727
+ * @sample {highcharts} highcharts/xaxis/tickmarkplacement-on/
1728
+ * "on"
1729
+ *
1730
+ * @product highcharts gantt
1731
+ * @validvalue [null, "on", "between"]
1732
+ */
1733
+ tickmarkPlacement: 'between',
1734
+
1273
1735
  /**
1274
1736
  * The position of the major tick marks relative to the axis line.
1275
1737
  * Can be one of `inside` and `outside`.
1276
1738
  *
1739
+ * @sample {highcharts} highcharts/xaxis/tickposition-outside/
1740
+ * "outside" by default
1741
+ * @sample {highcharts} highcharts/xaxis/tickposition-inside/
1742
+ * "inside"
1743
+ * @sample {highstock} stock/xaxis/ticks/
1744
+ * Formatted ticks on X axis
1745
+ *
1277
1746
  * @validvalue ["inside", "outside"]
1278
- * @sample {highcharts} highcharts/xaxis/tickposition-outside/
1279
- * "outside" by default
1280
- * @sample {highcharts} highcharts/xaxis/tickposition-inside/
1281
- * "inside"
1282
- * @sample {highstock} stock/xaxis/ticks/
1283
- * Formatted ticks on X axis
1284
1747
  */
1285
1748
  tickPosition: 'outside',
1286
1749
 
1750
+ /**
1751
+ * A callback function returning array defining where the ticks are
1752
+ * laid out on the axis. This overrides the default behaviour of
1753
+ * [tickPixelInterval](#xAxis.tickPixelInterval) and [tickInterval](
1754
+ * #xAxis.tickInterval). The automatic tick positions are accessible
1755
+ * through `this.tickPositions` and can be modified by the callback.
1756
+ *
1757
+ * @see [tickPositions](#xAxis.tickPositions)
1758
+ *
1759
+ * @sample {highcharts} highcharts/xaxis/tickpositions-tickpositioner/
1760
+ * Demo of tickPositions and tickPositioner
1761
+ * @sample {highstock} highcharts/xaxis/tickpositions-tickpositioner/
1762
+ * Demo of tickPositions and tickPositioner
1763
+ *
1764
+ * @type {Function}
1765
+ * @apioption xAxis.tickPositioner
1766
+ */
1767
+
1768
+ /**
1769
+ * An array defining where the ticks are laid out on the axis. This
1770
+ * overrides the default behaviour of [tickPixelInterval](
1771
+ * #xAxis.tickPixelInterval) and [tickInterval](#xAxis.tickInterval).
1772
+ *
1773
+ * @see [tickPositioner](#xAxis.tickPositioner)
1774
+ *
1775
+ * @sample {highcharts} highcharts/xaxis/tickpositions-tickpositioner/
1776
+ * Demo of tickPositions and tickPositioner
1777
+ * @sample {highstock} highcharts/xaxis/tickpositions-tickpositioner/
1778
+ * Demo of tickPositions and tickPositioner
1779
+ *
1780
+ * @type {Array<number>}
1781
+ * @apioption xAxis.tickPositions
1782
+ */
1783
+
1784
+ /**
1785
+ * The pixel width of the major tick marks.
1786
+ *
1787
+ * In styled mode, the stroke width is given in the `.highcharts-tick`
1788
+ * class.
1789
+ *
1790
+ * @sample {highcharts} highcharts/xaxis/tickwidth/
1791
+ * 10 px width
1792
+ * @sample {highcharts} highcharts/css/axis-grid/
1793
+ * Styled mode
1794
+ * @sample {highstock} stock/xaxis/ticks/
1795
+ * Formatted ticks on X axis
1796
+ * @sample {highstock} highcharts/css/axis-grid/
1797
+ * Styled mode
1798
+ *
1799
+ * @type {number}
1800
+ * @default {highcharts} 1
1801
+ * @default {highstock} 1
1802
+ * @default {highmaps} 0
1803
+ * @apioption xAxis.tickWidth
1804
+ */
1805
+
1287
1806
  /**
1288
1807
  * The axis title, showing next to the axis line.
1289
1808
  *
@@ -1294,21 +1813,148 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1294
1813
  */
1295
1814
  title: {
1296
1815
 
1816
+ /**
1817
+ * Deprecated. Set the `text` to `null` to disable the title.
1818
+ *
1819
+ * @deprecated
1820
+ * @type {string}
1821
+ * @default middle
1822
+ * @product highcharts
1823
+ * @apioption xAxis.title.enabled
1824
+ */
1825
+
1826
+ /**
1827
+ * The pixel distance between the axis labels or line and the title.
1828
+ * Defaults to 0 for horizontal axes, 10 for vertical
1829
+ *
1830
+ * @sample {highcharts} highcharts/xaxis/title-margin/
1831
+ * Y axis title margin of 60
1832
+ *
1833
+ * @type {number}
1834
+ * @apioption xAxis.title.margin
1835
+ */
1836
+
1837
+ /**
1838
+ * The distance of the axis title from the axis line. By default,
1839
+ * this distance is computed from the offset width of the labels,
1840
+ * the labels' distance from the axis and the title's margin.
1841
+ * However when the offset option is set, it overrides all this.
1842
+ *
1843
+ * @sample {highcharts} highcharts/yaxis/title-offset/
1844
+ * Place the axis title on top of the axis
1845
+ * @sample {highstock} highcharts/yaxis/title-offset/
1846
+ * Place the axis title on top of the Y axis
1847
+ *
1848
+ * @type {number}
1849
+ * @since 2.2.0
1850
+ * @apioption xAxis.title.offset
1851
+ */
1852
+
1853
+ /**
1854
+ * Whether to reserve space for the title when laying out the axis.
1855
+ *
1856
+ * @type {boolean}
1857
+ * @default true
1858
+ * @since 5.0.11
1859
+ * @product highcharts highstock gantt
1860
+ * @apioption xAxis.title.reserveSpace
1861
+ */
1862
+
1863
+ /**
1864
+ * The rotation of the text in degrees. 0 is horizontal, 270 is
1865
+ * vertical reading from bottom to top.
1866
+ *
1867
+ * @sample {highcharts} highcharts/yaxis/title-offset/
1868
+ * Horizontal
1869
+ *
1870
+ * @type {number}
1871
+ * @default 0
1872
+ * @apioption xAxis.title.rotation
1873
+ */
1874
+
1875
+ /**
1876
+ * The actual text of the axis title. It can contain basic HTML text
1877
+ * markup like <b>, <i> and spans with style.
1878
+ *
1879
+ * @sample {highcharts} highcharts/xaxis/title-text/
1880
+ * Custom HTML
1881
+ * @sample {highstock} stock/xaxis/title-text/
1882
+ * Titles for both axes
1883
+ *
1884
+ * @type {string}
1885
+ * @apioption xAxis.title.text
1886
+ */
1887
+
1888
+ /**
1889
+ * Alignment of the text, can be `"left"`, `"right"` or `"center"`.
1890
+ * Default alignment depends on the
1891
+ * [title.align](xAxis.title.align):
1892
+ *
1893
+ * Horizontal axes:
1894
+ * - for `align` = `"low"`, `textAlign` is set to `left`
1895
+ * - for `align` = `"middle"`, `textAlign` is set to `center`
1896
+ * - for `align` = `"high"`, `textAlign` is set to `right`
1897
+ *
1898
+ * Vertical axes:
1899
+ * - for `align` = `"low"` and `opposite` = `true`, `textAlign` is
1900
+ * set to `right`
1901
+ * - for `align` = `"low"` and `opposite` = `false`, `textAlign` is
1902
+ * set to `left`
1903
+ * - for `align` = `"middle"`, `textAlign` is set to `center`
1904
+ * - for `align` = `"high"` and `opposite` = `true` `textAlign` is
1905
+ * set to `left`
1906
+ * - for `align` = `"high"` and `opposite` = `false` `textAlign` is
1907
+ * set to `right`
1908
+ *
1909
+ * @type {string}
1910
+ * @apioption xAxis.title.textAlign
1911
+ */
1912
+
1913
+ /**
1914
+ * Whether to [use HTML](https://www.highcharts.com/docs/
1915
+ * chart-concepts/labels-and-string-formatting#html) to render the
1916
+ * axis title.
1917
+ *
1918
+ * @type {boolean}
1919
+ * @default false
1920
+ * @product highcharts highstock gantt
1921
+ * @apioption xAxis.title.useHTML
1922
+ */
1923
+
1924
+ /**
1925
+ * Horizontal pixel offset of the title position.
1926
+ *
1927
+ * @type {number}
1928
+ * @default 0
1929
+ * @since 4.1.6
1930
+ * @product highcharts highstock gantt
1931
+ * @apioption xAxis.title.x
1932
+ */
1933
+
1934
+ /**
1935
+ * Vertical pixel offset of the title position.
1936
+ *
1937
+ * @type {number}
1938
+ * @product highcharts highstock gantt
1939
+ * @apioption xAxis.title.y
1940
+ */
1941
+
1297
1942
  /**
1298
1943
  * Alignment of the title relative to the axis values. Possible
1299
1944
  * values are "low", "middle" or "high".
1300
1945
  *
1946
+ * @sample {highcharts} highcharts/xaxis/title-align-low/
1947
+ * "low"
1948
+ * @sample {highcharts} highcharts/xaxis/title-align-center/
1949
+ * "middle" by default
1950
+ * @sample {highcharts} highcharts/xaxis/title-align-high/
1951
+ * "high"
1952
+ * @sample {highcharts} highcharts/yaxis/title-offset/
1953
+ * Place the Y axis title on top of the axis
1954
+ * @sample {highstock} stock/xaxis/title-align/
1955
+ * Aligned to "high" value
1956
+ *
1301
1957
  * @validvalue ["low", "middle", "high"]
1302
- * @sample {highcharts} highcharts/xaxis/title-align-low/
1303
- * "low"
1304
- * @sample {highcharts} highcharts/xaxis/title-align-center/
1305
- * "middle" by default
1306
- * @sample {highcharts} highcharts/xaxis/title-align-high/
1307
- * "high"
1308
- * @sample {highcharts} highcharts/yaxis/title-offset/
1309
- * Place the Y axis title on top of the axis
1310
- * @sample {highstock} stock/xaxis/title-align/
1311
- * Aligned to "high" value
1312
1958
  */
1313
1959
  align: 'middle',
1314
1960
 
@@ -1323,17 +1969,23 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1323
1969
  * In styled mode, the stroke width is given in the
1324
1970
  * `.highcharts-axis-title` class.
1325
1971
  *
1326
- * @type {CSSObject}
1327
- * @sample {highcharts} highcharts/xaxis/title-style/
1328
- * Red
1329
- * @sample {highcharts} highcharts/css/axis/
1330
- * Styled mode
1331
- * @default { "color": "#666666" }
1972
+ * @sample {highcharts} highcharts/xaxis/title-style/
1973
+ * Red
1974
+ * @sample {highcharts} highcharts/css/axis/
1975
+ * Styled mode
1976
+ *
1977
+ * @type {Highcharts.CSSObject}
1978
+ * @default {"color": "#666666"}
1332
1979
  */
1333
1980
  style: {
1981
+ /**
1982
+ * @ignore
1983
+ */
1334
1984
  color: '#666666'
1335
1985
  }
1986
+
1336
1987
 
1988
+
1337
1989
  },
1338
1990
 
1339
1991
  /**
@@ -1345,21 +1997,114 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1345
1997
  * for categories, if not a [categories](#xAxis.categories) array is
1346
1998
  * defined.
1347
1999
  *
2000
+ * @sample {highcharts} highcharts/xaxis/type-linear/
2001
+ * Linear
2002
+ * @sample {highcharts} highcharts/yaxis/type-log/
2003
+ * Logarithmic
2004
+ * @sample {highcharts} highcharts/yaxis/type-log-minorgrid/
2005
+ * Logarithmic with minor grid lines
2006
+ * @sample {highcharts} highcharts/xaxis/type-log-both/
2007
+ * Logarithmic on two axes
2008
+ * @sample {highcharts} highcharts/yaxis/type-log-negative/
2009
+ * Logarithmic with extension to emulate negative values
2010
+ *
2011
+ * @product highcharts gantt
1348
2012
  * @validvalue ["linear", "logarithmic", "datetime", "category"]
1349
- * @sample {highcharts} highcharts/xaxis/type-linear/
1350
- * Linear
1351
- * @sample {highcharts} highcharts/yaxis/type-log/
1352
- * Logarithmic
1353
- * @sample {highcharts} highcharts/yaxis/type-log-minorgrid/
1354
- * Logarithmic with minor grid lines
1355
- * @sample {highcharts} highcharts/xaxis/type-log-both/
1356
- * Logarithmic on two axes
1357
- * @sample {highcharts} highcharts/yaxis/type-log-negative/
1358
- * Logarithmic with extension to emulate negative values
1359
- * @product highcharts
1360
2013
  */
1361
2014
  type: 'linear',
1362
2015
 
2016
+ /**
2017
+ * The type of axis. Can be one of `linear`, `logarithmic`, `datetime`,
2018
+ * `category` or `treegrid`. Defaults to `treegrid` for Gantt charts,
2019
+ * `linear` for other chart types.
2020
+ *
2021
+ * In a datetime axis, the numbers are given in milliseconds, and tick
2022
+ * marks are placed on appropriate values, like full hours or days. In a
2023
+ * category or treegrid axis, the [point names](#series.line.data.name)
2024
+ * of the chart's series are used for categories, if a
2025
+ * [categories](#xAxis.categories) array is not defined.
2026
+ *
2027
+ * @sample {highcharts} highcharts/yaxis/type-log-minorgrid/
2028
+ * Logarithmic with minor grid lines
2029
+ * @sample {highcharts} highcharts/yaxis/type-log-negative/
2030
+ * Logarithmic with extension to emulate negative values
2031
+ *
2032
+ * @product highcharts gantt
2033
+ * @validvalue ["linear", "logarithmic", "datetime", "category", "treegrid"]
2034
+ * @default {highcharts} linear
2035
+ * @default {gantt} treegrid
2036
+ * @apioption yAxis.type
2037
+ */
2038
+
2039
+ /**
2040
+ * Applies only when the axis `type` is `category`. When `uniqueNames`
2041
+ * is true, points are placed on the X axis according to their names.
2042
+ * If the same point name is repeated in the same or another series,
2043
+ * the point is placed on the same X position as other points of the
2044
+ * same name. When `uniqueNames` is false, the points are laid out in
2045
+ * increasing X positions regardless of their names, and the X axis
2046
+ * category will take the name of the last point in each position.
2047
+ *
2048
+ * @sample {highcharts} highcharts/xaxis/uniquenames-true/
2049
+ * True by default
2050
+ * @sample {highcharts} highcharts/xaxis/uniquenames-false/
2051
+ * False
2052
+ *
2053
+ * @type {boolean}
2054
+ * @default true
2055
+ * @since 4.2.7
2056
+ * @product highcharts gantt
2057
+ * @apioption xAxis.uniqueNames
2058
+ */
2059
+
2060
+ /**
2061
+ * Datetime axis only. An array determining what time intervals the
2062
+ * ticks are allowed to fall on. Each array item is an array where the
2063
+ * first value is the time unit and the second value another array of
2064
+ * allowed multiples. Defaults to:
2065
+ *
2066
+ * <pre>units: [[
2067
+ * 'millisecond', // unit name
2068
+ * [1, 2, 5, 10, 20, 25, 50, 100, 200, 500] // allowed multiples
2069
+ * ], [
2070
+ * 'second',
2071
+ * [1, 2, 5, 10, 15, 30]
2072
+ * ], [
2073
+ * 'minute',
2074
+ * [1, 2, 5, 10, 15, 30]
2075
+ * ], [
2076
+ * 'hour',
2077
+ * [1, 2, 3, 4, 6, 8, 12]
2078
+ * ], [
2079
+ * 'day',
2080
+ * [1]
2081
+ * ], [
2082
+ * 'week',
2083
+ * [1]
2084
+ * ], [
2085
+ * 'month',
2086
+ * [1, 3, 6]
2087
+ * ], [
2088
+ * 'year',
2089
+ * null
2090
+ * ]]</pre>
2091
+ *
2092
+ * @type {Array<Array<string|Array<number>>>}
2093
+ * @product highcharts highstock gantt
2094
+ * @apioption xAxis.units
2095
+ */
2096
+
2097
+ /**
2098
+ * Whether axis, including axis title, line, ticks and labels, should
2099
+ * be visible.
2100
+ *
2101
+ * @type {boolean}
2102
+ * @default true
2103
+ * @since 4.1.9
2104
+ * @product highcharts highstock gantt
2105
+ * @apioption xAxis.visible
2106
+ */
2107
+
1363
2108
 
1364
2109
 
1365
2110
  /**
@@ -1368,17 +2113,17 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1368
2113
  * In styled mode, the stroke width is given in the
1369
2114
  * `.highcharts-minor-grid-line` class.
1370
2115
  *
1371
- * @type {Color}
1372
- * @sample {highcharts} highcharts/yaxis/minorgridlinecolor/
1373
- * Bright grey lines from Y axis
1374
- * @sample {highcharts|highstock} highcharts/css/axis-grid/
1375
- * Styled mode
1376
- * @sample {highstock} stock/xaxis/minorgridlinecolor/
1377
- * Bright grey lines from Y axis
2116
+ * @sample {highcharts} highcharts/yaxis/minorgridlinecolor/
2117
+ * Bright grey lines from Y axis
2118
+ * @sample {highcharts|highstock} highcharts/css/axis-grid/
2119
+ * Styled mode
2120
+ * @sample {highstock} stock/xaxis/minorgridlinecolor/
2121
+ * Bright grey lines from Y axis
2122
+ *
2123
+ * @type {Highcharts.ColorString}
1378
2124
  * @default #f2f2f2
1379
2125
  */
1380
2126
  minorGridLineColor: '#f2f2f2',
1381
- // minorGridLineDashStyle: null,
1382
2127
 
1383
2128
  /**
1384
2129
  * Width of the minor, secondary grid lines.
@@ -1398,11 +2143,12 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1398
2143
  /**
1399
2144
  * Color for the minor tick marks.
1400
2145
  *
1401
- * @type {Color}
1402
- * @sample {highcharts} highcharts/yaxis/minortickcolor/
1403
- * Black tick marks on Y axis
1404
- * @sample {highstock} stock/xaxis/minorticks/
1405
- * Black tick marks on Y axis
2146
+ * @sample {highcharts} highcharts/yaxis/minortickcolor/
2147
+ * Black tick marks on Y axis
2148
+ * @sample {highstock} stock/xaxis/minorticks/
2149
+ * Black tick marks on Y axis
2150
+ *
2151
+ * @type {Highcharts.ColorString}
1406
2152
  * @default #999999
1407
2153
  */
1408
2154
  minorTickColor: '#999999',
@@ -1417,13 +2163,14 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1417
2163
  * In Highmaps, the axis line is hidden by default, because the axis is
1418
2164
  * not visible by default.
1419
2165
  *
1420
- * @type {Color}
1421
- * @sample {highcharts} highcharts/yaxis/linecolor/
1422
- * A red line on Y axis
1423
- * @sample {highcharts|highstock} highcharts/css/axis/
1424
- * Axes in styled mode
1425
- * @sample {highstock} stock/xaxis/linecolor/
1426
- * A red line on X axis
2166
+ * @sample {highcharts} highcharts/yaxis/linecolor/
2167
+ * A red line on Y axis
2168
+ * @sample {highcharts|highstock} highcharts/css/axis/
2169
+ * Axes in styled mode
2170
+ * @sample {highstock} stock/xaxis/linecolor/
2171
+ * A red line on X axis
2172
+ *
2173
+ * @type {Highcharts.ColorString}
1427
2174
  * @default #ccd6eb
1428
2175
  */
1429
2176
  lineColor: '#ccd6eb',
@@ -1434,12 +2181,13 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1434
2181
  * In styled mode, the stroke width is given in the
1435
2182
  * `.highcharts-axis-line` or `.highcharts-xaxis-line` class.
1436
2183
  *
1437
- * @sample {highcharts} highcharts/yaxis/linecolor/
1438
- * A 1px line on Y axis
1439
- * @sample {highcharts|highstock} highcharts/css/axis/
1440
- * Axes in styled mode
1441
- * @sample {highstock} stock/xaxis/linewidth/
1442
- * A 2px line on X axis
2184
+ * @sample {highcharts} highcharts/yaxis/linecolor/
2185
+ * A 1px line on Y axis
2186
+ * @sample {highcharts|highstock} highcharts/css/axis/
2187
+ * Axes in styled mode
2188
+ * @sample {highstock} stock/xaxis/linewidth/
2189
+ * A 2px line on X axis
2190
+ *
1443
2191
  * @default {highcharts|highstock} 1
1444
2192
  * @default {highmaps} 0
1445
2193
  */
@@ -1454,18 +2202,19 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1454
2202
  * @productdesc {highmaps}
1455
2203
  * In Highmaps, the grid lines are hidden by default.
1456
2204
  *
1457
- * @type {Color}
1458
- * @sample {highcharts} highcharts/yaxis/gridlinecolor/
1459
- * Green lines
1460
- * @sample {highcharts|highstock} highcharts/css/axis-grid/
1461
- * Styled mode
1462
- * @sample {highstock} stock/xaxis/gridlinecolor/
1463
- * Green lines
2205
+ * @sample {highcharts} highcharts/yaxis/gridlinecolor/
2206
+ * Green lines
2207
+ * @sample {highcharts|highstock} highcharts/css/axis-grid/
2208
+ * Styled mode
2209
+ * @sample {highstock} stock/xaxis/gridlinecolor/
2210
+ * Green lines
2211
+ *
2212
+ * @type {Highcharts.ColorString}
1464
2213
  * @default #e6e6e6
1465
2214
  */
1466
2215
  gridLineColor: '#e6e6e6',
1467
- // gridLineDashStyle: 'solid',
1468
2216
 
2217
+ // gridLineDashStyle: 'solid',
1469
2218
 
1470
2219
  /**
1471
2220
  * The width of the grid lines extending the ticks across the plot area.
@@ -1473,13 +2222,14 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1473
2222
  * In styled mode, the stroke width is given in the
1474
2223
  * `.highcharts-grid-line` class.
1475
2224
  *
1476
- * @type {Number}
1477
- * @sample {highcharts} highcharts/yaxis/gridlinewidth/
1478
- * 2px lines
1479
- * @sample {highcharts|highstock} highcharts/css/axis-grid/
1480
- * Styled mode
1481
- * @sample {highstock} stock/xaxis/gridlinewidth/
1482
- * 2px lines
2225
+ * @sample {highcharts} highcharts/yaxis/gridlinewidth/
2226
+ * 2px lines
2227
+ * @sample {highcharts|highstock} highcharts/css/axis-grid/
2228
+ * Styled mode
2229
+ * @sample {highstock} stock/xaxis/gridlinewidth/
2230
+ * 2px lines
2231
+ *
2232
+ * @type {number}
1483
2233
  * @default 0
1484
2234
  * @apioption xAxis.gridLineWidth
1485
2235
  */
@@ -1491,18 +2241,22 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1491
2241
  * In styled mode, the stroke is given in the `.highcharts-tick`
1492
2242
  * class.
1493
2243
  *
1494
- * @type {Color}
1495
- * @sample {highcharts} highcharts/xaxis/tickcolor/
1496
- * Red ticks on X axis
1497
- * @sample {highcharts|highstock} highcharts/css/axis-grid/
1498
- * Styled mode
1499
- * @sample {highstock} stock/xaxis/ticks/
1500
- * Formatted ticks on X axis
2244
+ * @sample {highcharts} highcharts/xaxis/tickcolor/
2245
+ * Red ticks on X axis
2246
+ * @sample {highcharts|highstock} highcharts/css/axis-grid/
2247
+ * Styled mode
2248
+ * @sample {highstock} stock/xaxis/ticks/
2249
+ * Formatted ticks on X axis
2250
+ *
2251
+ * @type {Highcharts.ColorString}
1501
2252
  * @default #ccd6eb
1502
2253
  */
1503
2254
  tickColor: '#ccd6eb'
2255
+
1504
2256
  // tickWidth: 1
2257
+
1505
2258
 
2259
+
1506
2260
  },
1507
2261
 
1508
2262
  /**
@@ -1515,10 +2269,180 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1515
2269
  * access to the axis.
1516
2270
  *
1517
2271
  * @extends xAxis
1518
- * @excluding ordinal,overscroll
2272
+ * @excluding ordinal,overscroll,currentDateIndicator
1519
2273
  * @optionparent yAxis
1520
2274
  */
1521
2275
  defaultYAxisOptions: {
2276
+
2277
+ /**
2278
+ * In a polar chart, this is the angle of the Y axis in degrees, where
2279
+ * 0 is up and 90 is right. The angle determines the position of the
2280
+ * axis line and the labels, though the coordinate system is unaffected.
2281
+ *
2282
+ * @sample {highcharts} highcharts/yaxis/angle/
2283
+ * Dual axis polar chart
2284
+ *
2285
+ * @type {number}
2286
+ * @default 0
2287
+ * @since 4.2.7
2288
+ * @product highcharts
2289
+ * @apioption yAxis.angle
2290
+ */
2291
+
2292
+ /**
2293
+ * Polar charts only. Whether the grid lines should draw as a polygon
2294
+ * with straight lines between categories, or as circles. Can be either
2295
+ * `circle` or `polygon`.
2296
+ *
2297
+ * @sample {highcharts} highcharts/demo/polar-spider/
2298
+ * Polygon grid lines
2299
+ * @sample {highcharts} highcharts/yaxis/gridlineinterpolation/
2300
+ * Circle and polygon
2301
+ *
2302
+ * @type {string}
2303
+ * @product highcharts
2304
+ * @validvalue ["circle", "polygon"]
2305
+ * @apioption yAxis.gridLineInterpolation
2306
+ */
2307
+
2308
+ /**
2309
+ * The height of the Y axis. If it's a number, it is interpreted as
2310
+ * pixels.
2311
+ *
2312
+ * Since Highstock 2: If it's a percentage string, it is interpreted
2313
+ * as percentages of the total plot height.
2314
+ *
2315
+ * @see [yAxis.top](#yAxis.top)
2316
+ *
2317
+ * @sample {highstock} stock/demo/candlestick-and-volume/
2318
+ * Percentage height panes
2319
+ *
2320
+ * @type {number|string}
2321
+ * @product highstock
2322
+ * @apioption yAxis.height
2323
+ */
2324
+
2325
+ /**
2326
+ * Solid gauge only. Unless [stops](#yAxis.stops) are set, the color
2327
+ * to represent the maximum value of the Y axis.
2328
+ *
2329
+ * @sample {highcharts} highcharts/yaxis/mincolor-maxcolor/
2330
+ * Min and max colors
2331
+ *
2332
+ * @type {Highcharts.ColorString}
2333
+ * @default #003399
2334
+ * @since 4.0
2335
+ * @product highcharts
2336
+ * @apioption yAxis.maxColor
2337
+ */
2338
+
2339
+ /**
2340
+ * Solid gauge only. Unless [stops](#yAxis.stops) are set, the color
2341
+ * to represent the minimum value of the Y axis.
2342
+ *
2343
+ * @sample {highcharts} highcharts/yaxis/mincolor-maxcolor/
2344
+ * Min and max color
2345
+ *
2346
+ * @type {Highcharts.ColorString}
2347
+ * @default #e6ebf5
2348
+ * @since 4.0
2349
+ * @product highcharts
2350
+ * @apioption yAxis.minColor
2351
+ */
2352
+
2353
+ /**
2354
+ * Whether to reverse the axis so that the highest number is closest
2355
+ * to the origin.
2356
+ *
2357
+ * @sample {highcharts} highcharts/yaxis/reversed/
2358
+ * Reversed Y axis
2359
+ * @sample {highstock} stock/xaxis/reversed/
2360
+ * Reversed Y axis
2361
+ *
2362
+ * @type {boolean}
2363
+ * @default {highcharts} false
2364
+ * @default {highstock} false
2365
+ * @default {highmaps} true
2366
+ * @default {gantt} true
2367
+ * @apioption yAxis.reversed
2368
+ */
2369
+
2370
+ /**
2371
+ * If `true`, the first series in a stack will be drawn on top in a
2372
+ * positive, non-reversed Y axis. If `false`, the first series is in
2373
+ * the base of the stack.
2374
+ *
2375
+ * @sample {highcharts} highcharts/yaxis/reversedstacks-false/
2376
+ * Non-reversed stacks
2377
+ * @sample {highstock} highcharts/yaxis/reversedstacks-false/
2378
+ * Non-reversed stacks
2379
+ *
2380
+ * @type {boolean}
2381
+ * @default true
2382
+ * @since 3.0.10
2383
+ * @product highcharts highstock
2384
+ * @apioption yAxis.reversedStacks
2385
+ */
2386
+
2387
+ /**
2388
+ * Solid gauge series only. Color stops for the solid gauge. Use this
2389
+ * in cases where a linear gradient between a `minColor` and `maxColor`
2390
+ * is not sufficient. The stops is an array of tuples, where the first
2391
+ * item is a float between 0 and 1 assigning the relative position in
2392
+ * the gradient, and the second item is the color.
2393
+ *
2394
+ * For solid gauges, the Y axis also inherits the concept of [data classes](http://api.
2395
+ * highcharts.com/highmaps#colorAxis.dataClasses) from the Highmaps
2396
+ * color axis.
2397
+ *
2398
+ * @see [minColor](#yAxis.minColor)
2399
+ * @see [maxColor](#yAxis.maxColor)
2400
+ *
2401
+ * @sample {highcharts} highcharts/demo/gauge-solid/
2402
+ * True by default
2403
+ *
2404
+ * @type {Array<Array<number, Highcharts.ColorString>>}
2405
+ * @since 4.0
2406
+ * @product highcharts
2407
+ * @apioption yAxis.stops
2408
+ */
2409
+
2410
+ /**
2411
+ * The pixel width of the major tick marks.
2412
+ *
2413
+ * @sample {highcharts} highcharts/xaxis/tickwidth/ 10 px width
2414
+ * @sample {highstock} stock/xaxis/ticks/ Formatted ticks on X axis
2415
+ *
2416
+ * @type {number}
2417
+ * @default 0
2418
+ * @product highcharts highstock gantt
2419
+ * @apioption yAxis.tickWidth
2420
+ */
2421
+
2422
+ /**
2423
+ * Angular gauges and solid gauges only. The label's pixel distance
2424
+ * from the perimeter of the plot area.
2425
+ *
2426
+ * @type {number}
2427
+ * @default -25
2428
+ * @product highcharts
2429
+ * @apioption yAxis.labels.distance
2430
+ */
2431
+
2432
+ /**
2433
+ * The y position offset of the label relative to the tick position
2434
+ * on the axis.
2435
+ *
2436
+ * @sample {highcharts} highcharts/xaxis/labels-x/
2437
+ * Y axis labels placed on grid lines
2438
+ *
2439
+ * @type {number}
2440
+ * @default {highcharts} 3
2441
+ * @default {highstock} -2
2442
+ * @default {highmaps} 3
2443
+ * @apioption yAxis.labels.y
2444
+ */
2445
+
1522
2446
  /**
1523
2447
  * @productdesc {highstock}
1524
2448
  * In Highstock, `endOnTick` is always false when the navigator is
@@ -1526,31 +2450,67 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1526
2450
  */
1527
2451
  endOnTick: true,
1528
2452
 
2453
+ /**
2454
+ * Padding of the max value relative to the length of the axis. A
2455
+ * padding of 0.05 will make a 100px axis 5px longer. This is useful
2456
+ * when you don't want the highest data value to appear on the edge
2457
+ * of the plot area. When the axis' `max` option is set or a max extreme
2458
+ * is set using `axis.setExtremes()`, the maxPadding will be ignored.
2459
+ *
2460
+ * @sample {highcharts} highcharts/yaxis/maxpadding-02/
2461
+ * Max padding of 0.2
2462
+ * @sample {highstock} stock/xaxis/minpadding-maxpadding/
2463
+ * Greater min- and maxPadding
2464
+ *
2465
+ * @since 1.2.0
2466
+ * @product highcharts highstock gantt
2467
+ */
2468
+ maxPadding: 0.05,
2469
+
2470
+ /**
2471
+ * Padding of the min value relative to the length of the axis. A
2472
+ * padding of 0.05 will make a 100px axis 5px longer. This is useful
2473
+ * when you don't want the lowest data value to appear on the edge
2474
+ * of the plot area. When the axis' `min` option is set or a max extreme
2475
+ * is set using `axis.setExtremes()`, the maxPadding will be ignored.
2476
+ *
2477
+ * @sample {highcharts} highcharts/yaxis/minpadding/
2478
+ * Min padding of 0.2
2479
+ * @sample {highstock} stock/xaxis/minpadding-maxpadding/
2480
+ * Greater min- and maxPadding
2481
+ *
2482
+ * @since 1.2.0
2483
+ * @product highcharts highstock gantt
2484
+ */
2485
+ minPadding: 0.05,
2486
+
1529
2487
  /**
1530
2488
  * @productdesc {highstock}
1531
2489
  * In Highstock 1.x, the Y axis was placed on the left side by default.
1532
2490
  *
1533
- * @sample {highcharts} highcharts/yaxis/opposite/
1534
- * Secondary Y axis opposite
1535
- * @sample {highstock} stock/xaxis/opposite/
1536
- * Y axis on left side
2491
+ * @sample {highcharts} highcharts/yaxis/opposite/
2492
+ * Secondary Y axis opposite
2493
+ * @sample {highstock} stock/xaxis/opposite/
2494
+ * Y axis on left side
2495
+ *
2496
+ * @type {boolean}
1537
2497
  * @default {highstock} true
1538
2498
  * @default {highcharts} false
1539
- * @product highstock highcharts
2499
+ * @product highstock highcharts gantt
1540
2500
  * @apioption yAxis.opposite
1541
2501
  */
1542
2502
 
1543
2503
  /**
1544
- * @see [tickInterval](#xAxis.tickInterval),
1545
- * [tickPositioner](#xAxis.tickPositioner),
1546
- * [tickPositions](#xAxis.tickPositions).
2504
+ * @see [tickInterval](#xAxis.tickInterval)
2505
+ * @see [tickPositioner](#xAxis.tickPositioner)
2506
+ * @see [tickPositions](#xAxis.tickPositions)
1547
2507
  */
1548
2508
  tickPixelInterval: 72,
1549
2509
 
1550
2510
  showLastLabel: true,
1551
2511
 
1552
2512
  /**
1553
- * @extends xAxis.labels
2513
+ * @extends xAxis.labels
1554
2514
  */
1555
2515
  labels: {
1556
2516
  /**
@@ -1560,12 +2520,13 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1560
2520
  *
1561
2521
  * Angular gauges and solid gauges defaults to `center`.
1562
2522
  *
1563
- * @validvalue ["left", "center", "right"]
1564
- * @type {String}
1565
- * @sample {highcharts} highcharts/yaxis/labels-align-left/
1566
- * Left
2523
+ * @sample {highcharts} highcharts/yaxis/labels-align-left/
2524
+ * Left
2525
+ *
2526
+ * @type {string}
1567
2527
  * @default {highcharts|highmaps} right
1568
2528
  * @default {highstock} left
2529
+ * @validvalue ["left", "center", "right"]
1569
2530
  * @apioption yAxis.labels.align
1570
2531
  */
1571
2532
 
@@ -1584,64 +2545,269 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1584
2545
  * In Highmaps, the axis line is hidden by default, because the axis is
1585
2546
  * not visible by default.
1586
2547
  *
2548
+ * @type {Highcharts.ColorString}
1587
2549
  * @apioption yAxis.lineColor
1588
2550
  */
1589
2551
 
1590
2552
  /**
1591
- * @sample {highcharts} highcharts/yaxis/min-startontick-false/
1592
- * -50 with startOnTick to false
1593
- * @sample {highcharts} highcharts/yaxis/min-startontick-true/
1594
- * -50 with startOnTick true by default
1595
- * @sample {highstock} stock/yaxis/min-max/
1596
- * Fixed min and max on Y axis
1597
- * @sample {highmaps} maps/axis/min-max/
1598
- * Pre-zoomed to a specific area
2553
+ * @sample {highcharts} highcharts/yaxis/max-200/
2554
+ * Y axis max of 200
2555
+ * @sample {highcharts} highcharts/yaxis/max-logarithmic/
2556
+ * Y axis max on logarithmic axis
2557
+ * @sample {highstock} stock/yaxis/min-max/
2558
+ * Fixed min and max on Y axis
2559
+ * @sample {highmaps} maps/axis/min-max/
2560
+ * Pre-zoomed to a specific area
2561
+ *
2562
+ * @type {number}
2563
+ * @apioption yAxis.max
2564
+ */
2565
+
2566
+ /**
2567
+ * @sample {highcharts} highcharts/yaxis/min-startontick-false/
2568
+ * -50 with startOnTick to false
2569
+ * @sample {highcharts} highcharts/yaxis/min-startontick-true/
2570
+ * -50 with startOnTick true by default
2571
+ * @sample {highstock} stock/yaxis/min-max/
2572
+ * Fixed min and max on Y axis
2573
+ * @sample {highmaps} maps/axis/min-max/
2574
+ * Pre-zoomed to a specific area
2575
+ *
2576
+ * @type {number}
1599
2577
  * @apioption yAxis.min
1600
2578
  */
1601
2579
 
1602
2580
  /**
1603
- * @sample {highcharts} highcharts/yaxis/max-200/
1604
- * Y axis max of 200
1605
- * @sample {highcharts} highcharts/yaxis/max-logarithmic/
1606
- * Y axis max on logarithmic axis
1607
- * @sample {highstock} stock/yaxis/min-max/
1608
- * Fixed min and max on Y axis
1609
- * @sample {highmaps} maps/axis/min-max/
1610
- * Pre-zoomed to a specific area
1611
- * @apioption yAxis.max
2581
+ * An optional scrollbar to display on the Y axis in response to
2582
+ * limiting the minimum an maximum of the axis values.
2583
+ *
2584
+ * In styled mode, all the presentational options for the scrollbar
2585
+ * are replaced by the classes `.highcharts-scrollbar-thumb`,
2586
+ * `.highcharts-scrollbar-arrow`, `.highcharts-scrollbar-button`,
2587
+ * `.highcharts-scrollbar-rifles` and `.highcharts-scrollbar-track`.
2588
+ *
2589
+ * @sample {highstock} stock/yaxis/scrollbar/
2590
+ * Scrollbar on the Y axis
2591
+ *
2592
+ * @extends scrollbar
2593
+ * @excluding height
2594
+ * @since 4.2.6
2595
+ * @product highstock
2596
+ * @apioption yAxis.scrollbar
1612
2597
  */
1613
2598
 
1614
2599
  /**
1615
- * Padding of the max value relative to the length of the axis. A
1616
- * padding of 0.05 will make a 100px axis 5px longer. This is useful
1617
- * when you don't want the highest data value to appear on the edge
1618
- * of the plot area. When the axis' `max` option is set or a max extreme
1619
- * is set using `axis.setExtremes()`, the maxPadding will be ignored.
2600
+ * Enable the scrollbar on the Y axis.
1620
2601
  *
1621
- * @sample {highcharts} highcharts/yaxis/maxpadding-02/
1622
- * Max padding of 0.2
1623
- * @sample {highstock} stock/xaxis/minpadding-maxpadding/
1624
- * Greater min- and maxPadding
1625
- * @since 1.2.0
1626
- * @product highcharts highstock
2602
+ * @sample {highstock} stock/yaxis/scrollbar/
2603
+ * Enabled on Y axis
2604
+ *
2605
+ * @type {boolean}
2606
+ * @default false
2607
+ * @since 4.2.6
2608
+ * @product highstock
2609
+ * @apioption yAxis.scrollbar.enabled
1627
2610
  */
1628
- maxPadding: 0.05,
1629
2611
 
1630
2612
  /**
1631
- * Padding of the min value relative to the length of the axis. A
1632
- * padding of 0.05 will make a 100px axis 5px longer. This is useful
1633
- * when you don't want the lowest data value to appear on the edge
1634
- * of the plot area. When the axis' `min` option is set or a max extreme
1635
- * is set using `axis.setExtremes()`, the maxPadding will be ignored.
2613
+ * Pixel margin between the scrollbar and the axis elements.
1636
2614
  *
1637
- * @sample {highcharts} highcharts/yaxis/minpadding/
1638
- * Min padding of 0.2
1639
- * @sample {highstock} stock/xaxis/minpadding-maxpadding/
1640
- * Greater min- and maxPadding
1641
- * @since 1.2.0
1642
- * @product highcharts highstock
2615
+ * @type {number}
2616
+ * @default 10
2617
+ * @since 4.2.6
2618
+ * @product highstock
2619
+ * @apioption yAxis.scrollbar.margin
2620
+ */
2621
+
2622
+ /**
2623
+ * Whether to show the scrollbar when it is fully zoomed out at max
2624
+ * range. Setting it to `false` on the Y axis makes the scrollbar stay
2625
+ * hidden until the user zooms in, like common in browsers.
2626
+ *
2627
+ * @type {boolean}
2628
+ * @default true
2629
+ * @since 4.2.6
2630
+ * @product highstock
2631
+ * @apioption yAxis.scrollbar.showFull
2632
+ */
2633
+
2634
+ /**
2635
+ * The width of a vertical scrollbar or height of a horizontal
2636
+ * scrollbar. Defaults to 20 on touch devices.
2637
+ *
2638
+ * @type {number}
2639
+ * @default 14
2640
+ * @since 4.2.6
2641
+ * @product highstock
2642
+ * @apioption yAxis.scrollbar.size
2643
+ */
2644
+
2645
+ /**
2646
+ * Z index of the scrollbar elements.
2647
+ *
2648
+ * @type {number}
2649
+ * @default 3
2650
+ * @since 4.2.6
2651
+ * @product highstock
2652
+ * @apioption yAxis.scrollbar.zIndex
2653
+ */
2654
+
2655
+ /**
2656
+ * A soft maximum for the axis. If the series data maximum is less
2657
+ * than this, the axis will stay at this maximum, but if the series
2658
+ * data maximum is higher, the axis will flex to show all data.
2659
+ *
2660
+ * **Note**: The [series.softThreshold](
2661
+ * #plotOptions.series.softThreshold) option takes precedence over this
2662
+ * option.
2663
+ *
2664
+ * @sample highcharts/yaxis/softmin-softmax/
2665
+ * Soft min and max
2666
+ *
2667
+ * @type {number}
2668
+ * @since 5.0.1
2669
+ * @product highcharts highstock gantt
2670
+ * @apioption yAxis.softMax
2671
+ */
2672
+
2673
+ /**
2674
+ * A soft minimum for the axis. If the series data minimum is greater
2675
+ * than this, the axis will stay at this minimum, but if the series
2676
+ * data minimum is lower, the axis will flex to show all data.
2677
+ *
2678
+ * **Note**: The [series.softThreshold](
2679
+ * #plotOptions.series.softThreshold) option takes precedence over this
2680
+ * option.
2681
+ *
2682
+ * @sample highcharts/yaxis/softmin-softmax/
2683
+ * Soft min and max
2684
+ *
2685
+ * @type {number}
2686
+ * @since 5.0.1
2687
+ * @product highcharts highstock gantt
2688
+ * @apioption yAxis.softMin
2689
+ */
2690
+
2691
+ /**
2692
+ * Defines the horizontal alignment of the stack total label. Can be one
2693
+ * of `"left"`, `"center"` or `"right"`. The default value is calculated
2694
+ * at runtime and depends on orientation and whether the stack is
2695
+ * positive or negative.
2696
+ *
2697
+ * @sample {highcharts} highcharts/yaxis/stacklabels-align-left/
2698
+ * Aligned to the left
2699
+ * @sample {highcharts} highcharts/yaxis/stacklabels-align-center/
2700
+ * Aligned in center
2701
+ * @sample {highcharts} highcharts/yaxis/stacklabels-align-right/
2702
+ * Aligned to the right
2703
+ *
2704
+ * @type {string}
2705
+ * @since 2.1.5
2706
+ * @product highcharts
2707
+ * @validvalue ["left", "center", "right"]
2708
+ * @apioption yAxis.stackLabels.align
2709
+ */
2710
+
2711
+ /**
2712
+ * A [format string](http://docs.highcharts.com/#formatting) for the
2713
+ * data label. Available variables are the same as for `formatter`.
2714
+ *
2715
+ * @type {string}
2716
+ * @default {total}
2717
+ * @since 3.0.2
2718
+ * @product highcharts highstock
2719
+ * @apioption yAxis.stackLabels.format
2720
+ */
2721
+
2722
+ /**
2723
+ * Rotation of the labels in degrees.
2724
+ *
2725
+ * @sample {highcharts} highcharts/yaxis/stacklabels-rotation/
2726
+ * Labels rotated 45°
2727
+ *
2728
+ * @type {number}
2729
+ * @default 0
2730
+ * @since 2.1.5
2731
+ * @product highcharts
2732
+ * @apioption yAxis.stackLabels.rotation
2733
+ */
2734
+
2735
+ /**
2736
+ * The text alignment for the label. While `align` determines where the
2737
+ * texts anchor point is placed with regards to the stack, `textAlign`
2738
+ * determines how the text is aligned against its anchor point. Possible
2739
+ * values are `"left"`, `"center"` and `"right"`. The default value is
2740
+ * calculated at runtime and depends on orientation and whether the
2741
+ * stack is positive or negative.
2742
+ *
2743
+ * @sample {highcharts} highcharts/yaxis/stacklabels-textalign-left/
2744
+ * Label in center position but text-aligned left
2745
+ *
2746
+ * @type {string}
2747
+ * @since 2.1.5
2748
+ * @product highcharts
2749
+ * @validvalue ["left", "center", "right"]
2750
+ * @apioption yAxis.stackLabels.textAlign
2751
+ */
2752
+
2753
+ /**
2754
+ * Whether to [use HTML](https://www.highcharts.com/docs/chart-concepts/
2755
+ * labels-and-string-formatting#html) to render the labels.
2756
+ *
2757
+ * @type {boolean}
2758
+ * @default false
2759
+ * @since 3.0
2760
+ * @product highcharts highstock
2761
+ * @apioption yAxis.stackLabels.useHTML
2762
+ */
2763
+
2764
+ /**
2765
+ * Defines the vertical alignment of the stack total label. Can be one
2766
+ * of `"top"`, `"middle"` or `"bottom"`. The default value is calculated
2767
+ * at runtime and depends on orientation and whether the stack is
2768
+ * positive or negative.
2769
+ *
2770
+ * @sample {highcharts} highcharts/yaxis/stacklabels-verticalalign-top/
2771
+ * Vertically aligned top
2772
+ * @sample {highcharts} highcharts/yaxis/stacklabels-verticalalign-middle/
2773
+ * Vertically aligned middle
2774
+ * @sample {highcharts} highcharts/yaxis/stacklabels-verticalalign-bottom/
2775
+ * Vertically aligned bottom
2776
+ *
2777
+ * @type {string}
2778
+ * @since 2.1.5
2779
+ * @product highcharts
2780
+ * @validvalue ["top", "middle", "bottom"]
2781
+ * @apioption yAxis.stackLabels.verticalAlign
2782
+ */
2783
+
2784
+ /**
2785
+ * The x position offset of the label relative to the left of the
2786
+ * stacked bar. The default value is calculated at runtime and depends
2787
+ * on orientation and whether the stack is positive or negative.
2788
+ *
2789
+ * @sample {highcharts} highcharts/yaxis/stacklabels-x/
2790
+ * Stack total labels with x offset
2791
+ *
2792
+ * @type {number}
2793
+ * @since 2.1.5
2794
+ * @product highcharts
2795
+ * @apioption yAxis.stackLabels.x
2796
+ */
2797
+
2798
+ /**
2799
+ * The y position offset of the label relative to the tick position
2800
+ * on the axis. The default value is calculated at runtime and depends
2801
+ * on orientation and whether the stack is positive or negative.
2802
+ *
2803
+ * @sample {highcharts} highcharts/yaxis/stacklabels-y/
2804
+ * Stack total labels with y offset
2805
+ *
2806
+ * @type {number}
2807
+ * @since 2.1.5
2808
+ * @product highcharts
2809
+ * @apioption yAxis.stackLabels.y
1643
2810
  */
1644
- minPadding: 0.05,
1645
2811
 
1646
2812
  /**
1647
2813
  * Whether to force the axis to start on a tick. Use this option with
@@ -1653,16 +2819,26 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1653
2819
  * True
1654
2820
  * @sample {highstock} stock/xaxis/endontick/
1655
2821
  * False for Y axis
2822
+ *
1656
2823
  * @since 1.2.0
1657
- * @product highcharts highstock
2824
+ * @product highcharts highstock gantt
1658
2825
  */
1659
2826
  startOnTick: true,
1660
2827
 
1661
- /**
1662
- * @extends xAxis.title
1663
- */
1664
2828
  title: {
1665
2829
 
2830
+ /**
2831
+ * The pixel distance between the axis labels and the title.
2832
+ * Positive values are outside the axis line, negative are inside.
2833
+ *
2834
+ * @sample {highcharts} highcharts/xaxis/title-margin/
2835
+ * Y axis title margin of 60
2836
+ *
2837
+ * @type {number}
2838
+ * @default 40
2839
+ * @apioption yAxis.title.margin
2840
+ */
2841
+
1666
2842
  /**
1667
2843
  * The rotation of the text in degrees. 0 is horizontal, 270 is
1668
2844
  * vertical reading from bottom to top.
@@ -1676,17 +2852,35 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1676
2852
  * The actual text of the axis title. Horizontal texts can contain
1677
2853
  * HTML, but rotated texts are painted using vector techniques and
1678
2854
  * must be clean text. The Y axis title is disabled by setting the
1679
- * `text` option to `null`.
2855
+ * `text` option to `undefined`.
1680
2856
  *
1681
2857
  * @sample {highcharts} highcharts/xaxis/title-text/
1682
2858
  * Custom HTML
2859
+ *
1683
2860
  * @default {highcharts} Values
1684
- * @default {highstock} null
1685
- * @product highcharts highstock
2861
+ * @default {highstock} undefined
2862
+ * @product highcharts highstock gantt
1686
2863
  */
1687
2864
  text: 'Values'
1688
2865
  },
1689
2866
 
2867
+ /**
2868
+ * The top position of the Y axis. If it's a number, it is interpreted
2869
+ * as pixel position relative to the chart.
2870
+ *
2871
+ * Since Highstock 2: If it's a percentage string, it is interpreted
2872
+ * as percentages of the plot height, offset from plot area top.
2873
+ *
2874
+ * @see [yAxis.height](#yAxis.height)
2875
+ *
2876
+ * @sample {highstock} stock/demo/candlestick-and-volume/
2877
+ * Percentage height panes
2878
+ *
2879
+ * @type {number|string}
2880
+ * @product highstock
2881
+ * @apioption yAxis.top
2882
+ */
2883
+
1690
2884
  /**
1691
2885
  * The stack labels show the total value for each bar in a stacked
1692
2886
  * column or bar chart. The label will be placed on top of positive
@@ -1701,9 +2895,9 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1701
2895
  /**
1702
2896
  * Allow the stack labels to overlap.
1703
2897
  *
1704
- * @sample {highcharts}
1705
- * highcharts/yaxis/stacklabels-allowoverlap-false/
1706
- * Default false
2898
+ * @sample {highcharts} highcharts/yaxis/stacklabels-allowoverlap-false/
2899
+ * Default false
2900
+ *
1707
2901
  * @since 5.0.13
1708
2902
  * @product highcharts
1709
2903
  */
@@ -1712,8 +2906,9 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1712
2906
  /**
1713
2907
  * Enable or disable the stack total labels.
1714
2908
  *
1715
- * @sample {highcharts} highcharts/yaxis/stacklabels-enabled/
1716
- * Enabled stack total labels
2909
+ * @sample {highcharts} highcharts/yaxis/stacklabels-enabled/
2910
+ * Enabled stack total labels
2911
+ *
1717
2912
  * @since 2.1.5
1718
2913
  * @product highcharts
1719
2914
  */
@@ -1723,17 +2918,17 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1723
2918
  * Callback JavaScript function to format the label. The value is
1724
2919
  * given by `this.total`.
1725
2920
  *
1726
- * @default function() { return this.total; }
2921
+ * @sample {highcharts} highcharts/yaxis/stacklabels-formatter/
2922
+ * Added units to stack total value
1727
2923
  *
1728
- * @type {Function}
1729
- * @sample {highcharts} highcharts/yaxis/stacklabels-formatter/
1730
- * Added units to stack total value
2924
+ * @type {Highcharts.FormatterCallbackFunction}
1731
2925
  * @since 2.1.5
1732
2926
  * @product highcharts
1733
2927
  */
1734
2928
  formatter: function () {
1735
2929
  return H.numberFormat(this.total, -1);
1736
2930
  },
2931
+
1737
2932
 
1738
2933
 
1739
2934
  /**
@@ -1742,32 +2937,73 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1742
2937
  * In styled mode, the styles are set in the
1743
2938
  * `.highcharts-stack-label` class.
1744
2939
  *
1745
- * @type {CSSObject}
1746
- * @sample {highcharts} highcharts/yaxis/stacklabels-style/
1747
- * Red stack total labels
2940
+ * @sample {highcharts} highcharts/yaxis/stacklabels-style/
2941
+ * Red stack total labels
2942
+ *
2943
+ * @type {Highcharts.CSSObject}
2944
+ * @default {"color": "#666666", "fontSize": "11px", "fontWeight": "bold", "textOutline": "1px contrast"}
1748
2945
  * @since 2.1.5
1749
2946
  * @product highcharts
1750
2947
  */
1751
2948
  style: {
2949
+ /**
2950
+ * @ignore
2951
+ */
2952
+ color: '#000000',
2953
+ /**
2954
+ * @ignore
2955
+ */
1752
2956
  fontSize: '11px',
2957
+ /**
2958
+ * @ignore
2959
+ */
1753
2960
  fontWeight: 'bold',
1754
- color: '#000000',
2961
+ /**
2962
+ * @ignore
2963
+ */
1755
2964
  textOutline: '1px contrast'
1756
2965
  }
2966
+
1757
2967
 
2968
+
1758
2969
  },
2970
+
1759
2971
 
2972
+
1760
2973
  gridLineWidth: 1,
2974
+
1761
2975
  lineWidth: 0
2976
+
1762
2977
  // tickWidth: 0
2978
+
1763
2979
 
2980
+
1764
2981
  },
1765
2982
 
2983
+ /**
2984
+ * The Z axis or depth axis for 3D plots.
2985
+ *
2986
+ * See [the Axis object](/class-reference/Highcharts.Axis) for programmatic
2987
+ * access to the axis.
2988
+ *
2989
+ * @sample {highcharts} highcharts/3d/scatter-zaxis-categories/
2990
+ * Z-Axis with Categories
2991
+ * @sample {highcharts} highcharts/3d/scatter-zaxis-grid/
2992
+ * Z-Axis with styling
2993
+ *
2994
+ * @extends xAxis
2995
+ * @since 5.0.0
2996
+ * @product highcharts
2997
+ * @excluding breaks, crosshair, lineColor, lineWidth, nameToX, showEmpty
2998
+ * @apioption zAxis
2999
+ */
3000
+
1766
3001
  /**
1767
3002
  * These options extend the defaultOptions for left axes.
1768
3003
  *
1769
3004
  * @private
1770
- * @type {Object}
3005
+ * @name Highcharts.Axis#defaultLeftAxisOptions
3006
+ * @type {*}
1771
3007
  */
1772
3008
  defaultLeftAxisOptions: {
1773
3009
  labels: {
@@ -1782,7 +3018,8 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1782
3018
  * These options extend the defaultOptions for right axes.
1783
3019
  *
1784
3020
  * @private
1785
- * @type {Object}
3021
+ * @name Highcharts.Axis#defaultRightAxisOptions
3022
+ * @type {*}
1786
3023
  */
1787
3024
  defaultRightAxisOptions: {
1788
3025
  labels: {
@@ -1797,7 +3034,8 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1797
3034
  * These options extend the defaultOptions for bottom axes.
1798
3035
  *
1799
3036
  * @private
1800
- * @type {Object}
3037
+ * @name Highcharts.Axis#defaultBottomAxisOptions
3038
+ * @type {*}
1801
3039
  */
1802
3040
  defaultBottomAxisOptions: {
1803
3041
  labels: {
@@ -1814,7 +3052,8 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1814
3052
  * These options extend the defaultOptions for top axes.
1815
3053
  *
1816
3054
  * @private
1817
- * @type {Object}
3055
+ * @name Highcharts.Axis#defaultTopAxisOptions
3056
+ * @type {*}
1818
3057
  */
1819
3058
  defaultTopAxisOptions: {
1820
3059
  labels: {
@@ -1832,6 +3071,15 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1832
3071
  * Overrideable function to initialize the axis.
1833
3072
  *
1834
3073
  * @see {@link Axis}
3074
+ *
3075
+ * @function Highcharts.Axis#init
3076
+ *
3077
+ * @param {Highcharts.Chart} chart
3078
+ *
3079
+ * @param {Highcharts.Options} userOptions
3080
+ *
3081
+ * @fires Highcharts.Axis#event:afterInit
3082
+ * @fires Highcharts.Axis#event:init
1835
3083
  */
1836
3084
  init: function (chart, userOptions) {
1837
3085
 
@@ -1842,18 +3090,16 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1842
3090
  /**
1843
3091
  * The Chart that the axis belongs to.
1844
3092
  *
1845
- * @name chart
1846
- * @memberof Axis
1847
- * @type {Chart}
3093
+ * @name Highcharts.Axis#chart
3094
+ * @type {Highcharts.Chart}
1848
3095
  */
1849
3096
  axis.chart = chart;
1850
3097
 
1851
3098
  /**
1852
3099
  * Whether the axis is horizontal.
1853
3100
  *
1854
- * @name horiz
1855
- * @memberof Axis
1856
- * @type {Boolean}
3101
+ * @name Highcharts.Axis#horiz
3102
+ * @type {boolean}
1857
3103
  */
1858
3104
  axis.horiz = chart.inverted && !axis.isZAxis ? !isXAxis : isXAxis;
1859
3105
 
@@ -1865,9 +3111,8 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1865
3111
  * or `colorAxis`. Corresponds to properties on Chart, for example
1866
3112
  * {@link Chart.xAxis}.
1867
3113
  *
1868
- * @name coll
1869
- * @memberof Axis
1870
- * @type {String}
3114
+ * @name Highcharts.Axis#coll
3115
+ * @type {string}
1871
3116
  */
1872
3117
  axis.coll = axis.coll || (isXAxis ? 'xAxis' : 'yAxis');
1873
3118
 
@@ -1879,9 +3124,8 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1879
3124
  * The side on which the axis is rendered. 0 is top, 1 is right, 2 is
1880
3125
  * bottom and 3 is left.
1881
3126
  *
1882
- * @name side
1883
- * @memberof Axis
1884
- * @type {Number}
3127
+ * @name Highcharts.Axis#side
3128
+ * @type {number}
1885
3129
  */
1886
3130
  axis.side = userOptions.side || (axis.horiz ?
1887
3131
  (axis.opposite ? 0 : 2) : // top : bottom
@@ -1908,9 +3152,8 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1908
3152
  * Whether the axis is reversed. Based on the `axis.reversed`,
1909
3153
  * option, but inverted charts have reversed xAxis by default.
1910
3154
  *
1911
- * @name reversed
1912
- * @memberof Axis
1913
- * @type {Boolean}
3155
+ * @name Highcharts.Axis#reversed
3156
+ * @type {boolean}
1914
3157
  */
1915
3158
  axis.reversed = options.reversed;
1916
3159
  axis.visible = options.visible !== false;
@@ -1936,10 +3179,25 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1936
3179
  // Flag, if axis is linked to another axis
1937
3180
  axis.isLinked = defined(options.linkedTo);
1938
3181
 
1939
- // Major ticks
3182
+ /**
3183
+ * List of major ticks mapped by postition on axis.
3184
+ *
3185
+ * @name ticks
3186
+ * @memberOf Axis
3187
+ * @type {Object.<number, Highcharts.Tick>}
3188
+ * @see Highcharts.Tick
3189
+ */
1940
3190
  axis.ticks = {};
1941
3191
  axis.labelEdge = [];
1942
- // Minor ticks
3192
+ /**
3193
+ * List of minor ticks mapped by position on the axis.
3194
+ *
3195
+ * @name minorTicks
3196
+ * @memberOf Axis
3197
+ * @type {Object.<number, Highcharts.Tick>}
3198
+ *
3199
+ * @see Highcharts.Tick
3200
+ */
1943
3201
  axis.minorTicks = {};
1944
3202
 
1945
3203
  // List of plotLines/Bands
@@ -1966,9 +3224,8 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1966
3224
  * logarithm of the real value, and the real value can be obtained from
1967
3225
  * {@link Axis#getExtremes}.
1968
3226
  *
1969
- * @name max
1970
- * @memberof Axis
1971
- * @type {Number}
3227
+ * @name Highcharts.Axis#max
3228
+ * @type {number}
1972
3229
  */
1973
3230
  axis.max = null;
1974
3231
  /**
@@ -1976,9 +3233,8 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1976
3233
  * logarithm of the real value, and the real value can be obtained from
1977
3234
  * {@link Axis#getExtremes}.
1978
3235
  *
1979
- * @name min
1980
- * @memberof Axis
1981
- * @type {Number}
3236
+ * @name Highcharts.Axis#min
3237
+ * @type {number}
1982
3238
  */
1983
3239
  axis.min = null;
1984
3240
 
@@ -1986,9 +3242,8 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
1986
3242
  /**
1987
3243
  * The processed crosshair options.
1988
3244
  *
1989
- * @name crosshair
1990
- * @memberof Axis
1991
- * @type {AxisCrosshairOptions}
3245
+ * @name Highcharts.Axis#crosshair
3246
+ * @type {false|Highcharts.AxisCrosshairOptions}
1992
3247
  */
1993
3248
  axis.crosshair = pick(
1994
3249
  options.crosshair,
@@ -2012,9 +3267,8 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2012
3267
  /**
2013
3268
  * All series associated to the axis.
2014
3269
  *
2015
- * @name series
2016
- * @memberof Axis
2017
- * @type {Array<Series>}
3270
+ * @name Highcharts.Axis#series
3271
+ * @type {Array<Highcharts.Series>}
2018
3272
  */
2019
3273
  axis.series = axis.series || []; // populated by Series
2020
3274
 
@@ -2047,6 +3301,11 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2047
3301
  * Merge and set options.
2048
3302
  *
2049
3303
  * @private
3304
+ * @function Highcharts.Axis#setOptions
3305
+ *
3306
+ * @param {Highcharts.AxisOptions} userOptions
3307
+ *
3308
+ * @fires Highcharts.Axis#event:afterSetOptions
2050
3309
  */
2051
3310
  setOptions: function (userOptions) {
2052
3311
  this.options = merge(
@@ -2074,6 +3333,9 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2074
3333
  * labels.formatter} instead except when a modification is needed.
2075
3334
  *
2076
3335
  * @private
3336
+ * @function Highcharts.Axis#defaultLabelFormatter
3337
+ *
3338
+ * @return {string}
2077
3339
  */
2078
3340
  defaultLabelFormatter: function () {
2079
3341
  var axis = this.axis,
@@ -2143,6 +3405,10 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2143
3405
  * analyzes the axis series and updates `this.dataMin` and `this.dataMax`.
2144
3406
  *
2145
3407
  * @private
3408
+ * @function Highcharts.Axis#getSeriesExtremes
3409
+ *
3410
+ * @fires Highcharts.Axis#event:afterGetSeriesExtremes
3411
+ * @fires Highcharts.Axis#event:getSeriesExtremes
2146
3412
  */
2147
3413
  getSeriesExtremes: function () {
2148
3414
  var axis = this,
@@ -2261,6 +3527,21 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2261
3527
  * the `toPixels` and `toValue` functions in applications.
2262
3528
  *
2263
3529
  * @private
3530
+ * @function Highcharts.Axis#translate
3531
+ *
3532
+ * @param {number} val
3533
+ *
3534
+ * @param {boolean} [backwards]
3535
+ *
3536
+ * @param {boolean} [cvsCoord]
3537
+ *
3538
+ * @param {boolean} [old]
3539
+ *
3540
+ * @param {boolean} [handleLog]
3541
+ *
3542
+ * @param {number} [pointPlacement=0]
3543
+ *
3544
+ * @return {number|undefined}
2264
3545
  */
2265
3546
  translate: function (
2266
3547
  val,
@@ -2331,12 +3612,17 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2331
3612
  /**
2332
3613
  * Translate a value in terms of axis units into pixels within the chart.
2333
3614
  *
2334
- * @param {Number} value
2335
- * A value in terms of axis units.
2336
- * @param {Boolean} paneCoordinates
2337
- * Whether to return the pixel coordinate relative to the chart or
2338
- * just the axis/pane itself.
2339
- * @return {Number} Pixel position of the value on the chart or axis.
3615
+ * @function Highcharts.Axis#toPixels
3616
+ *
3617
+ * @param {number} value
3618
+ * A value in terms of axis units.
3619
+ *
3620
+ * @param {boolean} paneCoordinates
3621
+ * Whether to return the pixel coordinate relative to the chart or
3622
+ * just the axis/pane itself.
3623
+ *
3624
+ * @return {number}
3625
+ * Pixel position of the value on the chart or axis.
2340
3626
  */
2341
3627
  toPixels: function (value, paneCoordinates) {
2342
3628
  return this.translate(value, false, !this.horiz, null, true) +
@@ -2346,12 +3632,18 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2346
3632
  /**
2347
3633
  * Translate a pixel position along the axis to a value in terms of axis
2348
3634
  * units.
2349
- * @param {Number} pixel
2350
- * The pixel value coordinate.
2351
- * @param {Boolean} paneCoordiantes
2352
- * Whether the input pixel is relative to the chart or just the
2353
- * axis/pane itself.
2354
- * @return {Number} The axis value.
3635
+ *
3636
+ * @function Highcharts.Axis#toValue
3637
+ *
3638
+ * @param {number} pixel
3639
+ * The pixel value coordinate.
3640
+ *
3641
+ * @param {boolean} paneCoordiantes
3642
+ * Whether the input pixel is relative to the chart or just the
3643
+ * axis/pane itself.
3644
+ *
3645
+ * @return {number}
3646
+ * The axis value.
2355
3647
  */
2356
3648
  toValue: function (pixel, paneCoordinates) {
2357
3649
  return this.translate(
@@ -2368,20 +3660,28 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2368
3660
  * this axis, across the plot to the opposite side. Also used internally for
2369
3661
  * grid lines and crosshairs.
2370
3662
  *
2371
- * @param {Number} value
2372
- * Axis value.
2373
- * @param {Number} [lineWidth=1]
2374
- * Used for calculation crisp line coordinates.
2375
- * @param {Boolean} [old=false]
2376
- * Use old coordinates (for resizing and rescaling).
2377
- * @param {Boolean} [force=false]
2378
- * If `false`, the function will return null when it falls outside
2379
- * the axis bounds.
2380
- * @param {Number} [translatedValue]
2381
- * If given, return the plot line path of a pixel position on the
2382
- * axis.
2383
- *
2384
- * @return {Array<String|Number>}
3663
+ * @function Highcharts.Axis#getPlotLinePath
3664
+ *
3665
+ * @param {number} value
3666
+ * Axis value.
3667
+ *
3668
+ * @param {number} [lineWidth=1]
3669
+ * Used for calculation crisp line coordinates.
3670
+ *
3671
+ * @param {boolean} [old=false]
3672
+ * Use old coordinates (for resizing and rescaling).
3673
+ *
3674
+ * @param {boolean|string} [force=false]
3675
+ * If `false`, the function will return null when it falls outside
3676
+ * the axis bounds. If `true`, the function will return a path
3677
+ * aligned to the plot area sides if it falls outside. If `pass`, it
3678
+ * will return a path outside.
3679
+ *
3680
+ * @param {number} [translatedValue]
3681
+ * If given, return the plot line path of a pixel position on the
3682
+ * axis.
3683
+ *
3684
+ * @return {Array<string|number>}
2385
3685
  * The SVG path definition for the plot line.
2386
3686
  */
2387
3687
  getPlotLinePath: function (value, lineWidth, old, force, translatedValue) {
@@ -2402,7 +3702,7 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2402
3702
  * or skip, depending on the force parameter.
2403
3703
  */
2404
3704
  between = function (x, a, b) {
2405
- if (x < a || x > b) {
3705
+ if (force !== 'pass' && x < a || x > b) {
2406
3706
  if (force) {
2407
3707
  x = Math.min(Math.max(a, x), b);
2408
3708
  } else {
@@ -2447,14 +3747,18 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2447
3747
  * Internal function to et the tick positions of a linear axis to round
2448
3748
  * values like whole tens or every five.
2449
3749
  *
2450
- * @param {Number} tickInterval
2451
- * The normalized tick interval
2452
- * @param {Number} min
2453
- * Axis minimum.
2454
- * @param {Number} max
2455
- * Axis maximum.
3750
+ * @function Highcharts.Axis#getLinearTickPositions
3751
+ *
3752
+ * @param {number} tickInterval
3753
+ * The normalized tick interval.
3754
+ *
3755
+ * @param {number} min
3756
+ * Axis minimum.
2456
3757
  *
2457
- * @return {Array<Number>}
3758
+ * @param {number} max
3759
+ * Axis maximum.
3760
+ *
3761
+ * @return {Array<number>}
2458
3762
  * An array of axis values where ticks should be placed.
2459
3763
  */
2460
3764
  getLinearTickPositions: function (tickInterval, min, max) {
@@ -2508,6 +3812,10 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2508
3812
  /**
2509
3813
  * Resolve the new minorTicks/minorTickInterval options into the legacy
2510
3814
  * loosely typed minorTickInterval option.
3815
+ *
3816
+ * @function Highcharts.Axis#getMinorTickInterval
3817
+ *
3818
+ * @return {number|'auto'|null}
2511
3819
  */
2512
3820
  getMinorTickInterval: function () {
2513
3821
  var options = this.options;
@@ -2525,7 +3833,9 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2525
3833
  * Internal function to return the minor tick positions. For logarithmic
2526
3834
  * axes, the same logic as for major ticks is reused.
2527
3835
  *
2528
- * @return {Array<Number>}
3836
+ * @function Highcharts.Axis#getMinorTickPositions
3837
+ *
3838
+ * @return {Array<number>}
2529
3839
  * An array of axis values where ticks should be placed.
2530
3840
  */
2531
3841
  getMinorTickPositions: function () {
@@ -2602,6 +3912,7 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2602
3912
  * max.
2603
3913
  *
2604
3914
  * @private
3915
+ * @function Highcharts.Axis#adjustForMinRange
2605
3916
  */
2606
3917
  adjustForMinRange: function () {
2607
3918
  var axis = this,
@@ -2694,6 +4005,9 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2694
4005
  * Find the closestPointRange across all series.
2695
4006
  *
2696
4007
  * @private
4008
+ * @function Highcharts.Axis#getClosest
4009
+ *
4010
+ * @return {number}
2697
4011
  */
2698
4012
  getClosest: function () {
2699
4013
  var ret;
@@ -2726,11 +4040,12 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2726
4040
  * new category (#2522).
2727
4041
  *
2728
4042
  * @private
4043
+ * @function Highcharts.Axis#nameToX
2729
4044
  *
2730
- * @param {Point}
2731
- * The point to inspect.
4045
+ * @param {Highcharts.Point} point
4046
+ * The point to inspect.
2732
4047
  *
2733
- * @return {Number}
4048
+ * @return {number}
2734
4049
  * The X value that the point is given.
2735
4050
  */
2736
4051
  nameToX: function (point) {
@@ -2773,6 +4088,7 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2773
4088
  * When changes have been done to series data, update the axis.names.
2774
4089
  *
2775
4090
  * @private
4091
+ * @function Highcharts.Axis#updateNames
2776
4092
  */
2777
4093
  updateNames: function () {
2778
4094
  var axis = this,
@@ -2815,6 +4131,11 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2815
4131
  * Update translation information.
2816
4132
  *
2817
4133
  * @private
4134
+ * @function Highcharts.Axis#setAxisTranslation
4135
+ *
4136
+ * @param {boolean} saveOld
4137
+ *
4138
+ * @fires Highcharts.Axis#event:afterSetAxisTranslation
2818
4139
  */
2819
4140
  setAxisTranslation: function (saveOld) {
2820
4141
  var axis = this,
@@ -2904,7 +4225,7 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2904
4225
  axis.oldTransA = transA;
2905
4226
  }
2906
4227
  axis.translationSlope = axis.transA = transA =
2907
- axis.options.staticScale ||
4228
+ axis.staticScale ||
2908
4229
  axis.len / ((range + pointRangePadding) || 1);
2909
4230
 
2910
4231
  // Translation addend
@@ -2914,6 +4235,12 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2914
4235
  fireEvent(this, 'afterSetAxisTranslation');
2915
4236
  },
2916
4237
 
4238
+ /**
4239
+ * @private
4240
+ * @function Highcharts.Axis#minFromRange
4241
+ *
4242
+ * @return {number}
4243
+ */
2917
4244
  minFromRange: function () {
2918
4245
  return this.max - this.range;
2919
4246
  },
@@ -2923,6 +4250,11 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
2923
4250
  * to the nearest tick.
2924
4251
  *
2925
4252
  * @private
4253
+ * @function Highcharts.Axis#setTickInterval
4254
+ *
4255
+ * @param {boolean} secondPass
4256
+ *
4257
+ * @fires Highcharts.Axis#event:foundExtremes
2926
4258
  */
2927
4259
  setTickInterval: function (secondPass) {
2928
4260
  var axis = this,
@@ -3193,6 +4525,10 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3193
4525
 
3194
4526
  /**
3195
4527
  * Now we have computed the normalized tickInterval, get the tick positions
4528
+ *
4529
+ * @function Highcharts.Axis#setTickPositions
4530
+ *
4531
+ * @fires Highcharts.Axis#event:afterSetTickPositions
3196
4532
  */
3197
4533
  setTickPositions: function () {
3198
4534
 
@@ -3240,7 +4576,19 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3240
4576
  tickPositionsOption && tickPositionsOption.slice();
3241
4577
  if (!tickPositions) {
3242
4578
 
3243
- if (this.isDatetimeAxis) {
4579
+ // Too many ticks (#6405). Create a friendly warning and provide two
4580
+ // ticks so at least we can show the data series.
4581
+ if (
4582
+ !this.ordinalPositions &&
4583
+ (
4584
+ (this.max - this.min) / this.tickInterval >
4585
+ Math.max(2 * this.len, 200)
4586
+ )
4587
+ ) {
4588
+ tickPositions = [this.min, this.max];
4589
+ H.error(19);
4590
+
4591
+ } else if (this.isDatetimeAxis) {
3244
4592
  tickPositions = this.getTimeTicks(
3245
4593
  this.normalizeTimeTickInterval(
3246
4594
  this.tickInterval,
@@ -3316,6 +4664,13 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3316
4664
  * rounded min/max. Also handle single data points.
3317
4665
  *
3318
4666
  * @private
4667
+ * @function Highcharts.Axis#trimTicks
4668
+ *
4669
+ * @param {Array<number>} tickPositions
4670
+ *
4671
+ * @param {boolean} startOnTicl
4672
+ *
4673
+ * @param {boolean} endOnTick
3319
4674
  */
3320
4675
  trimTicks: function (tickPositions, startOnTick, endOnTick) {
3321
4676
  var roundedMin = tickPositions[0],
@@ -3355,7 +4710,9 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3355
4710
  * Check if there are multiple axes in the same pane.
3356
4711
  *
3357
4712
  * @private
3358
- * @return {Boolean}
4713
+ * @function Highcharts.Axis#alignToOthers
4714
+ *
4715
+ * @return {boolean}
3359
4716
  * True if there are other axes.
3360
4717
  */
3361
4718
  alignToOthers: function () {
@@ -3404,6 +4761,7 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3404
4761
  * in `this.tickAmount`.
3405
4762
  *
3406
4763
  * @private
4764
+ * @function Highcharts.Axis#getTickAmount
3407
4765
  */
3408
4766
  getTickAmount: function () {
3409
4767
  var options = this.options,
@@ -3443,6 +4801,7 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3443
4801
  * number of ticks in that group.
3444
4802
  *
3445
4803
  * @private
4804
+ * @function Highcharts.Axis#adjustTickAmount
3446
4805
  */
3447
4806
  adjustTickAmount: function () {
3448
4807
  var tickInterval = this.tickInterval,
@@ -3508,6 +4867,9 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3508
4867
  * Set the scale based on data min and max, user set min and max or options.
3509
4868
  *
3510
4869
  * @private
4870
+ * @function Highcharts.Axis#setScale
4871
+ *
4872
+ * @fires Highcharts.Axis#event:afterSetScale
3511
4873
  */
3512
4874
  setScale: function () {
3513
4875
  var axis = this,
@@ -3585,18 +4947,6 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3585
4947
  * will not allow a range lower than the `minRange` option, which by default
3586
4948
  * is the range of five points.
3587
4949
  *
3588
- * @param {Number} [newMin]
3589
- * The new minimum value.
3590
- * @param {Number} [newMax]
3591
- * The new maximum value.
3592
- * @param {Boolean} [redraw=true]
3593
- * Whether to redraw the chart or wait for an explicit call to
3594
- * {@link Highcharts.Chart#redraw}
3595
- * @param {AnimationOptions} [animation=true]
3596
- * Enable or modify animations.
3597
- * @param {Object} [eventArguments]
3598
- * Arguments to be accessed in event handler.
3599
- *
3600
4950
  * @sample highcharts/members/axis-setextremes/
3601
4951
  * Set extremes from a button
3602
4952
  * @sample highcharts/members/axis-setextremes-datetime/
@@ -3607,6 +4957,26 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3607
4957
  * Set extremes in Highstock
3608
4958
  * @sample maps/members/axis-setextremes/
3609
4959
  * Set extremes in Highmaps
4960
+ *
4961
+ * @function Highcharts.Axis#setExtremes
4962
+ *
4963
+ * @param {number} [newMin]
4964
+ * The new minimum value.
4965
+ *
4966
+ * @param {number} [newMax]
4967
+ * The new maximum value.
4968
+ *
4969
+ * @param {boolean} [redraw=true]
4970
+ * Whether to redraw the chart or wait for an explicit call to
4971
+ * {@link Highcharts.Chart#redraw}
4972
+ *
4973
+ * @param {boolean|Highcharts.AnimationOptionsObject} [animation=true]
4974
+ * Enable or modify animations.
4975
+ *
4976
+ * @param {*} [eventArguments]
4977
+ * Arguments to be accessed in event handler.
4978
+ *
4979
+ * @fires Highcharts.Axis#event:setExtremes
3610
4980
  */
3611
4981
  setExtremes: function (newMin, newMax, redraw, animation, eventArguments) {
3612
4982
  var axis = this,
@@ -3642,6 +5012,13 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3642
5012
  * allow overriding in stock charts.
3643
5013
  *
3644
5014
  * @private
5015
+ * @function Highcharts.Axis#zoom
5016
+ *
5017
+ * @param {number} newMin
5018
+ *
5019
+ * @param {number} newMax
5020
+ *
5021
+ * @return {boolean}
3645
5022
  */
3646
5023
  zoom: function (newMin, newMax) {
3647
5024
  var dataMin = this.dataMin,
@@ -3695,6 +5072,7 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3695
5072
  * Update the axis metrics.
3696
5073
  *
3697
5074
  * @private
5075
+ * @function Highcharts.Axis#setAxisSize
3698
5076
  */
3699
5077
  setAxisSize: function () {
3700
5078
  var chart = this.chart,
@@ -3739,35 +5117,18 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3739
5117
  this.pos = horiz ? left : top; // distance from SVG origin
3740
5118
  },
3741
5119
 
3742
- /**
3743
- * The returned object literal from the {@link Highcharts.Axis#getExtremes}
3744
- * function.
3745
- *
3746
- * @typedef {Object} Extremes
3747
- * @property {Number} dataMax
3748
- * The maximum value of the axis' associated series.
3749
- * @property {Number} dataMin
3750
- * The minimum value of the axis' associated series.
3751
- * @property {Number} max
3752
- * The maximum axis value, either automatic or set manually. If
3753
- * the `max` option is not set, `maxPadding` is 0 and `endOnTick`
3754
- * is false, this value will be the same as `dataMax`.
3755
- * @property {Number} min
3756
- * The minimum axis value, either automatic or set manually. If
3757
- * the `min` option is not set, `minPadding` is 0 and
3758
- * `startOnTick` is false, this value will be the same
3759
- * as `dataMin`.
3760
- */
3761
5120
  /**
3762
5121
  * Get the current extremes for the axis.
3763
5122
  *
3764
- * @returns {Extremes}
3765
- * An object containing extremes information.
5123
+ * @sample highcharts/members/axis-getextremes/
5124
+ * Report extremes by click on a button
5125
+ * @sample maps/members/axis-getextremes/
5126
+ * Get extremes in Highmaps
5127
+ *
5128
+ * @function Highcharts.Axis#getExtremes
3766
5129
  *
3767
- * @sample highcharts/members/axis-getextremes/
3768
- * Report extremes by click on a button
3769
- * @sample maps/members/axis-getextremes/
3770
- * Get extremes in Highmaps
5130
+ * @returns {Highcharts.ExtremesObject}
5131
+ * An object containing extremes information.
3771
5132
  */
3772
5133
  getExtremes: function () {
3773
5134
  var axis = this,
@@ -3787,10 +5148,12 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3787
5148
  * Get the zero plane either based on zero or on the min or max value.
3788
5149
  * Used in bar and area plots.
3789
5150
  *
3790
- * @param {Number} threshold
3791
- * The threshold in axis values.
5151
+ * @function Highcharts.Axis#getThreshold
5152
+ *
5153
+ * @param {number} threshold
5154
+ * The threshold in axis values.
3792
5155
  *
3793
- * @return {Number}
5156
+ * @return {number}
3794
5157
  * The translated threshold position in terms of pixels, and
3795
5158
  * corrected to stay within the axis bounds.
3796
5159
  */
@@ -3817,10 +5180,15 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3817
5180
  * Compute auto alignment for the axis label based on which side the axis is
3818
5181
  * on and the given rotation for the label.
3819
5182
  *
3820
- * @param {Number} rotation
3821
- * The rotation in degrees as set by either the `rotation` or
3822
- * `autoRotation` options.
3823
5183
  * @private
5184
+ * @function Highcharts.Axis#autoLabelAlign
5185
+ *
5186
+ * @param {number} rotation
5187
+ * The rotation in degrees as set by either the `rotation` or
5188
+ * `autoRotation` options.
5189
+ *
5190
+ * @return {string}
5191
+ * Can be `center`, `left` or `right`.
3824
5192
  */
3825
5193
  autoLabelAlign: function (rotation) {
3826
5194
  var ret,
@@ -3840,10 +5208,12 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3840
5208
  * Get the tick length and width for the axis based on axis options.
3841
5209
  *
3842
5210
  * @private
5211
+ * @function Highcharts.Axis#tickSize
3843
5212
  *
3844
- * @param {String} prefix
3845
- * 'tick' or 'minorTick'
3846
- * @return {Array<Number>}
5213
+ * @param {string} prefix
5214
+ * 'tick' or 'minorTick'
5215
+ *
5216
+ * @return {Array<number>}
3847
5217
  * An array of tickLength and tickWidth
3848
5218
  */
3849
5219
  tickSize: function (prefix) {
@@ -3868,6 +5238,9 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3868
5238
  * Return the size of the labels.
3869
5239
  *
3870
5240
  * @private
5241
+ * @function Highcharts.Axis#labelMetrics
5242
+ *
5243
+ * @return {Highcharts.FontMetricsObject}
3871
5244
  */
3872
5245
  labelMetrics: function () {
3873
5246
  var index = this.tickPositions && this.tickPositions[0] || 0;
@@ -3883,6 +5256,9 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3883
5256
  * and adding ellipsis. On a vertical axis remove ticks and add ellipsis.
3884
5257
  *
3885
5258
  * @private
5259
+ * @function Highcharts.Axis#unsquish
5260
+ *
5261
+ * @return {number}
3886
5262
  */
3887
5263
  unsquish: function () {
3888
5264
  var labelOptions = this.options.labels,
@@ -3961,15 +5337,17 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3961
5337
  * rendering and placement.
3962
5338
  *
3963
5339
  * @private
5340
+ * @function Highcharts.Axis#getSlotWidth
3964
5341
  *
3965
- * @param {Object} tick Optionally, calculate the slot width basing on
3966
- * tick label. It is used in highcharts-3d module, where the slots has
3967
- * different widths depending on perspective angles.
5342
+ * @param {*} [tick]
5343
+ * Optionally, calculate the slot width basing on tick label. It is
5344
+ * used in highcharts-3d module, where the slots has different widths
5345
+ * depending on perspective angles.
3968
5346
  *
3969
- * @return {Number}
5347
+ * @return {number}
3970
5348
  * The pixel width allocated to each axis label.
3971
5349
  */
3972
- getSlotWidth: function () {
5350
+ getSlotWidth: function (tick) {
3973
5351
  // #5086, #1580, #1931
3974
5352
  var chart = this.chart,
3975
5353
  horiz = this.horiz,
@@ -3981,6 +5359,9 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
3981
5359
  marginLeft = chart.margin[3];
3982
5360
 
3983
5361
  return (
5362
+ tick &&
5363
+ tick.slotWidth // Used by grid axis
5364
+ ) || (
3984
5365
  horiz &&
3985
5366
  (labelOptions.step || 0) < 2 &&
3986
5367
  !labelOptions.rotation && // #4415
@@ -4007,6 +5388,7 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4007
5388
  * to be applied.
4008
5389
  *
4009
5390
  * @private
5391
+ * @function Highcharts.Axis#renderUnsquish
4010
5392
  */
4011
5393
  renderUnsquish: function () {
4012
5394
  var chart = this.chart,
@@ -4113,7 +5495,7 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4113
5495
  commonWidth = (
4114
5496
  maxLabelLength > chart.chartHeight * 0.5 ?
4115
5497
  chart.chartHeight * 0.33 :
4116
- chart.chartHeight
5498
+ maxLabelLength
4117
5499
  );
4118
5500
  if (!textOverflowOption) {
4119
5501
  commonTextOverflow = 'ellipsis';
@@ -4133,11 +5515,14 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4133
5515
  label = tick && tick.label,
4134
5516
  widthOption = labelStyleOptions.width,
4135
5517
  css = {};
5518
+
4136
5519
  if (label) {
4137
5520
  // This needs to go before the CSS in old IE (#4502)
4138
5521
  label.attr(attr);
4139
5522
 
4140
- if (
5523
+ if (tick.shortenLabel) {
5524
+ tick.shortenLabel();
5525
+ } else if (
4141
5526
  commonWidth &&
4142
5527
  !widthOption &&
4143
5528
  // Setting width in this case messes with the bounding box
@@ -4172,7 +5557,7 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4172
5557
  delete label.specificTextOverflow;
4173
5558
  tick.rotation = attr.rotation;
4174
5559
  }
4175
- });
5560
+ }, this);
4176
5561
 
4177
5562
  // Note: Why is this not part of getLabelPosition?
4178
5563
  this.tickRotCorr = renderer.rotCorr(
@@ -4185,7 +5570,9 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4185
5570
  /**
4186
5571
  * Return true if the axis has associated data.
4187
5572
  *
4188
- * @return {Boolean}
5573
+ * @function Highcharts.Axis#hasData
5574
+ *
5575
+ * @return {boolean}
4189
5576
  * True if the axis has associated visible series and those series
4190
5577
  * have either valid data points or explicit `min` and `max`
4191
5578
  * settings.
@@ -4204,7 +5591,11 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4204
5591
 
4205
5592
  /**
4206
5593
  * Adds the title defined in axis.options.title.
4207
- * @param {Boolean} display - whether or not to display the title
5594
+ *
5595
+ * @function Highcharts.Axis#addTitle
5596
+ *
5597
+ * @param {boolean} display
5598
+ * Whether or not to display the title.
4208
5599
  */
4209
5600
  addTitle: function (display) {
4210
5601
  var axis = this,
@@ -4267,8 +5658,11 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4267
5658
  * Generates a tick for initial positioning.
4268
5659
  *
4269
5660
  * @private
5661
+ * @function Highcharts.Axis#generateTick
5662
+ *
4270
5663
  * @param {number} pos
4271
5664
  * The tick position in axis values.
5665
+ *
4272
5666
  * @param {number} i
4273
5667
  * The index of the tick in {@link Axis.tickPositions}.
4274
5668
  */
@@ -4283,9 +5677,13 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4283
5677
  },
4284
5678
 
4285
5679
  /**
4286
- * Render the tick labels to a preliminary position to get their sizes.
5680
+ /**
5681
+ * Render the tick labels to a preliminary position to get their sizes
4287
5682
  *
4288
5683
  * @private
5684
+ * @function Highcharts.Axis#getOffset
5685
+ *
5686
+ * @fires Highcharts.Axis#event:afterGetOffset
4289
5687
  */
4290
5688
  getOffset: function () {
4291
5689
  var axis = this,
@@ -4314,7 +5712,7 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4314
5712
  className = options.className,
4315
5713
  axisParent = axis.axisParent, // Used in color axis
4316
5714
  lineHeightCorrection,
4317
- tickSize = this.tickSize('tick');
5715
+ tickSize;
4318
5716
 
4319
5717
  // For reuse in Axis.render
4320
5718
  hasData = axis.hasData();
@@ -4440,6 +5838,17 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4440
5838
 
4441
5839
  axis.axisTitleMargin = pick(titleOffsetOption, labelOffsetPadded);
4442
5840
 
5841
+ if (axis.getMaxLabelDimensions) {
5842
+ axis.maxLabelDimensions = axis.getMaxLabelDimensions(
5843
+ ticks,
5844
+ tickPositions
5845
+ );
5846
+ }
5847
+
5848
+ // Due to GridAxis.tickSize, tickSize should be calculated after ticks
5849
+ // has rendered.
5850
+ tickSize = this.tickSize('tick');
5851
+
4443
5852
  axisOffset[side] = Math.max(
4444
5853
  axisOffset[side],
4445
5854
  axis.axisTitleMargin + titleOffset + directionFactor * axis.offset,
@@ -4455,15 +5864,20 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4455
5864
  0 :
4456
5865
  Math.floor(axis.axisLine.strokeWidth() / 2) * 2; // #4308, #4371
4457
5866
  clipOffset[invertedSide] = Math.max(clipOffset[invertedSide], clip);
5867
+
5868
+ fireEvent(this, 'afterGetOffset');
4458
5869
  },
4459
5870
 
4460
5871
  /**
4461
5872
  * Internal function to get the path for the axis line. Extended for polar
4462
5873
  * charts.
4463
5874
  *
4464
- * @param {Number} lineWidth
4465
- * The line width in pixels.
4466
- * @return {Array}
5875
+ * @function Highcharts.Axis#getLinePath
5876
+ *
5877
+ * @param {number} lineWidth
5878
+ * The line width in pixels.
5879
+ *
5880
+ * @return {Highcharts.SVGPathArray}
4467
5881
  * The SVG path definition in array form.
4468
5882
  */
4469
5883
  getLinePath: function (lineWidth) {
@@ -4501,6 +5915,8 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4501
5915
  /**
4502
5916
  * Render the axis line. Called internally when rendering and redrawing the
4503
5917
  * axis.
5918
+ *
5919
+ * @function Highcharts.Axis#renderLine
4504
5920
  */
4505
5921
  renderLine: function () {
4506
5922
  if (!this.axisLine) {
@@ -4522,8 +5938,9 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4522
5938
  * Position the axis title.
4523
5939
  *
4524
5940
  * @private
5941
+ * @function Highcharts.Axis#getTitlePosition
4525
5942
  *
4526
- * @return {Object}
5943
+ * @return {Highcharts.AxisTitlePositionObject}
4527
5944
  * X and Y positions for the title.
4528
5945
  */
4529
5946
  getTitlePosition: function () {
@@ -4585,8 +6002,10 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4585
6002
  * Render a minor tick into the given position. If a minor tick already
4586
6003
  * exists in this position, move it.
4587
6004
  *
4588
- * @param {number} pos
4589
- * The position in axis values.
6005
+ * @function Highcharts.Axis#renderMinorTick
6006
+ *
6007
+ * @param {number} pos
6008
+ * The position in axis values.
4590
6009
  */
4591
6010
  renderMinorTick: function (pos) {
4592
6011
  var slideInTicks = this.chart.hasRendered && isNumber(this.oldMin),
@@ -4608,10 +6027,13 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4608
6027
  * Render a major tick into the given position. If a tick already exists
4609
6028
  * in this position, move it.
4610
6029
  *
4611
- * @param {number} pos
4612
- * The position in axis values.
4613
- * @param {number} i
4614
- * The tick index.
6030
+ * @function Highcharts.Axis#renderTick
6031
+ *
6032
+ * @param {number} pos
6033
+ * The position in axis values.
6034
+ *
6035
+ * @param {number} i
6036
+ * The tick index.
4615
6037
  */
4616
6038
  renderTick: function (pos, i) {
4617
6039
  var isLinked = this.isLinked,
@@ -4624,10 +6046,13 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4624
6046
  if (!ticks[pos]) {
4625
6047
  ticks[pos] = new Tick(this, pos);
4626
6048
  }
4627
-
6049
+ // NOTE this seems like overkill. Could be handled in tick.render by
6050
+ // setting old position in attr, then set new position in animate.
4628
6051
  // render new ticks in old position
4629
6052
  if (slideInTicks && ticks[pos].isNew) {
4630
- ticks[pos].render(i, true, 0.1);
6053
+ // Start with negative opacity so that it is visible from
6054
+ // halfway into the animation
6055
+ ticks[pos].render(i, true, -1);
4631
6056
  }
4632
6057
 
4633
6058
  ticks[pos].render(i);
@@ -4638,6 +6063,9 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4638
6063
  * Render the axis.
4639
6064
  *
4640
6065
  * @private
6066
+ * @function Highcharts.Axis#render
6067
+ *
6068
+ * @fires Highcharts.Axis#event:afterRender
4641
6069
  */
4642
6070
  render: function () {
4643
6071
  var axis = this,
@@ -4823,6 +6251,7 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4823
6251
  * internally from {@link Chart#redraw}.
4824
6252
  *
4825
6253
  * @private
6254
+ * @function Highcharts.Axis#redraw
4826
6255
  */
4827
6256
  redraw: function () {
4828
6257
 
@@ -4852,8 +6281,10 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4852
6281
  * to fully remove the axis.
4853
6282
  *
4854
6283
  * @private
4855
- * @param {Boolean} keepEvents
4856
- * Whether to preserve events, used internally in Axis.update.
6284
+ * @function Highcharts.Axis#destroy
6285
+ *
6286
+ * @param {boolean} keepEvents
6287
+ * Whether to preserve events, used internally in Axis.update.
4857
6288
  */
4858
6289
  destroy: function (keepEvents) {
4859
6290
  var axis = this,
@@ -4890,10 +6321,10 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4890
6321
  }
4891
6322
  }
4892
6323
 
4893
- // Destroy local variables
6324
+ // Destroy elements
4894
6325
  each(
4895
6326
  ['stackTotalGroup', 'axisLine', 'axisTitle', 'axisGroup',
4896
- 'gridGroup', 'labelGroup', 'cross'],
6327
+ 'gridGroup', 'labelGroup', 'cross', 'scrollbar'],
4897
6328
  function (prop) {
4898
6329
  if (axis[prop]) {
4899
6330
  axis[prop] = axis[prop].destroy();
@@ -4918,11 +6349,17 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
4918
6349
  /**
4919
6350
  * Internal function to draw a crosshair.
4920
6351
  *
4921
- * @param {PointerEvent} [e]
4922
- * The event arguments from the modified pointer event, extended
4923
- * with `chartX` and `chartY`
4924
- * @param {Point} [point]
4925
- * The Point object if the crosshair snaps to points.
6352
+ * @function Highcharts.Axis#drawCrosshair
6353
+ *
6354
+ * @param {Highcharts.PointerEventObject} [e]
6355
+ * The event arguments from the modified pointer event, extended with
6356
+ * `chartX` and `chartY`
6357
+ *
6358
+ * @param {Highcharts.Point} [point]
6359
+ * The Point object if the crosshair snaps to points.
6360
+ *
6361
+ * @fires Highcharts.Axis#event:afterDrawCrosshair
6362
+ * @fires Highcharts.Axis#event:drawCrosshair
4926
6363
  */
4927
6364
  drawCrosshair: function (e, point) {
4928
6365
 
@@ -5040,7 +6477,9 @@ H.extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */{
5040
6477
  },
5041
6478
 
5042
6479
  /**
5043
- * Hide the crosshair if visible.
6480
+ * Hide the crosshair if visible.
6481
+ *
6482
+ * @function Highcharts.Axis#hideCrosshair
5044
6483
  */
5045
6484
  hideCrosshair: function () {
5046
6485
  if (this.cross) {