highcharts-more.js 30.2 KB
/*
 Highcharts JS v6.2.0 (2018-10-17)

 (c) 2009-2016 Torstein Honsi

 License: www.highcharts.com/license
*/
(function(x){"object"===typeof module&&module.exports?module.exports=x:"function"===typeof define&&define.amd?define(function(){return x}):x(Highcharts)})(function(x){(function(a){function n(a,b){this.init(a,b)}var v=a.CenteredSeriesMixin,r=a.each,h=a.extend,k=a.merge,t=a.splat;h(n.prototype,{coll:"pane",init:function(a,b){this.chart=b;this.background=[];b.pane.push(this);this.setOptions(a)},setOptions:function(a){this.options=k(this.defaultOptions,this.chart.angular?{background:{}}:void 0,a)},render:function(){var a=
this.options,b=this.options.background,g=this.chart.renderer;this.group||(this.group=g.g("pane-group").attr({zIndex:a.zIndex||0}).add());this.updateCenter();if(b)for(b=t(b),a=Math.max(b.length,this.background.length||0),g=0;g<a;g++)b[g]&&this.axis?this.renderBackground(k(this.defaultBackgroundOptions,b[g]),g):this.background[g]&&(this.background[g]=this.background[g].destroy(),this.background.splice(g,1))},renderBackground:function(a,b){var g="animate";this.background[b]||(this.background[b]=this.chart.renderer.path().add(this.group),
g="attr");this.background[b][g]({d:this.axis.getPlotBandPath(a.from,a.to,a)}).attr({"class":"highcharts-pane "+(a.className||"")})},defaultOptions:{center:["50%","50%"],size:"85%",startAngle:0},defaultBackgroundOptions:{shape:"circle",from:-Number.MAX_VALUE,innerRadius:0,to:Number.MAX_VALUE,outerRadius:"105%"},updateCenter:function(a){this.center=(a||this.axis||{}).center=v.getCenter.call(this)},update:function(a,b){k(!0,this.options,a);this.setOptions(this.options);this.render();r(this.chart.axes,
function(g){g.pane===this&&(g.pane=null,g.update({},b))},this)}});a.Pane=n})(x);(function(a){var n=a.addEvent,v=a.Axis,r=a.each,h=a.extend,k=a.map,t=a.merge,p=a.noop,b=a.pick,g=a.pInt,f=a.Tick,d=a.wrap,c=a.correctFloat,e,u,l=v.prototype,w=f.prototype;a.radialAxisExtended||(a.radialAxisExtended=!0,e={getOffset:p,redraw:function(){this.isDirty=!1},render:function(){this.isDirty=!1},setScale:p,setCategories:p,setTitle:p},u={defaultRadialGaugeOptions:{labels:{align:"center",x:0,y:null},minorGridLineWidth:0,
minorTickInterval:"auto",minorTickLength:10,minorTickPosition:"inside",minorTickWidth:1,tickLength:10,tickPosition:"inside",tickWidth:2,title:{rotation:0},zIndex:2},defaultRadialXOptions:{gridLineWidth:1,labels:{align:null,distance:15,x:0,y:null,style:{textOverflow:"none"}},maxPadding:0,minPadding:0,showLastLabel:!1,tickLength:0},defaultRadialYOptions:{gridLineInterpolation:"circle",labels:{align:"right",x:-3,y:-2},showLastLabel:!1,title:{x:4,text:null,rotation:90}},setOptions:function(c){c=this.options=
t(this.defaultOptions,this.defaultRadialOptions,c);c.plotBands||(c.plotBands=[]);a.fireEvent(this,"afterSetOptions")},getOffset:function(){l.getOffset.call(this);this.chart.axisOffset[this.side]=0},getLinePath:function(c,d){c=this.center;var e=this.chart,f=b(d,c[2]/2-this.offset);this.isCircular||void 0!==d?(d=this.chart.renderer.symbols.arc(this.left+c[0],this.top+c[1],f,f,{start:this.startAngleRad,end:this.endAngleRad,open:!0,innerR:0}),d.xBounds=[this.left+c[0]],d.yBounds=[this.top+c[1]-f]):(d=
this.postTranslate(this.angleRad,f),d=["M",c[0]+e.plotLeft,c[1]+e.plotTop,"L",d.x,d.y]);return d},setAxisTranslation:function(){l.setAxisTranslation.call(this);this.center&&(this.transA=this.isCircular?(this.endAngleRad-this.startAngleRad)/(this.max-this.min||1):this.center[2]/2/(this.max-this.min||1),this.minPixelPadding=this.isXAxis?this.transA*this.minPointOffset:0)},beforeSetTickPositions:function(){if(this.autoConnect=this.isCircular&&void 0===b(this.userMax,this.options.max)&&c(this.endAngleRad-
this.startAngleRad)===c(2*Math.PI))this.max+=this.categories&&1||this.pointRange||this.closestPointRange||0},setAxisSize:function(){l.setAxisSize.call(this);this.isRadial&&(this.pane.updateCenter(this),this.isCircular&&(this.sector=this.endAngleRad-this.startAngleRad),this.len=this.width=this.height=this.center[2]*b(this.sector,1)/2)},getPosition:function(c,d){return this.postTranslate(this.isCircular?this.translate(c):this.angleRad,b(this.isCircular?d:this.translate(c),this.center[2]/2)-this.offset)},
postTranslate:function(c,b){var d=this.chart,e=this.center;c=this.startAngleRad+c;return{x:d.plotLeft+e[0]+Math.cos(c)*b,y:d.plotTop+e[1]+Math.sin(c)*b}},getPlotBandPath:function(c,d,e){var f=this.center,l=this.startAngleRad,a=f[2]/2,m=[b(e.outerRadius,"100%"),e.innerRadius,b(e.thickness,10)],u=Math.min(this.offset,0),q=/%$/,z,w=this.isCircular;"polygon"===this.options.gridLineInterpolation?f=this.getPlotLinePath(c).concat(this.getPlotLinePath(d,!0)):(c=Math.max(c,this.min),d=Math.min(d,this.max),
w||(m[0]=this.translate(c),m[1]=this.translate(d)),m=k(m,function(c){q.test(c)&&(c=g(c,10)*a/100);return c}),"circle"!==e.shape&&w?(c=l+this.translate(c),d=l+this.translate(d)):(c=-Math.PI/2,d=1.5*Math.PI,z=!0),m[0]-=u,m[2]-=u,f=this.chart.renderer.symbols.arc(this.left+f[0],this.top+f[1],m[0],m[0],{start:Math.min(c,d),end:Math.max(c,d),innerR:b(m[1],m[0]-m[2]),open:z}));return f},getPlotLinePath:function(c,d){var b=this,e=b.center,f=b.chart,g=b.getPosition(c),l,a,m;b.isCircular?m=["M",e[0]+f.plotLeft,
e[1]+f.plotTop,"L",g.x,g.y]:"circle"===b.options.gridLineInterpolation?(c=b.translate(c),m=b.getLinePath(0,c)):(r(f.xAxis,function(c){c.pane===b.pane&&(l=c)}),m=[],c=b.translate(c),e=l.tickPositions,l.autoConnect&&(e=e.concat([e[0]])),d&&(e=[].concat(e).reverse()),r(e,function(b,d){a=l.getPosition(b,c);m.push(d?"L":"M",a.x,a.y)}));return m},getTitlePosition:function(){var c=this.center,b=this.chart,d=this.options.title;return{x:b.plotLeft+c[0]+(d.x||0),y:b.plotTop+c[1]-{high:.5,middle:.25,low:0}[d.align]*
c[2]+(d.y||0)}}},n(v,"init",function(c){var b=this.chart,d=b.angular,f=b.polar,g=this.isXAxis,l=d&&g,a,q=b.options;c=c.userOptions.pane||0;c=this.pane=b.pane&&b.pane[c];if(d){if(h(this,l?e:u),a=!g)this.defaultRadialOptions=this.defaultRadialGaugeOptions}else f&&(h(this,u),this.defaultRadialOptions=(a=g)?this.defaultRadialXOptions:t(this.defaultYAxisOptions,this.defaultRadialYOptions));d||f?(this.isRadial=!0,b.inverted=!1,q.chart.zoomType=null):this.isRadial=!1;c&&a&&(c.axis=this);this.isCircular=
a}),n(v,"afterInit",function(){var c=this.chart,d=this.options,e=this.pane,f=e&&e.options;c.angular&&this.isXAxis||!e||!c.angular&&!c.polar||(this.angleRad=(d.angle||0)*Math.PI/180,this.startAngleRad=(f.startAngle-90)*Math.PI/180,this.endAngleRad=(b(f.endAngle,f.startAngle+360)-90)*Math.PI/180,this.offset=d.offset||0)}),d(l,"autoLabelAlign",function(c){if(!this.isRadial)return c.apply(this,[].slice.call(arguments,1))}),n(f,"afterGetPosition",function(c){this.axis.getPosition&&h(c.pos,this.axis.getPosition(this.pos))}),
n(f,"afterGetLabelPosition",function(c){var d=this.axis,e=this.label,f=d.options.labels,g=f.y,l,a=20,u=f.align,q=(d.translate(this.pos)+d.startAngleRad+Math.PI/2)/Math.PI*180%360;d.isRadial&&(l=d.getPosition(this.pos,d.center[2]/2+b(f.distance,-25)),"auto"===f.rotation?e.attr({rotation:q}):null===g&&(g=d.chart.renderer.fontMetrics(e.styles&&e.styles.fontSize).b-e.getBBox().height/2),null===u&&(d.isCircular?(this.label.getBBox().width>d.len*d.tickInterval/(d.max-d.min)&&(a=0),u=q>a&&q<180-a?"left":
q>180+a&&q<360-a?"right":"center"):u="center",e.attr({align:u})),c.pos.x=l.x+f.x,c.pos.y=l.y+g)}),d(w,"getMarkPath",function(c,d,b,e,f,g,a){var l=this.axis;l.isRadial?(c=l.getPosition(this.pos,l.center[2]/2+e),d=["M",d,b,"L",c.x,c.y]):d=c.call(this,d,b,e,f,g,a);return d}))})(x);(function(a){var n=a.each,v=a.pick,r=a.extend,h=a.isArray,k=a.defined,t=a.seriesType,p=a.seriesTypes,b=a.Series.prototype,g=a.Point.prototype;t("arearange","area",{threshold:null,tooltip:{pointFormat:'\x3cspan class\x3d"highcharts-color-{series.colorIndex}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.low}\x3c/b\x3e - \x3cb\x3e{point.high}\x3c/b\x3e\x3cbr/\x3e'},
trackByArea:!0,dataLabels:{align:null,verticalAlign:null,xLow:0,xHigh:0,yLow:0,yHigh:0}},{pointArrayMap:["low","high"],toYData:function(b){return[b.low,b.high]},pointValKey:"low",deferTranslatePolar:!0,highToXY:function(b){var d=this.chart,c=this.xAxis.postTranslate(b.rectPlotX,this.yAxis.len-b.plotHigh);b.plotHighX=c.x-d.plotLeft;b.plotHigh=c.y-d.plotTop;b.plotLowX=b.plotX},translate:function(){var b=this,d=b.yAxis,c=!!b.modifyValue;p.area.prototype.translate.apply(b);n(b.points,function(e){var f=
e.low,g=e.high,a=e.plotY;null===g||null===f?(e.isNull=!0,e.plotY=null):(e.plotLow=a,e.plotHigh=d.translate(c?b.modifyValue(g,e):g,0,1,0,1),c&&(e.yBottom=e.plotHigh))});this.chart.polar&&n(this.points,function(c){b.highToXY(c);c.tooltipPos=[(c.plotHighX+c.plotLowX)/2,(c.plotHigh+c.plotLow)/2]})},getGraphPath:function(b){var d=[],c=[],e,g=p.area.prototype.getGraphPath,a,f,q;q=this.options;var m=this.chart.polar&&!1!==q.connectEnds,k=q.connectNulls,h=q.step;b=b||this.points;for(e=b.length;e--;)a=b[e],
a.isNull||m||k||b[e+1]&&!b[e+1].isNull||c.push({plotX:a.plotX,plotY:a.plotY,doCurve:!1}),f={polarPlotY:a.polarPlotY,rectPlotX:a.rectPlotX,yBottom:a.yBottom,plotX:v(a.plotHighX,a.plotX),plotY:a.plotHigh,isNull:a.isNull},c.push(f),d.push(f),a.isNull||m||k||b[e-1]&&!b[e-1].isNull||c.push({plotX:a.plotX,plotY:a.plotY,doCurve:!1});b=g.call(this,b);h&&(!0===h&&(h="left"),q.step={left:"right",center:"center",right:"left"}[h]);d=g.call(this,d);c=g.call(this,c);q.step=h;q=[].concat(b,d);this.chart.polar||
"M"!==c[0]||(c[0]="L");this.graphPath=q;this.areaPath=b.concat(c);q.isArea=!0;q.xMap=b.xMap;this.areaPath.xMap=b.xMap;return q},drawDataLabels:function(){var a=this.points,d=a.length,c,e=[],g=this.options.dataLabels,l,w,q=this.chart.inverted,m,k;h(g)?1<g.length?(m=g[0],k=g[1]):(m=g[0],k={enabled:!1}):(m=r({},g),m.x=g.xHigh,m.y=g.yHigh,k=r({},g),k.x=g.xLow,k.y=g.yLow);if(m.enabled||this._hasPointLabels){for(c=d;c--;)if(l=a[c])w=m.inside?l.plotHigh<l.plotLow:l.plotHigh>l.plotLow,l.y=l.high,l._plotY=
l.plotY,l.plotY=l.plotHigh,e[c]=l.dataLabel,l.dataLabel=l.dataLabelUpper,l.below=w,q?m.align||(m.align=w?"right":"left"):m.verticalAlign||(m.verticalAlign=w?"top":"bottom");this.options.dataLabels=m;b.drawDataLabels&&b.drawDataLabels.apply(this,arguments);for(c=d;c--;)if(l=a[c])l.dataLabelUpper=l.dataLabel,l.dataLabel=e[c],delete l.dataLabels,l.y=l.low,l.plotY=l._plotY}if(k.enabled||this._hasPointLabels){for(c=d;c--;)if(l=a[c])w=k.inside?l.plotHigh<l.plotLow:l.plotHigh>l.plotLow,l.below=!w,q?k.align||
(k.align=w?"left":"right"):k.verticalAlign||(k.verticalAlign=w?"bottom":"top");this.options.dataLabels=k;b.drawDataLabels&&b.drawDataLabels.apply(this,arguments)}if(m.enabled)for(c=d;c--;)(l=a[c])&&l.dataLabelUpper&&(l.dataLabels=[l.dataLabelUpper,l.dataLabel]);this.options.dataLabels=g},alignDataLabel:function(){p.column.prototype.alignDataLabel.apply(this,arguments)},drawPoints:function(){var g=this.points.length,d,c;b.drawPoints.apply(this,arguments);for(c=0;c<g;)d=this.points[c],d.origProps={plotY:d.plotY,
plotX:d.plotX,isInside:d.isInside,negative:d.negative,zone:d.zone,y:d.y},d.lowerGraphic=d.graphic,d.graphic=d.upperGraphic,d.plotY=d.plotHigh,k(d.plotHighX)&&(d.plotX=d.plotHighX),d.y=d.high,d.negative=d.high<(this.options.threshold||0),d.zone=this.zones.length&&d.getZone(),this.chart.polar||(d.isInside=d.isTopInside=void 0!==d.plotY&&0<=d.plotY&&d.plotY<=this.yAxis.len&&0<=d.plotX&&d.plotX<=this.xAxis.len),c++;b.drawPoints.apply(this,arguments);for(c=0;c<g;)d=this.points[c],d.upperGraphic=d.graphic,
d.graphic=d.lowerGraphic,a.extend(d,d.origProps),delete d.origProps,c++},setStackedPoints:a.noop},{setState:function(){var b=this.state,d=this.series,c=d.chart.polar;k(this.plotHigh)||(this.plotHigh=d.yAxis.toPixels(this.high,!0));k(this.plotLow)||(this.plotLow=this.plotY=d.yAxis.toPixels(this.low,!0));d.stateMarkerGraphic&&(d.lowerStateMarkerGraphic=d.stateMarkerGraphic,d.stateMarkerGraphic=d.upperStateMarkerGraphic);this.graphic=this.upperGraphic;this.plotY=this.plotHigh;c&&(this.plotX=this.plotHighX);
g.setState.apply(this,arguments);this.state=b;this.plotY=this.plotLow;this.graphic=this.lowerGraphic;c&&(this.plotX=this.plotLowX);d.stateMarkerGraphic&&(d.upperStateMarkerGraphic=d.stateMarkerGraphic,d.stateMarkerGraphic=d.lowerStateMarkerGraphic,d.lowerStateMarkerGraphic=void 0);g.setState.apply(this,arguments)},haloPath:function(){var b=this.series.chart.polar,d=[];this.plotY=this.plotLow;b&&(this.plotX=this.plotLowX);this.isInside&&(d=g.haloPath.apply(this,arguments));this.plotY=this.plotHigh;
b&&(this.plotX=this.plotHighX);this.isTopInside&&(d=d.concat(g.haloPath.apply(this,arguments)));return d},destroyElements:function(){n(["lowerGraphic","upperGraphic"],function(b){this[b]&&(this[b]=this[b].destroy())},this);this.graphic=null;return g.destroyElements.apply(this,arguments)}})})(x);(function(a){var n=a.seriesType;n("areasplinerange","arearange",null,{getPointSpline:a.seriesTypes.spline.prototype.getPointSpline})})(x);(function(a){var n=a.defaultPlotOptions,v=a.each,r=a.merge,h=a.noop,
k=a.pick,t=a.seriesType,p=a.seriesTypes.column.prototype;t("columnrange","arearange",r(n.column,n.arearange,{pointRange:null,marker:null,states:{hover:{halo:!1}}}),{translate:function(){var b=this,g=b.yAxis,a=b.xAxis,d=a.startAngleRad,c,e=b.chart,u=b.xAxis.isRadial,l=Math.max(e.chartWidth,e.chartHeight)+999,w;p.translate.apply(b);v(b.points,function(f){var m=f.shapeArgs,q=b.options.minPointLength,h,p;f.plotHigh=w=Math.min(Math.max(-l,g.translate(f.high,0,1,0,1)),l);f.plotLow=Math.min(Math.max(-l,
f.plotY),l);p=w;h=k(f.rectPlotY,f.plotY)-w;Math.abs(h)<q?(q-=h,h+=q,p-=q/2):0>h&&(h*=-1,p-=h);u?(c=f.barX+d,f.shapeType="path",f.shapeArgs={d:b.polarArc(p+h,p,c,c+f.pointWidth)}):(m.height=h,m.y=p,f.tooltipPos=e.inverted?[g.len+g.pos-e.plotLeft-p-h/2,a.len+a.pos-e.plotTop-m.x-m.width/2,h]:[a.left-e.plotLeft+m.x+m.width/2,g.pos-e.plotTop+p+h/2,h])})},directTouch:!0,trackerGroups:["group","dataLabelsGroup"],drawGraph:h,getSymbol:h,crispCol:p.crispCol,drawPoints:p.drawPoints,drawTracker:p.drawTracker,
getColumnMetrics:p.getColumnMetrics,pointAttribs:p.pointAttribs,animate:function(){return p.animate.apply(this,arguments)},polarArc:function(){return p.polarArc.apply(this,arguments)},translate3dPoints:function(){return p.translate3dPoints.apply(this,arguments)},translate3dShapes:function(){return p.translate3dShapes.apply(this,arguments)}},{setState:p.pointClass.prototype.setState})})(x);(function(a){var n=a.each,v=a.isNumber,r=a.merge,h=a.pick,k=a.pInt,t=a.Series,p=a.seriesType,b=a.TrackerMixin;
p("gauge","line",{dataLabels:{enabled:!0,defer:!1,y:15,borderRadius:3,crop:!1,verticalAlign:"top",zIndex:2},dial:{},pivot:{},tooltip:{headerFormat:""},showInLegend:!1},{angular:!0,directTouch:!0,drawGraph:a.noop,fixedBox:!0,forceDL:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],translate:function(){var b=this.yAxis,a=this.options,d=b.center;this.generatePoints();n(this.points,function(c){var e=r(a.dial,c.dial),g=k(h(e.radius,80))*d[2]/200,f=k(h(e.baseLength,70))*g/100,w=k(h(e.rearLength,
10))*g/100,q=e.baseWidth||3,m=e.topWidth||1,p=a.overshoot,n=b.startAngleRad+b.translate(c.y,null,null,null,!0);v(p)?(p=p/180*Math.PI,n=Math.max(b.startAngleRad-p,Math.min(b.endAngleRad+p,n))):!1===a.wrap&&(n=Math.max(b.startAngleRad,Math.min(b.endAngleRad,n)));n=180*n/Math.PI;c.shapeType="path";c.shapeArgs={d:e.path||["M",-w,-q/2,"L",f,-q/2,g,-m/2,g,m/2,f,q/2,-w,q/2,"z"],translateX:d[0],translateY:d[1],rotation:n};c.plotX=d[0];c.plotY=d[1]})},drawPoints:function(){var b=this,a=b.yAxis.center,d=b.pivot,
c=b.options,e=c.pivot,u=b.chart.renderer;n(b.points,function(d){var a=d.graphic,e=d.shapeArgs,g=e.d;r(c.dial,d.dial);a?(a.animate(e),e.d=g):d.graphic=u[d.shapeType](e).attr({rotation:e.rotation,zIndex:1}).addClass("highcharts-dial").add(b.group)});d?d.animate({translateX:a[0],translateY:a[1]}):b.pivot=u.circle(0,0,h(e.radius,5)).attr({zIndex:2}).addClass("highcharts-pivot").translate(a[0],a[1]).add(b.group)},animate:function(b){var a=this;b||(n(a.points,function(b){var c=b.graphic;c&&(c.attr({rotation:180*
a.yAxis.startAngleRad/Math.PI}),c.animate({rotation:b.shapeArgs.rotation},a.options.animation))}),a.animate=null)},render:function(){this.group=this.plotGroup("group","series",this.visible?"visible":"hidden",this.options.zIndex,this.chart.seriesGroup);t.prototype.render.call(this);this.group.clip(this.chart.clipRect)},setData:function(b,a){t.prototype.setData.call(this,b,!1);this.processData();this.generatePoints();h(a,!0)&&this.chart.redraw()},drawTracker:b&&b.drawTrackerPoint},{setState:function(b){this.state=
b}})})(x);(function(a){var n=a.each,v=a.noop,r=a.seriesType,h=a.seriesTypes;r("boxplot","column",{threshold:null,tooltip:{pointFormat:'\x3cspan class\x3d"highcharts-color-{point.colorIndex}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eMaximum: {point.high}\x3cbr/\x3eUpper quartile: {point.q3}\x3cbr/\x3eMedian: {point.median}\x3cbr/\x3eLower quartile: {point.q1}\x3cbr/\x3eMinimum: {point.low}\x3cbr/\x3e'},whiskerLength:"50%"},{pointArrayMap:["low","q1","median","q3","high"],
toYData:function(a){return[a.low,a.q1,a.median,a.q3,a.high]},pointValKey:"high",drawDataLabels:v,translate:function(){var a=this.yAxis,t=this.pointArrayMap;h.column.prototype.translate.apply(this);n(this.points,function(h){n(t,function(b){null!==h[b]&&(h[b+"Plot"]=a.translate(h[b],0,1,0,1))})})},drawPoints:function(){var a=this,h=a.chart.renderer,p,b,g,f,d,c,e=0,u,l,w,q,m=!1!==a.doQuartiles,r,v=a.options.whiskerLength;n(a.points,function(k){var n=k.graphic,t=n?"animate":"attr",z=k.shapeArgs;void 0!==
k.plotY&&(u=z.width,l=Math.floor(z.x),w=l+u,q=Math.round(u/2),p=Math.floor(m?k.q1Plot:k.lowPlot),b=Math.floor(m?k.q3Plot:k.lowPlot),g=Math.floor(k.highPlot),f=Math.floor(k.lowPlot),n||(k.graphic=n=h.g("point").add(a.group),k.stem=h.path().addClass("highcharts-boxplot-stem").add(n),v&&(k.whiskers=h.path().addClass("highcharts-boxplot-whisker").add(n)),m&&(k.box=h.path(void 0).addClass("highcharts-boxplot-box").add(n)),k.medianShape=h.path(void 0).addClass("highcharts-boxplot-median").add(n)),c=k.stem.strokeWidth()%
2/2,e=l+q+c,k.stem[t]({d:["M",e,b,"L",e,g,"M",e,p,"L",e,f]}),m&&(c=k.box.strokeWidth()%2/2,p=Math.floor(p)+c,b=Math.floor(b)+c,l+=c,w+=c,k.box[t]({d:["M",l,b,"L",l,p,"L",w,p,"L",w,b,"L",l,b,"z"]})),v&&(c=k.whiskers.strokeWidth()%2/2,g+=c,f+=c,r=/%$/.test(v)?q*parseFloat(v)/100:v/2,k.whiskers[t]({d:["M",e-r,g,"L",e+r,g,"M",e-r,f,"L",e+r,f]})),d=Math.round(k.medianPlot),c=k.medianShape.strokeWidth()%2/2,d+=c,k.medianShape[t]({d:["M",l,d,"L",w,d]}))})},setStackedPoints:v})})(x);(function(a){var n=a.each,
v=a.noop,r=a.seriesType,h=a.seriesTypes;r("errorbar","boxplot",{grouping:!1,linkedTo:":previous",tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.low}\x3c/b\x3e - \x3cb\x3e{point.high}\x3c/b\x3e\x3cbr/\x3e'},whiskerWidth:null},{type:"errorbar",pointArrayMap:["low","high"],toYData:function(a){return[a.low,a.high]},pointValKey:"high",doQuartiles:!1,drawDataLabels:h.arearange?function(){var a=this.pointValKey;h.arearange.prototype.drawDataLabels.call(this);
n(this.data,function(k){k.y=k[a]})}:v,getColumnMetrics:function(){return this.linkedParent&&this.linkedParent.columnMetrics||h.column.prototype.getColumnMetrics.call(this)}})})(x);(function(a){var n=a.correctFloat,v=a.isNumber,r=a.pick,h=a.Point,k=a.Series,t=a.seriesType,p=a.seriesTypes;t("waterfall","column",{dataLabels:{inside:!0}},{pointValKey:"y",showLine:!0,generatePoints:function(){var b=this.options.threshold,a,f,d,c;p.column.prototype.generatePoints.apply(this);d=0;for(f=this.points.length;d<
f;d++)a=this.points[d],c=this.processedYData[d],a.isSum?a.y=n(c):a.isIntermediateSum&&(a.y=n(c-b),b=c)},translate:function(){var b=this.options,a=this.yAxis,f,d,c,e,u,l,k,h,m,n,t=r(b.minPointLength,5),v=t/2,x=b.threshold,A=b.stacking,y;p.column.prototype.translate.apply(this);h=m=x;d=this.points;f=0;for(b=d.length;f<b;f++)c=d[f],k=this.processedYData[f],e=c.shapeArgs,u=A&&a.stacks[(this.negStacks&&k<x?"-":"")+this.stackKey],y=this.getStackIndicator(y,c.x,this.index),n=r(u&&u[c.x].points[y.key],[0,
k]),l=Math.max(h,h+c.y)+n[0],e.y=a.translate(l,0,1,0,1),c.isSum?(e.y=a.translate(n[1],0,1,0,1),e.height=Math.min(a.translate(n[0],0,1,0,1),a.len)-e.y):c.isIntermediateSum?(e.y=a.translate(n[1],0,1,0,1),e.height=Math.min(a.translate(m,0,1,0,1),a.len)-e.y,m=n[1]):(e.height=0<k?a.translate(h,0,1,0,1)-e.y:a.translate(h,0,1,0,1)-a.translate(h-k,0,1,0,1),h+=u&&u[c.x]?u[c.x].total:k,c.below=h<r(x,0)),0>e.height&&(e.y+=e.height,e.height*=-1),c.plotY=e.y=Math.round(e.y)-this.borderWidth%2/2,e.height=Math.max(Math.round(e.height),
.001),c.yBottom=e.y+e.height,e.height<=t&&!c.isNull?(e.height=t,e.y-=v,c.plotY=e.y,c.minPointLengthOffset=0>c.y?-v:v):(c.isNull&&(e.width=0),c.minPointLengthOffset=0),e=c.plotY+(c.negative?e.height:0),this.chart.inverted?c.tooltipPos[0]=a.len-e:c.tooltipPos[1]=e},processData:function(b){var a=this.yData,f=this.options.data,d,c=a.length,e,u,l,h,q,m;u=e=l=h=this.options.threshold||0;for(m=0;m<c;m++)q=a[m],d=f&&f[m]?f[m]:{},"sum"===q||d.isSum?a[m]=n(u):"intermediateSum"===q||d.isIntermediateSum?a[m]=
n(e):(u+=q,e+=q),l=Math.min(u,l),h=Math.max(u,h);k.prototype.processData.call(this,b);this.options.stacking||(this.dataMin=l,this.dataMax=h)},toYData:function(b){return b.isSum?0===b.x?null:"sum":b.isIntermediateSum?0===b.x?null:"intermediateSum":b.y},getGraphPath:function(){return["M",0,0]},getCrispPath:function(){var b=this.data,a=b.length,f=this.graph.strokeWidth()+this.borderWidth,f=Math.round(f)%2/2,d=this.xAxis.reversed,c=this.yAxis.reversed,e=[],h,l,k;for(k=1;k<a;k++){l=b[k].shapeArgs;h=b[k-
1].shapeArgs;l=["M",h.x+(d?0:h.width),h.y+b[k-1].minPointLengthOffset+f,"L",l.x+(d?h.width:0),h.y+b[k-1].minPointLengthOffset+f];if(0>b[k-1].y&&!c||0<b[k-1].y&&c)l[2]+=h.height,l[5]+=h.height;e=e.concat(l)}return e},drawGraph:function(){k.prototype.drawGraph.call(this);this.graph.attr({d:this.getCrispPath()})},setStackedPoints:function(){var b=this.options,a,f;k.prototype.setStackedPoints.apply(this,arguments);a=this.stackedYData?this.stackedYData.length:0;for(f=1;f<a;f++)b.data[f].isSum||b.data[f].isIntermediateSum||
(this.stackedYData[f]+=this.stackedYData[f-1])},getExtremes:function(){if(this.options.stacking)return k.prototype.getExtremes.apply(this,arguments)}},{getClassName:function(){var b=h.prototype.getClassName.call(this);this.isSum?b+=" highcharts-sum":this.isIntermediateSum&&(b+=" highcharts-intermediate-sum");return b},isValid:function(){return v(this.y,!0)||this.isSum||this.isIntermediateSum}})})(x);(function(a){var n=a.Series,v=a.seriesType,r=a.seriesTypes;v("polygon","scatter",{marker:{enabled:!1,
states:{hover:{enabled:!1}}},stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:""},trackByArea:!0},{type:"polygon",getGraphPath:function(){for(var a=n.prototype.getGraphPath.call(this),k=a.length+1;k--;)(k===a.length||"M"===a[k])&&0<k&&a.splice(k,0,"z");return this.areaPath=a},drawGraph:function(){r.area.prototype.drawGraph.call(this)},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawTracker:n.prototype.drawTracker,setStackedPoints:a.noop})})(x);(function(a){var n=a.arrayMax,v=a.arrayMin,
r=a.Axis,h=a.each,k=a.isNumber,t=a.noop,p=a.pick,b=a.pInt,g=a.Point,f=a.seriesType,d=a.seriesTypes;f("bubble","scatter",{dataLabels:{formatter:function(){return this.point.z},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"},{pointArrayMap:["y","z"],parallelArrays:["x",
"y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",bubblePadding:!0,zoneAxis:"z",directTouch:!0,getRadii:function(b,a,d,g){var c,e,f,l=this.zData,h=[],u=this.options,n="width"!==u.sizeBy,p=u.zThreshold,r=a-b;e=0;for(c=l.length;e<c;e++)f=l[e],u.sizeByAbsoluteValue&&null!==f&&(f=Math.abs(f-p),a=r=Math.max(a-p,Math.abs(b-p)),b=0),k(f)?f<b?f=d/2-1:(f=0<r?(f-b)/r:.5,n&&0<=f&&(f=Math.sqrt(f)),f=Math.ceil(d+f*(g-d))/2):f=null,h.push(f);this.radii=h},animate:function(b){!b&&this.points.length<
this.options.animationLimit&&(h(this.points,function(b){var c=b.graphic,a;c&&c.width&&(a={x:c.x,y:c.y,width:c.width,height:c.height},c.attr({x:b.plotX,y:b.plotY,width:1,height:1}),c.animate(a,this.options.animation))},this),this.animate=null)},translate:function(){var b,e=this.data,f,g,h=this.radii;d.scatter.prototype.translate.call(this);for(b=e.length;b--;)f=e[b],g=h?h[b]:0,k(g)&&g>=this.minPxSize/2?(f.marker=a.extend(f.marker,{radius:g,width:2*g,height:2*g}),f.dlBox={x:f.plotX-g,y:f.plotY-g,width:2*
g,height:2*g}):f.shapeArgs=f.plotY=f.dlBox=void 0},alignDataLabel:d.column.prototype.alignDataLabel,buildKDTree:t,applyZones:t},{haloPath:function(b){return g.prototype.haloPath.call(this,0===b?0:(this.marker?this.marker.radius||0:0)+b)},ttBelow:!1});r.prototype.beforePadding=function(){var c=this,d=this.len,f=this.chart,g=0,w=d,q=this.isXAxis,m=q?"xData":"yData",r=this.min,t={},x=Math.min(f.plotWidth,f.plotHeight),C=Number.MAX_VALUE,A=-Number.MAX_VALUE,y=this.max-r,B=d/y,D=[];h(this.series,function(d){var e=
d.options;!d.bubblePadding||!d.visible&&f.options.chart.ignoreHiddenSeries||(c.allowZoomOutside=!0,D.push(d),q&&(h(["minSize","maxSize"],function(c){var a=e[c],d=/%$/.test(a),a=b(a);t[c]=d?x*a/100:a}),d.minPxSize=t.minSize,d.maxPxSize=Math.max(t.maxSize,t.minSize),d=a.grep(d.zData,a.isNumber),d.length&&(C=p(e.zMin,Math.min(C,Math.max(v(d),!1===e.displayNegative?e.zThreshold:-Number.MAX_VALUE))),A=p(e.zMax,Math.max(A,n(d))))))});h(D,function(b){var a=b[m],d=a.length,e;q&&b.getRadii(C,A,b.minPxSize,
b.maxPxSize);if(0<y)for(;d--;)k(a[d])&&c.dataMin<=a[d]&&a[d]<=c.dataMax&&(e=b.radii[d],g=Math.min((a[d]-r)*B-e,g),w=Math.max((a[d]-r)*B+e,w))});D.length&&0<y&&!this.isLog&&(w-=d,B*=(d+Math.max(0,g)-Math.min(w,d))/d,h([["min","userMin",g],["max","userMax",w]],function(b){void 0===p(c.options[b[0]],c[b[1]])&&(c[b[0]]+=b[2]/B)}))}})(x);(function(a){var n=a.each,v=a.pick,r=a.Series,h=a.seriesTypes,k=a.wrap,t=r.prototype,p=a.Pointer.prototype;a.polarExtended||(a.polarExtended=!0,t.searchPointByAngle=function(b){var a=
this.chart,f=this.xAxis.pane.center;return this.searchKDTree({clientX:180+-180/Math.PI*Math.atan2(b.chartX-f[0]-a.plotLeft,b.chartY-f[1]-a.plotTop)})},t.getConnectors=function(b,a,f,d){var c,e,g,l,h,k,m,n;e=d?1:0;c=0<=a&&a<=b.length-1?a:0>a?b.length-1+a:0;a=0>c-1?b.length-(1+e):c-1;e=c+1>b.length-1?e:c+1;g=b[a];e=b[e];l=g.plotX;g=g.plotY;h=e.plotX;k=e.plotY;e=b[c].plotX;c=b[c].plotY;l=(1.5*e+l)/2.5;g=(1.5*c+g)/2.5;h=(1.5*e+h)/2.5;m=(1.5*c+k)/2.5;k=Math.sqrt(Math.pow(l-e,2)+Math.pow(g-c,2));n=Math.sqrt(Math.pow(h-
e,2)+Math.pow(m-c,2));l=Math.atan2(g-c,l-e);m=Math.PI/2+(l+Math.atan2(m-c,h-e))/2;Math.abs(l-m)>Math.PI/2&&(m-=Math.PI);l=e+Math.cos(m)*k;g=c+Math.sin(m)*k;h=e+Math.cos(Math.PI+m)*n;m=c+Math.sin(Math.PI+m)*n;e={rightContX:h,rightContY:m,leftContX:l,leftContY:g,plotX:e,plotY:c};f&&(e.prevPointCont=this.getConnectors(b,a,!1,d));return e},k(t,"buildKDTree",function(b){this.chart.polar&&(this.kdByAngle?this.searchPoint=this.searchPointByAngle:this.options.findNearestPointBy="xy");b.apply(this)}),t.toXY=
function(b){var a,f=this.chart,d=b.plotX;a=b.plotY;b.rectPlotX=d;b.rectPlotY=a;a=this.xAxis.postTranslate(b.plotX,this.yAxis.len-a);b.plotX=b.polarPlotX=a.x-f.plotLeft;b.plotY=b.polarPlotY=a.y-f.plotTop;this.kdByAngle?(f=(d/Math.PI*180+this.xAxis.pane.options.startAngle)%360,0>f&&(f+=360),b.clientX=f):b.clientX=b.plotX},h.spline&&(k(h.spline.prototype,"getPointSpline",function(b,a,f,d){this.chart.polar?d?(b=this.getConnectors(a,d,!0,this.connectEnds),b=["C",b.prevPointCont.rightContX,b.prevPointCont.rightContY,
b.leftContX,b.leftContY,b.plotX,b.plotY]):b=["M",f.plotX,f.plotY]:b=b.call(this,a,f,d);return b}),h.areasplinerange&&(h.areasplinerange.prototype.getPointSpline=h.spline.prototype.getPointSpline)),a.addEvent(r,"afterTranslate",function(){var b=this.chart,g,f;if(b.polar){this.kdByAngle=b.tooltip&&b.tooltip.shared;if(!this.preventPostTranslate)for(g=this.points,f=g.length;f--;)this.toXY(g[f]);this.hasClipCircleSetter||(this.hasClipCircleSetter=!!a.addEvent(this,"afterRender",function(){var d;b.polar&&
(d=this.yAxis.center,this.group.clip(b.renderer.clipCircle(d[0],d[1],d[2]/2)),this.setClip=a.noop)}))}},{order:2}),k(t,"getGraphPath",function(b,a){var f=this,d,c,e;if(this.chart.polar){a=a||this.points;for(d=0;d<a.length;d++)if(!a[d].isNull){c=d;break}!1!==this.options.connectEnds&&void 0!==c&&(this.connectEnds=!0,a.splice(a.length,0,a[c]),e=!0);n(a,function(b){void 0===b.polarPlotY&&f.toXY(b)})}d=b.apply(this,[].slice.call(arguments,1));e&&a.pop();return d}),r=function(b,a){var f=this.chart,d=this.options.animation,
c=this.group,e=this.markerGroup,g=this.xAxis.center,h=f.plotLeft,k=f.plotTop;f.polar?f.renderer.isSVG&&(!0===d&&(d={}),a?(b={translateX:g[0]+h,translateY:g[1]+k,scaleX:.001,scaleY:.001},c.attr(b),e&&e.attr(b)):(b={translateX:h,translateY:k,scaleX:1,scaleY:1},c.animate(b,d),e&&e.animate(b,d),this.animate=null)):b.call(this,a)},k(t,"animate",r),h.column&&(h=h.column.prototype,h.polarArc=function(b,a,f,d){var c=this.xAxis.center,e=this.yAxis.len;return this.chart.renderer.symbols.arc(c[0],c[1],e-a,null,
{start:f,end:d,innerR:e-v(b,e)})},k(h,"animate",r),k(h,"translate",function(a){var b=this.xAxis,f=b.startAngleRad,d,c,e;this.preventPostTranslate=!0;a.call(this);if(b.isRadial)for(d=this.points,e=d.length;e--;)c=d[e],a=c.barX+f,c.shapeType="path",c.shapeArgs={d:this.polarArc(c.yBottom,c.plotY,a,a+c.pointWidth)},this.toXY(c),c.tooltipPos=[c.plotX,c.plotY],c.ttBelow=c.plotY>b.center[1]}),k(h,"alignDataLabel",function(a,g,f,d,c,e){this.chart.polar?(a=g.rectPlotX/Math.PI*180,null===d.align&&(d.align=
20<a&&160>a?"left":200<a&&340>a?"right":"center"),null===d.verticalAlign&&(d.verticalAlign=45>a||315<a?"bottom":135<a&&225>a?"top":"middle"),t.alignDataLabel.call(this,g,f,d,c,e)):a.call(this,g,f,d,c,e)})),k(p,"getCoordinates",function(a,g){var b=this.chart,d={xAxis:[],yAxis:[]};b.polar?n(b.axes,function(a){var c=a.isXAxis,f=a.center,h=g.chartX-f[0]-b.plotLeft,f=g.chartY-f[1]-b.plotTop;d[c?"xAxis":"yAxis"].push({axis:a,value:a.translate(c?Math.PI-Math.atan2(h,f):Math.sqrt(Math.pow(h,2)+Math.pow(f,
2)),!0)})}):d=a.call(this,g);return d}),a.SVGRenderer.prototype.clipCircle=function(b,g,f){var d=a.uniqueKey(),c=this.createElement("clipPath").attr({id:d}).add(this.defs);b=this.circle(b,g,f).add(c);b.id=d;b.clipPath=c;return b},a.addEvent(a.Chart,"getAxes",function(){this.pane||(this.pane=[]);n(a.splat(this.options.pane),function(b){new a.Pane(b,this)},this)}),a.addEvent(a.Chart,"afterDrawChartBox",function(){n(this.pane,function(a){a.render()})}),k(a.Chart.prototype,"get",function(b,g){return a.find(this.pane,
function(a){return a.options.id===g})||b.call(this,g)}))})(x)});
//# sourceMappingURL=highcharts-more.js.map