highcharts-rails 5.0.7 → 5.0.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (26) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.markdown +41 -0
  3. data/README.markdown +3 -6
  4. data/app/assets/javascripts/highcharts.js +758 -455
  5. data/app/assets/javascripts/highcharts/highcharts-3d.js +58 -50
  6. data/app/assets/javascripts/highcharts/highcharts-more.js +21 -35
  7. data/app/assets/javascripts/highcharts/modules/accessibility.js +69 -39
  8. data/app/assets/javascripts/highcharts/modules/annotations.js +2 -2
  9. data/app/assets/javascripts/highcharts/modules/boost.js +2316 -337
  10. data/app/assets/javascripts/highcharts/modules/broken-axis.js +17 -3
  11. data/app/assets/javascripts/highcharts/modules/data.js +2 -2
  12. data/app/assets/javascripts/highcharts/modules/drilldown.js +6 -6
  13. data/app/assets/javascripts/highcharts/modules/exporting.js +4 -4
  14. data/app/assets/javascripts/highcharts/modules/funnel.js +4 -4
  15. data/app/assets/javascripts/highcharts/modules/grid-axis.js +6 -6
  16. data/app/assets/javascripts/highcharts/modules/heatmap.js +10 -7
  17. data/app/assets/javascripts/highcharts/modules/no-data-to-display.js +2 -2
  18. data/app/assets/javascripts/highcharts/modules/offline-exporting.js +3 -3
  19. data/app/assets/javascripts/highcharts/modules/overlapping-datalabels.js +3 -3
  20. data/app/assets/javascripts/highcharts/modules/series-label.js +2 -2
  21. data/app/assets/javascripts/highcharts/modules/solid-gauge.js +40 -4
  22. data/app/assets/javascripts/highcharts/modules/stock.js +100 -81
  23. data/app/assets/javascripts/highcharts/modules/treemap.js +36 -9
  24. data/app/assets/javascripts/highcharts/modules/xrange-series.js +2 -2
  25. data/lib/highcharts/version.rb +1 -1
  26. metadata +2 -2
@@ -1,11 +1,12 @@
1
1
  /**
2
- * @license Highcharts JS v5.0.7 (2017-01-17)
2
+ * @license Highcharts JS v5.0.8 (2017-03-08)
3
3
  * Highstock as a plugin for Highcharts
4
4
  *
5
5
  * (c) 2017 Torstein Honsi
6
6
  *
7
7
  * License: www.highcharts.com/license
8
8
  */
9
+ 'use strict';
9
10
  (function(factory) {
10
11
  if (typeof module === 'object' && module.exports) {
11
12
  module.exports = factory;
@@ -19,7 +20,6 @@
19
20
  *
20
21
  * License: www.highcharts.com/license
21
22
  */
22
- 'use strict';
23
23
  var addEvent = H.addEvent,
24
24
  Axis = H.Axis,
25
25
  Chart = H.Chart,
@@ -470,7 +470,8 @@
470
470
  options: {
471
471
  ordinal: true
472
472
  },
473
- val2lin: Axis.prototype.val2lin // #2590
473
+ val2lin: Axis.prototype.val2lin, // #2590
474
+ ordinal2lin: Axis.prototype.ordinal2lin // #6276
474
475
  };
475
476
 
476
477
  // Add the fake series to hold the full data, then apply processData to it
@@ -728,7 +729,6 @@
728
729
  *
729
730
  * License: www.highcharts.com/license
730
731
  */
731
- 'use strict';
732
732
 
733
733
  var pick = H.pick,
734
734
  wrap = H.wrap,
@@ -882,6 +882,7 @@
882
882
  brk,
883
883
  min = axis.userMin || axis.min,
884
884
  max = axis.userMax || axis.max,
885
+ pointRangePadding = pick(axis.pointRangePadding, 0),
885
886
  start,
886
887
  i,
887
888
  j;
@@ -957,9 +958,22 @@
957
958
 
958
959
  axis.breakArray = breakArray;
959
960
 
961
+ // Used with staticScale, and below, the actual axis length when
962
+ // breaks are substracted.
963
+ axis.unitLength = max - min - length + pointRangePadding;
964
+
960
965
  fireEvent(axis, 'afterBreaks');
961
966
 
962
- axis.transA *= ((max - axis.min) / (max - min - length));
967
+ if (axis.options.staticScale) {
968
+ axis.transA = axis.options.staticScale;
969
+ } else {
970
+ axis.transA *= (max - axis.min + pointRangePadding) /
971
+ axis.unitLength;
972
+ }
973
+
974
+ if (pointRangePadding) {
975
+ axis.minPixelPadding = axis.transA * axis.minPointOffset;
976
+ }
963
977
 
964
978
  axis.min = min;
965
979
  axis.max = max;
@@ -1045,7 +1059,6 @@
1045
1059
  }(Highcharts));
1046
1060
  (function() {
1047
1061
 
1048
- 'use strict';
1049
1062
 
1050
1063
  }());
1051
1064
  (function(H) {
@@ -1054,7 +1067,6 @@
1054
1067
  *
1055
1068
  * License: www.highcharts.com/license
1056
1069
  */
1057
- 'use strict';
1058
1070
  var arrayMax = H.arrayMax,
1059
1071
  arrayMin = H.arrayMin,
1060
1072
  Axis = H.Axis,
@@ -1365,9 +1377,8 @@
1365
1377
  series.groupPixelWidth = null; // #2110
1366
1378
  series.hasProcessed = true; // #2692
1367
1379
 
1368
- // skip if processData returns false or if grouping is disabled (in that order) or #5493
1369
- skip = baseProcessData.apply(series, arguments) === false ||
1370
- !groupingEnabled || !visible;
1380
+ // skip if processData returns false or if grouping is disabled (in that order)
1381
+ skip = baseProcessData.apply(series, arguments) === false || !groupingEnabled;
1371
1382
  if (!skip) {
1372
1383
  series.destroyGroupedData();
1373
1384
 
@@ -1419,7 +1430,8 @@
1419
1430
  series.groupMap = groupedData[2];
1420
1431
 
1421
1432
  // Make sure the X axis extends to show the first group (#2533)
1422
- if (defined(groupedXData[0]) && groupedXData[0] < xAxis.dataMin) {
1433
+ // But only for visible series (#5493, #6393)
1434
+ if (defined(groupedXData[0]) && groupedXData[0] < xAxis.dataMin && visible) {
1423
1435
  if (xAxis.min === xAxis.dataMin) {
1424
1436
  xAxis.min = groupedXData[0];
1425
1437
  }
@@ -1687,7 +1699,6 @@
1687
1699
  *
1688
1700
  * License: www.highcharts.com/license
1689
1701
  */
1690
- 'use strict';
1691
1702
  var each = H.each,
1692
1703
  Point = H.Point,
1693
1704
  seriesType = H.seriesType,
@@ -1889,7 +1900,6 @@
1889
1900
  *
1890
1901
  * License: www.highcharts.com/license
1891
1902
  */
1892
- 'use strict';
1893
1903
  var defaultPlotOptions = H.defaultPlotOptions,
1894
1904
  each = H.each,
1895
1905
  merge = H.merge,
@@ -1914,7 +1924,7 @@
1914
1924
  lineColor: '#000000',
1915
1925
  lineWidth: 1,
1916
1926
  upColor: '#ffffff'
1917
- // upLineColor: null
1927
+ // upLineColor: null
1918
1928
 
1919
1929
 
1920
1930
  }), /** @lends seriesTypes.candlestick */ {
@@ -2046,7 +2056,6 @@
2046
2056
  *
2047
2057
  * License: www.highcharts.com/license
2048
2058
  */
2049
- 'use strict';
2050
2059
  var addEvent = H.addEvent,
2051
2060
  each = H.each,
2052
2061
  merge = H.merge,
@@ -2272,19 +2281,19 @@
2272
2281
  // Create the flag
2273
2282
  if (!graphic) {
2274
2283
  graphic = point.graphic = renderer.label(
2275
- '',
2276
- null,
2277
- null,
2278
- shape,
2279
- null,
2280
- null,
2281
- options.useHTML
2282
- )
2283
-
2284
- .attr(series.pointAttribs(point))
2284
+ '',
2285
+ null,
2286
+ null,
2287
+ shape,
2288
+ null,
2289
+ null,
2290
+ options.useHTML
2291
+ )
2292
+
2293
+ .attr(series.pointAttribs(point))
2285
2294
  .css(merge(options.style, point.style))
2286
2295
 
2287
- .attr({
2296
+ .attr({
2288
2297
  align: shape === 'flag' ? 'left' : 'center',
2289
2298
  width: options.width,
2290
2299
  height: options.height,
@@ -2312,7 +2321,7 @@
2312
2321
  });
2313
2322
 
2314
2323
  // Set the tooltip anchor position
2315
- point.tooltipPos = chart.inverted ? [yAxis.len + yAxis.pos - chart.plotLeft - plotY, series.xAxis.len - plotX] : [plotX, plotY];
2324
+ point.tooltipPos = chart.inverted ? [yAxis.len + yAxis.pos - chart.plotLeft - plotY, series.xAxis.len - plotX] : [plotX, plotY + yAxis.pos - chart.plotTop]; // #6327
2316
2325
 
2317
2326
  } else if (graphic) {
2318
2327
  point.graphic = graphic.destroy();
@@ -2432,7 +2441,6 @@
2432
2441
  *
2433
2442
  * License: www.highcharts.com/license
2434
2443
  */
2435
- 'use strict';
2436
2444
  var addEvent = H.addEvent,
2437
2445
  Axis = H.Axis,
2438
2446
  correctFloat = H.correctFloat,
@@ -3042,7 +3050,7 @@
3042
3050
  }
3043
3051
  }, this);
3044
3052
 
3045
- if (scroller) {
3053
+ if (scroller && this === scroller.scrollbar) { // #6421, chart may have more scrollbars
3046
3054
  scroller.scrollbar = null;
3047
3055
 
3048
3056
  // Destroy elements in collection
@@ -3166,7 +3174,6 @@
3166
3174
  *
3167
3175
  * License: www.highcharts.com/license
3168
3176
  */
3169
- 'use strict';
3170
3177
  /* ****************************************************************************
3171
3178
  * Start Navigator code *
3172
3179
  *****************************************************************************/
@@ -3260,7 +3267,7 @@
3260
3267
  threshold: null
3261
3268
  },
3262
3269
  //top: undefined,
3263
- //opposite: undefined, // docs
3270
+ //opposite: undefined,
3264
3271
  xAxis: {
3265
3272
  className: 'highcharts-navigator-xaxis',
3266
3273
  tickLength: 0,
@@ -3368,6 +3375,7 @@
3368
3375
  maskInside = navigator.navigatorOptions.maskInside,
3369
3376
  outlineWidth = navigator.outline.strokeWidth(),
3370
3377
  halfOutline = outlineWidth / 2,
3378
+ outlineCorrection = (outlineWidth % 2) / 2, // #5800
3371
3379
  outlineHeight = navigator.outlineHeight,
3372
3380
  scrollbarHeight = navigator.scrollbarHeight,
3373
3381
  navigatorSize = navigator.size,
@@ -3378,13 +3386,13 @@
3378
3386
 
3379
3387
  if (inverted) {
3380
3388
  left -= halfOutline;
3381
- verticalMin = navigatorTop + zoomedMax + halfOutline;
3382
- zoomedMax = navigatorTop + zoomedMin + halfOutline;
3389
+ verticalMin = navigatorTop + zoomedMax + outlineCorrection;
3390
+ zoomedMax = navigatorTop + zoomedMin + outlineCorrection;
3383
3391
 
3384
3392
  path = [
3385
3393
  'M',
3386
3394
  left + outlineHeight,
3387
- navigatorTop - scrollbarHeight - halfOutline, // top edge
3395
+ navigatorTop - scrollbarHeight - outlineCorrection, // top edge
3388
3396
  'L',
3389
3397
  left + outlineHeight,
3390
3398
  verticalMin, // top right of zoomed range
@@ -3409,8 +3417,8 @@
3409
3417
  zoomedMax + halfOutline // upper right of z.r.
3410
3418
  ] : []);
3411
3419
  } else {
3412
- zoomedMin += left + scrollbarHeight - halfOutline; // #5800 - TO DO, remove halfOutline
3413
- zoomedMax += left + scrollbarHeight - halfOutline; // #5800 - TO DO, remove halfOutline
3420
+ zoomedMin += left + scrollbarHeight - outlineCorrection;
3421
+ zoomedMax += left + scrollbarHeight - outlineCorrection;
3414
3422
  navigatorTop += halfOutline;
3415
3423
 
3416
3424
  path = [
@@ -3531,24 +3539,24 @@
3531
3539
  .addClass('highcharts-navigator-mask' +
3532
3540
  (index === 1 ? '-inside' : '-outside'))
3533
3541
 
3534
- .attr({
3542
+ .attr({
3535
3543
  fill: hasMask ? navigatorOptions.maskFill : 'transparent'
3536
3544
  })
3537
3545
  .css(index === 1 && mouseCursor)
3538
3546
 
3539
- .add(navigatorGroup);
3547
+ .add(navigatorGroup);
3540
3548
  });
3541
3549
 
3542
3550
  // Create the outline:
3543
3551
  navigator.outline = renderer.path()
3544
3552
  .addClass('highcharts-navigator-outline')
3545
3553
 
3546
- .attr({
3547
- 'stroke-width': navigatorOptions.outlineWidth,
3548
- stroke: navigatorOptions.outlineColor
3549
- })
3554
+ .attr({
3555
+ 'stroke-width': navigatorOptions.outlineWidth,
3556
+ stroke: navigatorOptions.outlineColor
3557
+ })
3550
3558
 
3551
- .add(navigatorGroup);
3559
+ .add(navigatorGroup);
3552
3560
 
3553
3561
  // Create the handlers:
3554
3562
  each([0, 1], function(index) {
@@ -3632,20 +3640,18 @@
3632
3640
 
3633
3641
  navigator.left = pick(
3634
3642
  xAxis.left,
3635
- chart.plotLeft + scrollbarHeight // in case of scrollbar only, without navigator
3643
+ // in case of scrollbar only, without navigator
3644
+ chart.plotLeft + scrollbarHeight + (inverted ? chart.plotWidth : 0)
3645
+ );
3646
+
3647
+ navigator.size = zoomedMax = navigatorSize = pick(
3648
+ xAxis.len,
3649
+ (inverted ? chart.plotHeight : chart.plotWidth) - 2 * scrollbarHeight
3636
3650
  );
3637
3651
 
3638
3652
  if (inverted) {
3639
- navigator.size = zoomedMax = navigatorSize = pick(
3640
- xAxis.len,
3641
- chart.plotHeight - 2 * scrollbarHeight
3642
- );
3643
3653
  navigatorWidth = scrollbarHeight;
3644
3654
  } else {
3645
- navigator.size = zoomedMax = navigatorSize = pick(
3646
- xAxis.len,
3647
- chart.plotWidth - 2 * scrollbarHeight
3648
- );
3649
3655
  navigatorWidth = navigatorSize + 2 * scrollbarHeight;
3650
3656
  }
3651
3657
 
@@ -3682,6 +3688,7 @@
3682
3688
  ),
3683
3689
  zoomedMax
3684
3690
  );
3691
+
3685
3692
  navigator.range = navigator.zoomedMax - navigator.zoomedMin;
3686
3693
 
3687
3694
  zoomedMax = Math.round(navigator.zoomedMax);
@@ -3736,7 +3743,10 @@
3736
3743
  container = chart.container,
3737
3744
  eventsToUnbind = [],
3738
3745
  mouseMoveHandler,
3739
- mouseUpHandler;
3746
+ mouseUpHandler,
3747
+ // iOS calls both events: mousedown+touchstart and mouseup+touchend
3748
+ // So we add them just once, #6187
3749
+ eventNames = hasTouch ? ['touchstart', 'touchmove', 'touchend'] : ['mousedown', 'mousemove', 'mouseup'];
3740
3750
 
3741
3751
  /**
3742
3752
  * Create mouse events' handlers.
@@ -3750,23 +3760,14 @@
3750
3760
  };
3751
3761
 
3752
3762
  // Add shades and handles mousedown events
3753
- eventsToUnbind = navigator.getPartsEvents('mousedown');
3763
+ eventsToUnbind = navigator.getPartsEvents(eventNames[0]);
3754
3764
  // Add mouse move and mouseup events. These are bind to doc/container,
3755
3765
  // because Navigator.grabbedSomething flags are stored in mousedown events:
3756
3766
  eventsToUnbind.push(
3757
- addEvent(container, 'mousemove', mouseMoveHandler),
3758
- addEvent(doc, 'mouseup', mouseUpHandler)
3767
+ addEvent(container, eventNames[1], mouseMoveHandler),
3768
+ addEvent(doc, eventNames[2], mouseUpHandler)
3759
3769
  );
3760
3770
 
3761
- // Touch events
3762
- if (hasTouch) {
3763
- eventsToUnbind.push(
3764
- addEvent(container, 'touchmove', mouseMoveHandler),
3765
- addEvent(doc, 'touchend', mouseUpHandler)
3766
- );
3767
- eventsToUnbind.concat(navigator.getPartsEvents('touchstart'));
3768
- }
3769
-
3770
3771
  navigator.eventsToUnbind = eventsToUnbind;
3771
3772
 
3772
3773
  // Data events
@@ -3949,6 +3950,7 @@
3949
3950
  } else if (chartX > navigatorSize + dragOffset - range) { // outside right
3950
3951
  chartX = navigatorSize + dragOffset - range;
3951
3952
  }
3953
+
3952
3954
  navigator.render(
3953
3955
  0,
3954
3956
  0,
@@ -3973,12 +3975,19 @@
3973
3975
  var navigator = this,
3974
3976
  chart = navigator.chart,
3975
3977
  xAxis = navigator.xAxis,
3978
+ scrollbar = navigator.scrollbar,
3976
3979
  fixedMin,
3977
3980
  fixedMax,
3978
3981
  ext,
3979
3982
  DOMEvent = e.DOMEvent || e;
3980
3983
 
3981
- if (navigator.hasDragged || e.trigger === 'scrollbar') {
3984
+ if (
3985
+ // MouseUp is called for both, navigator and scrollbar (that order),
3986
+ // which causes calling afterSetExtremes twice. Prevent first call
3987
+ // by checking if scrollbar is going to set new extremes (#6334)
3988
+ (navigator.hasDragged && (!scrollbar || !scrollbar.hasDragged)) ||
3989
+ e.trigger === 'scrollbar'
3990
+ ) {
3982
3991
  // When dragging one handle, make sure the other one doesn't change
3983
3992
  if (navigator.zoomedMin === navigator.otherHandlePos) {
3984
3993
  fixedMin = navigator.fixedExtreme;
@@ -3986,7 +3995,7 @@
3986
3995
  fixedMax = navigator.fixedExtreme;
3987
3996
  }
3988
3997
  // Snap to right edge (#4076)
3989
- if (navigator.zoomedMax === navigator.navigatorSize) {
3998
+ if (navigator.zoomedMax === navigator.size) {
3990
3999
  fixedMax = navigator.getUnionExtremes().dataMax;
3991
4000
  }
3992
4001
  ext = xAxis.toFixedRange(
@@ -4075,6 +4084,8 @@
4075
4084
  this.scrollbarOptions = scrollbarOptions;
4076
4085
  this.outlineHeight = height + scrollbarHeight;
4077
4086
 
4087
+ this.opposite = pick(navigatorOptions.opposite, !navigatorEnabled && chart.inverted); // #6262
4088
+
4078
4089
  var navigator = this,
4079
4090
  baseSeries = navigator.baseSeries,
4080
4091
  xAxisIndex = chart.xAxis.length,
@@ -4083,11 +4094,11 @@
4083
4094
 
4084
4095
  // Make room for the navigator, can be placed around the chart:
4085
4096
  chart.extraMargin = {
4086
- type: navigatorOptions.opposite ? 'plotTop' : 'marginBottom',
4087
- value: navigator.outlineHeight + navigatorOptions.margin
4097
+ type: navigator.opposite ? 'plotTop' : 'marginBottom',
4098
+ value: (navigatorEnabled || !chart.inverted ? navigator.outlineHeight : 0) + navigatorOptions.margin
4088
4099
  };
4089
4100
  if (chart.inverted) {
4090
- chart.extraMargin.type = navigatorOptions.opposite ? 'marginRight' : 'plotLeft';
4101
+ chart.extraMargin.type = navigator.opposite ? 'marginRight' : 'plotLeft';
4091
4102
  }
4092
4103
  chart.isDirtyBox = true;
4093
4104
 
@@ -4158,7 +4169,7 @@
4158
4169
  translate: function(value, reverse) {
4159
4170
  var axis = chart.xAxis[0],
4160
4171
  ext = axis.getExtremes(),
4161
- scrollTrackWidth = chart.plotWidth - 2 * scrollbarHeight,
4172
+ scrollTrackWidth = axis.len - 2 * scrollbarHeight,
4162
4173
  min = numExt('min', axis.options.min, ext.dataMin),
4163
4174
  valueRange = numExt('max', axis.options.max, ext.dataMax) - min;
4164
4175
 
@@ -4258,7 +4269,7 @@
4258
4269
  */
4259
4270
  setBaseSeries: function(baseSeriesOptions) {
4260
4271
  var chart = this.chart,
4261
- baseSeries = this.baseSeries = [];
4272
+ baseSeries;
4262
4273
 
4263
4274
  baseSeriesOptions = baseSeriesOptions || chart.options && chart.options.navigator.baseSeries || 0;
4264
4275
 
@@ -4270,6 +4281,8 @@
4270
4281
  });
4271
4282
  }
4272
4283
 
4284
+ baseSeries = this.baseSeries = [];
4285
+
4273
4286
  // Iterate through series and add the ones that should be shown in navigator
4274
4287
  each(chart.series || [], function(series, i) {
4275
4288
  if (series.options.showInNavigator || (i === baseSeriesOptions || series.options.id === baseSeriesOptions) &&
@@ -4357,17 +4370,13 @@
4357
4370
  each(baseSeries, function(base) {
4358
4371
  if (base.xAxis) {
4359
4372
  addEvent(base, 'updatedData', this.updatedDataHandler);
4360
- // Survive Series.update()
4361
- base.userOptions.events = extend(base.userOptions.event, {
4362
- updatedData: this.updatedDataHandler
4363
- });
4364
4373
  }
4365
4374
 
4366
4375
  // Handle series removal
4367
4376
  addEvent(base, 'remove', function() {
4368
4377
  if (this.navigatorSeries) {
4369
4378
  erase(navigator.series, this.navigatorSeries);
4370
- this.navigatorSeries.remove();
4379
+ this.navigatorSeries.remove(false);
4371
4380
  delete this.navigatorSeries;
4372
4381
  }
4373
4382
  });
@@ -4619,7 +4628,7 @@
4619
4628
 
4620
4629
  // Compute the top position
4621
4630
  if (this.inverted) {
4622
- navigator.left = navigator.navigatorOptions.opposite ?
4631
+ navigator.left = navigator.opposite ?
4623
4632
  this.chartWidth - scrollbarHeight - navigator.height :
4624
4633
  this.spacing[3] + scrollbarHeight;
4625
4634
  navigator.top = this.plotTop + scrollbarHeight;
@@ -4699,7 +4708,6 @@
4699
4708
  *
4700
4709
  * License: www.highcharts.com/license
4701
4710
  */
4702
- 'use strict';
4703
4711
  var addEvent = H.addEvent,
4704
4712
  Axis = H.Axis,
4705
4713
  Chart = H.Chart,
@@ -5658,7 +5666,6 @@
5658
5666
  *
5659
5667
  * License: www.highcharts.com/license
5660
5668
  */
5661
- 'use strict';
5662
5669
  var arrayMax = H.arrayMax,
5663
5670
  arrayMin = H.arrayMin,
5664
5671
  Axis = H.Axis,
@@ -5838,13 +5845,25 @@
5838
5845
  if (labelOptions.align === undefined) {
5839
5846
  labelOptions.align = 'right';
5840
5847
  }
5841
- panes[key] = 1;
5848
+ panes[key] = this;
5842
5849
  return 'right';
5843
5850
  }
5844
5851
  }
5845
5852
  return proceed.call(this, [].slice.call(arguments, 1));
5846
5853
  });
5847
5854
 
5855
+ // Clear axis from label panes (#6071)
5856
+ wrap(Axis.prototype, 'destroy', function(proceed) {
5857
+ var chart = this.chart,
5858
+ key = this.options && (this.options.top + ',' + this.options.height);
5859
+
5860
+ if (key && chart._labelPanes && chart._labelPanes[key] === this) {
5861
+ delete chart._labelPanes[key];
5862
+ }
5863
+
5864
+ return proceed.call(this, Array.prototype.slice.call(arguments, 1));
5865
+ });
5866
+
5848
5867
  // Override getPlotLinePath to allow for multipane charts
5849
5868
  wrap(Axis.prototype, 'getPlotLinePath', function(proceed, value, lineWidth, old, force, translatedValue) {
5850
5869
  var axis = this,