corrade-nucleus-nucleons – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1 /**
2 * @license Highcharts JS v5.0.10 (2017-03-31)
3 *
4 * (c) 2009-2016 Torstein Honsi
5 *
6 * License: www.highcharts.com/license
7 */
8 'use strict';
9 (function(factory) {
10 if (typeof module === 'object' && module.exports) {
11 module.exports = factory;
12 } else {
13 factory(Highcharts);
14 }
15 }(function(Highcharts) {
16 (function(H) {
17 /**
18 * (c) 2010-2017 Torstein Honsi
19 *
20 * License: www.highcharts.com/license
21 */
22 var CenteredSeriesMixin = H.CenteredSeriesMixin,
23 each = H.each,
24 extend = H.extend,
25 merge = H.merge,
26 splat = H.splat;
27 /**
28 * The Pane object allows options that are common to a set of X and Y axes.
29 *
30 * In the future, this can be extended to basic Highcharts and Highstock.
31 *
32 */
33 function Pane(options, chart) {
34 this.init(options, chart);
35 }
36  
37 // Extend the Pane prototype
38 extend(Pane.prototype, {
39  
40 coll: 'pane', // Member of chart.pane
41  
42 /**
43 * Initiate the Pane object
44 */
45 init: function(options, chart) {
46 this.chart = chart;
47 this.background = [];
48  
49 chart.pane.push(this);
50  
51 this.setOptions(options);
52 },
53  
54 setOptions: function(options) {
55  
56 // Set options. Angular charts have a default background (#3318)
57 this.options = options = merge(
58 this.defaultOptions,
59 this.chart.angular ? {
60 background: {}
61 } : undefined,
62 options
63 );
64 },
65  
66 /**
67 * Render the pane with its backgrounds.
68 */
69 render: function() {
70  
71 var options = this.options,
72 backgroundOption = this.options.background,
73 renderer = this.chart.renderer,
74 len,
75 i;
76  
77 if (!this.group) {
78 this.group = renderer.g('pane-group')
79 .attr({
80 zIndex: options.zIndex || 0
81 })
82 .add();
83 }
84  
85 this.updateCenter();
86  
87 // Render the backgrounds
88 if (backgroundOption) {
89 backgroundOption = splat(backgroundOption);
90 len = Math.max(
91 backgroundOption.length,
92 this.background.length || 0
93 );
94  
95 for (i = 0; i < len; i++) {
96 if (backgroundOption[i]) {
97 this.renderBackground(
98 merge(
99 this.defaultBackgroundOptions,
100 backgroundOption[i]
101 ),
102 i
103 );
104 } else if (this.background[i]) {
105 this.background[i] = this.background[i].destroy();
106 this.background.splice(i, 1);
107 }
108 }
109 }
110 },
111  
112 /**
113 * Render an individual pane background.
114 * @param {Object} backgroundOptions Background options
115 * @param {number} i The index of the background in this.backgrounds
116 */
117 renderBackground: function(backgroundOptions, i) {
118 var method = 'animate';
119  
120 if (!this.background[i]) {
121 this.background[i] = this.chart.renderer.path()
122 .add(this.group);
123 method = 'attr';
124 }
125  
126 this.background[i][method]({
127 'd': this.axis.getPlotBandPath(
128 backgroundOptions.from,
129 backgroundOptions.to,
130 backgroundOptions
131 )
132 }).attr({
133  
134 'fill': backgroundOptions.backgroundColor,
135 'stroke': backgroundOptions.borderColor,
136 'stroke-width': backgroundOptions.borderWidth,
137  
138 'class': 'highcharts-pane ' + (backgroundOptions.className || '')
139 });
140  
141 },
142  
143 /**
144 * The default options object
145 */
146 defaultOptions: {
147 // background: {conditional},
148 center: ['50%', '50%'],
149 size: '85%',
150 startAngle: 0
151 //endAngle: startAngle + 360
152 },
153  
154 /**
155 * The default background options
156 */
157 defaultBackgroundOptions: {
158 //className: 'highcharts-pane',
159 shape: 'circle',
160  
161 borderWidth: 1,
162 borderColor: '#cccccc',
163 backgroundColor: {
164 linearGradient: {
165 x1: 0,
166 y1: 0,
167 x2: 0,
168 y2: 1
169 },
170 stops: [
171 [0, '#ffffff'],
172 [1, '#e6e6e6']
173 ]
174 },
175  
176 from: -Number.MAX_VALUE, // corrected to axis min
177 innerRadius: 0,
178 to: Number.MAX_VALUE, // corrected to axis max
179 outerRadius: '105%'
180 },
181  
182 /**
183 * Gets the center for the pane and its axis.
184 */
185 updateCenter: function(axis) {
186 this.center = (axis || this.axis || {}).center =
187 CenteredSeriesMixin.getCenter.call(this);
188 },
189  
190 /**
191 * Destroy the pane item
192 * /
193 destroy: function () {
194 H.erase(this.chart.pane, this);
195 each(this.background, function (background) {
196 background.destroy();
197 });
198 this.background.length = 0;
199 this.group = this.group.destroy();
200 },
201 */
202  
203 /**
204 * Update the pane item with new options
205 * @param {Object} options New pane options
206 */
207 update: function(options, redraw) {
208  
209 merge(true, this.options, options);
210 this.setOptions(this.options);
211 this.render();
212 each(this.chart.axes, function(axis) {
213 if (axis.pane === this) {
214 axis.pane = null;
215 axis.update({}, redraw);
216 }
217 }, this);
218 }
219  
220 });
221  
222 H.Pane = Pane;
223  
224 }(Highcharts));
225 (function(H) {
226 /**
227 * (c) 2010-2017 Torstein Honsi
228 *
229 * License: www.highcharts.com/license
230 */
231 var Axis = H.Axis,
232 each = H.each,
233 extend = H.extend,
234 map = H.map,
235 merge = H.merge,
236 noop = H.noop,
237 pick = H.pick,
238 pInt = H.pInt,
239 Tick = H.Tick,
240 wrap = H.wrap,
241  
242  
243 hiddenAxisMixin, // @todo Extract this to a new file
244 radialAxisMixin, // @todo Extract this to a new file
245 axisProto = Axis.prototype,
246 tickProto = Tick.prototype;
247  
248 /**
249 * Augmented methods for the x axis in order to hide it completely, used for the X axis in gauges
250 */
251 hiddenAxisMixin = {
252 getOffset: noop,
253 redraw: function() {
254 this.isDirty = false; // prevent setting Y axis dirty
255 },
256 render: function() {
257 this.isDirty = false; // prevent setting Y axis dirty
258 },
259 setScale: noop,
260 setCategories: noop,
261 setTitle: noop
262 };
263  
264 /**
265 * Augmented methods for the value axis
266 */
267 radialAxisMixin = {
268  
269 /**
270 * The default options extend defaultYAxisOptions
271 */
272 defaultRadialGaugeOptions: {
273 labels: {
274 align: 'center',
275 x: 0,
276 y: null // auto
277 },
278 minorGridLineWidth: 0,
279 minorTickInterval: 'auto',
280 minorTickLength: 10,
281 minorTickPosition: 'inside',
282 minorTickWidth: 1,
283 tickLength: 10,
284 tickPosition: 'inside',
285 tickWidth: 2,
286 title: {
287 rotation: 0
288 },
289 zIndex: 2 // behind dials, points in the series group
290 },
291  
292 // Circular axis around the perimeter of a polar chart
293 defaultRadialXOptions: {
294 gridLineWidth: 1, // spokes
295 labels: {
296 align: null, // auto
297 distance: 15,
298 x: 0,
299 y: null // auto
300 },
301 maxPadding: 0,
302 minPadding: 0,
303 showLastLabel: false,
304 tickLength: 0
305 },
306  
307 // Radial axis, like a spoke in a polar chart
308 defaultRadialYOptions: {
309 gridLineInterpolation: 'circle',
310 labels: {
311 align: 'right',
312 x: -3,
313 y: -2
314 },
315 showLastLabel: false,
316 title: {
317 x: 4,
318 text: null,
319 rotation: 90
320 }
321 },
322  
323 /**
324 * Merge and set options
325 */
326 setOptions: function(userOptions) {
327  
328 var options = this.options = merge(
329 this.defaultOptions,
330 this.defaultRadialOptions,
331 userOptions
332 );
333  
334 // Make sure the plotBands array is instanciated for each Axis (#2649)
335 if (!options.plotBands) {
336 options.plotBands = [];
337 }
338  
339 },
340  
341 /**
342 * Wrap the getOffset method to return zero offset for title or labels in a radial
343 * axis
344 */
345 getOffset: function() {
346 // Call the Axis prototype method (the method we're in now is on the instance)
347 axisProto.getOffset.call(this);
348  
349 // Title or label offsets are not counted
350 this.chart.axisOffset[this.side] = 0;
351  
352 },
353  
354  
355 /**
356 * Get the path for the axis line. This method is also referenced in the getPlotLinePath
357 * method.
358 */
359 getLinePath: function(lineWidth, radius) {
360 var center = this.center,
361 end,
362 chart = this.chart,
363 r = pick(radius, center[2] / 2 - this.offset),
364 path;
365  
366 if (this.isCircular || radius !== undefined) {
367 path = this.chart.renderer.symbols.arc(
368 this.left + center[0],
369 this.top + center[1],
370 r,
371 r, {
372 start: this.startAngleRad,
373 end: this.endAngleRad,
374 open: true,
375 innerR: 0
376 }
377 );
378 } else {
379 end = this.postTranslate(this.angleRad, r);
380 path = ['M', center[0] + chart.plotLeft, center[1] + chart.plotTop, 'L', end.x, end.y];
381 }
382 return path;
383 },
384  
385 /**
386 * Override setAxisTranslation by setting the translation to the difference
387 * in rotation. This allows the translate method to return angle for
388 * any given value.
389 */
390 setAxisTranslation: function() {
391  
392 // Call uber method
393 axisProto.setAxisTranslation.call(this);
394  
395 // Set transA and minPixelPadding
396 if (this.center) { // it's not defined the first time
397 if (this.isCircular) {
398  
399 this.transA = (this.endAngleRad - this.startAngleRad) /
400 ((this.max - this.min) || 1);
401  
402  
403 } else {
404 this.transA = (this.center[2] / 2) / ((this.max - this.min) || 1);
405 }
406  
407 if (this.isXAxis) {
408 this.minPixelPadding = this.transA * this.minPointOffset;
409 } else {
410 // This is a workaround for regression #2593, but categories still don't position correctly.
411 this.minPixelPadding = 0;
412 }
413 }
414 },
415  
416 /**
417 * In case of auto connect, add one closestPointRange to the max value right before
418 * tickPositions are computed, so that ticks will extend passed the real max.
419 */
420 beforeSetTickPositions: function() {
421 // If autoConnect is true, polygonal grid lines are connected, and one closestPointRange
422 // is added to the X axis to prevent the last point from overlapping the first.
423 this.autoConnect = this.isCircular && pick(this.userMax, this.options.max) === undefined &&
424 this.endAngleRad - this.startAngleRad === 2 * Math.PI;
425  
426 if (this.autoConnect) {
427 this.max += (this.categories && 1) || this.pointRange || this.closestPointRange || 0; // #1197, #2260
428 }
429 },
430  
431 /**
432 * Override the setAxisSize method to use the arc's circumference as length. This
433 * allows tickPixelInterval to apply to pixel lengths along the perimeter
434 */
435 setAxisSize: function() {
436  
437 axisProto.setAxisSize.call(this);
438  
439 if (this.isRadial) {
440  
441 // Set the center array
442 this.pane.updateCenter(this);
443  
444 // The sector is used in Axis.translate to compute the translation of reversed axis points (#2570)
445 if (this.isCircular) {
446 this.sector = this.endAngleRad - this.startAngleRad;
447 }
448  
449 // Axis len is used to lay out the ticks
450 this.len = this.width = this.height = this.center[2] * pick(this.sector, 1) / 2;
451  
452  
453 }
454 },
455  
456 /**
457 * Returns the x, y coordinate of a point given by a value and a pixel distance
458 * from center
459 */
460 getPosition: function(value, length) {
461 return this.postTranslate(
462 this.isCircular ? this.translate(value) : this.angleRad, // #2848
463 pick(this.isCircular ? length : this.translate(value), this.center[2] / 2) - this.offset
464 );
465 },
466  
467 /**
468 * Translate from intermediate plotX (angle), plotY (axis.len - radius) to final chart coordinates.
469 */
470 postTranslate: function(angle, radius) {
471  
472 var chart = this.chart,
473 center = this.center;
474  
475 angle = this.startAngleRad + angle;
476  
477 return {
478 x: chart.plotLeft + center[0] + Math.cos(angle) * radius,
479 y: chart.plotTop + center[1] + Math.sin(angle) * radius
480 };
481  
482 },
483  
484 /**
485 * Find the path for plot bands along the radial axis
486 */
487 getPlotBandPath: function(from, to, options) {
488 var center = this.center,
489 startAngleRad = this.startAngleRad,
490 fullRadius = center[2] / 2,
491 radii = [
492 pick(options.outerRadius, '100%'),
493 options.innerRadius,
494 pick(options.thickness, 10)
495 ],
496 offset = Math.min(this.offset, 0),
497 percentRegex = /%$/,
498 start,
499 end,
500 open,
501 isCircular = this.isCircular, // X axis in a polar chart
502 ret;
503  
504 // Polygonal plot bands
505 if (this.options.gridLineInterpolation === 'polygon') {
506 ret = this.getPlotLinePath(from).concat(this.getPlotLinePath(to, true));
507  
508 // Circular grid bands
509 } else {
510  
511 // Keep within bounds
512 from = Math.max(from, this.min);
513 to = Math.min(to, this.max);
514  
515 // Plot bands on Y axis (radial axis) - inner and outer radius depend on to and from
516 if (!isCircular) {
517 radii[0] = this.translate(from);
518 radii[1] = this.translate(to);
519 }
520  
521 // Convert percentages to pixel values
522 radii = map(radii, function(radius) {
523 if (percentRegex.test(radius)) {
524 radius = (pInt(radius, 10) * fullRadius) / 100;
525 }
526 return radius;
527 });
528  
529 // Handle full circle
530 if (options.shape === 'circle' || !isCircular) {
531 start = -Math.PI / 2;
532 end = Math.PI * 1.5;
533 open = true;
534 } else {
535 start = startAngleRad + this.translate(from);
536 end = startAngleRad + this.translate(to);
537 }
538  
539 radii[0] -= offset; // #5283
540 radii[2] -= offset; // #5283
541  
542 ret = this.chart.renderer.symbols.arc(
543 this.left + center[0],
544 this.top + center[1],
545 radii[0],
546 radii[0], {
547 start: Math.min(start, end), // Math is for reversed yAxis (#3606)
548 end: Math.max(start, end),
549 innerR: pick(radii[1], radii[0] - radii[2]),
550 open: open
551 }
552 );
553 }
554  
555 return ret;
556 },
557  
558 /**
559 * Find the path for plot lines perpendicular to the radial axis.
560 */
561 getPlotLinePath: function(value, reverse) {
562 var axis = this,
563 center = axis.center,
564 chart = axis.chart,
565 end = axis.getPosition(value),
566 xAxis,
567 xy,
568 tickPositions,
569 ret;
570  
571 // Spokes
572 if (axis.isCircular) {
573 ret = ['M', center[0] + chart.plotLeft, center[1] + chart.plotTop, 'L', end.x, end.y];
574  
575 // Concentric circles
576 } else if (axis.options.gridLineInterpolation === 'circle') {
577 value = axis.translate(value);
578 if (value) { // a value of 0 is in the center
579 ret = axis.getLinePath(0, value);
580 }
581 // Concentric polygons
582 } else {
583 // Find the X axis in the same pane
584 each(chart.xAxis, function(a) {
585 if (a.pane === axis.pane) {
586 xAxis = a;
587 }
588 });
589 ret = [];
590 value = axis.translate(value);
591 tickPositions = xAxis.tickPositions;
592 if (xAxis.autoConnect) {
593 tickPositions = tickPositions.concat([tickPositions[0]]);
594 }
595 // Reverse the positions for concatenation of polygonal plot bands
596 if (reverse) {
597 tickPositions = [].concat(tickPositions).reverse();
598 }
599  
600 each(tickPositions, function(pos, i) {
601 xy = xAxis.getPosition(pos, value);
602 ret.push(i ? 'L' : 'M', xy.x, xy.y);
603 });
604  
605 }
606 return ret;
607 },
608  
609 /**
610 * Find the position for the axis title, by default inside the gauge
611 */
612 getTitlePosition: function() {
613 var center = this.center,
614 chart = this.chart,
615 titleOptions = this.options.title;
616  
617 return {
618 x: chart.plotLeft + center[0] + (titleOptions.x || 0),
619 y: chart.plotTop + center[1] - ({
620 high: 0.5,
621 middle: 0.25,
622 low: 0
623 }[titleOptions.align] *
624 center[2]) + (titleOptions.y || 0)
625 };
626 }
627  
628 };
629  
630 /**
631 * Override axisProto.init to mix in special axis instance functions and function overrides
632 */
633 wrap(axisProto, 'init', function(proceed, chart, userOptions) {
634 var angular = chart.angular,
635 polar = chart.polar,
636 isX = userOptions.isX,
637 isHidden = angular && isX,
638 isCircular,
639 options,
640 chartOptions = chart.options,
641 paneIndex = userOptions.pane || 0,
642 pane = this.pane = chart.pane[paneIndex],
643 paneOptions = pane.options;
644  
645 // Before prototype.init
646 if (angular) {
647 extend(this, isHidden ? hiddenAxisMixin : radialAxisMixin);
648 isCircular = !isX;
649 if (isCircular) {
650 this.defaultRadialOptions = this.defaultRadialGaugeOptions;
651 }
652  
653 } else if (polar) {
654 extend(this, radialAxisMixin);
655 isCircular = isX;
656 this.defaultRadialOptions = isX ? this.defaultRadialXOptions : merge(this.defaultYAxisOptions, this.defaultRadialYOptions);
657  
658 }
659  
660 // Disable certain features on angular and polar axes
661 if (angular || polar) {
662 this.isRadial = true;
663 chart.inverted = false;
664 chartOptions.chart.zoomType = null;
665 } else {
666 this.isRadial = false;
667 }
668  
669 // A pointer back to this axis to borrow geometry
670 if (isCircular) {
671 pane.axis = this;
672 }
673  
674 // Run prototype.init
675 proceed.call(this, chart, userOptions);
676  
677 if (!isHidden && (angular || polar)) {
678 options = this.options;
679  
680 // Start and end angle options are
681 // given in degrees relative to top, while internal computations are
682 // in radians relative to right (like SVG).
683 this.angleRad = (options.angle || 0) * Math.PI / 180; // Y axis in polar charts
684 this.startAngleRad = (paneOptions.startAngle - 90) * Math.PI / 180; // Gauges
685 this.endAngleRad = (pick(paneOptions.endAngle, paneOptions.startAngle + 360) - 90) * Math.PI / 180; // Gauges
686 this.offset = options.offset || 0;
687  
688 this.isCircular = isCircular;
689  
690 }
691  
692 });
693  
694 /**
695 * Wrap auto label align to avoid setting axis-wide rotation on radial axes (#4920)
696 * @param {Function} proceed
697 * @returns {String} Alignment
698 */
699 wrap(axisProto, 'autoLabelAlign', function(proceed) {
700 if (!this.isRadial) {
701 return proceed.apply(this, [].slice.call(arguments, 1));
702 } // else return undefined
703 });
704  
705 /**
706 * Add special cases within the Tick class' methods for radial axes.
707 */
708 wrap(tickProto, 'getPosition', function(proceed, horiz, pos, tickmarkOffset, old) {
709 var axis = this.axis;
710  
711 return axis.getPosition ?
712 axis.getPosition(pos) :
713 proceed.call(this, horiz, pos, tickmarkOffset, old);
714 });
715  
716 /**
717 * Wrap the getLabelPosition function to find the center position of the label
718 * based on the distance option
719 */
720 wrap(tickProto, 'getLabelPosition', function(proceed, x, y, label, horiz, labelOptions, tickmarkOffset, index, step) {
721 var axis = this.axis,
722 optionsY = labelOptions.y,
723 ret,
724 centerSlot = 20, // 20 degrees to each side at the top and bottom
725 align = labelOptions.align,
726 angle = ((axis.translate(this.pos) + axis.startAngleRad + Math.PI / 2) / Math.PI * 180) % 360;
727  
728 if (axis.isRadial) { // Both X and Y axes in a polar chart
729 ret = axis.getPosition(this.pos, (axis.center[2] / 2) + pick(labelOptions.distance, -25));
730  
731 // Automatically rotated
732 if (labelOptions.rotation === 'auto') {
733 label.attr({
734 rotation: angle
735 });
736  
737 // Vertically centered
738 } else if (optionsY === null) {
739 optionsY = axis.chart.renderer.fontMetrics(label.styles.fontSize).b - label.getBBox().height / 2;
740 }
741  
742 // Automatic alignment
743 if (align === null) {
744 if (axis.isCircular) { // Y axis
745 if (this.label.getBBox().width > axis.len * axis.tickInterval / (axis.max - axis.min)) { // #3506
746 centerSlot = 0;
747 }
748 if (angle > centerSlot && angle < 180 - centerSlot) {
749 < 180 - centerSlot) { align = 'left'; // right hemisphere
750 < 180 - centerSlot) { } else if (angle > 180 + centerSlot && angle < 360 - centerSlot) {
751 < 180 - centerSlot) {< 360 - centerSlot) { align = 'right'; // left hemisphere
752 < 180 - centerSlot) {< 360 - centerSlot) { } else {
753 < 180 - centerSlot) {< 360 - centerSlot) { align = 'center'; // top or bottom
754 < 180 - centerSlot) {< 360 - centerSlot) { }
755 < 180 - centerSlot) {< 360 - centerSlot) { } else {
756 < 180 - centerSlot) {< 360 - centerSlot) { align = 'center';
757 < 180 - centerSlot) {< 360 - centerSlot) { }
758 < 180 - centerSlot) {< 360 - centerSlot) { label.attr({
759 < 180 - centerSlot) {< 360 - centerSlot) { align: align
760 < 180 - centerSlot) {< 360 - centerSlot) { });
761 < 180 - centerSlot) {< 360 - centerSlot) { }
762  
763 < 180 - centerSlot) {< 360 - centerSlot) { ret.x += labelOptions.x;
764 < 180 - centerSlot) {< 360 - centerSlot) { ret.y += optionsY;
765  
766 < 180 - centerSlot) {< 360 - centerSlot) { } else {
767 < 180 - centerSlot) {< 360 - centerSlot) { ret = proceed.call(this, x, y, label, horiz, labelOptions, tickmarkOffset, index, step);
768 < 180 - centerSlot) {< 360 - centerSlot) { }
769 < 180 - centerSlot) {< 360 - centerSlot) { return ret;
770 < 180 - centerSlot) {< 360 - centerSlot) { });
771  
772 < 180 - centerSlot) {< 360 - centerSlot) { /**
773 < 180 - centerSlot) {< 360 - centerSlot) { * Wrap the getMarkPath function to return the path of the radial marker
774 < 180 - centerSlot) {< 360 - centerSlot) { */
775 < 180 - centerSlot) {< 360 - centerSlot) { wrap(tickProto, 'getMarkPath', function(proceed, x, y, tickLength, tickWidth, horiz, renderer) {
776 < 180 - centerSlot) {< 360 - centerSlot) { var axis = this.axis,
777 < 180 - centerSlot) {< 360 - centerSlot) { endPoint,
778 < 180 - centerSlot) {< 360 - centerSlot) { ret;
779  
780 < 180 - centerSlot) {< 360 - centerSlot) { if (axis.isRadial) {
781 < 180 - centerSlot) {< 360 - centerSlot) { endPoint = axis.getPosition(this.pos, axis.center[2] / 2 + tickLength);
782 < 180 - centerSlot) {< 360 - centerSlot) { ret = [
783 < 180 - centerSlot) {< 360 - centerSlot) { 'M',
784 < 180 - centerSlot) {< 360 - centerSlot) { x,
785 < 180 - centerSlot) {< 360 - centerSlot) { y,
786 < 180 - centerSlot) {< 360 - centerSlot) { 'L',
787 < 180 - centerSlot) {< 360 - centerSlot) { endPoint.x,
788 < 180 - centerSlot) {< 360 - centerSlot) { endPoint.y
789 < 180 - centerSlot) {< 360 - centerSlot) { ];
790 < 180 - centerSlot) {< 360 - centerSlot) { } else {
791 < 180 - centerSlot) {< 360 - centerSlot) { ret = proceed.call(this, x, y, tickLength, tickWidth, horiz, renderer);
792 < 180 - centerSlot) {< 360 - centerSlot) { }
793 < 180 - centerSlot) {< 360 - centerSlot) { return ret;
794 < 180 - centerSlot) {< 360 - centerSlot) { });
795  
796 < 180 - centerSlot) {< 360 - centerSlot) { }(Highcharts));
797 < 180 - centerSlot) {< 360 - centerSlot) { (function(H) {
798 < 180 - centerSlot) {< 360 - centerSlot) { /**
799 < 180 - centerSlot) {< 360 - centerSlot) { * (c) 2010-2017 Torstein Honsi
800 < 180 - centerSlot) {< 360 - centerSlot) { *
801 < 180 - centerSlot) {< 360 - centerSlot) { * License: www.highcharts.com/license
802 < 180 - centerSlot) {< 360 - centerSlot) { */
803 < 180 - centerSlot) {< 360 - centerSlot) { var each = H.each,
804 < 180 - centerSlot) {< 360 - centerSlot) { noop = H.noop,
805 < 180 - centerSlot) {< 360 - centerSlot) { pick = H.pick,
806 < 180 - centerSlot) {< 360 - centerSlot) { Series = H.Series,
807 < 180 - centerSlot) {< 360 - centerSlot) { seriesType = H.seriesType,
808 < 180 - centerSlot) {< 360 - centerSlot) { seriesTypes = H.seriesTypes;
809 < 180 - centerSlot) {< 360 - centerSlot) { /*
810 < 180 - centerSlot) {< 360 - centerSlot) { * The arearangeseries series type
811 < 180 - centerSlot) {< 360 - centerSlot) { */
812 < 180 - centerSlot) {< 360 - centerSlot) { seriesType('arearange', 'area', {
813  
814 < 180 - centerSlot) {< 360 - centerSlot) { lineWidth: 1,
815  
816 < 180 - centerSlot) {< 360 - centerSlot) { marker: null,
817 < 180 - centerSlot) {< 360 - centerSlot) { threshold: null,
818 < 180 - centerSlot) {< 360 - centerSlot) { tooltip: {
819  
820 < 180 - centerSlot) {< 360 - centerSlot) { pointFormat: '<span style="color:{series.color}">\u25CF</span> {series.name}: <b>{point.low}</b> - <b>{point.high}</b><br/>' // eslint-disable-line no-dupe-keys
821  
822 < 180 - centerSlot) {< 360 - centerSlot) { },
823 < 180 - centerSlot) {< 360 - centerSlot) { trackByArea: true,
824 < 180 - centerSlot) {< 360 - centerSlot) { dataLabels: {
825 < 180 - centerSlot) {< 360 - centerSlot) { align: null,
826 < 180 - centerSlot) {< 360 - centerSlot) { verticalAlign: null,
827 < 180 - centerSlot) {< 360 - centerSlot) { xLow: 0,
828 < 180 - centerSlot) {< 360 - centerSlot) { xHigh: 0,
829 < 180 - centerSlot) {< 360 - centerSlot) { yLow: 0,
830 < 180 - centerSlot) {< 360 - centerSlot) { yHigh: 0
831 < 180 - centerSlot) {< 360 - centerSlot) { },
832 < 180 - centerSlot) {< 360 - centerSlot) { states: {
833 < 180 - centerSlot) {< 360 - centerSlot) { hover: {
834 < 180 - centerSlot) {< 360 - centerSlot) { halo: false
835 < 180 - centerSlot) {< 360 - centerSlot) { }
836 < 180 - centerSlot) {< 360 - centerSlot) { }
837  
838 < 180 - centerSlot) {< 360 - centerSlot) { // Prototype members
839 < 180 - centerSlot) {< 360 - centerSlot) { }, {
840 < 180 - centerSlot) {< 360 - centerSlot) { pointArrayMap: ['low', 'high'],
841 < 180 - centerSlot) {< 360 - centerSlot) { dataLabelCollections: ['dataLabel', 'dataLabelUpper'],
842 < 180 - centerSlot) {< 360 - centerSlot) { toYData: function(point) {
843 < 180 - centerSlot) {< 360 - centerSlot) { return [point.low, point.high];
844 < 180 - centerSlot) {< 360 - centerSlot) { },
845 < 180 - centerSlot) {< 360 - centerSlot) { pointValKey: 'low',
846 < 180 - centerSlot) {< 360 - centerSlot) { deferTranslatePolar: true,
847  
848 < 180 - centerSlot) {< 360 - centerSlot) { /**
849 < 180 - centerSlot) {< 360 - centerSlot) { * Translate a point's plotHigh from the internal angle and radius measures to
850 < 180 - centerSlot) {< 360 - centerSlot) { * true plotHigh coordinates. This is an addition of the toXY method found in
851 < 180 - centerSlot) {< 360 - centerSlot) { * Polar.js, because it runs too early for arearanges to be considered (#3419).
852 < 180 - centerSlot) {< 360 - centerSlot) { */
853 < 180 - centerSlot) {< 360 - centerSlot) { highToXY: function(point) {
854 < 180 - centerSlot) {< 360 - centerSlot) { // Find the polar plotX and plotY
855 < 180 - centerSlot) {< 360 - centerSlot) { var chart = this.chart,
856 < 180 - centerSlot) {< 360 - centerSlot) { xy = this.xAxis.postTranslate(point.rectPlotX, this.yAxis.len - point.plotHigh);
857 < 180 - centerSlot) {< 360 - centerSlot) { point.plotHighX = xy.x - chart.plotLeft;
858 < 180 - centerSlot) {< 360 - centerSlot) { point.plotHigh = xy.y - chart.plotTop;
859 < 180 - centerSlot) {< 360 - centerSlot) { },
860  
861 < 180 - centerSlot) {< 360 - centerSlot) { /**
862 < 180 - centerSlot) {< 360 - centerSlot) { * Translate data points from raw values x and y to plotX and plotY
863 < 180 - centerSlot) {< 360 - centerSlot) { */
864 < 180 - centerSlot) {< 360 - centerSlot) { translate: function() {
865 < 180 - centerSlot) {< 360 - centerSlot) { var series = this,
866 < 180 - centerSlot) {< 360 - centerSlot) { yAxis = series.yAxis,
867 < 180 - centerSlot) {< 360 - centerSlot) { hasModifyValue = !!series.modifyValue;
868  
869 < 180 - centerSlot) {< 360 - centerSlot) { seriesTypes.area.prototype.translate.apply(series);
870  
871 < 180 - centerSlot) {< 360 - centerSlot) { // Set plotLow and plotHigh
872 < 180 - centerSlot) {< 360 - centerSlot) { each(series.points, function(point) {
873  
874 < 180 - centerSlot) {< 360 - centerSlot) { var low = point.low,
875 < 180 - centerSlot) {< 360 - centerSlot) { high = point.high,
876 < 180 - centerSlot) {< 360 - centerSlot) { plotY = point.plotY;
877  
878 < 180 - centerSlot) {< 360 - centerSlot) { if (high === null || low === null) {
879 < 180 - centerSlot) {< 360 - centerSlot) { point.isNull = true;
880 < 180 - centerSlot) {< 360 - centerSlot) { } else {
881 < 180 - centerSlot) {< 360 - centerSlot) { point.plotLow = plotY;
882 < 180 - centerSlot) {< 360 - centerSlot) { point.plotHigh = yAxis.translate(
883 < 180 - centerSlot) {< 360 - centerSlot) { hasModifyValue ? series.modifyValue(high, point) : high,
884 < 180 - centerSlot) {< 360 - centerSlot) { 0,
885 < 180 - centerSlot) {< 360 - centerSlot) { 1,
886 < 180 - centerSlot) {< 360 - centerSlot) { 0,
887 < 180 - centerSlot) {< 360 - centerSlot) { 1
888 < 180 - centerSlot) {< 360 - centerSlot) { );
889 < 180 - centerSlot) {< 360 - centerSlot) { if (hasModifyValue) {
890 < 180 - centerSlot) {< 360 - centerSlot) { point.yBottom = point.plotHigh;
891 < 180 - centerSlot) {< 360 - centerSlot) { }
892 < 180 - centerSlot) {< 360 - centerSlot) { }
893 < 180 - centerSlot) {< 360 - centerSlot) { });
894  
895 < 180 - centerSlot) {< 360 - centerSlot) { // Postprocess plotHigh
896 < 180 - centerSlot) {< 360 - centerSlot) { if (this.chart.polar) {
897 < 180 - centerSlot) {< 360 - centerSlot) { each(this.points, function(point) {
898 < 180 - centerSlot) {< 360 - centerSlot) { series.highToXY(point);
899 < 180 - centerSlot) {< 360 - centerSlot) { });
900 < 180 - centerSlot) {< 360 - centerSlot) { }
901 < 180 - centerSlot) {< 360 - centerSlot) { },
902  
903 < 180 - centerSlot) {< 360 - centerSlot) { /**
904 < 180 - centerSlot) {< 360 - centerSlot) { * Extend the line series' getSegmentPath method by applying the segment
905 < 180 - centerSlot) {< 360 - centerSlot) { * path to both lower and higher values of the range
906 < 180 - centerSlot) {< 360 - centerSlot) { */
907 < 180 - centerSlot) {< 360 - centerSlot) { getGraphPath: function(points) {
908  
909 < 180 - centerSlot) {< 360 - centerSlot) { var highPoints = [],
910 < 180 - centerSlot) {< 360 - centerSlot) { highAreaPoints = [],
911 < 180 - centerSlot) {< 360 - centerSlot) { i,
912 < 180 - centerSlot) {< 360 - centerSlot) { getGraphPath = seriesTypes.area.prototype.getGraphPath,
913 < 180 - centerSlot) {< 360 - centerSlot) { point,
914 < 180 - centerSlot) {< 360 - centerSlot) { pointShim,
915 < 180 - centerSlot) {< 360 - centerSlot) { linePath,
916 < 180 - centerSlot) {< 360 - centerSlot) { lowerPath,
917 < 180 - centerSlot) {< 360 - centerSlot) { options = this.options,
918 < 180 - centerSlot) {< 360 - centerSlot) { connectEnds = this.chart.polar && options.connectEnds !== false,
919 < 180 - centerSlot) {< 360 - centerSlot) { step = options.step,
920 < 180 - centerSlot) {< 360 - centerSlot) { higherPath,
921 < 180 - centerSlot) {< 360 - centerSlot) { higherAreaPath;
922  
923 < 180 - centerSlot) {< 360 - centerSlot) { points = points || this.points;
924 < 180 - centerSlot) {< 360 - centerSlot) { i = points.length;
925  
926 < 180 - centerSlot) {< 360 - centerSlot) { // Create the top line and the top part of the area fill. The area fill compensates for
927 < 180 - centerSlot) {< 360 - centerSlot) { // null points by drawing down to the lower graph, moving across the null gap and
928 < 180 - centerSlot) {< 360 - centerSlot) { // starting again at the lower graph.
929 < 180 - centerSlot) {< 360 - centerSlot) { i = points.length;
930 < 180 - centerSlot) {< 360 - centerSlot) { while (i--) {
931 < 180 - centerSlot) {< 360 - centerSlot) { point = points[i];
932  
933 < 180 - centerSlot) {< 360 - centerSlot) { if (!point.isNull &&
934 < 180 - centerSlot) {< 360 - centerSlot) { !connectEnds &&
935 < 180 - centerSlot) {< 360 - centerSlot) { (!points[i + 1] || points[i + 1].isNull)
936 < 180 - centerSlot) {< 360 - centerSlot) { ) {
937 < 180 - centerSlot) {< 360 - centerSlot) { highAreaPoints.push({
938 < 180 - centerSlot) {< 360 - centerSlot) { plotX: point.plotX,
939 < 180 - centerSlot) {< 360 - centerSlot) { plotY: point.plotY,
940 < 180 - centerSlot) {< 360 - centerSlot) { doCurve: false // #5186, gaps in areasplinerange fill
941 < 180 - centerSlot) {< 360 - centerSlot) { });
942 < 180 - centerSlot) {< 360 - centerSlot) { }
943  
944 < 180 - centerSlot) {< 360 - centerSlot) { pointShim = {
945 < 180 - centerSlot) {< 360 - centerSlot) { polarPlotY: point.polarPlotY,
946 < 180 - centerSlot) {< 360 - centerSlot) { rectPlotX: point.rectPlotX,
947 < 180 - centerSlot) {< 360 - centerSlot) { yBottom: point.yBottom,
948 < 180 - centerSlot) {< 360 - centerSlot) { plotX: pick(point.plotHighX, point.plotX), // plotHighX is for polar charts
949 < 180 - centerSlot) {< 360 - centerSlot) { plotY: point.plotHigh,
950 < 180 - centerSlot) {< 360 - centerSlot) { isNull: point.isNull
951 < 180 - centerSlot) {< 360 - centerSlot) { };
952 < 180 - centerSlot) {< 360 - centerSlot) { highAreaPoints.push(pointShim);
953 < 180 - centerSlot) {< 360 - centerSlot) { highPoints.push(pointShim);
954  
955 < 180 - centerSlot) {< 360 - centerSlot) { if (!point.isNull &&
956 < 180 - centerSlot) {< 360 - centerSlot) { !connectEnds &&
957 < 180 - centerSlot) {< 360 - centerSlot) { (!points[i - 1] || points[i - 1].isNull)
958 < 180 - centerSlot) {< 360 - centerSlot) { ) {
959 < 180 - centerSlot) {< 360 - centerSlot) { highAreaPoints.push({
960 < 180 - centerSlot) {< 360 - centerSlot) { plotX: point.plotX,
961 < 180 - centerSlot) {< 360 - centerSlot) { plotY: point.plotY,
962 < 180 - centerSlot) {< 360 - centerSlot) { doCurve: false // #5186, gaps in areasplinerange fill
963 < 180 - centerSlot) {< 360 - centerSlot) { });
964 < 180 - centerSlot) {< 360 - centerSlot) { }
965 < 180 - centerSlot) {< 360 - centerSlot) { }
966  
967 < 180 - centerSlot) {< 360 - centerSlot) { // Get the paths
968 < 180 - centerSlot) {< 360 - centerSlot) { lowerPath = getGraphPath.call(this, points);
969 < 180 - centerSlot) {< 360 - centerSlot) { if (step) {
970 < 180 - centerSlot) {< 360 - centerSlot) { if (step === true) {
971 < 180 - centerSlot) {< 360 - centerSlot) { step = 'left';
972 < 180 - centerSlot) {< 360 - centerSlot) { }
973 < 180 - centerSlot) {< 360 - centerSlot) { options.step = {
974 < 180 - centerSlot) {< 360 - centerSlot) { left: 'right',
975 < 180 - centerSlot) {< 360 - centerSlot) { center: 'center',
976 < 180 - centerSlot) {< 360 - centerSlot) { right: 'left'
977 < 180 - centerSlot) {< 360 - centerSlot) { }[step]; // swap for reading in getGraphPath
978 < 180 - centerSlot) {< 360 - centerSlot) { }
979 < 180 - centerSlot) {< 360 - centerSlot) { higherPath = getGraphPath.call(this, highPoints);
980 < 180 - centerSlot) {< 360 - centerSlot) { higherAreaPath = getGraphPath.call(this, highAreaPoints);
981 < 180 - centerSlot) {< 360 - centerSlot) { options.step = step;
982  
983 < 180 - centerSlot) {< 360 - centerSlot) { // Create a line on both top and bottom of the range
984 < 180 - centerSlot) {< 360 - centerSlot) { linePath = [].concat(lowerPath, higherPath);
985  
986 < 180 - centerSlot) {< 360 - centerSlot) { // For the area path, we need to change the 'move' statement into 'lineTo' or 'curveTo'
987 < 180 - centerSlot) {< 360 - centerSlot) { if (!this.chart.polar && higherAreaPath[0] === 'M') {
988 < 180 - centerSlot) {< 360 - centerSlot) { higherAreaPath[0] = 'L'; // this probably doesn't work for spline
989 < 180 - centerSlot) {< 360 - centerSlot) { }
990  
991 < 180 - centerSlot) {< 360 - centerSlot) { this.graphPath = linePath;
992 < 180 - centerSlot) {< 360 - centerSlot) { this.areaPath = this.areaPath.concat(lowerPath, higherAreaPath);
993  
994 < 180 - centerSlot) {< 360 - centerSlot) { // Prepare for sideways animation
995 < 180 - centerSlot) {< 360 - centerSlot) { linePath.isArea = true;
996 < 180 - centerSlot) {< 360 - centerSlot) { linePath.xMap = lowerPath.xMap;
997 < 180 - centerSlot) {< 360 - centerSlot) { this.areaPath.xMap = lowerPath.xMap;
998  
999 < 180 - centerSlot) {< 360 - centerSlot) { return linePath;
1000 < 180 - centerSlot) {< 360 - centerSlot) { },
1001  
1002 < 180 - centerSlot) {< 360 - centerSlot) { /**
1003 < 180 - centerSlot) {< 360 - centerSlot) { * Extend the basic drawDataLabels method by running it for both lower and higher
1004 < 180 - centerSlot) {< 360 - centerSlot) { * values.
1005 < 180 - centerSlot) {< 360 - centerSlot) { */
1006 < 180 - centerSlot) {< 360 - centerSlot) { drawDataLabels: function() {
1007  
1008 < 180 - centerSlot) {< 360 - centerSlot) { var data = this.data,
1009 < 180 - centerSlot) {< 360 - centerSlot) { length = data.length,
1010 < 180 - centerSlot) {< 360 - centerSlot) { i,
1011 < 180 - centerSlot) {< 360 - centerSlot) { originalDataLabels = [],
1012 < 180 - centerSlot) {< 360 - centerSlot) { seriesProto = Series.prototype,
1013 < 180 - centerSlot) {< 360 - centerSlot) { dataLabelOptions = this.options.dataLabels,
1014 < 180 - centerSlot) {< 360 - centerSlot) { align = dataLabelOptions.align,
1015 < 180 - centerSlot) {< 360 - centerSlot) { verticalAlign = dataLabelOptions.verticalAlign,
1016 < 180 - centerSlot) {< 360 - centerSlot) { inside = dataLabelOptions.inside,
1017 < 180 - centerSlot) {< 360 - centerSlot) { point,
1018 < 180 - centerSlot) {< 360 - centerSlot) { up,
1019 < 180 - centerSlot) {< 360 - centerSlot) { inverted = this.chart.inverted;
1020  
1021 < 180 - centerSlot) {< 360 - centerSlot) { if (dataLabelOptions.enabled || this._hasPointLabels) {
1022  
1023 < 180 - centerSlot) {< 360 - centerSlot) { // Step 1: set preliminary values for plotY and dataLabel and draw the upper labels
1024 < 180 - centerSlot) {< 360 - centerSlot) { i = length;
1025 < 180 - centerSlot) {< 360 - centerSlot) { while (i--) {
1026 < 180 - centerSlot) {< 360 - centerSlot) { point = data[i];
1027 < 180 - centerSlot) {< 360 - centerSlot) { if (point) {
1028 < 180 - centerSlot) {< 360 - centerSlot) { up = inside ? point.plotHigh < point.plotLow : point.plotHigh > point.plotLow;
1029  
1030 < 180 - centerSlot) {< 360 - centerSlot) { // Set preliminary values
1031 < 180 - centerSlot) {< 360 - centerSlot) { point.y = point.high;
1032 < 180 - centerSlot) {< 360 - centerSlot) { point._plotY = point.plotY;
1033 < 180 - centerSlot) {< 360 - centerSlot) { point.plotY = point.plotHigh;
1034  
1035 < 180 - centerSlot) {< 360 - centerSlot) { // Store original data labels and set preliminary label objects to be picked up
1036 < 180 - centerSlot) {< 360 - centerSlot) { // in the uber method
1037 < 180 - centerSlot) {< 360 - centerSlot) { originalDataLabels[i] = point.dataLabel;
1038 < 180 - centerSlot) {< 360 - centerSlot) { point.dataLabel = point.dataLabelUpper;
1039  
1040 < 180 - centerSlot) {< 360 - centerSlot) { // Set the default offset
1041 < 180 - centerSlot) {< 360 - centerSlot) { point.below = up;
1042 < 180 - centerSlot) {< 360 - centerSlot) { if (inverted) {
1043 < 180 - centerSlot) {< 360 - centerSlot) { if (!align) {
1044 < 180 - centerSlot) {< 360 - centerSlot) { dataLabelOptions.align = up ? 'right' : 'left';
1045 < 180 - centerSlot) {< 360 - centerSlot) { }
1046 < 180 - centerSlot) {< 360 - centerSlot) { } else {
1047 < 180 - centerSlot) {< 360 - centerSlot) { if (!verticalAlign) {
1048 < 180 - centerSlot) {< 360 - centerSlot) { dataLabelOptions.verticalAlign = up ? 'top' : 'bottom';
1049 < 180 - centerSlot) {< 360 - centerSlot) { }
1050 < 180 - centerSlot) {< 360 - centerSlot) { }
1051  
1052 < 180 - centerSlot) {< 360 - centerSlot) { dataLabelOptions.x = dataLabelOptions.xHigh;
1053 < 180 - centerSlot) {< 360 - centerSlot) { dataLabelOptions.y = dataLabelOptions.yHigh;
1054 < 180 - centerSlot) {< 360 - centerSlot) { }
1055 < 180 - centerSlot) {< 360 - centerSlot) { }
1056  
1057 < 180 - centerSlot) {< 360 - centerSlot) { if (seriesProto.drawDataLabels) {
1058 < 180 - centerSlot) {< 360 - centerSlot) { seriesProto.drawDataLabels.apply(this, arguments); // #1209
1059 < 180 - centerSlot) {< 360 - centerSlot) { }
1060  
1061 < 180 - centerSlot) {< 360 - centerSlot) { // Step 2: reorganize and handle data labels for the lower values
1062 < 180 - centerSlot) {< 360 - centerSlot) { i = length;
1063 < 180 - centerSlot) {< 360 - centerSlot) { while (i--) {
1064 < 180 - centerSlot) {< 360 - centerSlot) { point = data[i];
1065 < 180 - centerSlot) {< 360 - centerSlot) { if (point) {
1066 < 180 - centerSlot) {< 360 - centerSlot) { up = inside ? point.plotHigh < point.plotLow : point.plotHigh > point.plotLow;
1067  
1068 < 180 - centerSlot) {< 360 - centerSlot) { // Move the generated labels from step 1, and reassign the original data labels
1069 < 180 - centerSlot) {< 360 - centerSlot) { point.dataLabelUpper = point.dataLabel;
1070 < 180 - centerSlot) {< 360 - centerSlot) { point.dataLabel = originalDataLabels[i];
1071  
1072 < 180 - centerSlot) {< 360 - centerSlot) { // Reset values
1073 < 180 - centerSlot) {< 360 - centerSlot) { point.y = point.low;
1074 < 180 - centerSlot) {< 360 - centerSlot) { point.plotY = point._plotY;
1075  
1076 < 180 - centerSlot) {< 360 - centerSlot) { // Set the default offset
1077 < 180 - centerSlot) {< 360 - centerSlot) { point.below = !up;
1078 < 180 - centerSlot) {< 360 - centerSlot) { if (inverted) {
1079 < 180 - centerSlot) {< 360 - centerSlot) { if (!align) {
1080 < 180 - centerSlot) {< 360 - centerSlot) { dataLabelOptions.align = up ? 'left' : 'right';
1081 < 180 - centerSlot) {< 360 - centerSlot) { }
1082 < 180 - centerSlot) {< 360 - centerSlot) { } else {
1083 < 180 - centerSlot) {< 360 - centerSlot) { if (!verticalAlign) {
1084 < 180 - centerSlot) {< 360 - centerSlot) { dataLabelOptions.verticalAlign = up ? 'bottom' : 'top';
1085 < 180 - centerSlot) {< 360 - centerSlot) { }
1086  
1087 < 180 - centerSlot) {< 360 - centerSlot) { }
1088  
1089 < 180 - centerSlot) {< 360 - centerSlot) { dataLabelOptions.x = dataLabelOptions.xLow;
1090 < 180 - centerSlot) {< 360 - centerSlot) { dataLabelOptions.y = dataLabelOptions.yLow;
1091 < 180 - centerSlot) {< 360 - centerSlot) { }
1092 < 180 - centerSlot) {< 360 - centerSlot) { }
1093 < 180 - centerSlot) {< 360 - centerSlot) { if (seriesProto.drawDataLabels) {
1094 < 180 - centerSlot) {< 360 - centerSlot) { seriesProto.drawDataLabels.apply(this, arguments);
1095 < 180 - centerSlot) {< 360 - centerSlot) { }
1096 < 180 - centerSlot) {< 360 - centerSlot) { }
1097  
1098 < 180 - centerSlot) {< 360 - centerSlot) { dataLabelOptions.align = align;
1099 < 180 - centerSlot) {< 360 - centerSlot) { dataLabelOptions.verticalAlign = verticalAlign;
1100 < 180 - centerSlot) {< 360 - centerSlot) { },
1101  
1102 < 180 - centerSlot) {< 360 - centerSlot) { alignDataLabel: function() {
1103 < 180 - centerSlot) {< 360 - centerSlot) { seriesTypes.column.prototype.alignDataLabel.apply(this, arguments);
1104 < 180 - centerSlot) {< 360 - centerSlot) { },
1105  
1106 < 180 - centerSlot) {< 360 - centerSlot) { setStackedPoints: noop,
1107  
1108 < 180 - centerSlot) {< 360 - centerSlot) { getSymbol: noop,
1109  
1110 < 180 - centerSlot) {< 360 - centerSlot) { drawPoints: noop
1111 < 180 - centerSlot) {< 360 - centerSlot) { });
1112  
1113 < 180 - centerSlot) {< 360 - centerSlot) { }(Highcharts));
1114 < 180 - centerSlot) {< 360 - centerSlot) { (function(H) {
1115 < 180 - centerSlot) {< 360 - centerSlot) { /**
1116 < 180 - centerSlot) {< 360 - centerSlot) { * (c) 2010-2017 Torstein Honsi
1117 < 180 - centerSlot) {< 360 - centerSlot) { *
1118 < 180 - centerSlot) {< 360 - centerSlot) { * License: www.highcharts.com/license
1119 < 180 - centerSlot) {< 360 - centerSlot) { */
1120  
1121 < 180 - centerSlot) {< 360 - centerSlot) { var seriesType = H.seriesType,
1122 < 180 - centerSlot) {< 360 - centerSlot) { seriesTypes = H.seriesTypes;
1123  
1124 < 180 - centerSlot) {< 360 - centerSlot) { /**
1125 < 180 - centerSlot) {< 360 - centerSlot) { * The areasplinerange series type
1126 < 180 - centerSlot) {< 360 - centerSlot) { */
1127 < 180 - centerSlot) {< 360 - centerSlot) { seriesType('areasplinerange', 'arearange', null, {
1128 < 180 - centerSlot) {< 360 - centerSlot) { getPointSpline: seriesTypes.spline.prototype.getPointSpline
1129 < 180 - centerSlot) {< 360 - centerSlot) { });
1130  
1131 < 180 - centerSlot) {< 360 - centerSlot) { }(Highcharts));
1132 < 180 - centerSlot) {< 360 - centerSlot) { (function(H) {
1133 < 180 - centerSlot) {< 360 - centerSlot) { /**
1134 < 180 - centerSlot) {< 360 - centerSlot) { * (c) 2010-2017 Torstein Honsi
1135 < 180 - centerSlot) {< 360 - centerSlot) { *
1136 < 180 - centerSlot) {< 360 - centerSlot) { * License: www.highcharts.com/license
1137 < 180 - centerSlot) {< 360 - centerSlot) { */
1138 < 180 - centerSlot) {< 360 - centerSlot) { var defaultPlotOptions = H.defaultPlotOptions,
1139 < 180 - centerSlot) {< 360 - centerSlot) { each = H.each,
1140 < 180 - centerSlot) {< 360 - centerSlot) { merge = H.merge,
1141 < 180 - centerSlot) {< 360 - centerSlot) { noop = H.noop,
1142 < 180 - centerSlot) {< 360 - centerSlot) { pick = H.pick,
1143 < 180 - centerSlot) {< 360 - centerSlot) { seriesType = H.seriesType,
1144 < 180 - centerSlot) {< 360 - centerSlot) { seriesTypes = H.seriesTypes;
1145  
1146 < 180 - centerSlot) {< 360 - centerSlot) { var colProto = seriesTypes.column.prototype;
1147  
1148 < 180 - centerSlot) {< 360 - centerSlot) { /**
1149 < 180 - centerSlot) {< 360 - centerSlot) { * The ColumnRangeSeries class
1150 < 180 - centerSlot) {< 360 - centerSlot) { */
1151 < 180 - centerSlot) {< 360 - centerSlot) { seriesType('columnrange', 'arearange', merge(defaultPlotOptions.column, defaultPlotOptions.arearange, {
1152 < 180 - centerSlot) {< 360 - centerSlot) { lineWidth: 1,
1153 < 180 - centerSlot) {< 360 - centerSlot) { pointRange: null
1154  
1155 < 180 - centerSlot) {< 360 - centerSlot) { // Prototype members
1156 < 180 - centerSlot) {< 360 - centerSlot) { }), {
1157 < 180 - centerSlot) {< 360 - centerSlot) { /**
1158 < 180 - centerSlot) {< 360 - centerSlot) { * Translate data points from raw values x and y to plotX and plotY
1159 < 180 - centerSlot) {< 360 - centerSlot) { */
1160 < 180 - centerSlot) {< 360 - centerSlot) { translate: function() {
1161 < 180 - centerSlot) {< 360 - centerSlot) { var series = this,
1162 < 180 - centerSlot) {< 360 - centerSlot) { yAxis = series.yAxis,
1163 < 180 - centerSlot) {< 360 - centerSlot) { xAxis = series.xAxis,
1164 < 180 - centerSlot) {< 360 - centerSlot) { startAngleRad = xAxis.startAngleRad,
1165 < 180 - centerSlot) {< 360 - centerSlot) { start,
1166 < 180 - centerSlot) {< 360 - centerSlot) { chart = series.chart,
1167 < 180 - centerSlot) {< 360 - centerSlot) { isRadial = series.xAxis.isRadial,
1168 < 180 - centerSlot) {< 360 - centerSlot) { plotHigh;
1169  
1170 < 180 - centerSlot) {< 360 - centerSlot) { colProto.translate.apply(series);
1171  
1172 < 180 - centerSlot) {< 360 - centerSlot) { // Set plotLow and plotHigh
1173 < 180 - centerSlot) {< 360 - centerSlot) { each(series.points, function(point) {
1174 < 180 - centerSlot) {< 360 - centerSlot) { var shapeArgs = point.shapeArgs,
1175 < 180 - centerSlot) {< 360 - centerSlot) { minPointLength = series.options.minPointLength,
1176 < 180 - centerSlot) {< 360 - centerSlot) { heightDifference,
1177 < 180 - centerSlot) {< 360 - centerSlot) { height,
1178 < 180 - centerSlot) {< 360 - centerSlot) { y;
1179  
1180 < 180 - centerSlot) {< 360 - centerSlot) { point.plotHigh = plotHigh = yAxis.translate(point.high, 0, 1, 0, 1);
1181 < 180 - centerSlot) {< 360 - centerSlot) { point.plotLow = point.plotY;
1182  
1183 < 180 - centerSlot) {< 360 - centerSlot) { // adjust shape
1184 < 180 - centerSlot) {< 360 - centerSlot) { y = plotHigh;
1185 < 180 - centerSlot) {< 360 - centerSlot) { height = pick(point.rectPlotY, point.plotY) - plotHigh;
1186  
1187 < 180 - centerSlot) {< 360 - centerSlot) { // Adjust for minPointLength
1188 < 180 - centerSlot) {< 360 - centerSlot) { if (Math.abs(height) < minPointLength) {
1189 < 180 - centerSlot) {< 360 - centerSlot) { heightDifference = (minPointLength - height);
1190 < 180 - centerSlot) {< 360 - centerSlot) { height += heightDifference;
1191 < 180 - centerSlot) {< 360 - centerSlot) { y -= heightDifference / 2;
1192  
1193 < 180 - centerSlot) {< 360 - centerSlot) { // Adjust for negative ranges or reversed Y axis (#1457)
1194 < 180 - centerSlot) {< 360 - centerSlot) { } else if (height < 0) {
1195 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { height *= -1;
1196 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { y -= height;
1197 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { }
1198  
1199 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { if (isRadial) {
1200  
1201 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { start = point.barX + startAngleRad;
1202 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { point.shapeType = 'path';
1203 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { point.shapeArgs = {
1204 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { d: series.polarArc(y + height, y, start, start + point.pointWidth)
1205 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { };
1206 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { } else {
1207 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { shapeArgs.height = height;
1208 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { shapeArgs.y = y;
1209  
1210 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { point.tooltipPos = chart.inverted ? [
1211 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { yAxis.len + yAxis.pos - chart.plotLeft - y - height / 2,
1212 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { xAxis.len + xAxis.pos - chart.plotTop - shapeArgs.x -
1213 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { shapeArgs.width / 2,
1214 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { height
1215 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { ] : [
1216 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { xAxis.left - chart.plotLeft + shapeArgs.x +
1217 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { shapeArgs.width / 2,
1218 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { yAxis.pos - chart.plotTop + y + height / 2,
1219 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { height
1220 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { ]; // don't inherit from column tooltip position - #3372
1221 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { }
1222 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { });
1223 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { },
1224 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { directTouch: true,
1225 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { trackerGroups: ['group', 'dataLabelsGroup'],
1226 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { drawGraph: noop,
1227 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { crispCol: colProto.crispCol,
1228 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { drawPoints: colProto.drawPoints,
1229 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { drawTracker: colProto.drawTracker,
1230 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { getColumnMetrics: colProto.getColumnMetrics,
1231 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { animate: function() {
1232 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { return colProto.animate.apply(this, arguments);
1233 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { },
1234 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { polarArc: function() {
1235 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { return colProto.polarArc.apply(this, arguments);
1236 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { },
1237 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { pointAttribs: colProto.pointAttribs
1238 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { });
1239  
1240 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { }(Highcharts));
1241 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { (function(H) {
1242 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { /**
1243 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { * (c) 2010-2017 Torstein Honsi
1244 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { *
1245 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { * License: www.highcharts.com/license
1246 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { */
1247 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { var each = H.each,
1248 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { isNumber = H.isNumber,
1249 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { merge = H.merge,
1250 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { noop = H.noop,
1251 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { pick = H.pick,
1252 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { pInt = H.pInt,
1253 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { Series = H.Series,
1254 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { seriesType = H.seriesType,
1255 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { TrackerMixin = H.TrackerMixin;
1256 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { /*
1257 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { * The GaugeSeries class
1258 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { */
1259 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { seriesType('gauge', 'line', {
1260 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { dataLabels: {
1261 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { enabled: true,
1262 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { defer: false,
1263 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { y: 15,
1264 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { borderRadius: 3,
1265 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { crop: false,
1266 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { verticalAlign: 'top',
1267 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { zIndex: 2,
1268  
1269 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // Presentational
1270 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { borderWidth: 1,
1271 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { borderColor: '#cccccc'
1272  
1273 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { },
1274 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { dial: {
1275 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // radius: '80%',
1276 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // baseWidth: 3,
1277 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // topWidth: 1,
1278 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // baseLength: '70%' // of radius
1279 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // rearLength: '10%'
1280  
1281 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // backgroundColor: '#000000',
1282 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // borderColor: '#cccccc',
1283 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // borderWidth: 0
1284  
1285  
1286 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { },
1287 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { pivot: {
1288 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { //radius: 5,
1289  
1290 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { //borderWidth: 0
1291 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { //borderColor: '#cccccc',
1292 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { //backgroundColor: '#000000'
1293  
1294 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { },
1295 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { tooltip: {
1296 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { headerFormat: ''
1297 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { },
1298 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { showInLegend: false
1299  
1300 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // Prototype members
1301 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { }, {
1302 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // chart.angular will be set to true when a gauge series is present, and this will
1303 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // be used on the axes
1304 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { angular: true,
1305 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { directTouch: true, // #5063
1306 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { drawGraph: noop,
1307 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { fixedBox: true,
1308 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { forceDL: true,
1309 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { noSharedTooltip: true,
1310 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { trackerGroups: ['group', 'dataLabelsGroup'],
1311  
1312 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { /**
1313 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { * Calculate paths etc
1314 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { */
1315 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { translate: function() {
1316  
1317 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { var series = this,
1318 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { yAxis = series.yAxis,
1319 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { options = series.options,
1320 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { center = yAxis.center;
1321  
1322 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { series.generatePoints();
1323  
1324 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { each(series.points, function(point) {
1325  
1326 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { var dialOptions = merge(options.dial, point.dial),
1327 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { radius = (pInt(pick(dialOptions.radius, 80)) * center[2]) / 200,
1328 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { baseLength = (pInt(pick(dialOptions.baseLength, 70)) * radius) / 100,
1329 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { rearLength = (pInt(pick(dialOptions.rearLength, 10)) * radius) / 100,
1330 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { baseWidth = dialOptions.baseWidth || 3,
1331 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { topWidth = dialOptions.topWidth || 1,
1332 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { overshoot = options.overshoot,
1333 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { rotation = yAxis.startAngleRad + yAxis.translate(point.y, null, null, null, true);
1334  
1335 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // Handle the wrap and overshoot options
1336 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { if (isNumber(overshoot)) {
1337 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { overshoot = overshoot / 180 * Math.PI;
1338 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { rotation = Math.max(yAxis.startAngleRad - overshoot, Math.min(yAxis.endAngleRad + overshoot, rotation));
1339  
1340 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { } else if (options.wrap === false) {
1341 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { rotation = Math.max(yAxis.startAngleRad, Math.min(yAxis.endAngleRad, rotation));
1342 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { }
1343  
1344 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { rotation = rotation * 180 / Math.PI;
1345  
1346 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { point.shapeType = 'path';
1347 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { point.shapeArgs = {
1348 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { d: dialOptions.path || [
1349 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { 'M', -rearLength, -baseWidth / 2,
1350 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { 'L',
1351 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { baseLength, -baseWidth / 2,
1352 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { radius, -topWidth / 2,
1353 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { radius, topWidth / 2,
1354 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { baseLength, baseWidth / 2, -rearLength, baseWidth / 2,
1355 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { 'z'
1356 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { ],
1357 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { translateX: center[0],
1358 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { translateY: center[1],
1359 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { rotation: rotation
1360 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { };
1361  
1362 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // Positions for data label
1363 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { point.plotX = center[0];
1364 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { point.plotY = center[1];
1365 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { });
1366 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { },
1367  
1368 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { /**
1369 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { * Draw the points where each point is one needle
1370 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { */
1371 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { drawPoints: function() {
1372  
1373 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { var series = this,
1374 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { center = series.yAxis.center,
1375 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { pivot = series.pivot,
1376 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { options = series.options,
1377 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { pivotOptions = options.pivot,
1378 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { renderer = series.chart.renderer;
1379  
1380 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { each(series.points, function(point) {
1381  
1382 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { var graphic = point.graphic,
1383 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { shapeArgs = point.shapeArgs,
1384 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { d = shapeArgs.d,
1385 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { dialOptions = merge(options.dial, point.dial); // #1233
1386  
1387 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { if (graphic) {
1388 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { graphic.animate(shapeArgs);
1389 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { shapeArgs.d = d; // animate alters it
1390 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { } else {
1391 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { point.graphic = renderer[point.shapeType](shapeArgs)
1392 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { .attr({
1393 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { rotation: shapeArgs.rotation, // required by VML when animation is false
1394 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { zIndex: 1
1395 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { })
1396 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { .addClass('highcharts-dial')
1397 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { .add(series.group);
1398  
1399  
1400 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // Presentational attributes
1401 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { point.graphic.attr({
1402 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { stroke: dialOptions.borderColor || 'none',
1403 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { 'stroke-width': dialOptions.borderWidth || 0,
1404 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { fill: dialOptions.backgroundColor || '#000000'
1405 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { });
1406  
1407 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { }
1408 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { });
1409  
1410 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // Add or move the pivot
1411 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { if (pivot) {
1412 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { pivot.animate({ // #1235
1413 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { translateX: center[0],
1414 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { translateY: center[1]
1415 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { });
1416 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { } else {
1417 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { series.pivot = renderer.circle(0, 0, pick(pivotOptions.radius, 5))
1418 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { .attr({
1419 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { zIndex: 2
1420 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { })
1421 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { .addClass('highcharts-pivot')
1422 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { .translate(center[0], center[1])
1423 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { .add(series.group);
1424  
1425  
1426 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // Presentational attributes
1427 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { series.pivot.attr({
1428 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { 'stroke-width': pivotOptions.borderWidth || 0,
1429 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { stroke: pivotOptions.borderColor || '#cccccc',
1430 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { fill: pivotOptions.backgroundColor || '#000000'
1431 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { });
1432  
1433 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { }
1434 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { },
1435  
1436 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { /**
1437 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { * Animate the arrow up from startAngle
1438 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { */
1439 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { animate: function(init) {
1440 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { var series = this;
1441  
1442 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { if (!init) {
1443 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { each(series.points, function(point) {
1444 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { var graphic = point.graphic;
1445  
1446 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { if (graphic) {
1447 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // start value
1448 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { graphic.attr({
1449 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { rotation: series.yAxis.startAngleRad * 180 / Math.PI
1450 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { });
1451  
1452 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // animate
1453 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { graphic.animate({
1454 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { rotation: point.shapeArgs.rotation
1455 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { }, series.options.animation);
1456 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { }
1457 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { });
1458  
1459 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // delete this function to allow it only once
1460 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { series.animate = null;
1461 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { }
1462 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { },
1463  
1464 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { render: function() {
1465 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { this.group = this.plotGroup(
1466 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { 'group',
1467 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { 'series',
1468 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { this.visible ? 'visible' : 'hidden',
1469 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { this.options.zIndex,
1470 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { this.chart.seriesGroup
1471 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { );
1472 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { Series.prototype.render.call(this);
1473 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { this.group.clip(this.chart.clipRect);
1474 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { },
1475  
1476 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { /**
1477 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { * Extend the basic setData method by running processData and generatePoints immediately,
1478 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { * in order to access the points from the legend.
1479 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { */
1480 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { setData: function(data, redraw) {
1481 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { Series.prototype.setData.call(this, data, false);
1482 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { this.processData();
1483 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { this.generatePoints();
1484 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { if (pick(redraw, true)) {
1485 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { this.chart.redraw();
1486 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { }
1487 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { },
1488  
1489 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { /**
1490 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { * If the tracking module is loaded, add the point tracker
1491 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { */
1492 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { drawTracker: TrackerMixin && TrackerMixin.drawTrackerPoint
1493  
1494 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // Point members
1495 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { }, {
1496 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { /**
1497 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { * Don't do any hover colors or anything
1498 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { */
1499 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { setState: function(state) {
1500 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { this.state = state;
1501 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { }
1502 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { });
1503  
1504 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { }(Highcharts));
1505 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { (function(H) {
1506 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { /**
1507 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { * (c) 2010-2017 Torstein Honsi
1508 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { *
1509 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { * License: www.highcharts.com/license
1510 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { */
1511 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { var each = H.each,
1512 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { noop = H.noop,
1513 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { pick = H.pick,
1514 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { seriesType = H.seriesType,
1515 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { seriesTypes = H.seriesTypes;
1516  
1517 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { /**
1518 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { * The boxplot series type.
1519 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { *
1520 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { * @constructor seriesTypes.boxplot
1521 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { * @augments seriesTypes.column
1522 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { */
1523 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { seriesType('boxplot', 'column', {
1524 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { threshold: null,
1525 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { tooltip: {
1526  
1527 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { pointFormat: '<span style="color:{point.color}">\u25CF</span> <b> {series.name}</b><br/>' + // eslint-disable-line no-dupe-keys
1528 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { 'Maximum: {point.high}<br/>' +
1529 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { 'Upper quartile: {point.q3}<br/>' +
1530 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { 'Median: {point.median}<br/>' +
1531 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { 'Lower quartile: {point.q1}<br/>' +
1532 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { 'Minimum: {point.low}<br/>'
1533  
1534 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { },
1535 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { whiskerLength: '50%',
1536  
1537 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { fillColor: '#ffffff',
1538 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { lineWidth: 1,
1539 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { //medianColor: null,
1540 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { medianWidth: 2,
1541 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { states: {
1542 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { hover: {
1543 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { brightness: -0.3
1544 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { }
1545 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { },
1546 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { //stemColor: null,
1547 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { //stemDashStyle: 'solid'
1548 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { //stemWidth: null,
1549  
1550 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { //whiskerColor: null,
1551 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { whiskerWidth: 2
1552  
1553  
1554 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { }, /** @lends seriesTypes.boxplot */ {
1555 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { pointArrayMap: ['low', 'q1', 'median', 'q3', 'high'], // array point configs are mapped to this
1556 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { toYData: function(point) { // return a plain array for speedy calculation
1557 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { return [point.low, point.q1, point.median, point.q3, point.high];
1558 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { },
1559 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { pointValKey: 'high', // defines the top of the tracker
1560  
1561  
1562 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { /**
1563 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { * Get presentational attributes
1564 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { */
1565 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { pointAttribs: function(point) {
1566 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { var options = this.options,
1567 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { color = (point && point.color) || this.color;
1568  
1569 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { return {
1570 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { 'fill': point.fillColor || options.fillColor || color,
1571 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { 'stroke': options.lineColor || color,
1572 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { 'stroke-width': options.lineWidth || 0
1573 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { };
1574 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { },
1575  
1576  
1577 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { /**
1578 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { * Disable data labels for box plot
1579 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { */
1580 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { drawDataLabels: noop,
1581  
1582 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { /**
1583 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { * Translate data points from raw values x and y to plotX and plotY
1584 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { */
1585 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { translate: function() {
1586 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { var series = this,
1587 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { yAxis = series.yAxis,
1588 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { pointArrayMap = series.pointArrayMap;
1589  
1590 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { seriesTypes.column.prototype.translate.apply(series);
1591  
1592 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // do the translation on each point dimension
1593 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { each(series.points, function(point) {
1594 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { each(pointArrayMap, function(key) {
1595 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { if (point[key] !== null) {
1596 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { point[key + 'Plot'] = yAxis.translate(point[key], 0, 1, 0, 1);
1597 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { }
1598 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { });
1599 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { });
1600 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { },
1601  
1602 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { /**
1603 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { * Draw the data points
1604 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { */
1605 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { drawPoints: function() {
1606 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { var series = this, //state = series.state,
1607 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { points = series.points,
1608 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { options = series.options,
1609 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { chart = series.chart,
1610 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { renderer = chart.renderer,
1611 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { q1Plot,
1612 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { q3Plot,
1613 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { highPlot,
1614 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { lowPlot,
1615 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { medianPlot,
1616 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { medianPath,
1617 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { crispCorr,
1618 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { crispX = 0,
1619 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { boxPath,
1620 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { width,
1621 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { left,
1622 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { right,
1623 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { halfWidth,
1624 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { doQuartiles = series.doQuartiles !== false, // error bar inherits this series type but doesn't do quartiles
1625 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { pointWiskerLength,
1626 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { whiskerLength = series.options.whiskerLength;
1627  
1628  
1629 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { each(points, function(point) {
1630  
1631 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { var graphic = point.graphic,
1632 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { verb = graphic ? 'animate' : 'attr',
1633 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { shapeArgs = point.shapeArgs; // the box
1634  
1635  
1636 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { var boxAttr,
1637 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { stemAttr = {},
1638 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { whiskersAttr = {},
1639 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { medianAttr = {},
1640 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { color = point.color || series.color;
1641  
1642  
1643 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { if (point.plotY !== undefined) {
1644  
1645 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // crisp vector coordinates
1646 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { width = shapeArgs.width;
1647 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { left = Math.floor(shapeArgs.x);
1648 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { right = left + width;
1649 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { halfWidth = Math.round(width / 2);
1650 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { q1Plot = Math.floor(doQuartiles ? point.q1Plot : point.lowPlot);
1651 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { q3Plot = Math.floor(doQuartiles ? point.q3Plot : point.lowPlot);
1652 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { highPlot = Math.floor(point.highPlot);
1653 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { lowPlot = Math.floor(point.lowPlot);
1654  
1655 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { if (!graphic) {
1656 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { point.graphic = graphic = renderer.g('point')
1657 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { .add(series.group);
1658  
1659 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { point.stem = renderer.path()
1660 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { .addClass('highcharts-boxplot-stem')
1661 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { .add(graphic);
1662  
1663 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { if (whiskerLength) {
1664 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { point.whiskers = renderer.path()
1665 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { .addClass('highcharts-boxplot-whisker')
1666 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { .add(graphic);
1667 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { }
1668 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { if (doQuartiles) {
1669 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { point.box = renderer.path(boxPath)
1670 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { .addClass('highcharts-boxplot-box')
1671 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { .add(graphic);
1672 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { }
1673 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { point.medianShape = renderer.path(medianPath)
1674 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { .addClass('highcharts-boxplot-median')
1675 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { .add(graphic);
1676 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { }
1677  
1678  
1679  
1680  
1681  
1682  
1683 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // Stem attributes
1684 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { stemAttr.stroke = point.stemColor || options.stemColor || color;
1685 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { stemAttr['stroke-width'] = pick(point.stemWidth, options.stemWidth, options.lineWidth);
1686 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { stemAttr.dashstyle = point.stemDashStyle || options.stemDashStyle;
1687 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { point.stem.attr(stemAttr);
1688  
1689 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // Whiskers attributes
1690 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { if (whiskerLength) {
1691 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { whiskersAttr.stroke = point.whiskerColor || options.whiskerColor || color;
1692 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { whiskersAttr['stroke-width'] = pick(point.whiskerWidth, options.whiskerWidth, options.lineWidth);
1693 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { point.whiskers.attr(whiskersAttr);
1694 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { }
1695  
1696 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { if (doQuartiles) {
1697 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { boxAttr = series.pointAttribs(point);
1698 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { point.box.attr(boxAttr);
1699 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { }
1700  
1701  
1702 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // Median attributes
1703 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { medianAttr.stroke = point.medianColor || options.medianColor || color;
1704 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { medianAttr['stroke-width'] = pick(point.medianWidth, options.medianWidth, options.lineWidth);
1705 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { point.medianShape.attr(medianAttr);
1706  
1707  
1708  
1709  
1710  
1711 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // The stem
1712 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { crispCorr = (point.stem.strokeWidth() % 2) / 2;
1713 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { crispX = left + halfWidth + crispCorr;
1714 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { point.stem[verb]({
1715 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { d: [
1716 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // stem up
1717 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { 'M',
1718 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { crispX, q3Plot,
1719 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { 'L',
1720 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { crispX, highPlot,
1721  
1722 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // stem down
1723 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { 'M',
1724 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { crispX, q1Plot,
1725 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { 'L',
1726 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { crispX, lowPlot
1727 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { ]
1728 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { });
1729  
1730 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // The box
1731 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { if (doQuartiles) {
1732 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { crispCorr = (point.box.strokeWidth() % 2) / 2;
1733 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { q1Plot = Math.floor(q1Plot) + crispCorr;
1734 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { q3Plot = Math.floor(q3Plot) + crispCorr;
1735 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { left += crispCorr;
1736 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { right += crispCorr;
1737 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { point.box[verb]({
1738 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { d: [
1739 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { 'M',
1740 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { left, q3Plot,
1741 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { 'L',
1742 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { left, q1Plot,
1743 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { 'L',
1744 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { right, q1Plot,
1745 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { 'L',
1746 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { right, q3Plot,
1747 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { 'L',
1748 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { left, q3Plot,
1749 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { 'z'
1750 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { ]
1751 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { });
1752 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { }
1753  
1754 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // The whiskers
1755 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { if (whiskerLength) {
1756 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { crispCorr = (point.whiskers.strokeWidth() % 2) / 2;
1757 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { highPlot = highPlot + crispCorr;
1758 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { lowPlot = lowPlot + crispCorr;
1759 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { pointWiskerLength = (/%$/).test(whiskerLength) ? halfWidth * parseFloat(whiskerLength) / 100 : whiskerLength / 2;
1760 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { point.whiskers[verb]({
1761 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { d: [
1762 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // High whisker
1763 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { 'M',
1764 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { crispX - pointWiskerLength,
1765 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { highPlot,
1766 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { 'L',
1767 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { crispX + pointWiskerLength,
1768 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { highPlot,
1769  
1770 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // Low whisker
1771 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { 'M',
1772 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { crispX - pointWiskerLength,
1773 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { lowPlot,
1774 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { 'L',
1775 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { crispX + pointWiskerLength,
1776 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { lowPlot
1777 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { ]
1778 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { });
1779 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { }
1780  
1781 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // The median
1782 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { medianPlot = Math.round(point.medianPlot);
1783 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { crispCorr = (point.medianShape.strokeWidth() % 2) / 2;
1784 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { medianPlot = medianPlot + crispCorr;
1785  
1786 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { point.medianShape[verb]({
1787 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { d: [
1788 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { 'M',
1789 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { left,
1790 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { medianPlot,
1791 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { 'L',
1792 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { right,
1793 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { medianPlot
1794 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { ]
1795 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { });
1796 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { }
1797 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { });
1798  
1799 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { },
1800 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { setStackedPoints: noop // #3890
1801  
1802  
1803 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { });
1804  
1805 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { /* ****************************************************************************
1806 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { * End Box plot series code *
1807 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { *****************************************************************************/
1808  
1809 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { }(Highcharts));
1810 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { (function(H) {
1811 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { /**
1812 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { * (c) 2010-2017 Torstein Honsi
1813 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { *
1814 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { * License: www.highcharts.com/license
1815 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { */
1816 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { var each = H.each,
1817 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { noop = H.noop,
1818 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { seriesType = H.seriesType,
1819 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { seriesTypes = H.seriesTypes;
1820  
1821  
1822 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { /* ****************************************************************************
1823 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { * Start error bar series code *
1824 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { *****************************************************************************/
1825 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { seriesType('errorbar', 'boxplot', {
1826  
1827 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { color: '#000000',
1828  
1829 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { grouping: false,
1830 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { linkedTo: ':previous',
1831 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { tooltip: {
1832 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { pointFormat: '<span style="color:{point.color}">\u25CF</span> {series.name}: <b>{point.low}</b> - <b>{point.high}</b><br/>'
1833 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { },
1834 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { whiskerWidth: null
1835  
1836 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // Prototype members
1837 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { }, {
1838 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { type: 'errorbar',
1839 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { pointArrayMap: ['low', 'high'], // array point configs are mapped to this
1840 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { toYData: function(point) { // return a plain array for speedy calculation
1841 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { return [point.low, point.high];
1842 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { },
1843 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { pointValKey: 'high', // defines the top of the tracker
1844 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { doQuartiles: false,
1845 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { drawDataLabels: seriesTypes.arearange ? function() {
1846 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { var valKey = this.pointValKey;
1847 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { seriesTypes.arearange.prototype.drawDataLabels.call(this);
1848 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // Arearange drawDataLabels does not reset point.y to high, but to low after drawing. #4133
1849 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { each(this.data, function(point) {
1850 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { point.y = point[valKey];
1851 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { });
1852 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { } : noop,
1853  
1854 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { /**
1855 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { * Get the width and X offset, either on top of the linked series column
1856 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { * or standalone
1857 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { */
1858 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { getColumnMetrics: function() {
1859 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { return (this.linkedParent && this.linkedParent.columnMetrics) ||
1860 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { seriesTypes.column.prototype.getColumnMetrics.call(this);
1861 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { }
1862 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { });
1863  
1864 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { /* ****************************************************************************
1865 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { * End error bar series code *
1866 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { *****************************************************************************/
1867  
1868 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { }(Highcharts));
1869 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { (function(H) {
1870 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { /**
1871 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { * (c) 2010-2017 Torstein Honsi
1872 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { *
1873 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { * License: www.highcharts.com/license
1874 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { */
1875 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { var correctFloat = H.correctFloat,
1876 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { isNumber = H.isNumber,
1877 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { pick = H.pick,
1878 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { Point = H.Point,
1879 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { Series = H.Series,
1880 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { seriesType = H.seriesType,
1881 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { seriesTypes = H.seriesTypes;
1882  
1883 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { /* ****************************************************************************
1884 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { * Start Waterfall series code *
1885 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { *****************************************************************************/
1886 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { seriesType('waterfall', 'column', {
1887 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { dataLabels: {
1888 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { inside: true
1889 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { },
1890  
1891 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { lineWidth: 1,
1892 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { lineColor: '#333333',
1893 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { dashStyle: 'dot',
1894 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { borderColor: '#333333',
1895 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { states: {
1896 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { hover: {
1897 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { lineWidthPlus: 0 // #3126
1898 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { }
1899 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { }
1900  
1901  
1902 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // Prototype members
1903 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { }, {
1904 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { pointValKey: 'y',
1905  
1906 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { /**
1907 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { * Translate data points from raw values
1908 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { */
1909 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { translate: function() {
1910 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { var series = this,
1911 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { options = series.options,
1912 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { yAxis = series.yAxis,
1913 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { len,
1914 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { i,
1915 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { points,
1916 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { point,
1917 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { shapeArgs,
1918 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { stack,
1919 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { y,
1920 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { yValue,
1921 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { previousY,
1922 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { previousIntermediate,
1923 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { range,
1924 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { minPointLength = pick(options.minPointLength, 5),
1925 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { halfMinPointLength = minPointLength / 2,
1926 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { threshold = options.threshold,
1927 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { stacking = options.stacking,
1928 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { stackIndicator,
1929 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { tooltipY;
1930  
1931 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { // run column series translate
1932 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { seriesTypes.column.prototype.translate.apply(series);
1933  
1934 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { previousY = previousIntermediate = threshold;
1935 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { points = series.points;
1936  
1937 < 180 - centerSlot) {< 360 - centerSlot) {< 0) { for (i = 0, len = points.length; i < len; i++) {
1938 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) { // cache current point object
1939 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) { point = points[i];
1940 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) { yValue = series.processedYData[i];
1941 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) { shapeArgs = point.shapeArgs;
1942  
1943 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) { // get current stack
1944 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) { stack = stacking && yAxis.stacks[(series.negStacks && yValue < threshold ? '-' : '') + series.stackKey];
1945 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; stackIndicator = series.getStackIndicator(
1946 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; stackIndicator,
1947 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; point.x,
1948 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; series.index
1949 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; );
1950 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; range = stack ?
1951 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; stack[point.x].points[stackIndicator.key] : [0, yValue];
1952  
1953 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; // override point value for sums
1954 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; // #3710 Update point does not propagate to sum
1955 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; if (point.isSum) {
1956 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; point.y = correctFloat(yValue);
1957 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; } else if (point.isIntermediateSum) {
1958 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; point.y = correctFloat(yValue - previousIntermediate); // #3840
1959 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; }
1960 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; // up points
1961 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; y = Math.max(previousY, previousY + point.y) + range[0];
1962 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; shapeArgs.y = yAxis.toPixels(y, true);
1963  
1964 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; // sum points
1965 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; if (point.isSum) {
1966 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; shapeArgs.y = yAxis.toPixels(range[1], true);
1967 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; shapeArgs.height = Math.min(yAxis.toPixels(range[0], true), yAxis.len) -
1968 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; shapeArgs.y; // #4256
1969  
1970 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; } else if (point.isIntermediateSum) {
1971 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; shapeArgs.y = yAxis.toPixels(range[1], true);
1972 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; shapeArgs.height = Math.min(yAxis.toPixels(previousIntermediate, true), yAxis.len) -
1973 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; shapeArgs.y;
1974 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; previousIntermediate = range[1];
1975  
1976 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; // If it's not the sum point, update previous stack end position and get
1977 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; // shape height (#3886)
1978 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; } else {
1979 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; shapeArgs.height = yValue > 0 ?
1980 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; yAxis.toPixels(previousY, true) - shapeArgs.y :
1981 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; yAxis.toPixels(previousY, true) - yAxis.toPixels(previousY - yValue, true);
1982  
1983 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; previousY += stack && stack[point.x] ? stack[point.x].total : yValue;
1984 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; }
1985  
1986 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; // #3952 Negative sum or intermediate sum not rendered correctly
1987 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey]; if (shapeArgs.height < 0) {
1988 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { shapeArgs.y += shapeArgs.height;
1989 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { shapeArgs.height *= -1;
1990 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { }
1991  
1992 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { point.plotY = shapeArgs.y = Math.round(shapeArgs.y) - (series.borderWidth % 2) / 2;
1993 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { shapeArgs.height = Math.max(Math.round(shapeArgs.height), 0.001); // #3151
1994 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { point.yBottom = shapeArgs.y + shapeArgs.height;
1995  
1996 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { if (shapeArgs.height <= minPointLength && !point.isNull) {
1997 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { shapeArgs.height = minPointLength;
1998 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { shapeArgs.y -= halfMinPointLength;
1999 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { point.plotY = shapeArgs.y;
2000 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { if (point.y < 0) {
2001 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { point.minPointLengthOffset = -halfMinPointLength;
2002 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { } else {
2003 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { point.minPointLengthOffset = halfMinPointLength;
2004 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { }
2005 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { } else {
2006 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { point.minPointLengthOffset = 0;
2007 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { }
2008  
2009 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { // Correct tooltip placement (#3014)
2010 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { tooltipY = point.plotY + (point.negative ? shapeArgs.height : 0);
2011  
2012 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { if (series.chart.inverted) {
2013 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { point.tooltipPos[0] = yAxis.len - tooltipY;
2014 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { } else {
2015 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { point.tooltipPos[1] = tooltipY;
2016 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { }
2017 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { }
2018 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { },
2019  
2020 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { /**
2021 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { * Call default processData then override yData to reflect waterfall's extremes on yAxis
2022 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { */
2023 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { processData: function(force) {
2024 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { var series = this,
2025 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { options = series.options,
2026 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { yData = series.yData,
2027 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { points = series.options.data, // #3710 Update point does not propagate to sum
2028 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { point,
2029 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { dataLength = yData.length,
2030 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { threshold = options.threshold || 0,
2031 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { subSum,
2032 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { sum,
2033 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { dataMin,
2034 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { dataMax,
2035 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { y,
2036 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { i;
2037  
2038 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { sum = subSum = dataMin = dataMax = threshold;
2039  
2040 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { for (i = 0; i < dataLength; i++) {
2041 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { y = yData[i];
2042 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { point = points && points[i] ? points[i] : {};
2043  
2044 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { if (y === 'sum' || point.isSum) {
2045 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { yData[i] = correctFloat(sum);
2046 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { } else if (y === 'intermediateSum' || point.isIntermediateSum) {
2047 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { yData[i] = correctFloat(subSum);
2048 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { } else {
2049 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { sum += y;
2050 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { subSum += y;
2051 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { }
2052 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { dataMin = Math.min(sum, dataMin);
2053 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { dataMax = Math.max(sum, dataMax);
2054 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { }
2055  
2056 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { Series.prototype.processData.call(this, force);
2057  
2058 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { // Record extremes only if stacking was not set:
2059 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { if (!series.options.stacking) {
2060 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { series.dataMin = dataMin;
2061 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { series.dataMax = dataMax;
2062 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { }
2063 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { },
2064  
2065 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { /**
2066 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { * Return y value or string if point is sum
2067 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { */
2068 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { toYData: function(pt) {
2069 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { if (pt.isSum) {
2070 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { return (pt.x === 0 ? null : 'sum'); //#3245 Error when first element is Sum or Intermediate Sum
2071 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { }
2072 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { if (pt.isIntermediateSum) {
2073 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { return (pt.x === 0 ? null : 'intermediateSum'); //#3245
2074 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { }
2075 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { return pt.y;
2076 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { },
2077  
2078  
2079 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { /**
2080 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { * Postprocess mapping between options and SVG attributes
2081 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { */
2082 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { pointAttribs: function(point, state) {
2083  
2084 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { var upColor = this.options.upColor,
2085 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { attr;
2086  
2087 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { // Set or reset up color (#3710, update to negative)
2088 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { if (upColor && !point.options.color) {
2089 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { point.color = point.y > 0 ? upColor : null;
2090 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { }
2091  
2092 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { attr = seriesTypes.column.prototype.pointAttribs.call(this, point, state);
2093  
2094 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { // The dashStyle option in waterfall applies to the graph, not
2095 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { // the points
2096 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { delete attr.dashstyle;
2097  
2098 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { return attr;
2099 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { },
2100  
2101  
2102 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { /**
2103 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { * Return an empty path initially, because we need to know the stroke-width in order
2104 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { * to set the final path.
2105 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { */
2106 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { getGraphPath: function() {
2107 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { return ['M', 0, 0];
2108 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { },
2109  
2110 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { /**
2111 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { * Draw columns' connector lines
2112 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { */
2113 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { getCrispPath: function() {
2114  
2115 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { var data = this.data,
2116 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { length = data.length,
2117 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { lineWidth = this.graph.strokeWidth() + this.borderWidth,
2118 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { normalizer = Math.round(lineWidth) % 2 / 2,
2119 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { path = [],
2120 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { prevArgs,
2121 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { pointArgs,
2122 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { i,
2123 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { d;
2124  
2125 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) { for (i = 1; i < length; i++) {
2126 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) { pointArgs = data[i].shapeArgs;
2127 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) { prevArgs = data[i - 1].shapeArgs;
2128  
2129 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) { d = [
2130 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) { 'M',
2131 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) { prevArgs.x + prevArgs.width,
2132 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) { prevArgs.y + data[i - 1].minPointLengthOffset + normalizer,
2133 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) { 'L',
2134 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) { pointArgs.x,
2135 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) { prevArgs.y + data[i - 1].minPointLengthOffset + normalizer
2136 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) { ];
2137  
2138 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) { if (data[i - 1].y < 0) {
2139 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) { d[2] += prevArgs.height;
2140 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) { d[5] += prevArgs.height;
2141 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) { }
2142  
2143 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) { path = path.concat(d);
2144 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) { }
2145  
2146 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) { return path;
2147 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) { },
2148  
2149 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) { /**
2150 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) { * The graph is initally drawn with an empty definition, then updated with
2151 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) { * crisp rendering.
2152 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) { */
2153 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) { drawGraph: function() {
2154 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) { Series.prototype.drawGraph.call(this);
2155 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) { this.graph.attr({
2156 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) { d: this.getCrispPath()
2157 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) { });
2158 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) { },
2159  
2160 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) { /**
2161 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) { * Waterfall has stacking along the x-values too.
2162 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) { */
2163 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) { setStackedPoints: function() {
2164 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) { var series = this,
2165 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) { options = series.options,
2166 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) { stackedYLength,
2167 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) { i;
2168  
2169 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) { Series.prototype.setStackedPoints.apply(series, arguments);
2170  
2171 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) { stackedYLength = series.stackedYData ? series.stackedYData.length : 0;
2172  
2173 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) { // Start from the second point:
2174 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) { for (i = 1; i < stackedYLength; i++) {
2175 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { if (!options.data[i].isSum &&
2176 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { !options.data[i].isIntermediateSum
2177 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { ) {
2178 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { // Sum previous stacked data as waterfall can grow up/down:
2179 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { series.stackedYData[i] += series.stackedYData[i - 1];
2180 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }
2181 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }
2182 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { },
2183  
2184 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { /**
2185 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { * Extremes for a non-stacked series are recorded in processData.
2186 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { * In case of stacking, use Series.stackedYData to calculate extremes.
2187 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { */
2188 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { getExtremes: function() {
2189 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { if (this.options.stacking) {
2190 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { return Series.prototype.getExtremes.apply(this, arguments);
2191 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }
2192 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }
2193  
2194  
2195 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { // Point members
2196 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }, {
2197 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { getClassName: function() {
2198 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { var className = Point.prototype.getClassName.call(this);
2199  
2200 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { if (this.isSum) {
2201 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { className += ' highcharts-sum';
2202 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { } else if (this.isIntermediateSum) {
2203 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { className += ' highcharts-intermediate-sum';
2204 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }
2205 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { return className;
2206 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { },
2207 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { /**
2208 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { * Pass the null test in ColumnSeries.translate.
2209 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { */
2210 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { isValid: function() {
2211 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { return isNumber(this.y, true) || this.isSum || this.isIntermediateSum;
2212 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }
2213  
2214 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { });
2215  
2216 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { /* ****************************************************************************
2217 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { * End Waterfall series code *
2218 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { *****************************************************************************/
2219  
2220 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }(Highcharts));
2221 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { (function(H) {
2222 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { /**
2223 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { * (c) 2010-2017 Torstein Honsi
2224 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { *
2225 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { * License: www.highcharts.com/license
2226 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { */
2227 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { var LegendSymbolMixin = H.LegendSymbolMixin,
2228 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { noop = H.noop,
2229 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { Series = H.Series,
2230 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { seriesType = H.seriesType,
2231 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { seriesTypes = H.seriesTypes;
2232 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { /**
2233 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { * The polygon series prototype
2234 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { */
2235 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { seriesType('polygon', 'scatter', {
2236 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { marker: {
2237 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { enabled: false,
2238 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { states: {
2239 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { hover: {
2240 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { enabled: false
2241 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }
2242 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }
2243 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { },
2244 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { stickyTracking: false,
2245 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { tooltip: {
2246 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { followPointer: true,
2247 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { pointFormat: ''
2248 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { },
2249 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { trackByArea: true
2250  
2251 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { // Prototype members
2252 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }, {
2253 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { type: 'polygon',
2254 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { getGraphPath: function() {
2255  
2256 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { var graphPath = Series.prototype.getGraphPath.call(this),
2257 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { i = graphPath.length + 1;
2258  
2259 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { // Close all segments
2260 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { while (i--) {
2261 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { if ((i === graphPath.length || graphPath[i] === 'M') && i > 0) {
2262 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { graphPath.splice(i, 0, 'z');
2263 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }
2264 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }
2265 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { this.areaPath = graphPath;
2266 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { return graphPath;
2267 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { },
2268 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { drawGraph: function() {
2269  
2270 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { this.options.fillColor = this.color; // Hack into the fill logic in area.drawGraph
2271  
2272 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { seriesTypes.area.prototype.drawGraph.call(this);
2273 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { },
2274 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { drawLegendSymbol: LegendSymbolMixin.drawRectangle,
2275 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { drawTracker: Series.prototype.drawTracker,
2276 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { setStackedPoints: noop // No stacking points on polygons (#5310)
2277 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { });
2278  
2279 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }(Highcharts));
2280 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { (function(H) {
2281 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { /**
2282 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { * (c) 2010-2017 Torstein Honsi
2283 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { *
2284 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { * License: www.highcharts.com/license
2285 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { */
2286 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { var arrayMax = H.arrayMax,
2287 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { arrayMin = H.arrayMin,
2288 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { Axis = H.Axis,
2289 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { color = H.color,
2290 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { each = H.each,
2291 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { isNumber = H.isNumber,
2292 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { noop = H.noop,
2293 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { pick = H.pick,
2294 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { pInt = H.pInt,
2295 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { Point = H.Point,
2296 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { Series = H.Series,
2297 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { seriesType = H.seriesType,
2298 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { seriesTypes = H.seriesTypes;
2299  
2300 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { /* ****************************************************************************
2301 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { * Start Bubble series code *
2302 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { *****************************************************************************/
2303  
2304 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { seriesType('bubble', 'scatter', {
2305 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { dataLabels: {
2306 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { formatter: function() { // #2945
2307 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { return this.point.z;
2308 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { },
2309 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { inside: true,
2310 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { verticalAlign: 'middle'
2311 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { },
2312 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { // displayNegative: true,
2313 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { marker: {
2314  
2315 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { // fillOpacity: 0.5,
2316 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { lineColor: null, // inherit from series.color
2317 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { lineWidth: 1,
2318  
2319 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { // Avoid offset in Point.setState
2320 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { radius: null,
2321 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { states: {
2322 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { hover: {
2323 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { radiusPlus: 0
2324 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }
2325 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { },
2326 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { symbol: 'circle'
2327 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { },
2328 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { minSize: 8,
2329 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { maxSize: '20%',
2330 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { // negativeColor: null,
2331 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { // sizeBy: 'area'
2332 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { softThreshold: false,
2333 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { states: {
2334 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { hover: {
2335 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { halo: {
2336 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { size: 5
2337 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }
2338 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }
2339 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { },
2340 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { tooltip: {
2341 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { pointFormat: '({point.x}, {point.y}), Size: {point.z}'
2342 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { },
2343 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { turboThreshold: 0,
2344 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { zThreshold: 0,
2345 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { zoneAxis: 'z'
2346  
2347 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { // Prototype members
2348 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }, {
2349 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { pointArrayMap: ['y', 'z'],
2350 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { parallelArrays: ['x', 'y', 'z'],
2351 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { trackerGroups: ['markerGroup', 'dataLabelsGroup'],
2352 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { bubblePadding: true,
2353 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { zoneAxis: 'z',
2354 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { directTouch: true,
2355  
2356  
2357 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { pointAttribs: function(point, state) {
2358 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { var markerOptions = this.options.marker,
2359 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { fillOpacity = pick(markerOptions.fillOpacity, 0.5),
2360 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { attr = Series.prototype.pointAttribs.call(this, point, state);
2361  
2362 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { if (fillOpacity !== 1) {
2363 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { attr.fill = color(attr.fill).setOpacity(fillOpacity).get('rgba');
2364 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }
2365  
2366 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { return attr;
2367 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { },
2368  
2369  
2370 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { /**
2371 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { * Get the radius for each point based on the minSize, maxSize and each point's Z value. This
2372 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { * must be done prior to Series.translate because the axis needs to add padding in
2373 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { * accordance with the point sizes.
2374 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { */
2375 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { getRadii: function(zMin, zMax, minSize, maxSize) {
2376 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { var len,
2377 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { i,
2378 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { pos,
2379 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { zData = this.zData,
2380 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { radii = [],
2381 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { options = this.options,
2382 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { sizeByArea = options.sizeBy !== 'width',
2383 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { zThreshold = options.zThreshold,
2384 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { zRange = zMax - zMin,
2385 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { value,
2386 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { radius;
2387  
2388 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { // Set the shape type and arguments to be picked up in drawPoints
2389 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { for (i = 0, len = zData.length; i < len; i++) {
2390  
2391 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { value = zData[i];
2392  
2393 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { // When sizing by threshold, the absolute value of z determines the size
2394 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { // of the bubble.
2395 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { if (options.sizeByAbsoluteValue && value !== null) {
2396 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { value = Math.abs(value - zThreshold);
2397 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { zMax = Math.max(zMax - zThreshold, Math.abs(zMin - zThreshold));
2398 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { zMin = 0;
2399 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }
2400  
2401 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { if (value === null) {
2402 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { radius = null;
2403 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { // Issue #4419 - if value is less than zMin, push a radius that's always smaller than the minimum size
2404 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { } else if (value < zMin) {
2405 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { radius = minSize / 2 - 1;
2406 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { } else {
2407 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { // Relative size, a number between 0 and 1
2408 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { pos = zRange > 0 ? (value - zMin) / zRange : 0.5;
2409  
2410 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { if (sizeByArea && pos >= 0) {
2411 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { pos = Math.sqrt(pos);
2412 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }
2413 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { radius = Math.ceil(minSize + pos * (maxSize - minSize)) / 2;
2414 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }
2415 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { radii.push(radius);
2416 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }
2417 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { this.radii = radii;
2418 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { },
2419  
2420 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { /**
2421 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { * Perform animation on the bubbles
2422 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { */
2423 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { animate: function(init) {
2424 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { var animation = this.options.animation;
2425  
2426 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { if (!init) { // run the animation
2427 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { each(this.points, function(point) {
2428 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { var graphic = point.graphic,
2429 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { animationTarget;
2430  
2431 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { if (graphic && graphic.width) { // URL symbols don't have width
2432 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { animationTarget = {
2433 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { x: graphic.x,
2434 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { y: graphic.y,
2435 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { width: graphic.width,
2436 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { height: graphic.height
2437 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { };
2438  
2439 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { // Start values
2440 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { graphic.attr({
2441 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { x: point.plotX,
2442 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { y: point.plotY,
2443 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { width: 1,
2444 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { height: 1
2445 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { });
2446  
2447 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { // Run animation
2448 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { graphic.animate(animationTarget, animation);
2449 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }
2450 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { });
2451  
2452 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { // delete this function to allow it only once
2453 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { this.animate = null;
2454 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }
2455 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { },
2456  
2457 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { /**
2458 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { * Extend the base translate method to handle bubble size
2459 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { */
2460 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { translate: function() {
2461  
2462 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { var i,
2463 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { data = this.data,
2464 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { point,
2465 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { radius,
2466 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { radii = this.radii;
2467  
2468 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { // Run the parent method
2469 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { seriesTypes.scatter.prototype.translate.call(this);
2470  
2471 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { // Set the shape type and arguments to be picked up in drawPoints
2472 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { i = data.length;
2473  
2474 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { while (i--) {
2475 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { point = data[i];
2476 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { radius = radii ? radii[i] : 0; // #1737
2477  
2478 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { if (isNumber(radius) && radius >= this.minPxSize / 2) {
2479 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { // Shape arguments
2480 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { point.marker = H.extend(point.marker, {
2481 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { radius: radius,
2482 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { width: 2 * radius,
2483 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { height: 2 * radius
2484 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { });
2485  
2486 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { // Alignment box for the data label
2487 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { point.dlBox = {
2488 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { x: point.plotX - radius,
2489 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { y: point.plotY - radius,
2490 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { width: 2 * radius,
2491 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { height: 2 * radius
2492 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { };
2493 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { } else { // below zThreshold
2494 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { point.shapeArgs = point.plotY = point.dlBox = undefined; // #1691
2495 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }
2496 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }
2497 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { },
2498  
2499 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { alignDataLabel: seriesTypes.column.prototype.alignDataLabel,
2500 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { buildKDTree: noop,
2501 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { applyZones: noop
2502  
2503 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { // Point class
2504 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }, {
2505 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { haloPath: function(size) {
2506 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { return Point.prototype.haloPath.call(
2507 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { this,
2508 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { size === 0 ? 0 : (this.marker ? this.marker.radius || 0 : 0) + size // #6067
2509 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { );
2510 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { },
2511 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { ttBelow: false
2512 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { });
2513  
2514 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { /**
2515 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { * Add logic to pad each axis with the amount of pixels
2516 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { * necessary to avoid the bubbles to overflow.
2517 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { */
2518 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { Axis.prototype.beforePadding = function() {
2519 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { var axis = this,
2520 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { axisLength = this.len,
2521 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { chart = this.chart,
2522 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { pxMin = 0,
2523 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { pxMax = axisLength,
2524 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { isXAxis = this.isXAxis,
2525 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { dataKey = isXAxis ? 'xData' : 'yData',
2526 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { min = this.min,
2527 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { extremes = {},
2528 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { smallestSize = Math.min(chart.plotWidth, chart.plotHeight),
2529 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { zMin = Number.MAX_VALUE,
2530 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { zMax = -Number.MAX_VALUE,
2531 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { range = this.max - min,
2532 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { transA = axisLength / range,
2533 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { activeSeries = [];
2534  
2535 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { // Handle padding on the second pass, or on redraw
2536 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { each(this.series, function(series) {
2537  
2538 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { var seriesOptions = series.options,
2539 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { zData;
2540  
2541 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { if (series.bubblePadding && (series.visible || !chart.options.chart.ignoreHiddenSeries)) {
2542  
2543 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { // Correction for #1673
2544 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { axis.allowZoomOutside = true;
2545  
2546 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { // Cache it
2547 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { activeSeries.push(series);
2548  
2549 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { if (isXAxis) { // because X axis is evaluated first
2550  
2551 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { // For each series, translate the size extremes to pixel values
2552 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { each(['minSize', 'maxSize'], function(prop) {
2553 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { var length = seriesOptions[prop],
2554 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { isPercent = /%$/.test(length);
2555  
2556 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { length = pInt(length);
2557 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { extremes[prop] = isPercent ?
2558 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { smallestSize * length / 100 :
2559 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { length;
2560  
2561 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { });
2562 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { series.minPxSize = extremes.minSize;
2563 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { // Prioritize min size if conflict to make sure bubbles are
2564 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { // always visible. #5873
2565 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { series.maxPxSize = Math.max(extremes.maxSize, extremes.minSize);
2566  
2567 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { // Find the min and max Z
2568 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { zData = series.zData;
2569 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { if (zData.length) { // #1735
2570 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { zMin = pick(seriesOptions.zMin, Math.min(
2571 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { zMin,
2572 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { Math.max(
2573 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { arrayMin(zData),
2574 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { seriesOptions.displayNegative === false ? seriesOptions.zThreshold : -Number.MAX_VALUE
2575 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { )
2576 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { ));
2577 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { zMax = pick(seriesOptions.zMax, Math.max(zMax, arrayMax(zData)));
2578 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }
2579 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }
2580 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }
2581 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { });
2582  
2583 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { each(activeSeries, function(series) {
2584  
2585 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { var data = series[dataKey],
2586 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { i = data.length,
2587 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { radius;
2588  
2589 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { if (isXAxis) {
2590 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { series.getRadii(zMin, zMax, series.minPxSize, series.maxPxSize);
2591 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }
2592  
2593 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { if (range > 0) {
2594 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { while (i--) {
2595 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { if (isNumber(data[i]) && axis.dataMin <= data[i] && data[i] <= axis.dataMax) {
2596 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { radius = series.radii[i];
2597 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { pxMin = Math.min(((data[i] - min) * transA) - radius, pxMin);
2598 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { pxMax = Math.max(((data[i] - min) * transA) + radius, pxMax);
2599 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }
2600 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }
2601 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }
2602 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { });
2603  
2604 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { if (activeSeries.length && range > 0 && !this.isLog) {
2605 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { pxMax -= axisLength;
2606 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { transA *= (axisLength + pxMin - pxMax) / axisLength;
2607 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { each([
2608 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { ['min', 'userMin', pxMin],
2609 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { ['max', 'userMax', pxMax]
2610 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { ], function(keys) {
2611 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { if (pick(axis.options[keys[0]], axis[keys[1]]) === undefined) {
2612 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { axis[keys[0]] += keys[2] / transA;
2613 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }
2614 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { });
2615 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }
2616 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { };
2617  
2618 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { /* ****************************************************************************
2619 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { * End Bubble series code *
2620 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { *****************************************************************************/
2621  
2622 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { }(Highcharts));
2623 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { (function(H) {
2624 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { /**
2625 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { * (c) 2010-2017 Torstein Honsi
2626 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { *
2627 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { * License: www.highcharts.com/license
2628 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { */
2629  
2630 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { /**
2631 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { * Extensions for polar charts. Additionally, much of the geometry required for polar charts is
2632 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { * gathered in RadialAxes.js.
2633 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { *
2634 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { */
2635  
2636 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { var each = H.each,
2637 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { pick = H.pick,
2638 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { Pointer = H.Pointer,
2639 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { Series = H.Series,
2640 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { seriesTypes = H.seriesTypes,
2641 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { wrap = H.wrap,
2642  
2643 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { seriesProto = Series.prototype,
2644 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { pointerProto = Pointer.prototype,
2645 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { colProto;
2646  
2647 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { /**
2648 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { * Search a k-d tree by the point angle, used for shared tooltips in polar charts
2649 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { */
2650 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { seriesProto.searchPointByAngle = function(e) {
2651 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { var series = this,
2652 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { chart = series.chart,
2653 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { xAxis = series.xAxis,
2654 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { center = xAxis.pane.center,
2655 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { plotX = e.chartX - center[0] - chart.plotLeft,
2656 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { plotY = e.chartY - center[1] - chart.plotTop;
2657  
2658 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { return this.searchKDTree({
2659 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { clientX: 180 + (Math.atan2(plotX, plotY) * (-180 / Math.PI))
2660 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { });
2661  
2662 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { };
2663  
2664 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { /**
2665 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { * #6212 Calculate connectors for spline series in polar chart.
2666 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { * @param {Boolean} calculateNeighbours - Check if connectors should be calculated for neighbour points as well
2667 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { * allows short recurence
2668 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { */
2669 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { seriesProto.getConnectors = function(segment, index, calculateNeighbours, connectEnds) {
2670  
2671 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { var i,
2672 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { prevPointInd,
2673 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { nextPointInd,
2674 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { previousPoint,
2675 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { nextPoint,
2676 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { previousX,
2677 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { previousY,
2678 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { nextX,
2679 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { nextY,
2680 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { plotX,
2681 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { plotY,
2682 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { ret,
2683 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { smoothing = 1.5, // 1 means control points midway between points, 2 means 1/3 from the point, 3 is 1/4 etc;
2684 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { denom = smoothing + 1,
2685 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { leftContX,
2686 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { leftContY,
2687 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { rightContX,
2688 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { rightContY,
2689 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { dLControlPoint, //distance left control point
2690 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { dRControlPoint,
2691 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { leftContAngle,
2692 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { rightContAngle,
2693 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { jointAngle,
2694 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { addedNumber = connectEnds ? 1 : 0;
2695  
2696 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { /** calculate final index of points depending on the initial index value.
2697 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { * Because of calculating neighbours, index may be outisde segment array.
2698 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { */
2699 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) { if (index >= 0 && index <= segment.length - 1) {
2700 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) { i = index;
2701 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) { } else if (index < 0) {
2702 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) { i = segment.length - 1 + index;
2703 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) { } else {
2704 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) { i = 0;
2705 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) { }
2706  
2707 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) { prevPointInd = (i - 1 < 0) ? segment.length - (1 + addedNumber) : i - 1;
2708 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; nextPointInd = (i + 1 > segment.length - 1) ? addedNumber : i + 1;
2709 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; previousPoint = segment[prevPointInd];
2710 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; nextPoint = segment[nextPointInd];
2711 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; previousX = previousPoint.plotX;
2712 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; previousY = previousPoint.plotY;
2713 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; nextX = nextPoint.plotX;
2714 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; nextY = nextPoint.plotY;
2715 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; plotX = segment[i].plotX; // actual point
2716 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; plotY = segment[i].plotY;
2717 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; leftContX = (smoothing * plotX + previousX) / denom;
2718 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; leftContY = (smoothing * plotY + previousY) / denom;
2719 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; rightContX = (smoothing * plotX + nextX) / denom;
2720 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; rightContY = (smoothing * plotY + nextY) / denom;
2721 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; dLControlPoint = Math.sqrt(Math.pow(leftContX - plotX, 2) + Math.pow(leftContY - plotY, 2));
2722 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; dRControlPoint = Math.sqrt(Math.pow(rightContX - plotX, 2) + Math.pow(rightContY - plotY, 2));
2723 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; leftContAngle = Math.atan2(leftContY - plotY, leftContX - plotX);
2724 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; rightContAngle = Math.atan2(rightContY - plotY, rightContX - plotX);
2725 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; jointAngle = (Math.PI / 2) + ((leftContAngle + rightContAngle) / 2);
2726 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; // Ensure the right direction, jointAngle should be in the same quadrant as leftContAngle
2727 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; if (Math.abs(leftContAngle - jointAngle) > Math.PI / 2) {
2728 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; jointAngle -= Math.PI;
2729 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; }
2730 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; // Find the corrected control points for a spline straight through the point
2731 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; leftContX = plotX + Math.cos(jointAngle) * dLControlPoint;
2732 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; leftContY = plotY + Math.sin(jointAngle) * dLControlPoint;
2733 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; rightContX = plotX + Math.cos(Math.PI + jointAngle) * dRControlPoint;
2734 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; rightContY = plotY + Math.sin(Math.PI + jointAngle) * dRControlPoint;
2735  
2736 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; // push current point's connectors into returned object
2737  
2738 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; ret = {
2739 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; rightContX: rightContX,
2740 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; rightContY: rightContY,
2741 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; leftContX: leftContX,
2742 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; leftContY: leftContY,
2743 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; plotX: plotX,
2744 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; plotY: plotY
2745 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; };
2746  
2747 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; // calculate connectors for previous and next point and push them inside returned object
2748 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; if (calculateNeighbours) {
2749 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; ret.prevPointCont = this.getConnectors(segment, prevPointInd, false, connectEnds);
2750 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; }
2751 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; return ret;
2752 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; };
2753  
2754 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; /**
2755 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; * Wrap the buildKDTree function so that it searches by angle (clientX) in case of shared tooltip,
2756 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; * and by two dimensional distance in case of non-shared.
2757 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; */
2758 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; wrap(seriesProto, 'buildKDTree', function(proceed) {
2759 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; if (this.chart.polar) {
2760 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; if (this.kdByAngle) {
2761 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; this.searchPoint = this.searchPointByAngle;
2762 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; } else {
2763 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; this.options.findNearestPointBy = 'xy';
2764 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; }
2765 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; }
2766 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; proceed.apply(this);
2767 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; });
2768  
2769 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; /**
2770 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; * Translate a point's plotX and plotY from the internal angle and radius measures to
2771 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; * true plotX, plotY coordinates
2772 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; */
2773 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; seriesProto.toXY = function(point) {
2774 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; var xy,
2775 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; chart = this.chart,
2776 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; plotX = point.plotX,
2777 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; plotY = point.plotY,
2778 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; clientX;
2779  
2780 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; // Save rectangular plotX, plotY for later computation
2781 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; point.rectPlotX = plotX;
2782 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; point.rectPlotY = plotY;
2783  
2784 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; // Find the polar plotX and plotY
2785 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; xy = this.xAxis.postTranslate(point.plotX, this.yAxis.len - plotY);
2786 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; point.plotX = point.polarPlotX = xy.x - chart.plotLeft;
2787 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; point.plotY = point.polarPlotY = xy.y - chart.plotTop;
2788  
2789 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; // If shared tooltip, record the angle in degrees in order to align X points. Otherwise,
2790 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; // use a standard k-d tree to get the nearest point in two dimensions.
2791 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; if (this.kdByAngle) {
2792 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; clientX = ((plotX / Math.PI * 180) + this.xAxis.pane.options.startAngle) % 360;
2793 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1; if (clientX < 0) { // #2665
2794 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / clientX += 360;
2795 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / }
2796 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / point.clientX = clientX;
2797 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / } else {
2798 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / point.clientX = point.plotX;
2799 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / }
2800 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / };
2801  
2802 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / if (seriesTypes.spline) {
2803 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / /**
2804 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / * Overridden method for calculating a spline from one point to the next
2805 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / */
2806 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / wrap(seriesTypes.spline.prototype, 'getPointSpline', function(proceed, segment, point, i) {
2807 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / var ret,
2808 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / connectors;
2809  
2810 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / if (this.chart.polar) {
2811 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / // moveTo or lineTo
2812 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / if (!i) {
2813 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / ret = ['M', point.plotX, point.plotY];
2814 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / } else { // curve from last point to this
2815 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / connectors = this.getConnectors(segment, i, true, this.connectEnds);
2816 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / ret = [
2817 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / 'C',
2818 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / connectors.prevPointCont.rightContX,
2819 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / connectors.prevPointCont.rightContY,
2820 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / connectors.leftContX,
2821 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / connectors.leftContY,
2822 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / connectors.plotX,
2823 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / connectors.plotY
2824 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / ];
2825 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / }
2826 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / } else {
2827 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / ret = proceed.call(this, segment, point, i);
2828 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / }
2829 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / return ret;
2830 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / });
2831  
2832 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / // #6430 Areasplinerange series use unwrapped getPointSpline method, so we need to set this method again.
2833 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / if (seriesTypes.areasplinerange) {
2834 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / seriesTypes.areasplinerange.prototype.getPointSpline = seriesTypes.spline.prototype.getPointSpline;
2835 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / }
2836 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / }
2837  
2838 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / /**
2839 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / * Extend translate. The plotX and plotY values are computed as if the polar chart were a
2840 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / * cartesian plane, where plotX denotes the angle in radians and (yAxis.len - plotY) is the pixel distance from
2841 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / * center.
2842 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / */
2843 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / wrap(seriesProto, 'translate', function(proceed) {
2844 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / var chart = this.chart,
2845 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / points,
2846 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / i;
2847  
2848 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / // Run uber method
2849 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / proceed.call(this);
2850  
2851 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / // Postprocess plot coordinates
2852 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / if (chart.polar) {
2853 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / this.kdByAngle = chart.tooltip && chart.tooltip.shared;
2854  
2855 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / if (!this.preventPostTranslate) {
2856 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / points = this.points;
2857 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / i = points.length;
2858  
2859 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / while (i--) {
2860 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / // Translate plotX, plotY from angle and radius to true plot coordinates
2861 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / this.toXY(points[i]);
2862 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / }
2863 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / }
2864 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / }
2865 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / });
2866  
2867 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / /**
2868 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / * Extend getSegmentPath to allow connecting ends across 0 to provide a closed circle in
2869 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / * line-like series.
2870 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / */
2871 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / wrap(seriesProto, 'getGraphPath', function(proceed, points) {
2872 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / var series = this,
2873 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / i,
2874 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / firstValid,
2875 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / popLastPoint;
2876  
2877 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / // Connect the path
2878 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / if (this.chart.polar) {
2879 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / points = points || this.points;
2880  
2881 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / // Append first valid point in order to connect the ends
2882 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { / for (i = 0; i < points.length; i++) {
2883 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { if (!points[i].isNull) {
2884 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { firstValid = i;
2885 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { break;
2886 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { }
2887 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { }
2888 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { if (this.options.connectEnds !== false && firstValid !== undefined) {
2889 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { this.connectEnds = true; // re-used in splines
2890 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { points.splice(points.length, 0, points[firstValid]);
2891 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { popLastPoint = true;
2892 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { }
2893  
2894 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { // For area charts, pseudo points are added to the graph, now we need to translate these
2895 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { each(points, function(point) {
2896 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { if (point.polarPlotY === undefined) {
2897 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { series.toXY(point);
2898 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { }
2899 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { });
2900 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { }
2901  
2902 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { // Run uber method
2903 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { var ret = proceed.apply(this, [].slice.call(arguments, 1));
2904  
2905 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { /** #6212 points.splice method is adding points to an array. In case of areaspline getGraphPath method is used two times
2906 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { * and in both times points are added to an array. That is why points.pop is used, to get unmodified points.
2907 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { */
2908 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { if (popLastPoint) {
2909 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { points.pop();
2910 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { }
2911 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { return ret;
2912 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { });
2913  
2914  
2915 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { function polarAnimate(proceed, init) {
2916 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { var chart = this.chart,
2917 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { animation = this.options.animation,
2918 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { group = this.group,
2919 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { markerGroup = this.markerGroup,
2920 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { center = this.xAxis.center,
2921 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { plotLeft = chart.plotLeft,
2922 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { plotTop = chart.plotTop,
2923 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { attribs;
2924  
2925 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { // Specific animation for polar charts
2926 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { if (chart.polar) {
2927  
2928 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { // Enable animation on polar charts only in SVG. In VML, the scaling is different, plus animation
2929 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { // would be so slow it would't matter.
2930 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { if (chart.renderer.isSVG) {
2931  
2932 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { if (animation === true) {
2933 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { animation = {};
2934 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { }
2935  
2936 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { // Initialize the animation
2937 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { if (init) {
2938  
2939 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { // Scale down the group and place it in the center
2940 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { attribs = {
2941 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { translateX: center[0] + plotLeft,
2942 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { translateY: center[1] + plotTop,
2943 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { scaleX: 0.001, // #1499
2944 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { scaleY: 0.001
2945 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { };
2946  
2947 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { group.attr(attribs);
2948 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { if (markerGroup) {
2949 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { //markerGroup.attrSetters = group.attrSetters;
2950 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { markerGroup.attr(attribs);
2951 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { }
2952  
2953 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { // Run the animation
2954 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { } else {
2955 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { attribs = {
2956 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { translateX: plotLeft,
2957 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { translateY: plotTop,
2958 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { scaleX: 1,
2959 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { scaleY: 1
2960 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { };
2961 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { group.animate(attribs, animation);
2962 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { if (markerGroup) {
2963 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { markerGroup.animate(attribs, animation);
2964 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { }
2965  
2966 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { // Delete this function to allow it only once
2967 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { this.animate = null;
2968 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { }
2969 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { }
2970  
2971 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { // For non-polar charts, revert to the basic animation
2972 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { } else {
2973 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { proceed.call(this, init);
2974 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { }
2975 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { }
2976  
2977 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { // Define the animate method for regular series
2978 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { wrap(seriesProto, 'animate', polarAnimate);
2979  
2980  
2981 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { if (seriesTypes.column) {
2982  
2983 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { colProto = seriesTypes.column.prototype;
2984  
2985 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { colProto.polarArc = function(low, high, start, end) {
2986 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { var center = this.xAxis.center,
2987 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { len = this.yAxis.len;
2988  
2989 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { return this.chart.renderer.symbols.arc(
2990 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { center[0],
2991 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { center[1],
2992 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { len - high,
2993 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { null, {
2994 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { start: start,
2995 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { end: end,
2996 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { innerR: len - pick(low, len)
2997 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { }
2998 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { );
2999 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { };
3000  
3001 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { /**
3002 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { * Define the animate method for columnseries
3003 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { */
3004 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { wrap(colProto, 'animate', polarAnimate);
3005  
3006  
3007 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { /**
3008 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { * Extend the column prototype's translate method
3009 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { */
3010 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { wrap(colProto, 'translate', function(proceed) {
3011  
3012 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { var xAxis = this.xAxis,
3013 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { startAngleRad = xAxis.startAngleRad,
3014 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { start,
3015 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { points,
3016 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { point,
3017 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { i;
3018  
3019 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { this.preventPostTranslate = true;
3020  
3021 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { // Run uber method
3022 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { proceed.call(this);
3023  
3024 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { // Postprocess plot coordinates
3025 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { if (xAxis.isRadial) {
3026 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { points = this.points;
3027 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { i = points.length;
3028 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { while (i--) {
3029 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { point = points[i];
3030 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { start = point.barX + startAngleRad;
3031 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { point.shapeType = 'path';
3032 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { point.shapeArgs = {
3033 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { d: this.polarArc(point.yBottom, point.plotY, start, start + point.pointWidth)
3034 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { };
3035 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { // Provide correct plotX, plotY for tooltip
3036 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { this.toXY(point);
3037 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { point.tooltipPos = [point.plotX, point.plotY];
3038 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { point.ttBelow = point.plotY > xAxis.center[1];
3039 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { }
3040 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { }
3041 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { });
3042  
3043  
3044 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { /**
3045 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { * Align column data labels outside the columns. #1199.
3046 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { */
3047 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { wrap(colProto, 'alignDataLabel', function(proceed, point, dataLabel, options, alignTo, isNew) {
3048  
3049 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { if (this.chart.polar) {
3050 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { var angle = point.rectPlotX / Math.PI * 180,
3051 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { align,
3052 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { verticalAlign;
3053  
3054 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { // Align nicely outside the perimeter of the columns
3055 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { if (options.align === null) {
3056 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { if (angle > 20 && angle < 160) {
3057 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { align = 'left'; // right hemisphere
3058 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { } else if (angle > 200 && angle < 340) {
3059 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { align = 'right'; // left hemisphere
3060 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { } else {
3061 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { align = 'center'; // top or bottom
3062 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { }
3063 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { options.align = align;
3064 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { }
3065 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { if (options.verticalAlign === null) {
3066 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { if (angle < 45 || angle > 315) {
3067 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { verticalAlign = 'bottom'; // top part
3068 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { } else if (angle > 135 && angle < 225) {
3069 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { verticalAlign = 'top'; // bottom part
3070 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { } else {
3071 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { verticalAlign = 'middle'; // left or right
3072 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { }
3073 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { options.verticalAlign = verticalAlign;
3074 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { }
3075  
3076 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { seriesProto.alignDataLabel.call(this, point, dataLabel, options, alignTo, isNew);
3077 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { } else {
3078 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { proceed.call(this, point, dataLabel, options, alignTo, isNew);
3079 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { }
3080  
3081 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { });
3082 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { }
3083  
3084 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { /**
3085 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { * Extend getCoordinates to prepare for polar axis values
3086 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { */
3087 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { wrap(pointerProto, 'getCoordinates', function(proceed, e) {
3088 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { var chart = this.chart,
3089 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { ret = {
3090 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { xAxis: [],
3091 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { yAxis: []
3092 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { };
3093  
3094 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { if (chart.polar) {
3095  
3096 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { each(chart.axes, function(axis) {
3097 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { var isXAxis = axis.isXAxis,
3098 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { center = axis.center,
3099 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { x = e.chartX - center[0] - chart.plotLeft,
3100 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { y = e.chartY - center[1] - chart.plotTop;
3101  
3102 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { ret[isXAxis ? 'xAxis' : 'yAxis'].push({
3103 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { axis: axis,
3104 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { value: axis.translate(
3105 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { isXAxis ?
3106 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { Math.PI - Math.atan2(x, y) : // angle
3107 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2)), // distance from center
3108 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { true
3109 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { )
3110 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { });
3111 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { });
3112  
3113 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { } else {
3114 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { ret = proceed.call(this, e);
3115 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { }
3116  
3117 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { return ret;
3118 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { });
3119  
3120 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { wrap(H.Chart.prototype, 'getAxes', function(proceed) {
3121  
3122 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { if (!this.pane) {
3123 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { this.pane = [];
3124 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { }
3125 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { each(H.splat(this.options.pane), function(paneOptions) {
3126 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { new H.Pane( // eslint-disable-line no-new
3127 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { paneOptions,
3128 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { this
3129 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { );
3130 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { }, this);
3131  
3132 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { proceed.call(this);
3133 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { });
3134  
3135 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { wrap(H.Chart.prototype, 'drawChartBox', function(proceed) {
3136 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { proceed.call(this);
3137  
3138 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { each(this.pane, function(pane) {
3139 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { pane.render();
3140 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { });
3141 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { });
3142  
3143 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { /**
3144 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { * Extend chart.get to also search in panes. Used internally in responsiveness
3145 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { * and chart.update.
3146 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { */
3147 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { wrap(H.Chart.prototype, 'get', function(proceed, id) {
3148 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { return H.find(this.pane, function(pane) {
3149 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { return pane.options.id === id;
3150 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { }) || proceed.call(this, id);
3151 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { });
3152  
3153 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) { }(Highcharts));
3154 < 180 - centerSlot) {< 360 - centerSlot) {< 0) {< len; i++) {< threshold ? '-' : '') + series.stackKey];< 0) {< length; i++) {< 0) {< stackedYLength; i++) {<= segment.length - 1) {< 0) {< 0) ? segment.length - (1 + addedNumber) : i - 1;< 0) { /< points.length; i++) {}));