@canvasjs/charts 3.14.10 → 3.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/canvasjs.min.js +234 -234
- package/package.json +1 -1
package/LICENSE
CHANGED
package/canvasjs.min.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
CanvasJS Chart - v3.
|
|
2
|
+
CanvasJS Chart - v3.15.0 GA - https://canvasjs.com/
|
|
3
3
|
Copyright 2025 fenopix
|
|
4
4
|
|
|
5
5
|
--------------------- License Information --------------------
|
|
@@ -668,239 +668,239 @@ if("bottom"===this._position||"top"===this._position)k(m.options.labelWrap)&&!k(
|
|
|
668
668
|
z=this.sessionVariables.stripLineLabelMaxHeight:this.sessionVariables.stripLineLabelMaxHeight=z=m.labelWrap?0.8*this.chart.width>>0:1.5*m.labelFontSize+("object"===typeof m.labelPadding?(m.labelPadding.top||0)+(m.labelPadding.bottom||0):2*m.labelPadding);k(m.labelBackgroundColor)&&(m.labelBackgroundColor="#EEEEEE")}else d="bottom"===this._position||"top"===this._position?0.9*this.chart.width>>0:0.9*this.chart.height>>0,z=k(m.options.labelWrap)||m.labelWrap?"bottom"===this._position||"top"===this._position?
|
|
669
669
|
0.8*this.chart.width>>0:0.8*this.chart.height>>0:1.5*m.labelFontSize+("object"===typeof m.labelPadding?(m.labelPadding.top||0)+(m.labelPadding.bottom||0):2*m.labelPadding),k(m.labelBackgroundColor)&&(k(m.startValue)&&0!==m.startValue?m.labelBackgroundColor=u?"transparent":null:m.labelBackgroundColor="#EEEEEE");a=new ka(this.ctx,{x:0,y:0,backgroundColor:m.labelBackgroundColor,borderColor:m.labelBorderColor,borderThickness:m.labelBorderThickness,cornerRadius:m.labelCornerRadius,maxWidth:m.options.labelMaxWidth?
|
|
670
670
|
m.options.labelMaxWidth:d,maxHeight:z,angle:this.labelAngle,text:m.labelFormatter?m.labelFormatter({chart:this.chart,axis:this,stripLine:m}):m.label,textAlign:m.labelTextAlign,fontSize:m.labelFontSize,fontFamily:m.labelFontFamily,fontWeight:m.labelFontWeight,fontColor:m.labelFontColor||m.color,fontStyle:m.labelFontStyle,textBaseline:"middle",padding:m.labelPadding});this._stripLineLabels.push({position:m.value,textBlock:a,effectiveHeight:null,stripLine:m})}};y.prototype.createLabelsAndCalculateWidth=
|
|
671
|
-
function(){var a=0,d=0;this._labels=[];this._stripLineLabels=[];var c=0,b=[],e=this.chart.isNavigator?0:5;this.labelEffectiveWidth=k(this.labelEffectiveWidth)?0:this.labelEffectiveWidth;if("left"===this._position||"right"===this._position){this.createLabels();for(d=0;d<this._labels.length;d++){var g=this._labels[d].textBlock,g=g.measureText(),m=0,m=0===this.labelAngle?g.width:g.width*Math.cos(Math.PI/
|
|
672
|
-
a=m);this._labels[d].effectiveWidth=m}for(d=0;d<this._stripLineLabels.length;d++)"outside"===this._stripLineLabels[d].stripLine.labelPlacement&&(this._stripLineLabels[d].stripLine.value>=this.viewportMinimum&&this._stripLineLabels[d].stripLine.value<=this.viewportMaximum)&&(g=this._stripLineLabels[d].textBlock,g=g.measureText(),m=0===this.labelAngle?g.width:g.width*Math.cos(Math.PI/
|
|
673
|
-
"inside"===this.labelPlacement&&(a-=0<b.length?Math.max.apply(null,b):0,a+=Math.max(m,0<b.length?Math.max.apply(null,b):m)),a<=m&&(a=m),this.stripLineLabelEffectiveWidth=this._stripLineLabels[d].effectiveWidth=m,b.push(m));"inside"===this.labelPlacement&&(a+=e)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+("inside"===this.tickPlacement?
|
|
674
|
-
[];var d=0,c,b=0,e=this.chart.isNavigator?0:"bottom"===this._position&&"inside"===this.labelPlacement||"top"===this._position&&"outside"===this.labelPlacement?2:5;this.labelEffectiveHeight=k(this.labelEffectiveHeight)?0:this.labelEffectiveHeight;var g=[];if("bottom"===this._position||"top"===this._position){this.createLabels();for(b=0;b<this._labels.length;b++)
|
|
675
|
-
c.height*Math.cos(Math.PI/180*Math.abs(this.labelAngle));a<=m&&(this.labelEffectiveHeight=a=m);this._labels[b].effectiveHeight=m}for(b=0;b<this._stripLineLabels.length;b++)"outside"===this._stripLineLabels[b].stripLine.labelPlacement&&(this._stripLineLabels[b].stripLine.value>=this.viewportMinimum&&
|
|
676
|
-
c.height*Math.cos(Math.PI/180*Math.abs(this.labelAngle)),d=Math.max(d,this._stripLineLabels[b].stripLine.tickLength),"inside"===this.labelPlacement&&(a-=0<g.length?Math.max.apply(null,g):0,a+=Math.max(m,0<g.length?Math.max.apply(null,g):m)),a<=m&&(a=m),this.stripLineLabelEffectiveHeight=this._stripLineLabels[b].effectiveHeight=
|
|
677
|
-
this.tickLength))+e};y.setLayout=function(a,d,c,b,e,g){var m,h,r,l,p=a[0]?a[0].chart:d[0].chart,n=p.isNavigator?0:10,q=p._axes;if(a&&0<a.length)for(var f=0;f<a.length;f++)a[f]&&a[f].calculateAxisParameters();if(d&&0<d.length)for(f=0;f<d.length;f++)d[f].calculateAxisParameters();if(c&&0<c.length)for(f=0;f<c.length;f++)c[f].calculateAxisParameters();
|
|
678
|
-
q[f].scaleBreaks._appliedBreaks,x=0;x<u.length&&!(u[x].startValue>q[f].viewportMaximum);x++)u[x].endValue<q[f].viewportMinimum||(k(q[f].scaleBreaks.firstBreakIndex)&&(q[f].scaleBreaks.firstBreakIndex=x),u[x].startValue>=q[f].viewPortMinimum&&(q[f].scaleBreaks.lastBreakIndex=x));for(var y=x=0,t=0,w=0,v=0,A=0,B=0,C,D,E=h=0,H,J,N,u=
|
|
679
|
-
fontColor:q[f].titleFontColor,fontStyle:q[f].titleFontStyle,borderColor:q[f].titleBorderColor,borderThickness:q[f].titleBorderThickness,backgroundColor:q[f].titleBackgroundColor,cornerRadius:q[f].titleCornerRadius,textBaseline:"middle",textAlign:q[f].titleTextAlign,padding:q[f].titlePadding}));for(f=0;f<q.length;f++)if(q[f].title){var L=
|
|
680
|
-
q[f].titleMaxWidth||g.height;q[f]._titleTextBlock.maxHeight=q[f].titleWrap?0.8*g.width:Math.min(L,0.8*g.width);switch(q[f]._position){case "left":q[f]._titleTextBlock.angle=-90;break;case "right":q[f]._titleTextBlock.angle=90;break;default:q[f]._titleTextBlock.maxWidth=q[f].titleMaxWidth||g.width,q[f]._titleTextBlock.maxHeight=q[f].titleWrap?
|
|
681
|
-
0,aa=L=e=0,ba=0,Y=0,Z=0,M=m=0;if(c&&0<c.length)for(A=[],f=m=0;f<c.length;f++)A.push(Math.ceil(c[f]?c[f].createLabelsAndCalculateWidth():0)),m+=A[f],aa+=c[f]&&!p.isNavigator?c[f].margin:0;else A.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateWidth():0));U.push(A);if(b&&0<b.length)for(B=[],f=M=0;f<b.length;f++)B.push(Math.ceil(b[f]?b[f].createLabelsAndCalculateWidth():
|
|
682
|
-
m+aa-(c[0]?("inside"===c[0].labelPlacement?c[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===c[0].tickPlacement?c[0].tickLength:0):0))+(!c.length||"inside"!==c[c.length-1].labelPlacement||c[c.length-1].title||c[c.length-1].stripLineLabelEffectiveWidth||p.isNavigator?0:5);r=Math.round(Math.min(g.x2-M-ba+(b[0]?("inside"===b[0].labelPlacement?b[0].labelEffectiveWidth+
|
|
683
|
-
(a[f].lineCoordinates={}),a[f].lineCoordinates.width=Math.abs(r-m),a[f].title&&(a[f]._titleTextBlock.maxWidth=0<a[f].titleMaxWidth&&a[f].titleMaxWidth<a[f].lineCoordinates.width?a[f].titleMaxWidth:a[f].lineCoordinates.width),w.push(Math.ceil(a[f]?a[f].createLabelsAndCalculateHeight():0)),Y+=w[f],e+=a[f]&&!p.isNavigator?a[f].margin:0;else w.push(Math.ceil(a[0]?
|
|
684
|
-
Math.abs(r-m),d[f].title&&(d[f]._titleTextBlock.maxWidth=0<d[f].titleMaxWidth&&d[f].titleMaxWidth<d[f].lineCoordinates.width?d[f].titleMaxWidth:d[f].lineCoordinates.width),v.push(Math.ceil(d[f]?d[f].createLabelsAndCalculateHeight():0)),Z+=v[f],L+=d[f]&&!p.isNavigator?d[f].margin:0;else v.push(Math.ceil(d[0]?d[0].createLabelsAndCalculateHeight():
|
|
685
|
-
b[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===b[0].tickPlacement?b[0].tickLength:0):0)-(!b.length||"inside"!==b[b.length-1].labelPlacement||b[b.length-1].title||b[b.length-1].stripLineLabelEffectiveWidth||p.isNavigator?0:5),p.width-n));if(a[f]._labels&&1<a[f]._labels.length){var S=h=0;h=a[f]._labels[1];S="dateTime"===a[f].valueType?
|
|
686
|
-
h.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(h.textBlock.angle));t=S.textBlock.width*Math.cos(Math.PI/180*Math.abs(S.textBlock.angle))+S.textBlock.height*Math.sin(Math.PI/180*Math.abs(S.textBlock.angle))}!a[f]||(!a[f].labelAutoFit||k(C)||k(D)||p.isNavigator||p.stockChart)||(h=0,0<a[f].labelAngle?(l=t-(S.textBlock.height-S.textBlock._lineHeight/
|
|
687
|
-
(h+=D+l-r-M)):0>a[f].labelAngle?C-y<m&&C-y<a[f].viewportMinimum&&(E=m-(aa+a[f].tickLength+A+C-y+a[f].labelFontSize/2)):0===a[f].labelAngle&&(D+t>r&&(a[f].convertPixelToValue(D)>=a[f].viewportMinimum&&a[f].convertPixelToValue(D)<=a[f].viewportMaximum)&&(h=D+t/2-r-M),C-y<m&&C-y<a[f].viewportMinimum&&(E=m-aa-a[f].tickLength-A-C+y/2)),a[f].viewportMaximum===
|
|
688
|
-
0>a[f].labelAngle&&0<E?m+=E:a[f].viewportMaximum===a[f].maximum&&a[f].viewportMinimum===a[f].minimum&&0===a[f].labelAngle&&(0<E&&(m+=E),0<h&&(r-=h)));p.panEnabled?Y=k(p.sessionVariables.axisX.height)||p.stockChart?p.sessionVariables.axisX.height=Y:p.sessionVariables.axisX.height:p.sessionVariables.axisX.height=Y;h=Math.round(g.y2-Y-e+X)-("inside"!==
|
|
689
|
-
1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5);a[f].lineCoordinates.x2=r;a[f].lineCoordinates.width=r-m;a[f].lineCoordinates.y1=h;a[f].lineCoordinates.y2=h;a[f].bounds={x1:m,y1:h,x2:r,y2:l-(Y+e-w[f]-X),width:r-m};a[f].bounds.height=a[f].bounds.y2-a[f].bounds.y1;"inside"===a[f].labelPlacement&&
|
|
690
|
-
2);"inside"===a[f].tickPlacement&&(a[f].lineCoordinates.y1+=a[f].tickLength,a[f].lineCoordinates.y2=a[f].lineCoordinates.y1+a[f].lineThickness/2)}X+=w[f]+a[f].margin}aa=0===a[0].dataSeries.length;if(!aa)for(f=0;f<a[0].dataSeries.length;f++){if(a[0].dataSeries[f].dataPoints){aa=!1;break}aa=!0}if(aa)for(aa=!1,f=1;f<a.length;f++)0!==a[f].dataSeries.length&&
|
|
691
|
-
aa=!0),a[0].lineCoordinates.width=a[0].lineCoordinates.x2-a[0].lineCoordinates.x1)}if(d&&0<d.length)for(f=0;f<d.length;f++)d[f].lineCoordinates.x1=m,d[f].lineCoordinates.x2=r,d[f].lineCoordinates.width=Math.abs(r-m),d[f]._labels&&1<d[f]._labels.length&&(h=d[f]._labels[1],S="dateTime"===d[f].valueType?d[f]._labels[d[f]._labels.length-2]:d[f]._labels[d[f]._labels.length-
|
|
692
|
-
180*Math.abs(h.textBlock.angle)),t=S.textBlock.width*Math.cos(Math.PI/180*Math.abs(S.textBlock.angle))+(S.textBlock.height-S.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(S.textBlock.angle))),p.panEnabled?Z=k(p.sessionVariables.axisX2.height)||p.stockChart?p.sessionVariables.axisX2.height=Z:p.sessionVariables.axisX2.height:p.sessionVariables.axisX2.height=Z,h=
|
|
693
|
-
0:5),l=d[f].lineCoordinates.y1=h+Z+L-V,d[f].lineCoordinates.y2=h,d[f].bounds={x1:m,y1:h+(Z+L-v[f]-V),x2:r,y2:l,width:r-m},d[f].bounds.height=d[f].bounds.y2-d[f].bounds.y1,"inside"===d[f].labelPlacement&&(d[f].lineCoordinates.y1=d[0].bounds.y2-V-(d[f].labelEffectiveHeight||0)-5),"inside"===d[f].tickPlacement&&(d[f].lineCoordinates.y1-=d[f].tickLength),V+=v[f]+d[f].margin;
|
|
694
|
-
(c[0]?("inside"===c[0].labelPlacement?c[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===c[0].tickPlacement?c[0].tickLength:0):0)),aa=Math.max(c[f]._labels&&0<c[f]._labels.length?c[f]._labels[c[f]._labels.length-1].textBlock._lineHeight/2:n,n),h=Math.round(Math.max(g.y1+Z+L-(d[0]?("inside"===d[0].labelPlacement?d[0].labelEffectiveHeight+5:0)+("inside"===
|
|
695
|
-
1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),aa=0<a.length?0:c[f]._labels&&0<c[f]._labels.length?c[f]._labels[0].textBlock.height/2:n,l=Math.round(g.y2-Y+(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveHeight+(p.isNavigator?0:2):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0)-e-aa)-(!a.length||"inside"!==a[a.length-1].labelPlacement||
|
|
696
|
-
h)},c[f].bounds={x1:m-(A[f]+T),y1:h,x2:r-T,y2:l,height:l-h},c[f].bounds.width=c[f].bounds.x2-c[f].bounds.x1,"inside"===c[f].labelPlacement&&(c[f].lineCoordinates.x1=Math.round(c[0].bounds.x1+A[0]-T-(c[f].labelEffectiveWidth||0)-5),c[f].lineCoordinates.x2=c[f].lineCoordinates.x1+c[f].lineThickness/2),"inside"===c[f].tickPlacement&&(c[f].lineCoordinates.x1-=
|
|
697
|
-
c[f].titleMaxWidth<c[f].lineCoordinates.height?c[f].titleMaxWidth:c[f].lineCoordinates.height),T+=A[f]+c[f].margin);if(b&&0<b.length)for(f=0;f<b.length;f++)b[f]&&(m=r=Math.round((a[0]?a[0].lineCoordinates.x2:d[0].lineCoordinates.x2)-(b[0]?("inside"===b[0].labelPlacement?b[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===b[0].tickPlacement?
|
|
698
|
-
Z+L-(d[0]?("inside"===d[0].labelPlacement?d[0].labelEffectiveHeight+(p.isNavigator?0:5):0)+("inside"===d[0].tickPlacement?d[0].tickLength:0):0)+(!d.length||"inside"!==d[d.length-1].labelPlacement||d[d.length-1].title||d[d.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),0<d.length?0:aa)),aa=0<a.length?0:b[f]._labels&&0<b[f]._labels.length?
|
|
699
|
-
("inside"===a[0].tickPlacement?a[0].tickLength:0):0))-(!a.length||"inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),b[f].lineCoordinates={x1:m+W,y1:h,x2:m+W,y2:l,height:Math.abs(l-h)},b[f].bounds={x1:m+W,y1:h,x2:r+B[f]+W,y2:l,height:l-h},b[f].bounds.width=b[f].bounds.x2-b[f].bounds.x1,
|
|
700
|
-
b[f].lineCoordinates.x1+b[f].lineThickness/2),"inside"===b[f].tickPlacement&&(b[f].lineCoordinates.x1+=b[f].tickLength,b[f].lineCoordinates.x2=b[f].lineCoordinates.x1+b[f].lineThickness/2),b[f].title&&(b[f]._titleTextBlock.maxWidth=0<b[f].titleMaxWidth&&b[f].titleMaxWidth<b[f].lineCoordinates.height?b[f].titleMaxWidth:b[f].lineCoordinates.height),
|
|
701
|
-
a[f]._labels&&1<a[f]._labels.length&&(C=(a[f].logarithmic?Math.log(a[f]._labels[1].position/a[f].viewportMinimum)/a[f].conversionParameters.lnLogarithmBase:a[f]._labels[1].position-a[f].viewportMinimum)*Math.abs(a[f].conversionParameters.pixelPerUnit)+a[f].lineCoordinates.x1,m=a[f]._labels[a[f]._labels.length-("dateTime"===a[f].valueType?2:1)].position,
|
|
702
|
-
0)+a[f].lineCoordinates.x1:(0<m?m*Math.abs(a[f].conversionParameters.pixelPerUnit):0)+a[f].lineCoordinates.x1));if(d&&0<d.length)for(f=0;f<d.length;f++)d[f].calculateValueToPixelConversionParameters(),d[f].calculateBreaksSizeInValues(),d[f]._labels&&1<d[f]._labels.length&&(C=(d[f].logarithmic?Math.log(d[f]._labels[1].position/
|
|
703
|
-
m=d[f]._labels[d[f]._labels.length-("dateTime"===d[f].valueType?2:1)].position,m=d[f].getApparentDifference(d[f].viewportMinimum,m),D=d[f].logarithmic?(1<m?Math.log(m)/d[f].conversionParameters.lnLogarithmBase*Math.abs(d[f].conversionParameters.pixelPerUnit):0)+d[f].lineCoordinates.x1:(0<m?m*Math.abs(d[f].conversionParameters.pixelPerUnit):
|
|
704
|
-
x){if(a&&0<a.length)for(f=0;f<a.length;f++)u=Q[x-1][f]===Q[x][f]?!0:!1;else u=!0;if(d&&0<d.length)for(f=0;f<d.length;f++)H=R[x-1][f]===R[x][f]?!0:!1;else H=!0;if(c&&0<c.length)for(f=0;f<c.length;f++)J=U[x-1][f]===U[x][f]?!0:!1;else J=!0;if(b&&0<b.length)for(f=0;f<b.length;f++)N=F[x-1][f]===F[x][f]?!0:!1;else N=!0}if(u&&H&&J&&N)break;x++}if(a&&
|
|
705
|
-
d[f].calculateBreaksInPixels();if(c&&0<c.length)for(f=0;f<c.length;f++)c[f].calculateStripLinesThicknessInValues(),c[f].calculateBreaksInPixels();if(b&&0<b.length)for(f=0;f<b.length;f++)b[f].calculateStripLinesThicknessInValues(),b[f].calculateBreaksInPixels()}else{n=[];C=[];E=[];y=[];t=[];D=[];Q=[];for(R=[];4>
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
Math.max(m,w):0===c[f].labelAngle?Math.max(m,w/2):m),0<!d.length&&(r=0<c[f].labelAngle?r-v/2:0===c[f].labelAngle?r-v/2:r)),c[f].lineCoordinates.x1=m,c[f].lineCoordinates.x2=r,c[f].lineCoordinates.width=Math.abs(r-m),c[f].title&&(c[f]._titleTextBlock.maxWidth=0<c[f].titleMaxWidth&&c[f].titleMaxWidth<
|
|
709
|
-
(p.isNavigator?0:5):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0))+(!a.length||"inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveWidth||p.isNavigator?0:5),r=Math.round(Math.min(g.x2-Y-L+(d[0]?("inside"===d[0].labelPlacement?
|
|
710
|
-
p.isNavigator?0:5),b[f].chart.width-10)),b[f]&&b[f].labelAutoFit&&!k(A)&&(0<!a.length&&(m=0<b[f].labelAngle?Math.max(m,A):0===b[f].labelAngle?Math.max(m,A/2):m),0<!d.length&&(r-=B/2)),b[f].lineCoordinates.x1=m,b[f].lineCoordinates.x2=r,b[f].lineCoordinates.width=Math.abs(r-m),b[f].title&&
|
|
711
|
-
c[f].createLabelsAndCalculateHeight():0)),T+=n[f]+c[f].margin,aa+=c[f].margin;else n.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateHeight():0));t.push(n);if(b&&0<b.length)for(C=[],f=0;f<b.length;f++)C.push(Math.ceil(b[f]?b[f].createLabelsAndCalculateHeight():0)),ba+=b[f].margin;else C.push(Math.ceil(b[0]?
|
|
712
|
-
Math.cos(Math.PI/180*Math.abs(h.textBlock.angle))+(h.textBlock.height-S.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(h.textBlock.angle)),v=S.textBlock.width*Math.cos(Math.PI/180*Math.abs(S.textBlock.angle))+(S.textBlock.height-S.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(S.textBlock.angle)));
|
|
713
|
-
(h.textBlock.height-S.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(h.textBlock.angle)),B=S.textBlock.width*Math.cos(Math.PI/180*Math.abs(S.textBlock.angle))+(S.textBlock.height-S.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(S.textBlock.angle)));if(p.panEnabled)for(f=0;f<c.length;f++)n[f]=k(p.sessionVariables.axisY[f].height)?
|
|
714
|
-
c.length-1;0<=f;f--)h=Math.round(g.y2)-("inside"!==c[c.length-1].labelPlacement||c[c.length-1].title||c[c.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),l=Math.round(g.y2>c[f].chart.height?c[f].chart.height:g.y2)-("inside"!==c[c.length-1].labelPlacement||c[c.length-1].title||c[c.length-1].stripLineLabelEffectiveHeight||p.isNavigator?
|
|
715
|
-
c[f].lineCoordinates.y1+c[f].labelEffectiveHeight+(p.isNavigator?0:2),c[f].lineCoordinates.y2=c[f].lineCoordinates.y1+c[f].lineThickness/2),"inside"===c[f].tickPlacement&&(c[f].lineCoordinates.y1+=c[f].tickLength,c[f].lineCoordinates.y2=c[f].lineCoordinates.y1+c[f].lineThickness/2),c[f].bounds={x1:m,y1:h-(n[f]+Z+c[f].margin),x2:r,y2:l-(Z+c[f].margin),
|
|
716
|
-
c[f].lineCoordinates.width),Z+=n[f]+c[f].margin;if(b&&0<b.length)for(f=b.length-1;0<=f;f--)b[f]&&(h=Math.round(g.y1)+("inside"!==b[b.length-1].labelPlacement||b[b.length-1].title||b[b.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),l=Math.round(g.y1+(C[f]+b[f].margin+V))+("inside"!==b[b.length-1].labelPlacement||b[b.length-1].title||b[b.length-
|
|
717
|
-
l-b[f].labelEffectiveHeight-5,b[f].lineCoordinates.y2=b[f].lineCoordinates.y1-b[f].lineThickness/2),"inside"===b[f].tickPlacement&&(b[f].lineCoordinates.y1-=b[f].tickLength,b[f].lineCoordinates.y2=b[f].lineCoordinates.y1-b[f].lineThickness/2),b[f].bounds={x1:m,y1:h+(b[f].margin+V),x2:r,y2:l,width:r-m},b[f].bounds.height=b[f].bounds.y2-b[f].bounds.y1,
|
|
718
|
-
V+=C[f]+b[f].margin);if(a&&0<a.length)for(f=0;f<a.length;f++){aa=a[f]._labels&&0<a[f]._labels.length?a[f]._labels[0].textBlock.fontSize/2:0;m=Math.round(g.x1+e);h=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:g.y1<Math.max(aa,10)?Math.max(aa,10):g.y1):g.y1<Math.max(aa,10)?Math.max(aa,10):g.y1;r=Math.round(g.x1+W+e);l=c&&0<c.length?Math.round(c[0]?
|
|
719
|
-
g.y2;if(c&&0<c.length)for(S=0;S<c.length;S++)c[S]&&c[S].labelAutoFit&&(r=c[S].lineCoordinates.x1+(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0),m=0>c[S].labelAngle||0===c[S].labelAngle?r-W:m);if(b&&0<b.length)for(S=0;S<b.length;S++)b[S]&&b[S].labelAutoFit&&(r=b[S].lineCoordinates.x1+
|
|
720
|
-
0):0),m=r-W);a[f].lineCoordinates={x1:r-U,y1:h,x2:r-U,y2:l,height:Math.abs(l-h)};"inside"===a[f].labelPlacement&&(a[f].lineCoordinates.x1=a[f].lineCoordinates.x1-a[f].labelEffectiveWidth-5,a[f].lineCoordinates.x2=a[f].lineCoordinates.x1+a[f].lineThickness/2);"inside"===a[f].tickPlacement&&(a[f].lineCoordinates.x1-=a[f].tickLength,a[f].lineCoordinates.x2=a[f].lineCoordinates.x1+
|
|
721
|
-
a[f].title&&(a[f]._titleTextBlock.maxWidth=0<a[f].titleMaxWidth&&a[f].titleMaxWidth<a[f].lineCoordinates.height?a[f].titleMaxWidth:a[f].lineCoordinates.height);a[f].calculateValueToPixelConversionParameters();a[f].calculateBreaksSizeInValues();U+=E[f]+a[f].margin}if(d&&0<d.length)for(f=0;f<d.length;f++){aa=d[f]._labels&&0<d[f]._labels.length?d[f]._labels[0].textBlock.fontSize/
|
|
722
|
-
g.y1<Math.max(aa,10)?Math.max(aa,10):g.y1;m=Math.round(g.x2-Y-L);l=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:g.y2-T>p.height-Math.max(aa,10)?p.height-Math.max(aa,10):g.y2-T):g.y2>p.height-Math.max(aa,10)?p.height-Math.max(aa,10):g.y2;if(c&&0<c.length)for(S=0;S<c.length;S++)c[S]&&c[S].labelAutoFit&&(m=c[S].lineCoordinates.x2-(d[0]?("inside"===d[0].labelPlacement?d[0].labelEffectiveWidth+
|
|
723
|
-
c[S].labelAngle?m+Y:m);if(b&&0<b.length)for(S=0;S<b.length;S++)b[S]&&b[S].labelAutoFit&&(m=b[S].lineCoordinates.x2-(d[0]?("inside"===d[0].labelPlacement?d[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===d[0].tickPlacement?d[0].tickLength:0):0),r=m+Y);d[f].lineCoordinates={x1:m+F,y1:h,x2:m+F,y2:l,height:Math.abs(l-h)};"inside"===d[f].labelPlacement&&(d[f].lineCoordinates.x1=d[f].lineCoordinates.x1+
|
|
724
|
-
d[f].lineThickness/2);"inside"===d[f].tickPlacement&&(d[f].lineCoordinates.x1+=d[f].tickLength,d[f].lineCoordinates.x2=d[f].lineCoordinates.x1+d[f].lineThickness/2);d[f].bounds={x1:m+F,y1:h,x2:m+y[f]+F,y2:l,height:l-h};d[f].bounds.width=d[f].bounds.x2-d[f].bounds.x1;d[f].title&&(d[f]._titleTextBlock.maxWidth=0<d[f].titleMaxWidth&&d[f].titleMaxWidth<d[f].lineCoordinates.height?d[f].titleMaxWidth:d[f].lineCoordinates.height);
|
|
725
|
-
F+=y[f]+d[f].margin}for(f=0;f<q.length;f++)"axisY"===q[f].type&&(q[f].calculateValueToPixelConversionParameters(),q[f].calculateBreaksSizeInValues());if(0<x){if(a&&0<a.length)for(f=0;f<a.length;f++)u=Q[x-1][f]===Q[x][f]?!0:!1;else u=!0;if(d&&0<d.length)for(f=0;f<d.length;f++)H=R[x-1][f]===R[x][f]?!0:!1;else H=!0;if(c&&0<c.length)for(f=0;f<c.length;f++)J=t[x-1][f]===t[x][f]?!0:!1;else J=!0;if(b&&0<b.length)for(f=0;f<
|
|
726
|
-
c.length)for(f=0;f<c.length;f++)c[f].calculateStripLinesThicknessInValues(),c[f].calculateBreaksInPixels();if(b&&0<b.length)for(f=0;f<b.length;f++)b[f].calculateStripLinesThicknessInValues(),b[f].calculateBreaksInPixels();if(a&&0<a.length)for(f=0;f<a.length;f++)a[f].calculateStripLinesThicknessInValues(),a[f].calculateBreaksInPixels();if(d&&0<d.length)for(f=0;f<d.length;f++)d[f].calculateStripLinesThicknessInValues(),
|
|
727
|
-
d[0].chart,m=g.ctx,h=[];h.push.apply(h,a);h.push.apply(h,d);h.push.apply(h,c);h.push.apply(h,b);g.alignVerticalAxes&&g.alignVerticalAxes();m.save();"normal"===e&&(m.beginPath(),a&&a.length&&m.rect(2,a[0].bounds.y1,a[0].chart.width-4,a[a.length-1].bounds.y2),d&&d.length&&m.rect(2,d[d.length-1].bounds.y1,d[0].chart.width-4,d[0].bounds.y2),m.clip());if(a&&0<a.length)for(e=0;e<a.length;e++)a[e].renderLabelsTicksAndTitle();
|
|
728
|
-
if(c&&0<c.length)for(e=0;e<c.length;e++)c[e].renderLabelsTicksAndTitle();if(b&&0<b.length)for(e=0;e<b.length;e++)b[e].renderLabelsTicksAndTitle();g.preparePlotArea();a=g.plotArea;m.save();m.beginPath();m.rect(a.x1,a.y1,Math.abs(a.x2-a.x1),Math.abs(a.y2-a.y1));m.clip();if(h&&0<h.length){for(e=0;e<h.length;e++)h[e].renderStripLinesOfThicknessType("value");for(e=0;e<h.length;e++)h[e].renderInterlacedColors()}m.restore();
|
|
729
|
-
h[e].renderBreaksBackground());for(e=0;e<h.length;e++)h[e].renderAxisLine();for(e=0;e<h.length;e++)h[e].renderStripLinesOfThicknessType("pixel"),h[e].crosshair&&h[e].crosshair.enabled&&(m=!0,g.clearedOverlayedCanvas=h[e].type)}if(m||!m&&g.clearedOverlayedCanvas&&0<=g.clearedOverlayedCanvas.indexOf("axis"))g.resetOverlayedCanvas(),g.renderCrosshairs(null,!0)};y.prototype.calculateStripLinesThicknessInValues=function(){for(var a=
|
|
730
|
-
null!==this.stripLines[a].endValue){var d=Math.min(this.stripLines[a].startValue,this.stripLines[a].endValue),c=Math.max(this.stripLines[a].startValue,this.stripLines[a].endValue),b=this.getApparentDifference(d,c);this.stripLines[a].value=this.convertPixelToValue((this.convertValueToPixel(d)+this.convertValueToPixel(c))/2);this.stripLines[a].thickness=b;this.stripLines[a]._thicknessType="value"}};y.prototype.calculateBreaksSizeInValues=
|
|
731
|
-
this.lineCoordinates.height||this.chart.height:this.lineCoordinates.width||this.chart.width,d=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],c=this.conversionParameters.pixelPerUnit||a/(this.logarithmic?this.conversionParameters.maximum/this.conversionParameters.minimum:this.conversionParameters.maximum-this.conversionParameters.minimum),b=this.scaleBreaks&&!k(this.scaleBreaks.options.spacing),e,g=0;g<d.length;g++)e=b||!k(d[g].options.spacing),
|
|
732
|
-
0,d[g].size=0>d[g].spacing?0:Math.abs(d[g].spacing/c),this.logarithmic&&(d[g].size=Math.pow(this.logarithmBase,d[g].size))};y.prototype.calculateBreaksInPixels=function(){if(!(this.scaleBreaks&&0>=this.scaleBreaks._appliedBreaks.length)){var a=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];a.length&&(this.scaleBreaks.firstBreakIndex=this.scaleBreaks.lastBreakIndex=null);for(var d=0;d<a.length&&!(a[d].startValue>this.conversionParameters.maximum);d++)a[d].endValue<
|
|
733
|
-
(k(this.scaleBreaks.firstBreakIndex)&&(this.scaleBreaks.firstBreakIndex=d),a[d].startValue>=this.conversionParameters.minimum&&(a[d].startPixel=this.convertValueToPixel(a[d].startValue),this.scaleBreaks.lastBreakIndex=d),a[d].endValue<=this.conversionParameters.maximum&&(a[d].endPixel=this.convertValueToPixel(a[d].endValue)))}};y.prototype.renderLabelsTicksAndTitle=function(){var a=this,d=!1,c=0,b=0,e=1,g=0;0!==this.labelAngle&&360!==this.labelAngle&&(e=1.2);if("undefined"===
|
|
734
|
-
this._position||"top"===this._position)if(this.logarithmic&&!this.equidistantInterval&&this.labelAutoFit){for(var c=[],e=0!==this.labelAngle&&360!==this.labelAngle?1:1.2,m,h=this.viewportMaximum,k=this.lineCoordinates.width/Math.log(this.range),l=this._labels.length-1;0<=l;l--){n=this._labels[l];if(n.position<this.viewportMinimum)break;n.position>this.viewportMaximum||!(l===this._labels.length-1||m<Math.log(h/n.position)*k/e)||(c.push(n),h=n.position,m=
|
|
735
|
-
180*this.labelAngle))+n.textBlock.height*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(l=0;l<this._labels.length;l++)n=this._labels[l],n.position<this.viewportMinimum||(m=n.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+n.textBlock.height*Math.abs(Math.sin(Math.PI/180*this.labelAngle)),c+=m);c>this.lineCoordinates.width*e&&this.labelAutoFit&&(d=!0)}if("left"===this._position||"right"===this._position)if(this.logarithmic
|
|
736
|
-
[],p,h=this.viewportMaximum,k=this.lineCoordinates.height/Math.log(this.range),l=this._labels.length-1;0<=l;l--){n=this._labels[l];if(n.position<this.viewportMinimum)break;n.position>this.viewportMaximum||!(l===this._labels.length-1||p<Math.log(h/n.position)*k)||(c.push(n),h=n.position,p=n.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+n.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(l=
|
|
737
|
-
this.viewportMinimum||(p=n.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+n.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)),b+=p);b>this.lineCoordinates.height*e&&this.labelAutoFit&&(d=!0)}}this.logarithmic&&(!this.equidistantInterval&&this.labelAutoFit)&&this._labels.sort(function(a,b){return a.position-b.position});var l=0,n,q;if("bottom"===this._position){for(l=0;l<this._labels.length;l++)n=this._labels[l],
|
|
738
|
-
(q=this.getPixelCoordinatesOnAxis(n.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(q.x<<0)+0.5:q.x<<0,this.ctx.beginPath(),this.ctx.moveTo(b,q.y<<0),this.ctx.lineTo(b,q.y+this.tickLength<<0),this.ctx.stroke()),d&&0!==g++%2&&this.labelAutoFit||(0===n.textBlock.angle?(q.x-=n.textBlock.width/2,q.y="inside"===this.labelPlacement?
|
|
739
|
-
n.textBlock._lineHeight/2+2):q.y+("inside"===this.tickPlacement?0:this.tickLength)+n.textBlock._lineHeight/2+5):0>this.labelAngle?(q.x=q.x-("inside"===this.labelPlacement?0:n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle))+n.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),q.y="inside"===this.labelPlacement?q.y-("inside"===this.tickPlacement?this.tickLength:0)-2-(n.textBlock.height-n.textBlock._lineHeight/2)*
|
|
740
|
-
0:this.tickLength)+5+Math.abs(n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)-n.textBlock._lineHeight/2*Math.cos(Math.PI/180*this.labelAngle))):(q.x=q.x-("inside"===this.labelPlacement?n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0)+n.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),q.y="inside"===this.labelPlacement?q.y-("inside"===this.tickPlacement?this.tickLength:0)-2-n.textBlock.width*Math.sin(Math.PI/
|
|
741
|
-
2)*Math.cos(Math.PI/180*this.labelAngle):q.y+("inside"===this.tickPlacement?0:this.tickLength)+5+Math.abs(n.textBlock._lineHeight/2*Math.cos(Math.PI/180*this.labelAngle))),n.textBlock.x=q.x,n.textBlock.y=q.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(l=0;l<a._labels.length;l++)if(n=a._labels[l],!(n.position<a.viewportMinimum||n.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(n.position),
|
|
742
|
-
a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(q.x<<0)+0.5:q.x<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(b,q.y<<0);a.ctx.lineTo(b,q.y-a.tickLength<<0);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.lineCoordinates.x1+this.lineCoordinates.width/2-this._titleTextBlock.width/2,this._titleTextBlock.y=this.bounds.y2-this._titleTextBlock.height+this._titleTextBlock._lineHeight/
|
|
743
|
-
this._titleTextBlock.render(!0))}else if("top"===this._position){for(l=0;l<this._labels.length;l++)n=this._labels[l],n.position<this.viewportMinimum||n.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(n.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(q.x<<0)+0.5:q.x<<0,this.ctx.beginPath(),this.ctx.moveTo(b,q.y<<0),
|
|
744
|
-
d&&0!==g++%2&&this.labelAutoFit||(0===n.textBlock.angle?(q.x-=n.textBlock.width/2,q.y="inside"===this.labelPlacement?q.y+n.textBlock._lineHeight/2+("inside"===this.tickPlacement?this.tickLength:0)+5:q.y-(("inside"===this.tickPlacement?0:this.tickLength)+n.textBlock.height-n.textBlock._lineHeight/2)-2):0>this.labelAngle?(q.x=q.x-("inside"===this.labelPlacement?n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0)+n.textBlock.topPadding*
|
|
745
|
-
q.y+("inside"===this.tickPlacement?this.tickLength:0)+5-n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+n.textBlock._lineHeight/2*Math.cos(Math.PI/180*this.labelAngle):q.y-("inside"===this.tickPlacement?0:this.tickLength)-2-(n.textBlock.height-n.textBlock._lineHeight/2)*Math.cos(Math.PI/180*this.labelAngle)):(q.x=q.x-("inside"===this.labelPlacement?0:n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle))+n.textBlock.topPadding*
|
|
746
|
-
q.y+("inside"===this.tickPlacement?this.tickLength:0)+5+n.textBlock._lineHeight/2*Math.cos(Math.PI/180*this.labelAngle):q.y-("inside"===this.tickPlacement?0:this.tickLength)-2-((n.textBlock.height-n.textBlock._lineHeight/2)*Math.cos(Math.PI/180*this.labelAngle)+n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle))),n.textBlock.x=q.x,n.textBlock.y=q.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",
|
|
747
|
-
|
|
748
|
-
2,this._titleTextBlock.y=this.bounds.y1+this._titleTextBlock._lineHeight/2+1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("left"===this._position){for(l=0;l<this._labels.length;l++)n=this._labels[l],n.position<this.viewportMinimum||n.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(n.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,
|
|
749
|
-
2?(q.y<<0)+0.5:q.y<<0,this.ctx.beginPath(),this.ctx.moveTo(q.x<<0,b),this.ctx.lineTo(q.x-this.tickLength<<0,b),this.ctx.stroke()),d&&0!==g++%2&&this.labelAutoFit||(0===this.labelAngle?(n.textBlock.y=q.y-n.textBlock.topPadding,n.textBlock.x="inside"===this.labelPlacement?q.x+("inside"===this.tickPlacement?this.tickLength:0)+5:q.x-n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength)-5):
|
|
750
|
-
q.y:q.y-n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle))-n.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),n.textBlock.x="inside"===this.labelPlacement?q.x-n.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?this.tickLength:0)+5:q.x-n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+(n.textBlock.height-n.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)-("inside"===
|
|
751
|
-
this.labelPlacement?q.y:q.y-n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle))-n.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),n.textBlock.x="inside"===this.labelPlacement?q.x+(n.textBlock.height-n.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?this.tickLength:0)+5:q.x-n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-n.textBlock.fontSize/2*Math.sin(Math.PI/180*
|
|
752
|
-
"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(l=0;l<a._labels.length;l++)if(n=a._labels[l],!(n.position<a.viewportMinimum||n.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(n.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(q.x<<
|
|
753
|
-
this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.bounds.x1+this._titleTextBlock._lineHeight/2,this._titleTextBlock.y=this.lineCoordinates.height/2+this._titleTextBlock.width/2+this.lineCoordinates.y1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("right"===this._position){for(l=0;l<this._labels.length;l++)n=this._labels[l],n.position<this.viewportMinimum||
|
|
754
|
-
this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0,this.ctx.beginPath(),this.ctx.moveTo(q.x<<0,b),this.ctx.lineTo(q.x+this.tickLength<<0,b),this.ctx.stroke()),d&&0!==g++%2&&this.labelAutoFit||(0===this.labelAngle?(n.textBlock.y=q.y-n.textBlock.topPadding,n.textBlock.x="inside"===this.labelPlacement?q.x-
|
|
755
|
-
this.tickPlacement?0:this.tickLength)+5):0>this.labelAngle?(n.textBlock.y=("inside"===this.labelPlacement?q.y-n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):q.y)-n.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),n.textBlock.x="inside"===this.labelPlacement?q.x-n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+(n.textBlock.height-n.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)-
|
|
756
|
-
180*this.labelAngle)+("inside"===this.tickPlacement?0:this.tickLength)+5):(n.textBlock.y=("inside"===this.labelPlacement?q.y-n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):q.y)-n.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),n.textBlock.x="inside"===this.labelPlacement?q.x-n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-n.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle)-
|
|
757
|
-
2)*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?0:this.tickLength)+5)));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(l=0;l<a._labels.length;l++)if(n=a._labels[l],!(n.position<a.viewportMinimum||n.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(n.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=
|
|
758
|
-
a.ctx.moveTo(q.x<<0,b);a.ctx.lineTo(q.x-a.tickLength<<0,b);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.bounds.x2-this._titleTextBlock._lineHeight/2,this._titleTextBlock.y=this.lineCoordinates.height/2-this._titleTextBlock.width/2+this.lineCoordinates.y1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}g=0;
|
|
759
|
-
function(){for(l=0;l<a._labels.length;l++)n=a._labels[l],n.position<a.viewportMinimum||(n.position>a.viewportMaximum||d&&0!==g++%2&&a.labelAutoFit)||(a.ctx.save(),a.ctx.beginPath(),n.textBlock.render(!0),a.ctx.restore())},this);else for(l=0;l<this._labels.length;l++)n=this._labels[l],n.position<this.viewportMinimum||(n.position>this.viewportMaximum||d&&0!==g++%2&&this.labelAutoFit)||n.textBlock.render(!0)};y.prototype.renderInterlacedColors=
|
|
760
|
-
e=0;d=!0;if(("bottom"===this._position||"top"===this._position)&&this.interlacedColor)for(a.fillStyle=this.interlacedColor,e=0;e<this._labels.length;e++)d?(d=this.getPixelCoordinatesOnAxis(this._labels[e].position),c=e+1>this._labels.length-1?this.getPixelCoordinatesOnAxis(this.viewportMaximum):this.getPixelCoordinatesOnAxis(this._labels[e+1].position),a.fillRect(Math.min(c.x,d.x),b.y1,Math.abs(c.x-d.x),Math.abs(b.y1-b.y2)),d=!1):
|
|
761
|
-
this.interlacedColor,e=0;e<this._labels.length;e++)d?(c=this.getPixelCoordinatesOnAxis(this._labels[e].position),d=e+1>this._labels.length-1?this.getPixelCoordinatesOnAxis(this.viewportMaximum):this.getPixelCoordinatesOnAxis(this._labels[e+1].position),a.fillRect(b.x1,Math.min(c.y,d.y),Math.abs(b.x1-b.x2),Math.abs(d.y-c.y)),d=!1):d=!0;a.beginPath()};y.prototype.renderStripLinesOfThicknessType=function(a){if(this.stripLines&&
|
|
762
|
-
r=[],l=!1,p,e=0;e<this.stripLines.length;e++){var n=this.stripLines[e];n._thicknessType===a&&("pixel"===a&&(n.value<this.viewportMinimum||n.value>this.viewportMaximum||k(n.value)||isNaN(this.range))||"value"===a&&(n.startValue<=this.viewportMinimum&&n.endValue<=this.viewportMinimum||n.startValue>=this.viewportMaximum&&n.endValue>=this.viewportMaximum||k(n.startValue)||k(n.endValue)||isNaN(this.range))||h.push(n))}for(e=0;e<
|
|
763
|
-
|
|
764
|
-
2?(b.x<<0)+0.5:b.x<<0;0<n.tickThickness&&(this.ctx.beginPath(),this.ctx.moveTo(q,b.y<<0),this.ctx.lineTo(q,b.y+n.tickLength<<0),this.ctx.stroke());0===this.labelAngle?(b.x-=c.textBlock.width/2,b.y+=n.tickLength+c.textBlock.fontSize/2+5):(b.x-=(0>this.labelAngle?c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0)-c.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),b.y+=n.tickLength+5+(0>this.labelAngle?
|
|
765
|
-
2*Math.cos(Math.PI/180*this.labelAngle)):Math.abs(c.textBlock.fontSize/2*Math.cos(Math.PI/180*this.labelAngle))))}else"top"===this._position?(q=1===this.ctx.lineWidth%2?(b.x<<0)+0.5:b.x<<0,0<n.tickThickness&&(this.ctx.beginPath(),this.ctx.moveTo(q,b.y<<0),this.ctx.lineTo(q,b.y-n.tickLength<<0),this.ctx.stroke()),0===this.labelAngle?(b.x-=c.textBlock.width/2,b.y-=n.tickLength+c.textBlock.height-c.textBlock.fontSize/
|
|
766
|
-
0)-c.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),b.y-=n.tickLength+2+(0<this.labelAngle?(c.textBlock.height-c.textBlock.fontSize/2)*Math.cos(Math.PI/180*this.labelAngle)+c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):(c.textBlock.height-c.textBlock.fontSize/2)*Math.cos(Math.PI/180*this.labelAngle)))):"left"===this._position?(q=1===this.ctx.lineWidth%2?(b.y<<0)+0.5:b.y<<0,0<n.tickThickness&&
|
|
767
|
-
q),this.ctx.stroke()),0===this.labelAngle?(b.x=b.x-c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-n.tickLength-5,b.y-=c.textBlock.topPadding):(b.y-=c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+c.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),b.x-=n.tickLength+5+(0<this.labelAngle?c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+c.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle):
|
|
768
|
-
c.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)))):"right"===this._position&&(q=1===this.ctx.lineWidth%2?(b.y<<0)+0.5:b.y<<0,0<n.tickThickness&&(this.ctx.beginPath(),this.ctx.moveTo(b.x<<0,q),this.ctx.lineTo(b.x+n.tickLength<<0,q),this.ctx.stroke()),0===this.labelAngle?(b.x=b.x+n.tickLength+5,b.y-=c.textBlock.topPadding):(b.y-=c.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),b.x=n.tickLength+5+(0<
|
|
769
|
-
180*this.labelAngle):b.x-c.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle))));p&&(n.ctx.globalAlpha=p);c.textBlock.x=b.x;c.textBlock.y=b.y;r.push(c)}else n._thicknessType===a&&(c.textBlock.angle=-90,"bottom"===this._position?(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.height-3,c.textBlock.measureText(),b.x-c.textBlock.height-n.thickness/
|
|
770
|
-
2+n.thickness/2:b.x-=c.textBlock.height/2-c.textBlock.fontSize/2:(c.textBlock.angle=90,k(n.startValue)?b.x+=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.x+=c.textBlock.height/2-c.textBlock.fontSize/2),b.y=-90===c.textBlock.angle?"near"===c.stripLine.labelAlign?this.chart.plotArea.y2-3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1+c.textBlock.width)/2:this.chart.plotArea.y1+
|
|
771
|
-
3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1-c.textBlock.width)/2:this.chart.plotArea.y1+3):"top"===this._position?(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.height-3,c.textBlock.measureText(),b.x-c.textBlock.height-n.thickness/2>this.chart.plotArea.x1?k(n.startValue)?b.x-=c.textBlock.height-
|
|
772
|
-
90,k(n.startValue)?b.x+=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.x+=c.textBlock.height/2-c.textBlock.fontSize/2),b.y=-90===c.textBlock.angle?"near"===c.stripLine.labelAlign?this.chart.plotArea.y1+c.textBlock.width+3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1+c.textBlock.width)/2:this.chart.plotArea.y2-3:"near"===c.stripLine.labelAlign?this.chart.plotArea.y1+
|
|
773
|
-
2:this.chart.plotArea.y2-c.textBlock.width-3):"left"===this._position?(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.width-3,c.textBlock.angle=0,c.textBlock.measureText(),b.y-c.textBlock.height-n.thickness/2>this.chart.plotArea.y1?k(n.startValue)?b.y-=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.y-=c.textBlock.height/
|
|
774
|
-
2:b.y+=c.textBlock.height/2-c.textBlock.fontSize+3,b.x="near"===c.stripLine.labelAlign?this.chart.plotArea.x1+3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.x2+this.chart.plotArea.x1)/2-c.textBlock.width/2:this.chart.plotArea.x2-c.textBlock.width-3):"right"===this._position&&(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.width-
|
|
775
|
-
this.chart.plotArea.y1?k(n.startValue)?b.y-=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.y-=c.textBlock.height/2-c.textBlock.fontSize/2:k(n.startValue)?b.y+=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.y-=c.textBlock.height/2-c.textBlock.fontSize/2+3,b.x="near"===c.stripLine.labelAlign?this.chart.plotArea.x2-c.textBlock.width-3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.x2+this.chart.plotArea.x1)/
|
|
776
|
-
c.textBlock.y=b.y,r.push(c));if(!l){b=!1;this.ctx.save();this.ctx.beginPath();this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.ctx.clip();for(e=0;e<h.length;e++)n=h[e],n.showOnTop?m||(m=!0,this.chart.addEventListener("dataAnimationIterationEnd",function(){this.ctx.save();this.ctx.beginPath();this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,
|
|
777
|
-
h.length;g++)n=h[g],n.showOnTop&&n.render();this.ctx.restore()},n)):n.render();for(e=0;e<r.length;e++)c=r[e],c.stripLine.showOnTop?b||(b=!0,this.chart.addEventListener("dataAnimationIterationEnd",function(){for(g=0;g<r.length;g++)c=r[g],"inside"===c.stripLine.labelPlacement&&c.stripLine.showOnTop&&(d.ctx.save(),d.ctx.beginPath(),d.ctx.rect(d.chart.plotArea.x1,d.chart.plotArea.y1,d.chart.plotArea.width,d.chart.plotArea.height),d.ctx.clip(),c.textBlock.render(!0),
|
|
778
|
-
c.stripLine.labelPlacement&&c.textBlock.render(!0);this.ctx.restore();l=!0}if(l)for(b=!1,e=0;e<r.length;e++)c=r[e],"outside"===c.stripLine.labelPlacement&&c.textBlock.render(!0)}};y.prototype.renderBreaksBackground=function(){this.chart._breaksCanvas&&(this.scaleBreaks&&0<this.scaleBreaks._appliedBreaks.length&&this.maskCanvas)&&(this.chart._breaksCanvasCtx.save(),this.chart._breaksCanvasCtx.beginPath(),this.chart._breaksCanvasCtx.rect(this.chart.plotArea.x1,
|
|
779
|
-
this.chart.plotArea.height),this.chart._breaksCanvasCtx.clip(),this.chart._breaksCanvasCtx.drawImage(this.maskCanvas,0,0,this.chart.width,this.chart.height),this.chart._breaksCanvasCtx.restore())};y.prototype.createMask=function(){if(this.scaleBreaks&&0<this.scaleBreaks._appliedBreaks.length){var a=this.scaleBreaks._appliedBreaks;u?(this.maskCanvas=va(this.chart.width,this.chart.height),this.maskCtx=this.maskCanvas.getContext("2d")):(this.maskCanvas=
|
|
780
|
-
this.maskCtx.save();this.maskCtx.beginPath();this.maskCtx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.maskCtx.clip();for(var d=0;d<a.length;d++)a[d].endValue<this.viewportMinimum||(a[d].startValue>this.viewportMaximum||isNaN(this.range))||a[d].render(this.maskCtx);this.maskCtx.restore()}};y.prototype.renderCrosshair=function(a,d){isFinite(this.minimum)&&isFinite(this.maximum)&&
|
|
781
|
-
(a<this.viewportMinimum||a>this.viewportMaximum)||("top"===this._position||"bottom"===this._position?this.crosshair.render(this.convertValueToPixel(a),null,a):this.crosshair.render(null,this.convertValueToPixel(a),a))};y.prototype.renderGrid=function(){if(this.gridThickness&&0<this.gridThickness){var a=this.chart.ctx;a.save();var d,c=this.chart.plotArea;a.lineWidth=this.gridThickness;a.strokeStyle=this.gridColor;a.setLineDash&&
|
|
782
|
-
"top"===this._position)for(b=0;b<this._labels.length;b++)this._labels[b].position<this.viewportMinimum||(this._labels[b].position>this.viewportMaximum||this._labels[b].breaksLabelType)||(a.beginPath(),d=this.getPixelCoordinatesOnAxis(this._labels[b].position),d=1===a.lineWidth%2?(d.x<<0)+0.5:d.x<<0,a.moveTo(d,c.y1<<0),a.lineTo(d,c.y2<<0),a.stroke());else if("left"===this._position||"right"===this._position)for(var b=
|
|
783
|
-
this.viewportMaximum||this._labels[b].breaksLabelType)||(a.beginPath(),d=this.getPixelCoordinatesOnAxis(this._labels[b].position),d=1===a.lineWidth%2?(d.y<<0)+0.5:d.y<<0,a.moveTo(c.x1<<0,d),a.lineTo(c.x2<<0,d),a.stroke());a.restore()}};y.prototype.renderAxisLine=function(){var a=this.chart.ctx,d=u?this.chart._preRenderCtx:a,c=Math.ceil(this.tickThickness/(this.reversed?-2:2)),b=Math.ceil(this.tickThickness/
|
|
784
|
-
(e=this.lineCoordinates.x2,g=this.lineCoordinates.x1):(e=this.lineCoordinates.x1,g=this.lineCoordinates.x2);d.lineWidth=this.lineThickness;d.strokeStyle=this.lineColor?this.lineColor:"black";d.setLineDash&&d.setLineDash(J(this.lineDashType,this.lineThickness));var m=1===this.lineThickness%2?(this.lineCoordinates.y1<<0)+0.5:this.lineCoordinates.y1<<0;d.beginPath();if(this.scaleBreaks
|
|
785
|
-
b;else for(var h=this.scaleBreaks.firstBreakIndex;h<=this.scaleBreaks.lastBreakIndex;h++)d.moveTo(e,m),d.lineTo(this.scaleBreaks._appliedBreaks[h].startPixel+c,m),e=this.scaleBreaks._appliedBreaks[h].endPixel+b;e&&(d.moveTo(e,m),d.lineTo(g,m));d.stroke()}}else if(("left"===this._position||"right"===this._position)&&this.lineThickness){this.reversed?
|
|
786
|
-
this.lineColor;d.setLineDash&&d.setLineDash(J(this.lineDashType,this.lineThickness));m=1===this.lineThickness%2?(this.lineCoordinates.x1<<0)+0.5:this.lineCoordinates.x1<<0;d.beginPath();if(this.scaleBreaks&&!k(this.scaleBreaks.firstBreakIndex))if(k(this.scaleBreaks.lastBreakIndex))e=this.scaleBreaks._appliedBreaks[this.scaleBreaks.firstBreakIndex].endPixel+
|
|
787
|
-
b),e=this.scaleBreaks._appliedBreaks[h].endPixel+c;e&&(d.moveTo(m,e),d.lineTo(m,g));d.stroke()}u&&(a.drawImage(this.chart._preRenderCanvas,0,0,this.chart.width,this.chart.height),this.chart._breaksCanvasCtx&&this.chart._breaksCanvasCtx.drawImage(this.chart._preRenderCanvas,0,0,this.chart.width,this.chart.height),d.clearRect(0,0,this.chart.width,
|
|
788
|
-
d.y=this.lineCoordinates.y1;if("left"===this._position||"right"===this._position)d.y=this.convertValueToPixel(a),d.x=this.lineCoordinates.x2;return d};y.prototype.convertPixelToValue=function(a){if("undefined"===typeof a)return null;var d=0,c=0,b,d=!0,e=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],c="number"===typeof a?
|
|
789
|
-
if(c<=this.conversionParameters.reference===("left"===this._position||"right"===this._position)!==this.reversed)for(c=0;c<e.length;c++){if(!(e[c].endValue<this.conversionParameters.minimum))if(d)if(e[c].startValue<this.conversionParameters.minimum){if(1<e[c].size&&this.conversionParameters.minimum*Math.pow(e[c].endValue/
|
|
790
|
-
|
|
791
|
-
e[c].size;b/=e[c].size;d=!1}else break;else if(b>e[c].startValue/e[c-1].endValue){b/=e[c].startValue/e[c-1].endValue;if(b<e[c].size){a*=Math.pow(e[c].endValue/e[c].startValue,1===e[c].size?1:Math.log(b)/Math.log(e[c].size))/b;break}else a*=e[c].endValue/e[c].startValue/e[c].size;b/=e[c].size}else break}else for(c=
|
|
792
|
-
e[c].startValue,Math.log(b)/Math.log(e[c].size))>e[c].startValue){a=Math.pow(e[c].endValue/e[c].startValue,Math.log(b)/Math.log(e[c].size));break}else a*=e[c].startValue/this.conversionParameters.minimum*Math.pow(e[c].size,Math.log(e[c].startValue/this.conversionParameters.minimum)/Math.log(e[c].endValue/
|
|
793
|
-
e[c].
|
|
794
|
-
d=a*this.viewportMinimum}else{a=b=(c-this.conversionParameters.reference)/this.conversionParameters.pixelPerUnit;if(c<=this.conversionParameters.reference===("left"===this._position||"right"===this._position)!==this.reversed)for(c=0;c<e.length;c++){if(!(e[c].endValue<this.conversionParameters.minimum))if(d)if(e[c].startValue<
|
|
795
|
-
e[c].startValue)/e[c].size;break}else a+=e[c].endValue-this.conversionParameters.minimum-e[c].size*(e[c].endValue-this.conversionParameters.minimum)/(e[c].endValue-e[c].startValue),b-=e[c].size*(e[c].endValue-this.conversionParameters.minimum)/(e[c].endValue-e[c].startValue);d=!1}else if(b>e[c].startValue-this.conversionParameters.minimum){b-=
|
|
796
|
-
e[c].startValue-e[c].size;b-=e[c].size;d=!1}else break;else if(b>e[c].startValue-e[c-1].endValue){b-=e[c].startValue-e[c-1].endValue;if(b<e[c].size){a+=(e[c].endValue-e[c].startValue)*(0===e[c].size?1:b/e[c].size)-b;break}else a+=e[c].endValue-e[c].startValue-e[c].size;b-=e[c].size}else break}else for(c=e.length-1;0<=c;c--)if(!(e[c].startValue>
|
|
797
|
-
e[c].startValue)/e[c].size>e[c].startValue){a=0>=e[c].size?0:b*(e[c].endValue-e[c].startValue)/e[c].size;break}else a+=e[c].startValue-this.conversionParameters.minimum+e[c].size*(this.conversionParameters.minimum-e[c].startValue)/(e[c].endValue-e[c].startValue),b+=e[c].size*(this.conversionParameters.minimum-e[c].startValue)/(e[c].endValue-e[c].startValue),
|
|
798
|
-
e[c].startValue)*(0===e[c].size?1:b/e[c].size)+b;break}else a-=e[c].endValue-e[c].startValue-e[c].size;b+=e[c].size;d=!1}else break;else if(b<e[c].endValue-e[c+1].startValue){b-=e[c].endValue-e[c+1].startValue;if(b>-1*e[c].size){a+=(e[c].endValue-e[c].startValue)*(0===e[c].size?1:b/e[c].size)+b;break}else a-=e[c].endValue-e[c].startValue-e[c].size;
|
|
799
|
-
a,a);return this.logarithmic?this.conversionParameters.reference+this.conversionParameters.pixelPerUnit*Math.log(a/this.conversionParameters.minimum)/this.conversionParameters.lnLogarithmBase+0.5<<0:"axisX"===this.type?this.conversionParameters.reference+this.conversionParameters.pixelPerUnit*(a-this.conversionParameters.minimum)+
|
|
800
|
-
d,c,b){var e=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];if(this.logarithmic){c=k(c)?d/a:c;for(var g=0;g<e.length&&!(d<e[g].startValue);g++)a>e[g].endValue||(a<=e[g].startValue&&d>=e[g].endValue?c=c/e[g].endValue*e[g].startValue*e[g].size:a>=e[g].startValue&&d>=e[g].endValue?c=c/e[g].endValue*a*Math.pow(e[g].size,Math.log(e[g].endValue/
|
|
801
|
-
e[g].startValue)):!b&&(a>e[g].startValue&&d<e[g].endValue)&&(c=a*Math.pow(e[g].size,Math.log(d/a)/Math.log(e[g].endValue/e[g].startValue))))}else for(c=k(c)?Math.abs(d-a):c,g=0;g<e.length&&!(d<e[g].startValue);g++)a>e[g].endValue||(a<=e[g].startValue&&d>=e[g].endValue?c=c-e[g].endValue+e[g].startValue+e[g].size:a>e[g].startValue&&
|
|
802
|
-
(e[g].endValue-e[g].startValue):!b&&(a>e[g].startValue&&d<e[g].endValue)&&(c=a+e[g].size*(d-a)/(e[g].endValue-e[g].startValue)));return c};y.prototype.setViewPortRange=function(a,d){this.sessionVariables.newViewportMinimum=this.viewportMinimum=Math.min(a,d);this.sessionVariables.newViewportMaximum=this.viewportMaximum=
|
|
803
|
-
return d};y.prototype.calculateValueToPixelConversionParameters=function(a){a=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];var d={pixelPerUnit:null,minimum:null,reference:null},c=this.lineCoordinates.width,b=this.lineCoordinates.height,c="bottom"===this._position||"top"===this._position?c:b,b=Math.abs(this.range);
|
|
804
|
-
a[e].endValue?c=0:this.viewportMinimum<=a[e].startValue&&this.viewportMaximum>=a[e].endValue?(b=b/a[e].endValue*a[e].startValue,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100):c-Math.min(a[e].spacing,0.1*c)):this.viewportMinimum>a[e].startValue&&this.viewportMaximum>=a[e].endValue?(b=b/
|
|
805
|
-
c-Math.min(a[e].spacing,0.1*c)*Math.log(a[e].endValue/this.viewportMinimum)/Math.log(a[e].endValue/a[e].startValue)):this.viewportMinimum<=a[e].startValue&&this.viewportMaximum<a[e].endValue&&(b=b/this.viewportMaximum*a[e].startValue,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/
|
|
806
|
-
|
|
807
|
-
c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100
|
|
808
|
-
c-Math.min(a[e].spacing,0.1*c)*(this.viewportMaximum-a[e].startValue)/(a[e].endValue-a[e].startValue)));d.minimum=this.viewportMinimum;d.maximum=this.viewportMaximum;d.range=b;if("bottom"===this._position||"top"===this._position)this.logarithmic?(d.lnLogarithmBase=Math.log(this.logarithmBase),
|
|
809
|
-
this._position||"right"===this._position)this.logarithmic?(d.lnLogarithmBase=Math.log(this.logarithmBase),d.pixelPerUnit=(this.reversed?1:-1)*c*d.lnLogarithmBase/Math.log(Math.abs(b))):d.pixelPerUnit=(this.reversed?1:-1)*c/Math.abs(b),d.reference=this.reversed?this.lineCoordinates.y1:this.lineCoordinates.y2;
|
|
810
|
-
c=!1;"bottom"===this._position||"top"===this._position?(this.maxWidth=a.width,this.maxHeight=a.height):(this.maxWidth=a.height,this.maxHeight=a.width);var a="axisX"===this.type?"xySwapped"===this.chart.plotInfo.axisPlacement?62:70:"xySwapped"===this.chart.plotInfo.axisPlacement?50:40,b=4;"axisX"===this.type&&
|
|
811
|
-
(this.viewportMinimum=this.viewportMaximum=null);if(k(this.options.viewportMinimum)&&!k(this.sessionVariables.newViewportMinimum)&&!isNaN(this.sessionVariables.newViewportMinimum))this.viewportMinimum=this.sessionVariables.newViewportMinimum;else if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum=
|
|
812
|
-
else if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum=this.maximum;!k(this.minimum)&&this.viewportMinimum<this.minimum&&(this.viewportMinimum=this.minimum);!k(this.maximum)&&this.viewportMaximum>this.maximum&&(this.viewportMaximum=this.maximum);if(this.scaleBreaks)for(b=
|
|
813
|
-
this.
|
|
814
|
-
1);break}if("axisX"===this.type){if(this.dataSeries&&0<this.dataSeries.length)for(e=0;e<this.dataSeries.length;e++)"dateTime"===this.dataSeries[e].xValueType&&(c=!0);e=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin;g=null!==this.viewportMaximum?
|
|
815
|
-
this.dataInfo.max?1:Math.abs(this.dataInfo.max-this.dataInfo.min),c&&(d=!0))}else"axisY"===this.type&&(e=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,g=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax,
|
|
816
|
-
0===e&&0===g?(g+=9,e=0):0===g-e?(b=Math.min(Math.abs(0.01*Math.abs(g)),5),g+=b,e-=b):e>g?(b=Math.min(0.01*Math.abs(this.getApparentDifference(g,e,null,!0)),5),0<=g?e=g-b:g=isFinite(e)?e+b:0):(e>=m||g>=m||e<=-m||g<=-m)&&10>g-e?g+=9:(b=Math.min(0.01*Math.abs(this.getApparentDifference(e,
|
|
817
|
-
0),this.includeZero&&(null===this.viewportMaximum||isNaN(this.viewportMaximum))&&0>g&&(g=0));b=this.getApparentDifference(isNaN(this.viewportMinimum)||null===this.viewportMinimum?e:this.viewportMinimum,isNaN(this.viewportMaximum)||null===this.viewportMaximum?g:this.viewportMaximum,null
|
|
818
|
-
this.
|
|
819
|
-
b/
|
|
820
|
-
a?(this.interval=
|
|
821
|
-
a?(this.interval=
|
|
822
|
-
"
|
|
823
|
-
(1*H.yearDuration)<=a?1:b/(2*H.yearDuration)<=a?2:b/(4*H.yearDuration)<=a?4:Math.floor(y.getNiceNumber(b/(a-1),!0)/H.yearDuration),this.intervalType="year"));if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum=e-m/2;if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum=
|
|
824
|
-
"
|
|
825
|
-
"number";b=y.getNiceNumber(b,!1);this.interval=this.options&&0<this.options.interval?this.options.interval:y.getNiceNumber(b/(a-1),!0);if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum="axisX"===this.type?e-m/2:Math.floor(e/this.interval)*this.interval;if(null===this.viewportMaximum||
|
|
826
|
-
this.viewportMaximum+=10:0===this.options.viewportMaximum&&(this.viewportMinimum-=10),this.options&&"undefined"===typeof this.options.interval&&(this.interval=y.getNiceNumber((this.viewportMaximum-this.viewportMinimum)/(a-1),!0)))}if(null===this.minimum||null===this.maximum)if("axisX"===this.type?(e=
|
|
827
|
-
this.dataInfo.minDiff?this.dataInfo.minDiff:1<g-e?0.5*Math.abs(g-e):1):"axisY"===this.type&&(e=null!==this.minimum?this.minimum:this.dataInfo.min,g=null!==this.maximum?this.maximum:this.dataInfo.max,isFinite(e)||isFinite(g)?0===e&&0===g?(g+=9,e=0):0===g-e?(b=Math.min(Math.abs(0.01*Math.abs(g)),
|
|
828
|
-
0!==e&&(e-=b)):(g="undefined"===typeof this.options.interval?-Infinity:this.options.interval,e="undefined"!==typeof this.options.interval||isFinite(this.dataInfo.minDiff)?0:Infinity),m=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:1<g-e?0.5*Math.abs(g-e):1,this.includeZero&&(null===this.minimum||
|
|
829
|
-
"dateTime";if(null===this.minimum||isNaN(this.minimum))this.minimum=e-m/2,this.minimum=Math.min(this.minimum,null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?Infinity:this.sessionVariables.viewportMinimum);if(null===this.maximum||isNaN(this.maximum))this.maximum=
|
|
830
|
-
this.valueType="number",null===this.minimum&&(this.minimum="axisX"===this.type?e-m/2:Math.floor(e/this.interval)*this.interval,this.minimum=Math.min(this.minimum,k(this.sessionVariables.newViewportMinimum)||isNaN(this.sessionVariables.newViewportMinimum)?k(this.sessionVariables.viewportMinimum)||
|
|
831
|
-
this.interval)*this.interval,this.maximum=Math.max(this.maximum,k(this.sessionVariables.newViewportMaximum)||isNaN(this.sessionVariables.newViewportMaximum)?k(this.sessionVariables.viewportMaximum)||isNaN(this.sessionVariables.viewportMaximum)?-Infinity:this.sessionVariables.viewportMaximum:this.sessionVariables.newViewportMaximum)),
|
|
832
|
-
(this.viewportMinimum=Math.max(this.viewportMinimum,this.minimum));k(this.sessionVariables.newViewportMaximum)&&(this.viewportMaximum=Math.min(this.viewportMaximum,this.maximum));this.range=this.viewportMaximum-this.viewportMinimum;this.intervalStartPosition="axisX"===this.type&&c?this.getLabelStartPoint(new Date(this.viewportMinimum),
|
|
833
|
-
2))}};y.prototype.calculateLogarithmicAxisParameters=function(){var a=this.chart.layoutManager.getFreeSpace(),d=Math.log(this.logarithmBase),c;"bottom"===this._position||"top"===this._position?(this.maxWidth=a.width,this.maxHeight=a.height):(this.maxWidth=a.height,this.maxHeight=a.width);var a="axisX"===
|
|
834
|
-
this.minimum;if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum=this.maximum;if(this.scaleBreaks)for(m=0;m<this.scaleBreaks._appliedBreaks.length;m++)if((!k(this.sessionVariables.newViewportMinimum)&&this.sessionVariables.newViewportMinimum>=this.scaleBreaks._appliedBreaks[m].startValue
|
|
835
|
-
(!k(this.sessionVariables.newViewportMaximum)&&this.sessionVariables.newViewportMaximum<=this.scaleBreaks._appliedBreaks[m].endValue||!k(this.options.maximum)&&this.options.maximum<=this.scaleBreaks._appliedBreaks[m].endValue||!k(this.options.viewportMaximum)&&this.viewportMaximum<=this.scaleBreaks._appliedBreaks[m].endValue)){this.scaleBreaks._appliedBreaks.splice(m,
|
|
836
|
-
this.viewportMaximum:this.dataInfo.viewPortMax,1===e/b&&(m=Math.pow(this.logarithmBase,"undefined"===typeof this.options.interval?0.4:this.options.interval),e*=m,b/=m),g=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase):"axisY"===this.type&&(b=null!==this.viewportMinimum?this.viewportMinimum:
|
|
837
|
-
"undefined"===typeof this.options.interval?0:this.options.interval,b=1):0>=b?b=e:isFinite(e)||(e=b),1===b&&1===e?(e*=this.logarithmBase-1/this.logarithmBase,b=1):1===e/b?(m=Math.min(e*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,5)),e*=m,b/=m):b>e?(m=Math.min(b/e*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,5)),1<=e?b=e/m:e=b*m):(m=Math.min(e/
|
|
838
|
-
this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase,this.includeZero&&(null===this.viewportMinimum||isNaN(this.viewportMinimum))&&1<b&&(b=1),this.includeZero&&(null===this.viewportMaximum||isNaN(this.viewportMaximum))&&1>e&&(e=1));m=(isNaN(this.viewportMaximum)||null===this.viewportMaximum?e:this.viewportMaximum)/(isNaN(this.viewportMinimum)||
|
|
839
|
-
e:this.viewportMaximum)-(isNaN(this.viewportMinimum)||null===this.viewportMinimum?b:this.viewportMinimum);this.intervalType="number";m=Math.pow(this.logarithmBase,y.getNiceNumber(Math.abs(Math.log(m)/d),!1));this.options&&0<this.options.interval?this.interval=this.options.interval:(this.interval=y.getNiceExponent(Math.log(m)/d/(a-1),!0),c=y.getNiceNumber(h/(a-1),!0));if(null===this.viewportMinimum||
|
|
840
|
-
this.interval*Math.floor(Math.log(b)/d/this.interval));if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum="axisX"===this.type?e*Math.sqrt(g):Math.pow(this.logarithmBase,this.interval*Math.ceil(Math.log(e)/d/this.interval));1===this.viewportMaximum&&1===this.viewportMinimum&&(1===this.options.viewportMinimum?this.viewportMaximum*=this.logarithmBase-1/this.logarithmBase:
|
|
841
|
-
"undefined"===typeof this.options.interval&&(this.interval=y.getNiceExponent(Math.ceil(Math.log(m)/d)/(a-1)),c=y.getNiceNumber((this.viewportMaximum-this.viewportMinimum)/(a-1),!0)));if(null===this.minimum||null===this.maximum)"axisX"===this.type?(b=null!==this.minimum?this.minimum:this.dataInfo.min,e=null!==this.maximum?this.maximum:this.dataInfo.max,1===e/b&&(m=Math.pow(this.logarithmBase,
|
|
842
|
-
this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase):"axisY"===this.type&&(b=null!==this.minimum?this.minimum:this.dataInfo.min,e=null!==this.maximum?this.maximum:this.dataInfo.max,isFinite(b)||isFinite(e)?1===b&&1===e?(e*=this.logarithmBase,b/=this.logarithmBase):1===e/b?(m=Math.pow(this.logarithmBase,this.interval),e*=m,b/=m):b>e?(m=
|
|
843
|
-
0.04)),1!==e&&(e*=m),1!==b&&(b/=m)):(e="undefined"===typeof this.options.interval?0:this.options.interval,b=1),g=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase,this.includeZero&&(null===this.minimum||isNaN(this.minimum))&&1<b&&(b=1),this.includeZero&&(null===this.maximum||isNaN(this.maximum))&&
|
|
844
|
-
this.interval*Math.floor(Math.log(b)/d/this.interval)),k(null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?"undefined"===typeof this.sessionVariables.newViewportMinimum?Infinity:this.sessionVariables.newViewportMinimum:this.sessionVariables.viewportMinimum)||(this.minimum=Math.min(this.minimum,null===this.sessionVariables.viewportMinimum||
|
|
845
|
-
this.sessionVariables.viewportMinimum))),null===this.maximum&&(this.maximum="axisX"===this.type?e*Math.sqrt(g):Math.pow(this.logarithmBase,this.interval*Math.ceil(Math.log(e)/d/this.interval)),k(null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?"undefined"===typeof this.sessionVariables.newViewportMaximum?
|
|
846
|
-
isNaN(this.sessionVariables.viewportMaximum)?"undefined"===typeof this.sessionVariables.newViewportMaximum?0:this.sessionVariables.newViewportMaximum:this.sessionVariables.viewportMaximum))),1===this.maximum&&1===this.minimum&&(1===this.options.minimum?this.maximum*=this.logarithmBase-1/this.logarithmBase:1===this.options.maximum&&(this.minimum/=
|
|
847
|
-
this.maximum);this.viewportMinimum>this.viewportMaximum&&(!this.options.viewportMinimum&&!this.options.minimum||this.options.viewportMaximum||this.options.maximum?this.options.viewportMinimum||this.options.minimum||!this.options.viewportMaximum&&!this.options.maximum||(this.viewportMinimum=this.minimum=(this.options.viewportMaximum||this.options.maximum)/
|
|
848
|
-
Math.pow(this.logarithmBase,Math.floor(Math.log(this.viewportMinimum)/(d*this.interval)+0.2)*this.interval);this.range=this.viewportMaximum/this.viewportMinimum;this.noTicks=a;if(!this.options.interval&&this.range<Math.pow(this.logarithmBase,8>this.viewportMaximum||3>a?2:3)){for(d=Math.floor(this.viewportMinimum/c+0.5)*c;d<this.viewportMinimum;)d+=c;this.equidistantInterval
|
|
849
|
-
(this.interval=c,b=Math.pow(this.logarithmBase,Math.floor(Math.log(this.viewportMinimum)/(d*this.interval)+0.2)*this.interval))),this.equidistantInterval=!0,this.intervalStartPosition=b;if(!this.valueFormatString&&(this.valueFormatString="#,##0.##",1>this.viewportMinimum)){d=Math.floor(Math.abs(Math.log(this.viewportMinimum)/Math.LN10))+2;if(isNaN(d)||!isFinite(d))d=2;
|
|
850
|
-
Math.LN10)),isNaN(b)||!isFinite(b))&&(b=d);for(var e=0;e<b;e++)c+="#";return c};y.getNiceExponent=function(a,d){var c=Math.floor(Math.log(a)/Math.LN10),b=a/Math.pow(10,c),b=0>c?1>=b?1:5>=b?5:10:Math.max(Math.floor(b),1);return-20>c?Number(b*Math.pow(10,c)):Number((b*Math.pow(10,c)).toFixed(20))};y.getNiceNumber=function(a,d){var c=Math.floor(Math.log(a)/
|
|
851
|
-
y.prototype.getLabelStartPoint=function(){var a=H[this.intervalType+"Duration"]*this.interval,a=new Date(Math.floor(this.viewportMinimum/a)*a);if("millisecond"!==this.intervalType)if("second"===this.intervalType)0<a.getMilliseconds()&&(a.setSeconds(a.getSeconds()+1),a.setMilliseconds(0));else if("minute"===this.intervalType){if(0<a.getSeconds()||
|
|
852
|
-
0<a.getMilliseconds())a.
|
|
853
|
-
a.
|
|
854
|
-
a.setSeconds(0),a.setMilliseconds(0));return a};ra(ba,U);ra(Z,U);Z.prototype.createUserOptions=function(a){if("undefined"!==typeof a||this.options._isPlaceholder){var d=0;this.parent.options._isPlaceholder&&this.parent.createUserOptions();this.options._isPlaceholder||(Fa(this.parent[this.optionsName]),d=this.parent.options[this.optionsName].indexOf(this.options));
|
|
855
|
-
this.spacing||0!==this.options.lineThickness&&("undefined"!==typeof this.options.lineThickness||0!==this.parent.lineThickness)){var d=this.ctx,c=this.ctx.globalAlpha;this.ctx=a||this.ctx;this.ctx.save();this.ctx.beginPath();this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.ctx.clip();var b=this.scaleBreaks.parent.getPixelCoordinatesOnAxis(this.startValue),
|
|
856
|
-
this.lineColor;this.ctx.fillStyle=this.color;this.ctx.beginPath();this.ctx.globalAlpha=1;V(this.id);var g,m,h,k,l,p;a=Math.max(this.spacing,3);var n=Math.max(0,this.lineThickness);this.ctx.lineWidth=n;this.ctx.setLineDash&&this.ctx.setLineDash(J(this.lineDashType,n));if("bottom"===this.scaleBreaks.parent._position||"top"===this.scaleBreaks.parent._position)if(b=1===n%2?(b.x<<0)+0.5:b.x<<0,m=1===n%2?(e.x<<0)+0.5:
|
|
857
|
-
n/2+0.5<<0):(e=this.chart.plotArea.y2,h=this.chart.plotArea.y1-n/2+0.5<<0,a*=-1),this.bounds={x1:b-n/2,y1:e,x2:m+n/2,y2:h},this.ctx.moveTo(b,e),"straight"===this.type||"top"===this.scaleBreaks.parent._position&&0>=a||"bottom"===this.scaleBreaks.parent._position&&0<=a)this.ctx.lineTo(b,h),this.ctx.lineTo(m,h),this.ctx.lineTo(m,e);else if("wavy"===this.type){k=b;l=e;g=0.5;p=(h-l)/a/3;for(var q=0;q<p;q++)this.ctx.bezierCurveTo(k+
|
|
858
|
-
l+a,k+g*a,l+2*a,k,l+3*a);k=m;g*=-1;this.ctx.lineTo(k,l);for(q=0;q<p;q++)this.ctx.bezierCurveTo(k+g*a,l-a,k+g*a,l-2*a,k,l-3*a),l-=3*a,g*=-1}else{if("zigzag"===this.type){g=-1;l=e+a;k=b+a;p=(h-l)/a/2;for(q=0;q<p;q++)this.ctx.lineTo(k,l),k+=2*g*a,l+=2*a,g*=-1;this.ctx.lineTo(k,l);k+=m-b;for(q=0;q<p+1;q++)this.ctx.lineTo(k,l),k+=2*g*a,l-=2*a,g*=-1;this.ctx.lineTo(k+g*a,l+a)}}else if("left"===this.scaleBreaks.parent._position||"right"===
|
|
859
|
-
0,h=1===n%2?(b.y<<0)+0.5:b.y<<0,"left"===this.scaleBreaks.parent._position?(b=this.chart.plotArea.x1,m=this.chart.plotArea.x2+n/2+0.5<<0):(b=this.chart.plotArea.x2,m=this.chart.plotArea.x1-n/2+0.5<<0,a*=-1),this.bounds={x1:b,y1:e-n/2,x2:m,y2:h+n/2},this.ctx.moveTo(b,e),"straight"===this.type||"left"===this.scaleBreaks.parent._position&&0>=a||"right"===this.scaleBreaks.parent._position&&0<=a)this.ctx.lineTo(m,e),this.ctx.lineTo(m,h),
|
|
860
|
-
(m-k)/a/3;for(q=0;q<p;q++)this.ctx.bezierCurveTo(k+a,l+g*a,k+2*a,l+g*a,k+3*a,l),k+=3*a,g*=-1;this.ctx.bezierCurveTo(k+a,l+g*a,k+2*a,l+g*a,k+3*a,l);l=h;g*=-1;this.ctx.lineTo(k,l);for(q=0;q<p;q++)this.ctx.bezierCurveTo(k-a,l+g*a,k-2*a,l+g*a,k-3*a,l),k-=3*a,g*=-1}else if("zigzag"===this.type){g=1;l=e-a;k=b+a;p=(m-k)/a/2;for(q=0;q<p;q++)this.ctx.lineTo(k,l),l+=2*g*a,k+=2*a,g*=-1;this.ctx.lineTo(k,l);l+=h-e;for(q=0;q<p+1;q++)this.ctx.lineTo(k,
|
|
861
|
-
this.ctx.closePath();this.ctx.globalAlpha=this.fillOpacity;this.ctx.globalCompositeOperation="destination-over";this.ctx.fill();this.ctx.restore();this.ctx.globalAlpha=c;this.ctx=d}};ra(ia,U);ia.prototype.createUserOptions=function(a){if("undefined"!==typeof a||this.options._isPlaceholder){var d=0;this.parent.options._isPlaceholder&&this.parent.createUserOptions();this.options._isPlaceholder||(Fa(this.parent.stripLines),d=
|
|
862
|
-
typeof a?{}:a;this.parent.options.stripLines[d]=this.options}};ia.prototype.render=function(){this.ctx.save();var a=this.parent.getPixelCoordinatesOnAxis(this.value),d=Math.abs("pixel"===this._thicknessType?this.thickness:Math.abs(this.parent.convertValueToPixel(this.endValue)-this.parent.convertValueToPixel(this.startValue)));if(0<d){var c=null===this.opacity?1:this.opacity;this.ctx.strokeStyle=this.color;this.ctx.beginPath();
|
|
863
|
-
k;this.ctx.lineWidth=d;this.ctx.setLineDash&&this.ctx.setLineDash(J(this.lineDashType,d));if("bottom"===this.parent._position||"top"===this.parent._position)a="pixel"===this._thicknessType?a.x:(this.parent.convertValueToPixel(this.endValue)+this.parent.convertValueToPixel(this.startValue))/2,e=g=1===this.ctx.lineWidth%2?(a<<0)+0.5:a<<0,h=this.chart.plotArea.y1,k=this.chart.plotArea.y2,this.bounds={x1:e-d/2,y1:h,x2:g+d/2,y2:k};
|
|
864
|
-
"pixel"===this._thicknessType?a.y:(this.parent.convertValueToPixel(this.endValue)+this.parent.convertValueToPixel(this.startValue))/2,h=k=1===this.ctx.lineWidth%2?(a<<0)+0.5:a<<0,e=this.chart.plotArea.x1,g=this.chart.plotArea.x2,this.bounds={x1:e,y1:h-d/2,x2:g,y2:k+d/2};this.ctx.moveTo(e,h);this.ctx.lineTo(g,k);this.ctx.stroke();this.ctx.globalAlpha=b}this.ctx.restore()};ra(fa,U);fa.prototype.showAt=function(a){if(!this.enabled)return!1;
|
|
865
|
-
this.parent.type;this.chart.renderCrosshairs(this.parent,!1);var b,e="xySwapped"===d.plotInfo.axisPlacement;"bottom"===this.parent._position?b=e?d.axisY:d.axisX:"top"===this.parent._position?b=e?d.axisY2:d.axisX2:"left"===this.parent._position?b=e?d.axisX:d.axisY:"right"===this.parent._position&&(b=e?d.axisX2:d.axisY2);if(b)for(e=0;e<b.length;e++)this.parent===b[e]&&(b[e]._crosshairValue=a>=b[e].viewportMinimum&&a<=b[e].viewportMaximum?
|
|
866
|
-
b[e],h=0;h<d[g].length;h++){var s=d[g][h],r=s._crosshairValue;s.crosshair&&s.crosshair.enabled&&(this.parent===s&&(s.sessionVariables.crosshairShownByPixel=!1,s.sessionVariables.crosshairValue=s.crosshair._updatedValue=r||a),!k(r)&&r>=s.viewportMinimum&&r<=s.viewportMaximum?(s.showCrosshair(r),this===s.crosshair&&(c=!0)):void 0!==r&&(s.sessionVariables.crosshairValue=null,s.crosshair._updatedValue=null))}this.chart.toolTip&&
|
|
867
|
-
this.chart.toolTip.highlightObjects(this.chart.toolTip._entries);return c};fa.prototype.hide=function(){this.chart.resetOverlayedCanvas();this.chart.toolTip&&(this.chart.toolTip._entries&&this.chart.sessionVariables._dataHighlighted)&&this.chart.toolTip.highlightObjects(this.chart.toolTip._entries);this.chart.renderCrosshairs(this.parent,!1);this.parent.sessionVariables._crosshairHidden=this._hidden=!0};fa.prototype.render=
|
|
868
|
-
("dateTime"===this.parent.valueType?this.valueFormatString=this.parent.valueFormatString:(l=0,l="xySwapped"===this.chart.plotInfo.axisPlacement?50<this.parent.range?0:500<this.chart.width&&25>this.parent.range?2:Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0):50<this.parent.range?0:Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?
|
|
869
|
-
l)));var n=null===this.opacity?1:this.opacity,q=Math.abs("pixel"===this._thicknessType?this.thickness:this.parent.conversionParameters.pixelPerUnit*this.thickness),f=this.chart.overlaidCanvasCtx,u=f.globalAlpha;f.beginPath();f.strokeStyle=this.color;f.lineWidth=q;f.save();this.labelFontSize=Math.abs(k(this.options.labelFontSize)?this.parent.labelFontSize:this.labelFontSize);this.labelMaxWidth=k(this.options.labelMaxWidth)?
|
|
870
|
-
this.labelWrap?0.3*this.chart.height:1.5*this.labelFontSize+("object"===typeof this.labelPadding?(this.labelPadding.top||0)+(this.labelPadding.bottom||0):2*this.labelPadding);l=new ka(f,{x:0,y:0,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,borderThickness:this.labelBorderThickness,cornerRadius:this.labelCornerRadius,maxWidth:this.labelMaxWidth,maxHeight:this.labelMaxHeight,angle:this.labelAngle,
|
|
871
|
-
fontWeight:this.labelFontWeight,padding:this.labelPadding,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle"});if(this.snapToDataPoint){var x=0,p=[];if("xySwapped"===this.chart.plotInfo.axisPlacement){var z=null;if("bottom"===this.parent._position||"top"===this.parent._position)x=this.parent.dataSeries[0].axisX.convertPixelToValue({y:this.parent.sessionVariables.crosshairShownByPixel?
|
|
872
|
-
this.parent._position)x=this.parent.convertPixelToValue({y:d});for(var t=0;t<this.parent.dataSeries.length;t++)(z=this.parent.dataSeries[t].getDataPointAtX(x,!0,!0))&&0<=z.index&&(z.dataSeries=this.parent.dataSeries[t],null!==z.dataPoint.y&&z.dataSeries.visible&&p.push(z));z=null;if(0===p.length)return;p.sort(function(a,b){return a.distance-b.distance});var w=z=0;yPercent=cumulativeY=0;for(var x=Infinity,v,t=
|
|
873
|
-
0;A<p[t].dataPoint.y.length;A++)w=Math.abs(a-this.parent.convertValueToPixel(p[t].dataPoint.y[A])),w<=x&&(x=w,z=t)}else"stackedBar"===p[t].dataSeries.type?(cumulativeY=p[t].dataSeries.dataPointEOs[p[t].index].cumulativeY,w=Math.abs(a-this.parent.convertValueToPixel(cumulativeY)),w<=x&&(x=w,z=t)):"stackedBar100"===p[t].dataSeries.type?(w=p[0].dataPoint.x.getTime?p[0].dataPoint.x.getTime():
|
|
874
|
-
p[0].dataSeries.plotUnit.dataPointYSums[w])))),cumulativeY=p[t].dataSeries.dataPointEOs[p[t].index].cumulativeY,w=p[t].dataPoint.x.getTime?p[t].dataPoint.x.getTime():p[t].dataPoint.x,yPercent=100*(cumulativeY/p[t].dataSeries.plotUnit.dataPointYSums[w]),w=Math.abs(a-this.parent.convertValueToPixel(yPercent)),w<=v&&(v=w,z=t)):(w=Math.abs(a-this.parent.convertValueToPixel(p[t].dataPoint.y)),
|
|
875
|
-
v.dataSeries.type||"error"===v.dataSeries.type){x=Math.abs(a-this.parent.convertValueToPixel(v.dataPoint.y[0]));for(p=0;p<v.dataPoint.y.length;p++)w=Math.abs(a-this.parent.convertValueToPixel(v.dataPoint.y[p])),w<x&&(x=w,t=p);s=1===f.lineWidth%2?(this.parent.convertValueToPixel(v.dataPoint.y[t])<<0)+0.5:this.parent.convertValueToPixel(v.dataPoint.y[t])<<0;this.value=
|
|
876
|
-
Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0)));l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.y[t]}):k(this.options.label)?ga(v.dataPoint.y[t],this.valueFormatString,this.chart._cultureInfo):this.label}else"stackedBar"===
|
|
877
|
-
s=1===f.lineWidth%2?(this.parent.convertValueToPixel(cumulativeY)<<0)+0.5:this.parent.convertValueToPixel(cumulativeY)<<0,this.value=cumulativeY,0!==cumulativeY%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?
|
|
878
|
-
k(this.options.label)?ga(cumulativeY,this.valueFormatString,this.chart._cultureInfo):this.label):"stackedBar100"===v.dataSeries.type?(x=Math.abs(a-this.parent.convertValueToPixel(p[0].dataPoint.y)),cumulativeY=v.dataSeries.dataPointEOs[v.index].cumulativeY,w=v.dataPoint.x.getTime?v.dataPoint.x.getTime():v.dataPoint.x,yPercent=100*(cumulativeY/v.dataSeries.plotUnit.dataPointYSums[w]),
|
|
879
|
-
this.value=yPercent,0!==yPercent%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:yPercent}):k(this.options.label)?
|
|
880
|
-
0)+0.5:this.parent.convertValueToPixel(v.dataPoint.y)<<0,this.value=v.dataPoint.y,0!==v.dataPoint.y%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,
|
|
881
|
-
this.chart._cultureInfo):this.label);b=e=s;g=this.chart.plotArea.y1;h=this.chart.plotArea.y2;this.bounds={x1:b-q/2,y1:g,x2:e+q/2,y2:h};l.x=b-l.measureText().width/2;l.x+l.width>this.chart.bounds.x2?l.x=this.chart.bounds.x2-l.width:l.x<this.chart.bounds.x1&&(l.x=this.chart.bounds.x1);l.y=this.parent.lineCoordinates.y2+("top"===this.parent._position?-l.height+this.parent.tickLength:
|
|
882
|
-
this.parent._position||"right"===this.parent._position){g=h=r=1===f.lineWidth%2?(this.parent.convertValueToPixel(v.dataPoint.x)<<0)+0.5:this.parent.convertValueToPixel(v.dataPoint.x)<<0;b=this.chart.plotArea.x1;e=this.chart.plotArea.x2;this.bounds={x1:b,y1:g-q/2,x2:e,y2:h+q/2};t=!1;if(this.parent.labels)for(x=Math.ceil(this.parent.interval),p=0;p<
|
|
883
|
-
z=null,t=0;t<this.parent.dataSeries.length;t++)(z=this.parent.dataSeries[t].getDataPointAtX(x,!0,!0))&&0<=z.index&&(l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.x}):k(this.options.label)?z.dataPoint.label:this.label)}else"dateTime"!==this.parent.valueType||
|
|
671
|
+
function(){var a=0,d=0;this._labels=[];this._stripLineLabels=[];var c=0,b=[],e=this.chart.isNavigator?0:5;this.labelEffectiveWidth=k(this.labelEffectiveWidth)?0:this.labelEffectiveWidth;if("left"===this._position||"right"===this._position){this.createLabels();for(d=0;d<this._labels.length;d++)if(!(this._labels[d].position<this.viewportMinimum||this._labels[d].position>this.viewportMaximum)){var g=this._labels[d].textBlock,g=g.measureText(),m=0,m=0===this.labelAngle?g.width:g.width*Math.cos(Math.PI/
|
|
672
|
+
180*Math.abs(this.labelAngle))+g.height*Math.sin(Math.PI/180*Math.abs(this.labelAngle));a<=m&&(this.labelEffectiveWidth=a=m);this._labels[d].effectiveWidth=m}for(d=0;d<this._stripLineLabels.length;d++)"outside"===this._stripLineLabels[d].stripLine.labelPlacement&&(this._stripLineLabels[d].stripLine.value>=this.viewportMinimum&&this._stripLineLabels[d].stripLine.value<=this.viewportMaximum)&&(g=this._stripLineLabels[d].textBlock,g=g.measureText(),m=0===this.labelAngle?g.width:g.width*Math.cos(Math.PI/
|
|
673
|
+
180*Math.abs(this.labelAngle))+g.height*Math.sin(Math.PI/180*Math.abs(this.labelAngle)),c=Math.max(c,this._stripLineLabels[d].stripLine.tickLength),"inside"===this.labelPlacement&&(a-=0<b.length?Math.max.apply(null,b):0,a+=Math.max(m,0<b.length?Math.max.apply(null,b):m)),a<=m&&(a=m),this.stripLineLabelEffectiveWidth=this._stripLineLabels[d].effectiveWidth=m,b.push(m));"inside"===this.labelPlacement&&(a+=e)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+("inside"===this.tickPlacement?
|
|
674
|
+
c+this.tickLength:Math.max(c,this.tickLength))+e};y.prototype.createLabelsAndCalculateHeight=function(){var a=0;this._labels=[];this._stripLineLabels=[];var d=0,c,b=0,e=this.chart.isNavigator?0:"bottom"===this._position&&"inside"===this.labelPlacement||"top"===this._position&&"outside"===this.labelPlacement?2:5;this.labelEffectiveHeight=k(this.labelEffectiveHeight)?0:this.labelEffectiveHeight;var g=[];if("bottom"===this._position||"top"===this._position){this.createLabels();for(b=0;b<this._labels.length;b++)if(!(this._labels[b].position<
|
|
675
|
+
this.viewportMinimum||this._labels[b].position>this.viewportMaximum)){c=this._labels[b].textBlock;c=c.measureText();var m=0,m=0===this.labelAngle?c.height:c.width*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+c.height*Math.cos(Math.PI/180*Math.abs(this.labelAngle));a<=m&&(this.labelEffectiveHeight=a=m);this._labels[b].effectiveHeight=m}for(b=0;b<this._stripLineLabels.length;b++)"outside"===this._stripLineLabels[b].stripLine.labelPlacement&&(this._stripLineLabels[b].stripLine.value>=this.viewportMinimum&&
|
|
676
|
+
this._stripLineLabels[b].stripLine.value<=this.viewportMaximum)&&(c=this._stripLineLabels[b].textBlock,c=c.measureText(),m=0===this.labelAngle?c.height:c.width*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+c.height*Math.cos(Math.PI/180*Math.abs(this.labelAngle)),d=Math.max(d,this._stripLineLabels[b].stripLine.tickLength),"inside"===this.labelPlacement&&(a-=0<g.length?Math.max.apply(null,g):0,a+=Math.max(m,0<g.length?Math.max.apply(null,g):m)),a<=m&&(a=m),this.stripLineLabelEffectiveHeight=this._stripLineLabels[b].effectiveHeight=
|
|
677
|
+
m,g.push(m));"inside"===this.labelPlacement&&(a+=e)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+("inside"===this.tickPlacement?d+this.tickLength:Math.max(d,this.tickLength))+e};y.setLayout=function(a,d,c,b,e,g){var m,h,r,l,p=a[0]?a[0].chart:d[0].chart,n=p.isNavigator?0:10,q=p._axes;if(a&&0<a.length)for(var f=0;f<a.length;f++)a[f]&&a[f].calculateAxisParameters();if(d&&0<d.length)for(f=0;f<d.length;f++)d[f].calculateAxisParameters();if(c&&0<c.length)for(f=0;f<c.length;f++)c[f].calculateAxisParameters();
|
|
678
|
+
if(b&&0<b.length)for(f=0;f<b.length;f++)b[f].calculateAxisParameters();for(f=0;f<q.length;f++)if(q[f]&&q[f].scaleBreaks&&q[f].scaleBreaks._appliedBreaks.length)for(var u=q[f].scaleBreaks._appliedBreaks,x=0;x<u.length&&!(u[x].startValue>q[f].viewportMaximum);x++)u[x].endValue<q[f].viewportMinimum||(k(q[f].scaleBreaks.firstBreakIndex)&&(q[f].scaleBreaks.firstBreakIndex=x),u[x].startValue>=q[f].viewPortMinimum&&(q[f].scaleBreaks.lastBreakIndex=x));for(var y=x=0,t=0,w=0,v=0,A=0,B=0,C,D,E=h=0,H,J,N,u=
|
|
679
|
+
H=J=N=!1,f=0;f<q.length;f++)q[f]&&q[f].title&&(q[f]._titleTextBlock=new ka(q[f].ctx,{text:q[f].title,fontSize:q[f].titleFontSize,fontFamily:q[f].titleFontFamily,fontWeight:q[f].titleFontWeight,fontColor:q[f].titleFontColor,fontStyle:q[f].titleFontStyle,borderColor:q[f].titleBorderColor,borderThickness:q[f].titleBorderThickness,backgroundColor:q[f].titleBackgroundColor,cornerRadius:q[f].titleCornerRadius,textBaseline:"middle",textAlign:q[f].titleTextAlign,padding:q[f].titlePadding}));for(f=0;f<q.length;f++)if(q[f].title){var L=
|
|
680
|
+
1.5*q[f].titleFontSize+("object"===typeof q[f].titlePadding?(q[f].titlePadding.top||0)+(q[f].titlePadding.bottom||0):2*q[f].titlePadding);q[f]._titleTextBlock.maxWidth=q[f].titleMaxWidth||g.height;q[f]._titleTextBlock.maxHeight=q[f].titleWrap?0.8*g.width:Math.min(L,0.8*g.width);switch(q[f]._position){case "left":q[f]._titleTextBlock.angle=-90;break;case "right":q[f]._titleTextBlock.angle=90;break;default:q[f]._titleTextBlock.maxWidth=q[f].titleMaxWidth||g.width,q[f]._titleTextBlock.maxHeight=q[f].titleWrap?
|
|
681
|
+
0.8*g.height:Math.min(L,0.8*g.height),q[f]._titleTextBlock.angle=0}}if("normal"===e){for(var w=[],v=[],A=[],B=[],Q=[],R=[],U=[],F=[];4>x;){var X=0,V=0,T=0,W=0,aa=L=e=0,ba=0,Y=0,Z=0,M=m=0;if(c&&0<c.length)for(A=[],f=m=0;f<c.length;f++)A.push(Math.ceil(c[f]?c[f].createLabelsAndCalculateWidth():0)),m+=A[f],aa+=c[f]&&!p.isNavigator?c[f].margin:0;else A.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateWidth():0));U.push(A);if(b&&0<b.length)for(B=[],f=M=0;f<b.length;f++)B.push(Math.ceil(b[f]?b[f].createLabelsAndCalculateWidth():
|
|
682
|
+
0)),M+=B[f],ba+=b[f]?b[f].margin:0;else B.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateWidth():0));F.push(B);m=Math.round(g.x1+m+aa-(c[0]?("inside"===c[0].labelPlacement?c[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===c[0].tickPlacement?c[0].tickLength:0):0))+(!c.length||"inside"!==c[c.length-1].labelPlacement||c[c.length-1].title||c[c.length-1].stripLineLabelEffectiveWidth||p.isNavigator?0:5);r=Math.round(Math.min(g.x2-M-ba+(b[0]?("inside"===b[0].labelPlacement?b[0].labelEffectiveWidth+
|
|
683
|
+
(p.isNavigator?0:5):0)+("inside"===b[0].tickPlacement?b[0].tickLength:0):0),p.width-n));if(a&&0<a.length)for(w=[],f=Y=0;f<a.length;f++)a[f]&&(a[f].lineCoordinates={}),a[f].lineCoordinates.width=Math.abs(r-m),a[f].title&&(a[f]._titleTextBlock.maxWidth=0<a[f].titleMaxWidth&&a[f].titleMaxWidth<a[f].lineCoordinates.width?a[f].titleMaxWidth:a[f].lineCoordinates.width),w.push(Math.ceil(a[f]?a[f].createLabelsAndCalculateHeight():0)),Y+=w[f],e+=a[f]&&!p.isNavigator?a[f].margin:0;else w.push(Math.ceil(a[0]?
|
|
684
|
+
a[0].createLabelsAndCalculateHeight():0));Q.push(w);if(d&&0<d.length)for(v=[],f=Z=0;f<d.length;f++)d[f]&&(d[f].lineCoordinates={}),d[f].lineCoordinates.width=Math.abs(r-m),d[f].title&&(d[f]._titleTextBlock.maxWidth=0<d[f].titleMaxWidth&&d[f].titleMaxWidth<d[f].lineCoordinates.width?d[f].titleMaxWidth:d[f].lineCoordinates.width),v.push(Math.ceil(d[f]?d[f].createLabelsAndCalculateHeight():0)),Z+=v[f],L+=d[f]&&!p.isNavigator?d[f].margin:0;else v.push(Math.ceil(d[0]?d[0].createLabelsAndCalculateHeight():
|
|
685
|
+
0));R.push(v);if(a&&0<a.length){for(f=0;f<a.length;f++){if(a[f]){a[f].lineCoordinates.x1=m;r=Math.round(Math.min(g.x2-M-ba+(b[0]?("inside"===b[0].labelPlacement?b[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===b[0].tickPlacement?b[0].tickLength:0):0)-(!b.length||"inside"!==b[b.length-1].labelPlacement||b[b.length-1].title||b[b.length-1].stripLineLabelEffectiveWidth||p.isNavigator?0:5),p.width-n));if(a[f]._labels&&1<a[f]._labels.length){var S=h=0;h=a[f]._labels[1];S="dateTime"===a[f].valueType?
|
|
686
|
+
a[f]._labels[a[f]._labels.length-2]:a[f]._labels[a[f]._labels.length-1];y=h.textBlock.width*Math.cos(Math.PI/180*Math.abs(h.textBlock.angle))+(h.textBlock.height-h.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(h.textBlock.angle));t=S.textBlock.width*Math.cos(Math.PI/180*Math.abs(S.textBlock.angle))+S.textBlock.height*Math.sin(Math.PI/180*Math.abs(S.textBlock.angle))}!a[f]||(!a[f].labelAutoFit||k(C)||k(D)||p.isNavigator||p.stockChart)||(h=0,0<a[f].labelAngle?(l=t-(S.textBlock.height-S.textBlock._lineHeight/
|
|
687
|
+
2)*Math.sin(Math.PI/180*S.textBlock.angle),D+l>r&&(a[f].convertPixelToValue(D)>=a[f].viewportMinimum&&a[f].convertPixelToValue(D)<=a[f].viewportMaximum)&&(h+=D+l-r-M)):0>a[f].labelAngle?C-y<m&&C-y<a[f].viewportMinimum&&(E=m-(aa+a[f].tickLength+A+C-y+a[f].labelFontSize/2)):0===a[f].labelAngle&&(D+t>r&&(a[f].convertPixelToValue(D)>=a[f].viewportMinimum&&a[f].convertPixelToValue(D)<=a[f].viewportMaximum)&&(h=D+t/2-r-M),C-y<m&&C-y<a[f].viewportMinimum&&(E=m-aa-a[f].tickLength-A-C+y/2)),a[f].viewportMaximum===
|
|
688
|
+
a[f].maximum&&a[f].viewportMinimum===a[f].minimum&&0<a[f].labelAngle&&0<h?r-=h:a[f].viewportMaximum===a[f].maximum&&a[f].viewportMinimum===a[f].minimum&&0>a[f].labelAngle&&0<E?m+=E:a[f].viewportMaximum===a[f].maximum&&a[f].viewportMinimum===a[f].minimum&&0===a[f].labelAngle&&(0<E&&(m+=E),0<h&&(r-=h)));p.panEnabled?Y=k(p.sessionVariables.axisX.height)||p.stockChart?p.sessionVariables.axisX.height=Y:p.sessionVariables.axisX.height:p.sessionVariables.axisX.height=Y;h=Math.round(g.y2-Y-e+X)-("inside"!==
|
|
689
|
+
a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5);l=Math.round(g.y2)-("inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5);a[f].lineCoordinates.x2=r;a[f].lineCoordinates.width=r-m;a[f].lineCoordinates.y1=h;a[f].lineCoordinates.y2=h;a[f].bounds={x1:m,y1:h,x2:r,y2:l-(Y+e-w[f]-X),width:r-m};a[f].bounds.height=a[f].bounds.y2-a[f].bounds.y1;"inside"===a[f].labelPlacement&&
|
|
690
|
+
(a[f].lineCoordinates.y1=a[0].bounds.y1+X+(a[f].labelEffectiveHeight||0)+(p.isNavigator?0:2),a[f].lineCoordinates.y2=a[f].lineCoordinates.y1+a[f].lineThickness/2);"inside"===a[f].tickPlacement&&(a[f].lineCoordinates.y1+=a[f].tickLength,a[f].lineCoordinates.y2=a[f].lineCoordinates.y1+a[f].lineThickness/2)}X+=w[f]+a[f].margin}aa=0===a[0].dataSeries.length;if(!aa)for(f=0;f<a[0].dataSeries.length;f++){if(a[0].dataSeries[f].dataPoints){aa=!1;break}aa=!0}if(aa)for(aa=!1,f=1;f<a.length;f++)0!==a[f].dataSeries.length&&
|
|
691
|
+
(aa?a[f].lineCoordinates.x2>a[0].lineCoordinates.x2&&(a[0].lineCoordinates.x2=a[f].lineCoordinates.x2):(a[0].lineCoordinates.x2=a[f].lineCoordinates.x2,aa=!0),a[0].lineCoordinates.width=a[0].lineCoordinates.x2-a[0].lineCoordinates.x1)}if(d&&0<d.length)for(f=0;f<d.length;f++)d[f].lineCoordinates.x1=m,d[f].lineCoordinates.x2=r,d[f].lineCoordinates.width=Math.abs(r-m),d[f]._labels&&1<d[f]._labels.length&&(h=d[f]._labels[1],S="dateTime"===d[f].valueType?d[f]._labels[d[f]._labels.length-2]:d[f]._labels[d[f]._labels.length-
|
|
692
|
+
1],y=h.textBlock.width*Math.cos(Math.PI/180*Math.abs(h.textBlock.angle))+(h.textBlock.height-S.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(h.textBlock.angle)),t=S.textBlock.width*Math.cos(Math.PI/180*Math.abs(S.textBlock.angle))+(S.textBlock.height-S.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(S.textBlock.angle))),p.panEnabled?Z=k(p.sessionVariables.axisX2.height)||p.stockChart?p.sessionVariables.axisX2.height=Z:p.sessionVariables.axisX2.height:p.sessionVariables.axisX2.height=Z,h=
|
|
693
|
+
Math.round(g.y1)+("inside"!==d[d.length-1].labelPlacement||d[d.length-1].title||d[d.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),l=d[f].lineCoordinates.y1=h+Z+L-V,d[f].lineCoordinates.y2=h,d[f].bounds={x1:m,y1:h+(Z+L-v[f]-V),x2:r,y2:l,width:r-m},d[f].bounds.height=d[f].bounds.y2-d[f].bounds.y1,"inside"===d[f].labelPlacement&&(d[f].lineCoordinates.y1=d[0].bounds.y2-V-(d[f].labelEffectiveHeight||0)-5),"inside"===d[f].tickPlacement&&(d[f].lineCoordinates.y1-=d[f].tickLength),V+=v[f]+d[f].margin;
|
|
694
|
+
if(c&&0<c.length)for(f=0;f<c.length;f++)aa=p.isNavigator?0:10,c[f]&&(m=r=Math.round((a[0]?a[0].lineCoordinates.x1:d[0].lineCoordinates.x1)+(c[0]?("inside"===c[0].labelPlacement?c[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===c[0].tickPlacement?c[0].tickLength:0):0)),aa=Math.max(c[f]._labels&&0<c[f]._labels.length?c[f]._labels[c[f]._labels.length-1].textBlock._lineHeight/2:n,n),h=Math.round(Math.max(g.y1+Z+L-(d[0]?("inside"===d[0].labelPlacement?d[0].labelEffectiveHeight+5:0)+("inside"===
|
|
695
|
+
d[0].tickPlacement?d[0].tickLength:0):0),0<d.length?0:aa))+(!d.length||"inside"!==d[d.length-1].labelPlacement||d[d.length-1].title||d[d.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),aa=0<a.length?0:c[f]._labels&&0<c[f]._labels.length?c[f]._labels[0].textBlock.height/2:n,l=Math.round(g.y2-Y+(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveHeight+(p.isNavigator?0:2):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0)-e-aa)-(!a.length||"inside"!==a[a.length-1].labelPlacement||
|
|
696
|
+
a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),c[f].lineCoordinates={x1:m-T,y1:h,x2:r-T,y2:l,height:Math.abs(l-h)},c[f].bounds={x1:m-(A[f]+T),y1:h,x2:r-T,y2:l,height:l-h},c[f].bounds.width=c[f].bounds.x2-c[f].bounds.x1,"inside"===c[f].labelPlacement&&(c[f].lineCoordinates.x1=Math.round(c[0].bounds.x1+A[0]-T-(c[f].labelEffectiveWidth||0)-5),c[f].lineCoordinates.x2=c[f].lineCoordinates.x1+c[f].lineThickness/2),"inside"===c[f].tickPlacement&&(c[f].lineCoordinates.x1-=
|
|
697
|
+
c[f].tickLength,c[f].lineCoordinates.x2=c[f].lineCoordinates.x1+c[f].lineThickness/2),c[f].title&&(c[f]._titleTextBlock.maxWidth=0<c[f].titleMaxWidth&&c[f].titleMaxWidth<c[f].lineCoordinates.height?c[f].titleMaxWidth:c[f].lineCoordinates.height),T+=A[f]+c[f].margin);if(b&&0<b.length)for(f=0;f<b.length;f++)b[f]&&(m=r=Math.round((a[0]?a[0].lineCoordinates.x2:d[0].lineCoordinates.x2)-(b[0]?("inside"===b[0].labelPlacement?b[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===b[0].tickPlacement?
|
|
698
|
+
b[0].tickLength:0):0)),aa=Math.max(b[f]._labels&&0<b[f]._labels.length?b[f]._labels[b[f]._labels.length-1].textBlock.height/2:0,n),h=Math.round(Math.max(g.y1+Z+L-(d[0]?("inside"===d[0].labelPlacement?d[0].labelEffectiveHeight+(p.isNavigator?0:5):0)+("inside"===d[0].tickPlacement?d[0].tickLength:0):0)+(!d.length||"inside"!==d[d.length-1].labelPlacement||d[d.length-1].title||d[d.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),0<d.length?0:aa)),aa=0<a.length?0:b[f]._labels&&0<b[f]._labels.length?
|
|
699
|
+
b[f]._labels[0].textBlock.height/2:0,l=Math.round(g.y2-(Y+e+aa)+(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveHeight+(p.isNavigator?0:2):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0))-(!a.length||"inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),b[f].lineCoordinates={x1:m+W,y1:h,x2:m+W,y2:l,height:Math.abs(l-h)},b[f].bounds={x1:m+W,y1:h,x2:r+B[f]+W,y2:l,height:l-h},b[f].bounds.width=b[f].bounds.x2-b[f].bounds.x1,
|
|
700
|
+
"inside"===b[f].labelPlacement&&(b[f].lineCoordinates.x1=Math.round(b[0].bounds.x1+W+(b[f].labelEffectiveWidth||0)+(p.isNavigator?0:5)),b[f].lineCoordinates.x2=b[f].lineCoordinates.x1+b[f].lineThickness/2),"inside"===b[f].tickPlacement&&(b[f].lineCoordinates.x1+=b[f].tickLength,b[f].lineCoordinates.x2=b[f].lineCoordinates.x1+b[f].lineThickness/2),b[f].title&&(b[f]._titleTextBlock.maxWidth=0<b[f].titleMaxWidth&&b[f].titleMaxWidth<b[f].lineCoordinates.height?b[f].titleMaxWidth:b[f].lineCoordinates.height),
|
|
701
|
+
W+=B[f]+b[f].margin);if(a&&0<a.length)for(f=0;f<a.length;f++)a[f]&&(a[f].calculateValueToPixelConversionParameters(),a[f].calculateBreaksSizeInValues(),a[f]._labels&&1<a[f]._labels.length&&(C=(a[f].logarithmic?Math.log(a[f]._labels[1].position/a[f].viewportMinimum)/a[f].conversionParameters.lnLogarithmBase:a[f]._labels[1].position-a[f].viewportMinimum)*Math.abs(a[f].conversionParameters.pixelPerUnit)+a[f].lineCoordinates.x1,m=a[f]._labels[a[f]._labels.length-("dateTime"===a[f].valueType?2:1)].position,
|
|
702
|
+
m=a[f].getApparentDifference(a[f].viewportMinimum,m),D=a[f].logarithmic?(1<m?Math.log(m)/a[f].conversionParameters.lnLogarithmBase*Math.abs(a[f].conversionParameters.pixelPerUnit):0)+a[f].lineCoordinates.x1:(0<m?m*Math.abs(a[f].conversionParameters.pixelPerUnit):0)+a[f].lineCoordinates.x1));if(d&&0<d.length)for(f=0;f<d.length;f++)d[f].calculateValueToPixelConversionParameters(),d[f].calculateBreaksSizeInValues(),d[f]._labels&&1<d[f]._labels.length&&(C=(d[f].logarithmic?Math.log(d[f]._labels[1].position/
|
|
703
|
+
d[f].viewportMinimum)/d[f].conversionParameters.lnLogarithmBase:d[f]._labels[1].position-d[f].viewportMinimum)*Math.abs(d[f].conversionParameters.pixelPerUnit)+d[f].lineCoordinates.x1,m=d[f]._labels[d[f]._labels.length-("dateTime"===d[f].valueType?2:1)].position,m=d[f].getApparentDifference(d[f].viewportMinimum,m),D=d[f].logarithmic?(1<m?Math.log(m)/d[f].conversionParameters.lnLogarithmBase*Math.abs(d[f].conversionParameters.pixelPerUnit):0)+d[f].lineCoordinates.x1:(0<m?m*Math.abs(d[f].conversionParameters.pixelPerUnit):
|
|
704
|
+
0)+d[f].lineCoordinates.x1);for(f=0;f<q.length;f++)"axisY"===q[f].type&&(q[f].calculateValueToPixelConversionParameters(),q[f].calculateBreaksSizeInValues());if(0<x){if(a&&0<a.length)for(f=0;f<a.length;f++)u=Q[x-1][f]===Q[x][f]?!0:!1;else u=!0;if(d&&0<d.length)for(f=0;f<d.length;f++)H=R[x-1][f]===R[x][f]?!0:!1;else H=!0;if(c&&0<c.length)for(f=0;f<c.length;f++)J=U[x-1][f]===U[x][f]?!0:!1;else J=!0;if(b&&0<b.length)for(f=0;f<b.length;f++)N=F[x-1][f]===F[x][f]?!0:!1;else N=!0}if(u&&H&&J&&N)break;x++}if(a&&
|
|
705
|
+
0<a.length)for(f=0;f<a.length;f++)a[f].calculateStripLinesThicknessInValues(),a[f].calculateBreaksInPixels();if(d&&0<d.length)for(f=0;f<d.length;f++)d[f].calculateStripLinesThicknessInValues(),d[f].calculateBreaksInPixels();if(c&&0<c.length)for(f=0;f<c.length;f++)c[f].calculateStripLinesThicknessInValues(),c[f].calculateBreaksInPixels();if(b&&0<b.length)for(f=0;f<b.length;f++)b[f].calculateStripLinesThicknessInValues(),b[f].calculateBreaksInPixels()}else{n=[];C=[];E=[];y=[];t=[];D=[];Q=[];for(R=[];4>
|
|
706
|
+
x;){Y=W=T=ba=aa=L=e=F=U=V=Z=0;if(a&&0<a.length)for(E=[],f=W=0;f<a.length;f++)E.push(Math.ceil(a[f]?a[f].createLabelsAndCalculateWidth():0)),W+=E[f],e+=a[f]&&!p.isNavigator?a[f].margin:0;else E.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateWidth():0));Q.push(E);if(d&&0<d.length)for(y=[],f=Y=0;f<d.length;f++)y.push(Math.ceil(d[f]?d[f].createLabelsAndCalculateWidth():0)),Y+=y[f],L+=d[f]?d[f].margin:0;else y.push(Math.ceil(d[0]?d[0].createLabelsAndCalculateWidth():0));R.push(y);if(c&&0<c.length)for(f=
|
|
707
|
+
0;f<c.length;f++)c[f].lineCoordinates={},m=Math.round(g.x1+W+e-(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0))+(!a.length||"inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveWidth||p.isNavigator?0:5),r=Math.round(Math.min(g.x2-Y-L+(d[0]?("inside"===d[0].labelPlacement?d[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===d[0].tickPlacement?d[0].tickLength:
|
|
708
|
+
0):0)-(!d.length||"inside"!==d[d.length-1].labelPlacement||d[d.length-1].title||d[d.length-1].stripLineLabelEffectiveWidth||p.isNavigator?0:5),p.width-10)),c[f].labelAutoFit&&!k(w)&&(0<!a.length&&(m=0>c[f].labelAngle?Math.max(m,w):0===c[f].labelAngle?Math.max(m,w/2):m),0<!d.length&&(r=0<c[f].labelAngle?r-v/2:0===c[f].labelAngle?r-v/2:r)),c[f].lineCoordinates.x1=m,c[f].lineCoordinates.x2=r,c[f].lineCoordinates.width=Math.abs(r-m),c[f].title&&(c[f]._titleTextBlock.maxWidth=0<c[f].titleMaxWidth&&c[f].titleMaxWidth<
|
|
709
|
+
c[f].lineCoordinates.width?c[f].titleMaxWidth:c[f].lineCoordinates.width);if(b&&0<b.length)for(f=0;f<b.length;f++)b[f].lineCoordinates={},m=Math.round(g.x1+W+e-(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0))+(!a.length||"inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveWidth||p.isNavigator?0:5),r=Math.round(Math.min(g.x2-Y-L+(d[0]?("inside"===d[0].labelPlacement?
|
|
710
|
+
d[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===d[0].tickPlacement?d[0].tickLength:0):0)-(!d.length||"inside"!==d[d.length-1].labelPlacement||d[d.length-1].title||d[d.length-1].stripLineLabelEffectiveWidth||p.isNavigator?0:5),b[f].chart.width-10)),b[f]&&b[f].labelAutoFit&&!k(A)&&(0<!a.length&&(m=0<b[f].labelAngle?Math.max(m,A):0===b[f].labelAngle?Math.max(m,A/2):m),0<!d.length&&(r-=B/2)),b[f].lineCoordinates.x1=m,b[f].lineCoordinates.x2=r,b[f].lineCoordinates.width=Math.abs(r-m),b[f].title&&
|
|
711
|
+
(b[f]._titleTextBlock.maxWidth=0<b[f].titleMaxWidth&&b[f].titleMaxWidth<b[f].lineCoordinates.width?b[f].titleMaxWidth:b[f].lineCoordinates.width);if(c&&0<c.length)for(n=[],f=T=0;f<c.length;f++)n.push(Math.ceil(c[f]?c[f].createLabelsAndCalculateHeight():0)),T+=n[f]+c[f].margin,aa+=c[f].margin;else n.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateHeight():0));t.push(n);if(b&&0<b.length)for(C=[],f=0;f<b.length;f++)C.push(Math.ceil(b[f]?b[f].createLabelsAndCalculateHeight():0)),ba+=b[f].margin;else C.push(Math.ceil(b[0]?
|
|
712
|
+
b[0].createLabelsAndCalculateHeight():0));D.push(C);if(c&&0<c.length)for(f=0;f<c.length;f++)0<c[f]._labels.length&&(h=c[f]._labels[0],S=c[f]._labels[c[f]._labels.length-1],w=h.textBlock.width*Math.cos(Math.PI/180*Math.abs(h.textBlock.angle))+(h.textBlock.height-S.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(h.textBlock.angle)),v=S.textBlock.width*Math.cos(Math.PI/180*Math.abs(S.textBlock.angle))+(S.textBlock.height-S.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(S.textBlock.angle)));
|
|
713
|
+
if(b&&0<b.length)for(f=0;f<b.length;f++)b[f]&&0<b[f]._labels.length&&(h=b[f]._labels[0],S=b[f]._labels[b[f]._labels.length-1],A=h.textBlock.width*Math.cos(Math.PI/180*Math.abs(h.textBlock.angle))+(h.textBlock.height-S.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(h.textBlock.angle)),B=S.textBlock.width*Math.cos(Math.PI/180*Math.abs(S.textBlock.angle))+(S.textBlock.height-S.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(S.textBlock.angle)));if(p.panEnabled)for(f=0;f<c.length;f++)n[f]=k(p.sessionVariables.axisY[f].height)?
|
|
714
|
+
p.sessionVariables.axisY[f].height=n[f]:p.sessionVariables.axisY[f].height;else for(f=0;f<c.length;f++)p.sessionVariables.axisY[f].height=n[f];if(c&&0<c.length)for(f=c.length-1;0<=f;f--)h=Math.round(g.y2)-("inside"!==c[c.length-1].labelPlacement||c[c.length-1].title||c[c.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),l=Math.round(g.y2>c[f].chart.height?c[f].chart.height:g.y2)-("inside"!==c[c.length-1].labelPlacement||c[c.length-1].title||c[c.length-1].stripLineLabelEffectiveHeight||p.isNavigator?
|
|
715
|
+
0:5),c[f].lineCoordinates.y1=h-(n[f]+c[f].margin+Z),c[f].lineCoordinates.y2=h-(n[f]+c[f].margin+Z),"inside"===c[f].labelPlacement&&(c[f].lineCoordinates.y1=c[f].lineCoordinates.y1+c[f].labelEffectiveHeight+(p.isNavigator?0:2),c[f].lineCoordinates.y2=c[f].lineCoordinates.y1+c[f].lineThickness/2),"inside"===c[f].tickPlacement&&(c[f].lineCoordinates.y1+=c[f].tickLength,c[f].lineCoordinates.y2=c[f].lineCoordinates.y1+c[f].lineThickness/2),c[f].bounds={x1:m,y1:h-(n[f]+Z+c[f].margin),x2:r,y2:l-(Z+c[f].margin),
|
|
716
|
+
width:r-m,height:n[f]},c[f].title&&(c[f]._titleTextBlock.maxWidth=0<c[f].titleMaxWidth&&c[f].titleMaxWidth<c[f].lineCoordinates.width?c[f].titleMaxWidth:c[f].lineCoordinates.width),Z+=n[f]+c[f].margin;if(b&&0<b.length)for(f=b.length-1;0<=f;f--)b[f]&&(h=Math.round(g.y1)+("inside"!==b[b.length-1].labelPlacement||b[b.length-1].title||b[b.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),l=Math.round(g.y1+(C[f]+b[f].margin+V))+("inside"!==b[b.length-1].labelPlacement||b[b.length-1].title||b[b.length-
|
|
717
|
+
1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),b[f].lineCoordinates.y1=l,b[f].lineCoordinates.y2=l,"inside"===b[f].labelPlacement&&(b[f].lineCoordinates.y1=l-b[f].labelEffectiveHeight-5,b[f].lineCoordinates.y2=b[f].lineCoordinates.y1-b[f].lineThickness/2),"inside"===b[f].tickPlacement&&(b[f].lineCoordinates.y1-=b[f].tickLength,b[f].lineCoordinates.y2=b[f].lineCoordinates.y1-b[f].lineThickness/2),b[f].bounds={x1:m,y1:h+(b[f].margin+V),x2:r,y2:l,width:r-m},b[f].bounds.height=b[f].bounds.y2-b[f].bounds.y1,
|
|
718
|
+
b[f].title&&(b[f]._titleTextBlock.maxWidth=0<b[f].titleMaxWidth&&b[f].titleMaxWidth<b[f].lineCoordinates.width?b[f].titleMaxWidth:b[f].lineCoordinates.width),V+=C[f]+b[f].margin);if(a&&0<a.length)for(f=0;f<a.length;f++){aa=a[f]._labels&&0<a[f]._labels.length?a[f]._labels[0].textBlock.fontSize/2:0;m=Math.round(g.x1+e);h=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:g.y1<Math.max(aa,10)?Math.max(aa,10):g.y1):g.y1<Math.max(aa,10)?Math.max(aa,10):g.y1;r=Math.round(g.x1+W+e);l=c&&0<c.length?Math.round(c[0]?
|
|
719
|
+
c[0].lineCoordinates.y1:g.y2-T>p.height-Math.max(aa,10)?p.height-Math.max(aa,10):g.y2-T):g.y2>p.height-Math.max(aa,10)?p.height-Math.max(aa,10):g.y2;if(c&&0<c.length)for(S=0;S<c.length;S++)c[S]&&c[S].labelAutoFit&&(r=c[S].lineCoordinates.x1+(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0),m=0>c[S].labelAngle||0===c[S].labelAngle?r-W:m);if(b&&0<b.length)for(S=0;S<b.length;S++)b[S]&&b[S].labelAutoFit&&(r=b[S].lineCoordinates.x1+
|
|
720
|
+
(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0),m=r-W);a[f].lineCoordinates={x1:r-U,y1:h,x2:r-U,y2:l,height:Math.abs(l-h)};"inside"===a[f].labelPlacement&&(a[f].lineCoordinates.x1=a[f].lineCoordinates.x1-a[f].labelEffectiveWidth-5,a[f].lineCoordinates.x2=a[f].lineCoordinates.x1+a[f].lineThickness/2);"inside"===a[f].tickPlacement&&(a[f].lineCoordinates.x1-=a[f].tickLength,a[f].lineCoordinates.x2=a[f].lineCoordinates.x1+
|
|
721
|
+
a[f].lineThickness/2);a[f].bounds={x1:r-(E[f]+U),y1:h,x2:r-U,y2:l,height:l-h};a[f].bounds.width=a[f].bounds.x2-a[f].bounds.x1;a[f].title&&(a[f]._titleTextBlock.maxWidth=0<a[f].titleMaxWidth&&a[f].titleMaxWidth<a[f].lineCoordinates.height?a[f].titleMaxWidth:a[f].lineCoordinates.height);a[f].calculateValueToPixelConversionParameters();a[f].calculateBreaksSizeInValues();U+=E[f]+a[f].margin}if(d&&0<d.length)for(f=0;f<d.length;f++){aa=d[f]._labels&&0<d[f]._labels.length?d[f]._labels[0].textBlock.fontSize/
|
|
722
|
+
2:0;r=Math.round(g.x1-L);h=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:g.y1<Math.max(aa,10)?Math.max(aa,10):g.y1):g.y1<Math.max(aa,10)?Math.max(aa,10):g.y1;m=Math.round(g.x2-Y-L);l=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:g.y2-T>p.height-Math.max(aa,10)?p.height-Math.max(aa,10):g.y2-T):g.y2>p.height-Math.max(aa,10)?p.height-Math.max(aa,10):g.y2;if(c&&0<c.length)for(S=0;S<c.length;S++)c[S]&&c[S].labelAutoFit&&(m=c[S].lineCoordinates.x2-(d[0]?("inside"===d[0].labelPlacement?d[0].labelEffectiveWidth+
|
|
723
|
+
(p.isNavigator?0:5):0)+("inside"===d[0].tickPlacement?d[0].tickLength:0):0),r=0>c[S].labelAngle||0===c[S].labelAngle?m+Y:m);if(b&&0<b.length)for(S=0;S<b.length;S++)b[S]&&b[S].labelAutoFit&&(m=b[S].lineCoordinates.x2-(d[0]?("inside"===d[0].labelPlacement?d[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===d[0].tickPlacement?d[0].tickLength:0):0),r=m+Y);d[f].lineCoordinates={x1:m+F,y1:h,x2:m+F,y2:l,height:Math.abs(l-h)};"inside"===d[f].labelPlacement&&(d[f].lineCoordinates.x1=d[f].lineCoordinates.x1+
|
|
724
|
+
d[f].labelEffectiveWidth+(p.isNavigator?0:5),d[f].lineCoordinates.x2=d[f].lineCoordinates.x1+d[f].lineThickness/2);"inside"===d[f].tickPlacement&&(d[f].lineCoordinates.x1+=d[f].tickLength,d[f].lineCoordinates.x2=d[f].lineCoordinates.x1+d[f].lineThickness/2);d[f].bounds={x1:m+F,y1:h,x2:m+y[f]+F,y2:l,height:l-h};d[f].bounds.width=d[f].bounds.x2-d[f].bounds.x1;d[f].title&&(d[f]._titleTextBlock.maxWidth=0<d[f].titleMaxWidth&&d[f].titleMaxWidth<d[f].lineCoordinates.height?d[f].titleMaxWidth:d[f].lineCoordinates.height);
|
|
725
|
+
d[f].calculateValueToPixelConversionParameters();d[f].calculateBreaksSizeInValues();F+=y[f]+d[f].margin}for(f=0;f<q.length;f++)"axisY"===q[f].type&&(q[f].calculateValueToPixelConversionParameters(),q[f].calculateBreaksSizeInValues());if(0<x){if(a&&0<a.length)for(f=0;f<a.length;f++)u=Q[x-1][f]===Q[x][f]?!0:!1;else u=!0;if(d&&0<d.length)for(f=0;f<d.length;f++)H=R[x-1][f]===R[x][f]?!0:!1;else H=!0;if(c&&0<c.length)for(f=0;f<c.length;f++)J=t[x-1][f]===t[x][f]?!0:!1;else J=!0;if(b&&0<b.length)for(f=0;f<
|
|
726
|
+
b.length;f++)N=D[x-1][f]===D[x][f]?!0:!1;else N=!0}if(u&&H&&J&&N)break;x++}if(c&&0<c.length)for(f=0;f<c.length;f++)c[f].calculateStripLinesThicknessInValues(),c[f].calculateBreaksInPixels();if(b&&0<b.length)for(f=0;f<b.length;f++)b[f].calculateStripLinesThicknessInValues(),b[f].calculateBreaksInPixels();if(a&&0<a.length)for(f=0;f<a.length;f++)a[f].calculateStripLinesThicknessInValues(),a[f].calculateBreaksInPixels();if(d&&0<d.length)for(f=0;f<d.length;f++)d[f].calculateStripLinesThicknessInValues(),
|
|
727
|
+
d[f].calculateBreaksInPixels()}};y.render=function(a,d,c,b,e){var g=a[0]?a[0].chart:d[0].chart,m=g.ctx,h=[];h.push.apply(h,a);h.push.apply(h,d);h.push.apply(h,c);h.push.apply(h,b);g.alignVerticalAxes&&g.alignVerticalAxes();m.save();"normal"===e&&(m.beginPath(),a&&a.length&&m.rect(2,a[0].bounds.y1,a[0].chart.width-4,a[a.length-1].bounds.y2),d&&d.length&&m.rect(2,d[d.length-1].bounds.y1,d[0].chart.width-4,d[0].bounds.y2),m.clip());if(a&&0<a.length)for(e=0;e<a.length;e++)a[e].renderLabelsTicksAndTitle();
|
|
728
|
+
if(d&&0<d.length)for(e=0;e<d.length;e++)d[e].renderLabelsTicksAndTitle();m.restore();if(c&&0<c.length)for(e=0;e<c.length;e++)c[e].renderLabelsTicksAndTitle();if(b&&0<b.length)for(e=0;e<b.length;e++)b[e].renderLabelsTicksAndTitle();g.preparePlotArea();a=g.plotArea;m.save();m.beginPath();m.rect(a.x1,a.y1,Math.abs(a.x2-a.x1),Math.abs(a.y2-a.y1));m.clip();if(h&&0<h.length){for(e=0;e<h.length;e++)h[e].renderStripLinesOfThicknessType("value");for(e=0;e<h.length;e++)h[e].renderInterlacedColors()}m.restore();
|
|
729
|
+
m=!1;if(h&&0<h.length){for(e=0;e<h.length;e++)h[e].renderGrid(),u&&(h[e].createMask(),h[e].renderBreaksBackground());for(e=0;e<h.length;e++)h[e].renderAxisLine();for(e=0;e<h.length;e++)h[e].renderStripLinesOfThicknessType("pixel"),h[e].crosshair&&h[e].crosshair.enabled&&(m=!0,g.clearedOverlayedCanvas=h[e].type)}if(m||!m&&g.clearedOverlayedCanvas&&0<=g.clearedOverlayedCanvas.indexOf("axis"))g.resetOverlayedCanvas(),g.renderCrosshairs(null,!0)};y.prototype.calculateStripLinesThicknessInValues=function(){for(var a=
|
|
730
|
+
0;a<this.stripLines.length;a++)if(null!==this.stripLines[a].startValue&&null!==this.stripLines[a].endValue){var d=Math.min(this.stripLines[a].startValue,this.stripLines[a].endValue),c=Math.max(this.stripLines[a].startValue,this.stripLines[a].endValue),b=this.getApparentDifference(d,c);this.stripLines[a].value=this.convertPixelToValue((this.convertValueToPixel(d)+this.convertValueToPixel(c))/2);this.stripLines[a].thickness=b;this.stripLines[a]._thicknessType="value"}};y.prototype.calculateBreaksSizeInValues=
|
|
731
|
+
function(){for(var a="left"===this._position||"right"===this._position?this.lineCoordinates.height||this.chart.height:this.lineCoordinates.width||this.chart.width,d=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],c=this.conversionParameters.pixelPerUnit||a/(this.logarithmic?this.conversionParameters.maximum/this.conversionParameters.minimum:this.conversionParameters.maximum-this.conversionParameters.minimum),b=this.scaleBreaks&&!k(this.scaleBreaks.options.spacing),e,g=0;g<d.length;g++)e=b||!k(d[g].options.spacing),
|
|
732
|
+
d[g].spacing=Wa(d[g].spacing,a,8,e?0.1*a:8,e?0:3)<<0,d[g].size=0>d[g].spacing?0:Math.abs(d[g].spacing/c),this.logarithmic&&(d[g].size=Math.pow(this.logarithmBase,d[g].size))};y.prototype.calculateBreaksInPixels=function(){if(!(this.scaleBreaks&&0>=this.scaleBreaks._appliedBreaks.length)){var a=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];a.length&&(this.scaleBreaks.firstBreakIndex=this.scaleBreaks.lastBreakIndex=null);for(var d=0;d<a.length&&!(a[d].startValue>this.conversionParameters.maximum);d++)a[d].endValue<
|
|
733
|
+
this.conversionParameters.minimum||(k(this.scaleBreaks.firstBreakIndex)&&(this.scaleBreaks.firstBreakIndex=d),a[d].startValue>=this.conversionParameters.minimum&&(a[d].startPixel=this.convertValueToPixel(a[d].startValue),this.scaleBreaks.lastBreakIndex=d),a[d].endValue<=this.conversionParameters.maximum&&(a[d].endPixel=this.convertValueToPixel(a[d].endValue)))}};y.prototype.renderLabelsTicksAndTitle=function(){var a=this,d=!1,c=0,b=0,e=1,g=0;0!==this.labelAngle&&360!==this.labelAngle&&(e=1.2);if("undefined"===
|
|
734
|
+
typeof this.options.interval){if("bottom"===this._position||"top"===this._position)if(this.logarithmic&&!this.equidistantInterval&&this.labelAutoFit){for(var c=[],e=0!==this.labelAngle&&360!==this.labelAngle?1:1.2,m,h=this.viewportMaximum,k=this.lineCoordinates.width/Math.log(this.range),l=this._labels.length-1;0<=l;l--){n=this._labels[l];if(n.position<this.viewportMinimum)break;n.position>this.viewportMaximum||!(l===this._labels.length-1||m<Math.log(h/n.position)*k/e)||(c.push(n),h=n.position,m=
|
|
735
|
+
n.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+n.textBlock.height*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(l=0;l<this._labels.length;l++)n=this._labels[l],n.position<this.viewportMinimum||(m=n.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+n.textBlock.height*Math.abs(Math.sin(Math.PI/180*this.labelAngle)),c+=m);c>this.lineCoordinates.width*e&&this.labelAutoFit&&(d=!0)}if("left"===this._position||"right"===this._position)if(this.logarithmic&&
|
|
736
|
+
!this.equidistantInterval&&this.labelAutoFit){for(var c=[],p,h=this.viewportMaximum,k=this.lineCoordinates.height/Math.log(this.range),l=this._labels.length-1;0<=l;l--){n=this._labels[l];if(n.position<this.viewportMinimum)break;n.position>this.viewportMaximum||!(l===this._labels.length-1||p<Math.log(h/n.position)*k)||(c.push(n),h=n.position,p=n.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+n.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(l=
|
|
737
|
+
0;l<this._labels.length;l++)n=this._labels[l],n.position<this.viewportMinimum||(p=n.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+n.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)),b+=p);b>this.lineCoordinates.height*e&&this.labelAutoFit&&(d=!0)}}this.logarithmic&&(!this.equidistantInterval&&this.labelAutoFit)&&this._labels.sort(function(a,b){return a.position-b.position});var l=0,n,q;if("bottom"===this._position){for(l=0;l<this._labels.length;l++)n=this._labels[l],
|
|
738
|
+
n.position<this.viewportMinimum||n.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(n.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(q.x<<0)+0.5:q.x<<0,this.ctx.beginPath(),this.ctx.moveTo(b,q.y<<0),this.ctx.lineTo(b,q.y+this.tickLength<<0),this.ctx.stroke()),d&&0!==g++%2&&this.labelAutoFit||(0===n.textBlock.angle?(q.x-=n.textBlock.width/2,q.y="inside"===this.labelPlacement?
|
|
739
|
+
q.y-(("inside"===this.tickPlacement?this.tickLength:0)+n.textBlock.height-n.textBlock._lineHeight/2+2):q.y+("inside"===this.tickPlacement?0:this.tickLength)+n.textBlock._lineHeight/2+5):0>this.labelAngle?(q.x=q.x-("inside"===this.labelPlacement?0:n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle))+n.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),q.y="inside"===this.labelPlacement?q.y-("inside"===this.tickPlacement?this.tickLength:0)-2-(n.textBlock.height-n.textBlock._lineHeight/2)*
|
|
740
|
+
Math.cos(Math.PI/180*this.labelAngle):q.y+("inside"===this.tickPlacement?0:this.tickLength)+5+Math.abs(n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)-n.textBlock._lineHeight/2*Math.cos(Math.PI/180*this.labelAngle))):(q.x=q.x-("inside"===this.labelPlacement?n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0)+n.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),q.y="inside"===this.labelPlacement?q.y-("inside"===this.tickPlacement?this.tickLength:0)-2-n.textBlock.width*Math.sin(Math.PI/
|
|
741
|
+
180*this.labelAngle)-(n.textBlock.height-n.textBlock._lineHeight/2)*Math.cos(Math.PI/180*this.labelAngle):q.y+("inside"===this.tickPlacement?0:this.tickLength)+5+Math.abs(n.textBlock._lineHeight/2*Math.cos(Math.PI/180*this.labelAngle))),n.textBlock.x=q.x,n.textBlock.y=q.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(l=0;l<a._labels.length;l++)if(n=a._labels[l],!(n.position<a.viewportMinimum||n.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(n.position),
|
|
742
|
+
a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(q.x<<0)+0.5:q.x<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(b,q.y<<0);a.ctx.lineTo(b,q.y-a.tickLength<<0);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.lineCoordinates.x1+this.lineCoordinates.width/2-this._titleTextBlock.width/2,this._titleTextBlock.y=this.bounds.y2-this._titleTextBlock.height+this._titleTextBlock._lineHeight/
|
|
743
|
+
2-1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("top"===this._position){for(l=0;l<this._labels.length;l++)n=this._labels[l],n.position<this.viewportMinimum||n.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(n.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(q.x<<0)+0.5:q.x<<0,this.ctx.beginPath(),this.ctx.moveTo(b,q.y<<0),
|
|
744
|
+
this.ctx.lineTo(b,q.y-this.tickLength<<0),this.ctx.stroke()),d&&0!==g++%2&&this.labelAutoFit||(0===n.textBlock.angle?(q.x-=n.textBlock.width/2,q.y="inside"===this.labelPlacement?q.y+n.textBlock._lineHeight/2+("inside"===this.tickPlacement?this.tickLength:0)+5:q.y-(("inside"===this.tickPlacement?0:this.tickLength)+n.textBlock.height-n.textBlock._lineHeight/2)-2):0>this.labelAngle?(q.x=q.x-("inside"===this.labelPlacement?n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0)+n.textBlock.topPadding*
|
|
745
|
+
Math.sin(Math.PI/180*this.labelAngle),q.y="inside"===this.labelPlacement?q.y+("inside"===this.tickPlacement?this.tickLength:0)+5-n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+n.textBlock._lineHeight/2*Math.cos(Math.PI/180*this.labelAngle):q.y-("inside"===this.tickPlacement?0:this.tickLength)-2-(n.textBlock.height-n.textBlock._lineHeight/2)*Math.cos(Math.PI/180*this.labelAngle)):(q.x=q.x-("inside"===this.labelPlacement?0:n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle))+n.textBlock.topPadding*
|
|
746
|
+
Math.sin(Math.PI/180*this.labelAngle),q.y="inside"===this.labelPlacement?q.y+("inside"===this.tickPlacement?this.tickLength:0)+5+n.textBlock._lineHeight/2*Math.cos(Math.PI/180*this.labelAngle):q.y-("inside"===this.tickPlacement?0:this.tickLength)-2-((n.textBlock.height-n.textBlock._lineHeight/2)*Math.cos(Math.PI/180*this.labelAngle)+n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle))),n.textBlock.x=q.x,n.textBlock.y=q.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",
|
|
747
|
+
function(){for(l=0;l<a._labels.length;l++)if(n=a._labels[l],!(n.position<a.viewportMinimum||n.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(n.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(q.x<<0)+0.5:q.x<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(b,q.y<<0);a.ctx.lineTo(b,q.y+a.tickLength<<0);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.lineCoordinates.x1+
|
|
748
|
+
this.lineCoordinates.width/2-this._titleTextBlock.width/2,this._titleTextBlock.y=this.bounds.y1+this._titleTextBlock._lineHeight/2+1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("left"===this._position){for(l=0;l<this._labels.length;l++)n=this._labels[l],n.position<this.viewportMinimum||n.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(n.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,
|
|
749
|
+
this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0,this.ctx.beginPath(),this.ctx.moveTo(q.x<<0,b),this.ctx.lineTo(q.x-this.tickLength<<0,b),this.ctx.stroke()),d&&0!==g++%2&&this.labelAutoFit||(0===this.labelAngle?(n.textBlock.y=q.y-n.textBlock.topPadding,n.textBlock.x="inside"===this.labelPlacement?q.x+("inside"===this.tickPlacement?this.tickLength:0)+5:q.x-n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength)-5):
|
|
750
|
+
0>this.labelAngle?(n.textBlock.y=("inside"===this.labelPlacement?q.y:q.y-n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle))-n.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),n.textBlock.x="inside"===this.labelPlacement?q.x-n.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?this.tickLength:0)+5:q.x-n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+(n.textBlock.height-n.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)-("inside"===
|
|
751
|
+
this.tickPlacement?0:this.tickLength)-5):(n.textBlock.y=("inside"===this.labelPlacement?q.y:q.y-n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle))-n.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),n.textBlock.x="inside"===this.labelPlacement?q.x+(n.textBlock.height-n.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?this.tickLength:0)+5:q.x-n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-n.textBlock.fontSize/2*Math.sin(Math.PI/180*
|
|
752
|
+
this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength)-5)));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(l=0;l<a._labels.length;l++)if(n=a._labels[l],!(n.position<a.viewportMinimum||n.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(n.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(q.x<<
|
|
753
|
+
0,b);a.ctx.lineTo(q.x+a.tickLength<<0,b);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.bounds.x1+this._titleTextBlock._lineHeight/2,this._titleTextBlock.y=this.lineCoordinates.height/2+this._titleTextBlock.width/2+this.lineCoordinates.y1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("right"===this._position){for(l=0;l<this._labels.length;l++)n=this._labels[l],n.position<this.viewportMinimum||
|
|
754
|
+
n.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(n.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0,this.ctx.beginPath(),this.ctx.moveTo(q.x<<0,b),this.ctx.lineTo(q.x+this.tickLength<<0,b),this.ctx.stroke()),d&&0!==g++%2&&this.labelAutoFit||(0===this.labelAngle?(n.textBlock.y=q.y-n.textBlock.topPadding,n.textBlock.x="inside"===this.labelPlacement?q.x-
|
|
755
|
+
n.textBlock.width-("inside"===this.tickPlacement?this.tickLength:0)-5:q.x+("inside"===this.tickPlacement?0:this.tickLength)+5):0>this.labelAngle?(n.textBlock.y=("inside"===this.labelPlacement?q.y-n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):q.y)-n.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),n.textBlock.x="inside"===this.labelPlacement?q.x-n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+(n.textBlock.height-n.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)-
|
|
756
|
+
("inside"===this.tickPlacement?this.tickLength:0)-5:q.x-n.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?0:this.tickLength)+5):(n.textBlock.y=("inside"===this.labelPlacement?q.y-n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):q.y)-n.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),n.textBlock.x="inside"===this.labelPlacement?q.x-n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-n.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle)-
|
|
757
|
+
("inside"===this.tickPlacement?this.tickLength:0)-5:q.x+(n.textBlock.height-n.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?0:this.tickLength)+5)));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(l=0;l<a._labels.length;l++)if(n=a._labels[l],!(n.position<a.viewportMinimum||n.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(n.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=
|
|
758
|
+
a.tickColor;var b=1===a.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(q.x<<0,b);a.ctx.lineTo(q.x-a.tickLength<<0,b);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.bounds.x2-this._titleTextBlock._lineHeight/2,this._titleTextBlock.y=this.lineCoordinates.height/2-this._titleTextBlock.width/2+this.lineCoordinates.y1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}g=0;
|
|
759
|
+
if("inside"===this.labelPlacement)this.chart.addEventListener("dataAnimationIterationEnd",function(){for(l=0;l<a._labels.length;l++)n=a._labels[l],n.position<a.viewportMinimum||(n.position>a.viewportMaximum||d&&0!==g++%2&&a.labelAutoFit)||(a.ctx.save(),a.ctx.beginPath(),n.textBlock.render(!0),a.ctx.restore())},this);else for(l=0;l<this._labels.length;l++)n=this._labels[l],n.position<this.viewportMinimum||(n.position>this.viewportMaximum||d&&0!==g++%2&&this.labelAutoFit)||n.textBlock.render(!0)};y.prototype.renderInterlacedColors=
|
|
760
|
+
function(){var a=this.chart.plotArea.ctx,d,c,b=this.chart.plotArea,e=0;d=!0;if(("bottom"===this._position||"top"===this._position)&&this.interlacedColor)for(a.fillStyle=this.interlacedColor,e=0;e<this._labels.length;e++)d?(d=this.getPixelCoordinatesOnAxis(this._labels[e].position),c=e+1>this._labels.length-1?this.getPixelCoordinatesOnAxis(this.viewportMaximum):this.getPixelCoordinatesOnAxis(this._labels[e+1].position),a.fillRect(Math.min(c.x,d.x),b.y1,Math.abs(c.x-d.x),Math.abs(b.y1-b.y2)),d=!1):
|
|
761
|
+
d=!0;else if(("left"===this._position||"right"===this._position)&&this.interlacedColor)for(a.fillStyle=this.interlacedColor,e=0;e<this._labels.length;e++)d?(c=this.getPixelCoordinatesOnAxis(this._labels[e].position),d=e+1>this._labels.length-1?this.getPixelCoordinatesOnAxis(this.viewportMaximum):this.getPixelCoordinatesOnAxis(this._labels[e+1].position),a.fillRect(b.x1,Math.min(c.y,d.y),Math.abs(b.x1-b.x2),Math.abs(d.y-c.y)),d=!1):d=!0;a.beginPath()};y.prototype.renderStripLinesOfThicknessType=function(a){if(this.stripLines&&
|
|
762
|
+
0<this.stripLines.length&&a){var d=this,c,b,e=0,g=0,m=!1;b=!1;for(var h=[],r=[],l=!1,p,e=0;e<this.stripLines.length;e++){var n=this.stripLines[e];n._thicknessType===a&&("pixel"===a&&(n.value<this.viewportMinimum||n.value>this.viewportMaximum||k(n.value)||isNaN(this.range))||"value"===a&&(n.startValue<=this.viewportMinimum&&n.endValue<=this.viewportMinimum||n.startValue>=this.viewportMaximum&&n.endValue>=this.viewportMaximum||k(n.startValue)||k(n.endValue)||isNaN(this.range))||h.push(n))}for(e=0;e<
|
|
763
|
+
this._stripLineLabels.length;e++)if(n=this.stripLines[e],c=this._stripLineLabels[e],!(c.position<this.viewportMinimum||c.position>this.viewportMaximum||isNaN(this.range)))if(b=this.getPixelCoordinatesOnAxis(c.position),"outside"===c.stripLine.labelPlacement){n&&(this.ctx.strokeStyle=n.tickColor?n.tickColor:n.color,this.ctx.lineWidth=n.tickThickness=k(n.tickThickness)?"pixel"===n._thicknessType?n.thickness:this.thickness:n.tickThickness,k(n.opacity)||"pixel"!==n._thicknessType||(p=n.ctx.globalAlpha,
|
|
764
|
+
n.ctx.globalAlpha=n.opacity));if("bottom"===this._position){var q=1===this.ctx.lineWidth%2?(b.x<<0)+0.5:b.x<<0;0<n.tickThickness&&(this.ctx.beginPath(),this.ctx.moveTo(q,b.y<<0),this.ctx.lineTo(q,b.y+n.tickLength<<0),this.ctx.stroke());0===this.labelAngle?(b.x-=c.textBlock.width/2,b.y+=n.tickLength+c.textBlock.fontSize/2+5):(b.x-=(0>this.labelAngle?c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0)-c.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),b.y+=n.tickLength+5+(0>this.labelAngle?
|
|
765
|
+
Math.abs(c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)-c.textBlock.fontSize/2*Math.cos(Math.PI/180*this.labelAngle)):Math.abs(c.textBlock.fontSize/2*Math.cos(Math.PI/180*this.labelAngle))))}else"top"===this._position?(q=1===this.ctx.lineWidth%2?(b.x<<0)+0.5:b.x<<0,0<n.tickThickness&&(this.ctx.beginPath(),this.ctx.moveTo(q,b.y<<0),this.ctx.lineTo(q,b.y-n.tickLength<<0),this.ctx.stroke()),0===this.labelAngle?(b.x-=c.textBlock.width/2,b.y-=n.tickLength+c.textBlock.height-c.textBlock.fontSize/
|
|
766
|
+
2):(b.x-=(0<this.labelAngle?c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0)-c.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),b.y-=n.tickLength+2+(0<this.labelAngle?(c.textBlock.height-c.textBlock.fontSize/2)*Math.cos(Math.PI/180*this.labelAngle)+c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):(c.textBlock.height-c.textBlock.fontSize/2)*Math.cos(Math.PI/180*this.labelAngle)))):"left"===this._position?(q=1===this.ctx.lineWidth%2?(b.y<<0)+0.5:b.y<<0,0<n.tickThickness&&
|
|
767
|
+
(this.ctx.beginPath(),this.ctx.moveTo(b.x<<0,q),this.ctx.lineTo(b.x-n.tickLength<<0,q),this.ctx.stroke()),0===this.labelAngle?(b.x=b.x-c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-n.tickLength-5,b.y-=c.textBlock.topPadding):(b.y-=c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+c.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),b.x-=n.tickLength+5+(0<this.labelAngle?c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+c.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle):
|
|
768
|
+
c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-(c.textBlock.height-c.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)))):"right"===this._position&&(q=1===this.ctx.lineWidth%2?(b.y<<0)+0.5:b.y<<0,0<n.tickThickness&&(this.ctx.beginPath(),this.ctx.moveTo(b.x<<0,q),this.ctx.lineTo(b.x+n.tickLength<<0,q),this.ctx.stroke()),0===this.labelAngle?(b.x=b.x+n.tickLength+5,b.y-=c.textBlock.topPadding):(b.y-=c.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),b.x=n.tickLength+5+(0<
|
|
769
|
+
this.labelAngle?b.x+(c.textBlock.height-c.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle):b.x-c.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle))));p&&(n.ctx.globalAlpha=p);c.textBlock.x=b.x;c.textBlock.y=b.y;r.push(c)}else n._thicknessType===a&&(c.textBlock.angle=-90,"bottom"===this._position?(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.height-3,c.textBlock.measureText(),b.x-c.textBlock.height-n.thickness/
|
|
770
|
+
2>this.chart.plotArea.x1?k(n.startValue)?b.x-=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.x-=c.textBlock.height/2-c.textBlock.fontSize/2:(c.textBlock.angle=90,k(n.startValue)?b.x+=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.x+=c.textBlock.height/2-c.textBlock.fontSize/2),b.y=-90===c.textBlock.angle?"near"===c.stripLine.labelAlign?this.chart.plotArea.y2-3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1+c.textBlock.width)/2:this.chart.plotArea.y1+
|
|
771
|
+
c.textBlock.width+3:"near"===c.stripLine.labelAlign?this.chart.plotArea.y2-c.textBlock.width-3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1-c.textBlock.width)/2:this.chart.plotArea.y1+3):"top"===this._position?(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.height-3,c.textBlock.measureText(),b.x-c.textBlock.height-n.thickness/2>this.chart.plotArea.x1?k(n.startValue)?b.x-=c.textBlock.height-
|
|
772
|
+
c.textBlock.fontSize/2+n.thickness/2:b.x-=c.textBlock.height/2-c.textBlock.fontSize/2:(c.textBlock.angle=90,k(n.startValue)?b.x+=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.x+=c.textBlock.height/2-c.textBlock.fontSize/2),b.y=-90===c.textBlock.angle?"near"===c.stripLine.labelAlign?this.chart.plotArea.y1+c.textBlock.width+3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1+c.textBlock.width)/2:this.chart.plotArea.y2-3:"near"===c.stripLine.labelAlign?this.chart.plotArea.y1+
|
|
773
|
+
3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1-c.textBlock.width)/2:this.chart.plotArea.y2-c.textBlock.width-3):"left"===this._position?(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.width-3,c.textBlock.angle=0,c.textBlock.measureText(),b.y-c.textBlock.height-n.thickness/2>this.chart.plotArea.y1?k(n.startValue)?b.y-=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.y-=c.textBlock.height/
|
|
774
|
+
2-c.textBlock.fontSize/2:k(n.startValue)?b.y+=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.y+=c.textBlock.height/2-c.textBlock.fontSize+3,b.x="near"===c.stripLine.labelAlign?this.chart.plotArea.x1+3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.x2+this.chart.plotArea.x1)/2-c.textBlock.width/2:this.chart.plotArea.x2-c.textBlock.width-3):"right"===this._position&&(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.width-
|
|
775
|
+
3,c.textBlock.angle=0,c.textBlock.measureText(),b.y-c.textBlock.height-n.thickness/2>this.chart.plotArea.y1?k(n.startValue)?b.y-=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.y-=c.textBlock.height/2-c.textBlock.fontSize/2:k(n.startValue)?b.y+=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.y-=c.textBlock.height/2-c.textBlock.fontSize/2+3,b.x="near"===c.stripLine.labelAlign?this.chart.plotArea.x2-c.textBlock.width-3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.x2+this.chart.plotArea.x1)/
|
|
776
|
+
2-c.textBlock.width/2:this.chart.plotArea.x1+3),c.textBlock.x=b.x,c.textBlock.y=b.y,r.push(c));if(!l){b=!1;this.ctx.save();this.ctx.beginPath();this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.ctx.clip();for(e=0;e<h.length;e++)n=h[e],n.showOnTop?m||(m=!0,this.chart.addEventListener("dataAnimationIterationEnd",function(){this.ctx.save();this.ctx.beginPath();this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,
|
|
777
|
+
this.chart.plotArea.height);this.ctx.clip();for(g=0;g<h.length;g++)n=h[g],n.showOnTop&&n.render();this.ctx.restore()},n)):n.render();for(e=0;e<r.length;e++)c=r[e],c.stripLine.showOnTop?b||(b=!0,this.chart.addEventListener("dataAnimationIterationEnd",function(){for(g=0;g<r.length;g++)c=r[g],"inside"===c.stripLine.labelPlacement&&c.stripLine.showOnTop&&(d.ctx.save(),d.ctx.beginPath(),d.ctx.rect(d.chart.plotArea.x1,d.chart.plotArea.y1,d.chart.plotArea.width,d.chart.plotArea.height),d.ctx.clip(),c.textBlock.render(!0),
|
|
778
|
+
d.ctx.restore())},c.textBlock)):"inside"===c.stripLine.labelPlacement&&c.textBlock.render(!0);this.ctx.restore();l=!0}if(l)for(b=!1,e=0;e<r.length;e++)c=r[e],"outside"===c.stripLine.labelPlacement&&c.textBlock.render(!0)}};y.prototype.renderBreaksBackground=function(){this.chart._breaksCanvas&&(this.scaleBreaks&&0<this.scaleBreaks._appliedBreaks.length&&this.maskCanvas)&&(this.chart._breaksCanvasCtx.save(),this.chart._breaksCanvasCtx.beginPath(),this.chart._breaksCanvasCtx.rect(this.chart.plotArea.x1,
|
|
779
|
+
this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height),this.chart._breaksCanvasCtx.clip(),this.chart._breaksCanvasCtx.drawImage(this.maskCanvas,0,0,this.chart.width,this.chart.height),this.chart._breaksCanvasCtx.restore())};y.prototype.createMask=function(){if(this.scaleBreaks&&0<this.scaleBreaks._appliedBreaks.length){var a=this.scaleBreaks._appliedBreaks;u?(this.maskCanvas=va(this.chart.width,this.chart.height),this.maskCtx=this.maskCanvas.getContext("2d")):(this.maskCanvas=
|
|
780
|
+
this.chart.plotArea.canvas,this.maskCtx=this.chart.plotArea.ctx);this.maskCtx.save();this.maskCtx.beginPath();this.maskCtx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.maskCtx.clip();for(var d=0;d<a.length;d++)a[d].endValue<this.viewportMinimum||(a[d].startValue>this.viewportMaximum||isNaN(this.range))||a[d].render(this.maskCtx);this.maskCtx.restore()}};y.prototype.renderCrosshair=function(a,d){isFinite(this.minimum)&&isFinite(this.maximum)&&
|
|
781
|
+
this.crosshair.render(a,d)};y.prototype.showCrosshair=function(a){k(a)||(a<this.viewportMinimum||a>this.viewportMaximum)||("top"===this._position||"bottom"===this._position?this.crosshair.render(this.convertValueToPixel(a),null,a):this.crosshair.render(null,this.convertValueToPixel(a),a))};y.prototype.renderGrid=function(){if(this.gridThickness&&0<this.gridThickness){var a=this.chart.ctx;a.save();var d,c=this.chart.plotArea;a.lineWidth=this.gridThickness;a.strokeStyle=this.gridColor;a.setLineDash&&
|
|
782
|
+
a.setLineDash(J(this.gridDashType,this.gridThickness));if("bottom"===this._position||"top"===this._position)for(b=0;b<this._labels.length;b++)this._labels[b].position<this.viewportMinimum||(this._labels[b].position>this.viewportMaximum||this._labels[b].breaksLabelType)||(a.beginPath(),d=this.getPixelCoordinatesOnAxis(this._labels[b].position),d=1===a.lineWidth%2?(d.x<<0)+0.5:d.x<<0,a.moveTo(d,c.y1<<0),a.lineTo(d,c.y2<<0),a.stroke());else if("left"===this._position||"right"===this._position)for(var b=
|
|
783
|
+
0;b<this._labels.length;b++)this._labels[b].position<this.viewportMinimum||(this._labels[b].position>this.viewportMaximum||this._labels[b].breaksLabelType)||(a.beginPath(),d=this.getPixelCoordinatesOnAxis(this._labels[b].position),d=1===a.lineWidth%2?(d.y<<0)+0.5:d.y<<0,a.moveTo(c.x1<<0,d),a.lineTo(c.x2<<0,d),a.stroke());a.restore()}};y.prototype.renderAxisLine=function(){var a=this.chart.ctx,d=u?this.chart._preRenderCtx:a,c=Math.ceil(this.tickThickness/(this.reversed?-2:2)),b=Math.ceil(this.tickThickness/
|
|
784
|
+
(this.reversed?2:-2)),e,g;d.save();if("bottom"===this._position||"top"===this._position){if(this.lineThickness){this.reversed?(e=this.lineCoordinates.x2,g=this.lineCoordinates.x1):(e=this.lineCoordinates.x1,g=this.lineCoordinates.x2);d.lineWidth=this.lineThickness;d.strokeStyle=this.lineColor?this.lineColor:"black";d.setLineDash&&d.setLineDash(J(this.lineDashType,this.lineThickness));var m=1===this.lineThickness%2?(this.lineCoordinates.y1<<0)+0.5:this.lineCoordinates.y1<<0;d.beginPath();if(this.scaleBreaks&&
|
|
785
|
+
!k(this.scaleBreaks.firstBreakIndex))if(k(this.scaleBreaks.lastBreakIndex))e=this.scaleBreaks._appliedBreaks[this.scaleBreaks.firstBreakIndex].endPixel+b;else for(var h=this.scaleBreaks.firstBreakIndex;h<=this.scaleBreaks.lastBreakIndex;h++)d.moveTo(e,m),d.lineTo(this.scaleBreaks._appliedBreaks[h].startPixel+c,m),e=this.scaleBreaks._appliedBreaks[h].endPixel+b;e&&(d.moveTo(e,m),d.lineTo(g,m));d.stroke()}}else if(("left"===this._position||"right"===this._position)&&this.lineThickness){this.reversed?
|
|
786
|
+
(e=this.lineCoordinates.y1,g=this.lineCoordinates.y2):(e=this.lineCoordinates.y2,g=this.lineCoordinates.y1);d.lineWidth=this.lineThickness;d.strokeStyle=this.lineColor;d.setLineDash&&d.setLineDash(J(this.lineDashType,this.lineThickness));m=1===this.lineThickness%2?(this.lineCoordinates.x1<<0)+0.5:this.lineCoordinates.x1<<0;d.beginPath();if(this.scaleBreaks&&!k(this.scaleBreaks.firstBreakIndex))if(k(this.scaleBreaks.lastBreakIndex))e=this.scaleBreaks._appliedBreaks[this.scaleBreaks.firstBreakIndex].endPixel+
|
|
787
|
+
c;else for(h=this.scaleBreaks.firstBreakIndex;h<=this.scaleBreaks.lastBreakIndex;h++)d.moveTo(m,e),d.lineTo(m,this.scaleBreaks._appliedBreaks[h].startPixel+b),e=this.scaleBreaks._appliedBreaks[h].endPixel+c;e&&(d.moveTo(m,e),d.lineTo(m,g));d.stroke()}u&&(a.drawImage(this.chart._preRenderCanvas,0,0,this.chart.width,this.chart.height),this.chart._breaksCanvasCtx&&this.chart._breaksCanvasCtx.drawImage(this.chart._preRenderCanvas,0,0,this.chart.width,this.chart.height),d.clearRect(0,0,this.chart.width,
|
|
788
|
+
this.chart.height));d.restore()};y.prototype.getPixelCoordinatesOnAxis=function(a){var d={};if("bottom"===this._position||"top"===this._position)d.x=this.convertValueToPixel(a),d.y=this.lineCoordinates.y1;if("left"===this._position||"right"===this._position)d.y=this.convertValueToPixel(a),d.x=this.lineCoordinates.x2;return d};y.prototype.convertPixelToValue=function(a){if("undefined"===typeof a)return null;var d=0,c=0,b,d=!0,e=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],c="number"===typeof a?
|
|
789
|
+
a:"left"===this._position||"right"===this._position?a.y:a.x;if(this.logarithmic){a=b=Math.pow(this.logarithmBase,(c-this.conversionParameters.reference)/this.conversionParameters.pixelPerUnit);if(c<=this.conversionParameters.reference===("left"===this._position||"right"===this._position)!==this.reversed)for(c=0;c<e.length;c++){if(!(e[c].endValue<this.conversionParameters.minimum))if(d)if(e[c].startValue<this.conversionParameters.minimum){if(1<e[c].size&&this.conversionParameters.minimum*Math.pow(e[c].endValue/
|
|
790
|
+
e[c].startValue,Math.log(b)/Math.log(e[c].size))<e[c].endValue){a=Math.pow(e[c].endValue/e[c].startValue,Math.log(b)/Math.log(e[c].size));break}else a*=e[c].endValue/this.conversionParameters.minimum/Math.pow(e[c].size,Math.log(e[c].endValue/this.conversionParameters.minimum)/Math.log(e[c].endValue/e[c].startValue)),b/=Math.pow(e[c].size,Math.log(e[c].endValue/this.conversionParameters.minimum)/Math.log(e[c].endValue/e[c].startValue));d=!1}else if(b>e[c].startValue/this.conversionParameters.minimum){b/=
|
|
791
|
+
e[c].startValue/this.conversionParameters.minimum;if(b<e[c].size){a*=Math.pow(e[c].endValue/e[c].startValue,1===e[c].size?1:Math.log(b)/Math.log(e[c].size))/b;break}else a*=e[c].endValue/e[c].startValue/e[c].size;b/=e[c].size;d=!1}else break;else if(b>e[c].startValue/e[c-1].endValue){b/=e[c].startValue/e[c-1].endValue;if(b<e[c].size){a*=Math.pow(e[c].endValue/e[c].startValue,1===e[c].size?1:Math.log(b)/Math.log(e[c].size))/b;break}else a*=e[c].endValue/e[c].startValue/e[c].size;b/=e[c].size}else break}else for(c=
|
|
792
|
+
e.length-1;0<=c;c--)if(!(e[c].startValue>this.conversionParameters.minimum))if(d)if(e[c].endValue>this.conversionParameters.minimum){if(1<e[c].size&&this.conversionParameters.minimum*Math.pow(e[c].endValue/e[c].startValue,Math.log(b)/Math.log(e[c].size))>e[c].startValue){a=Math.pow(e[c].endValue/e[c].startValue,Math.log(b)/Math.log(e[c].size));break}else a*=e[c].startValue/this.conversionParameters.minimum*Math.pow(e[c].size,Math.log(e[c].startValue/this.conversionParameters.minimum)/Math.log(e[c].endValue/
|
|
793
|
+
e[c].startValue))*b,b*=Math.pow(e[c].size,Math.log(this.conversionParameters.minimum/e[c].startValue)/Math.log(e[c].endValue/e[c].startValue));d=!1}else if(b<e[c].endValue/this.conversionParameters.minimum){b/=e[c].endValue/this.conversionParameters.minimum;if(b>1/e[c].size){a*=Math.pow(e[c].endValue/e[c].startValue,1>=e[c].size?1:Math.log(b)/Math.log(e[c].size))*b;break}else a/=e[c].endValue/e[c].startValue/e[c].size;b*=e[c].size;d=!1}else break;else if(b<e[c].endValue/e[c+1].startValue){b/=e[c].endValue/
|
|
794
|
+
e[c+1].startValue;if(b>1/e[c].size){a*=Math.pow(e[c].endValue/e[c].startValue,1>=e[c].size?1:Math.log(b)/Math.log(e[c].size))*b;break}else a/=e[c].endValue/e[c].startValue/e[c].size;b*=e[c].size}else break;d=a*this.viewportMinimum}else{a=b=(c-this.conversionParameters.reference)/this.conversionParameters.pixelPerUnit;if(c<=this.conversionParameters.reference===("left"===this._position||"right"===this._position)!==this.reversed)for(c=0;c<e.length;c++){if(!(e[c].endValue<this.conversionParameters.minimum))if(d)if(e[c].startValue<
|
|
795
|
+
this.conversionParameters.minimum){if(e[c].size&&this.conversionParameters.minimum+b*(e[c].endValue-e[c].startValue)/e[c].size<e[c].endValue){a=0>=e[c].size?0:b*(e[c].endValue-e[c].startValue)/e[c].size;break}else a+=e[c].endValue-this.conversionParameters.minimum-e[c].size*(e[c].endValue-this.conversionParameters.minimum)/(e[c].endValue-e[c].startValue),b-=e[c].size*(e[c].endValue-this.conversionParameters.minimum)/(e[c].endValue-e[c].startValue);d=!1}else if(b>e[c].startValue-this.conversionParameters.minimum){b-=
|
|
796
|
+
e[c].startValue-this.conversionParameters.minimum;if(b<e[c].size){a+=(e[c].endValue-e[c].startValue)*(0===e[c].size?1:b/e[c].size)-b;break}else a+=e[c].endValue-e[c].startValue-e[c].size;b-=e[c].size;d=!1}else break;else if(b>e[c].startValue-e[c-1].endValue){b-=e[c].startValue-e[c-1].endValue;if(b<e[c].size){a+=(e[c].endValue-e[c].startValue)*(0===e[c].size?1:b/e[c].size)-b;break}else a+=e[c].endValue-e[c].startValue-e[c].size;b-=e[c].size}else break}else for(c=e.length-1;0<=c;c--)if(!(e[c].startValue>
|
|
797
|
+
this.conversionParameters.minimum))if(d)if(e[c].endValue>this.conversionParameters.minimum)if(e[c].size&&this.conversionParameters.minimum+b*(e[c].endValue-e[c].startValue)/e[c].size>e[c].startValue){a=0>=e[c].size?0:b*(e[c].endValue-e[c].startValue)/e[c].size;break}else a+=e[c].startValue-this.conversionParameters.minimum+e[c].size*(this.conversionParameters.minimum-e[c].startValue)/(e[c].endValue-e[c].startValue),b+=e[c].size*(this.conversionParameters.minimum-e[c].startValue)/(e[c].endValue-e[c].startValue),
|
|
798
|
+
d=!1;else if(b<e[c].endValue-this.conversionParameters.minimum){b-=e[c].endValue-this.conversionParameters.minimum;if(b>-1*e[c].size){a+=(e[c].endValue-e[c].startValue)*(0===e[c].size?1:b/e[c].size)+b;break}else a-=e[c].endValue-e[c].startValue-e[c].size;b+=e[c].size;d=!1}else break;else if(b<e[c].endValue-e[c+1].startValue){b-=e[c].endValue-e[c+1].startValue;if(b>-1*e[c].size){a+=(e[c].endValue-e[c].startValue)*(0===e[c].size?1:b/e[c].size)+b;break}else a-=e[c].endValue-e[c].startValue-e[c].size;
|
|
799
|
+
b+=e[c].size}else break;d=this.conversionParameters.minimum+a}return d};y.prototype.convertValueToPixel=function(a){a=this.getApparentDifference(this.conversionParameters.minimum,a,a);return this.logarithmic?this.conversionParameters.reference+this.conversionParameters.pixelPerUnit*Math.log(a/this.conversionParameters.minimum)/this.conversionParameters.lnLogarithmBase+0.5<<0:"axisX"===this.type?this.conversionParameters.reference+this.conversionParameters.pixelPerUnit*(a-this.conversionParameters.minimum)+
|
|
800
|
+
0.5<<0:this.conversionParameters.reference+this.conversionParameters.pixelPerUnit*(a-this.conversionParameters.minimum)+0.5};y.prototype.getApparentDifference=function(a,d,c,b){var e=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];if(this.logarithmic){c=k(c)?d/a:c;for(var g=0;g<e.length&&!(d<e[g].startValue);g++)a>e[g].endValue||(a<=e[g].startValue&&d>=e[g].endValue?c=c/e[g].endValue*e[g].startValue*e[g].size:a>=e[g].startValue&&d>=e[g].endValue?c=c/e[g].endValue*a*Math.pow(e[g].size,Math.log(e[g].endValue/
|
|
801
|
+
a)/Math.log(e[g].endValue/e[g].startValue)):a<=e[g].startValue&&d<=e[g].endValue?c=c/d*e[g].startValue*Math.pow(e[g].size,Math.log(d/e[g].startValue)/Math.log(e[g].endValue/e[g].startValue)):!b&&(a>e[g].startValue&&d<e[g].endValue)&&(c=a*Math.pow(e[g].size,Math.log(d/a)/Math.log(e[g].endValue/e[g].startValue))))}else for(c=k(c)?Math.abs(d-a):c,g=0;g<e.length&&!(d<e[g].startValue);g++)a>e[g].endValue||(a<=e[g].startValue&&d>=e[g].endValue?c=c-e[g].endValue+e[g].startValue+e[g].size:a>e[g].startValue&&
|
|
802
|
+
d>=e[g].endValue?c=c-e[g].endValue+a+e[g].size*(e[g].endValue-a)/(e[g].endValue-e[g].startValue):a<=e[g].startValue&&d<e[g].endValue?c=c-d+e[g].startValue+e[g].size*(d-e[g].startValue)/(e[g].endValue-e[g].startValue):!b&&(a>e[g].startValue&&d<e[g].endValue)&&(c=a+e[g].size*(d-a)/(e[g].endValue-e[g].startValue)));return c};y.prototype.setViewPortRange=function(a,d){this.sessionVariables.newViewportMinimum=this.viewportMinimum=Math.min(a,d);this.sessionVariables.newViewportMaximum=this.viewportMaximum=
|
|
803
|
+
Math.max(a,d)};y.prototype.getXValueAt=function(a){if(!a)return null;var d=null;"left"===this._position?d=this.convertPixelToValue(a.y):"bottom"===this._position&&(d=this.convertPixelToValue(a.x));return d};y.prototype.calculateValueToPixelConversionParameters=function(a){a=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];var d={pixelPerUnit:null,minimum:null,reference:null},c=this.lineCoordinates.width,b=this.lineCoordinates.height,c="bottom"===this._position||"top"===this._position?c:b,b=Math.abs(this.range);
|
|
804
|
+
if(this.logarithmic)for(var e=0;e<a.length&&!(this.viewportMaximum<a[e].startValue);e++)this.viewportMinimum>a[e].endValue||(this.viewportMinimum>=a[e].startValue&&this.viewportMaximum<=a[e].endValue?c=0:this.viewportMinimum<=a[e].startValue&&this.viewportMaximum>=a[e].endValue?(b=b/a[e].endValue*a[e].startValue,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100):c-Math.min(a[e].spacing,0.1*c)):this.viewportMinimum>a[e].startValue&&this.viewportMaximum>=a[e].endValue?(b=b/
|
|
805
|
+
a[e].endValue*this.viewportMinimum,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100*Math.log(a[e].endValue/this.viewportMinimum)/Math.log(a[e].endValue/a[e].startValue)):c-Math.min(a[e].spacing,0.1*c)*Math.log(a[e].endValue/this.viewportMinimum)/Math.log(a[e].endValue/a[e].startValue)):this.viewportMinimum<=a[e].startValue&&this.viewportMaximum<a[e].endValue&&(b=b/this.viewportMaximum*a[e].startValue,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/
|
|
806
|
+
100*Math.log(this.viewportMaximum/a[e].startValue)/Math.log(a[e].endValue/a[e].startValue)):c-Math.min(a[e].spacing,0.1*c)*Math.log(this.viewportMaximum/a[e].startValue)/Math.log(a[e].endValue/a[e].startValue)));else for(e=0;e<a.length&&!(this.viewportMaximum<a[e].startValue);e++)this.viewportMinimum>a[e].endValue||(this.viewportMinimum>=a[e].startValue&&this.viewportMaximum<=a[e].endValue?c=0:this.viewportMinimum<=a[e].startValue&&this.viewportMaximum>=a[e].endValue?(b=b-a[e].endValue+a[e].startValue,
|
|
807
|
+
c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100):c-Math.min(a[e].spacing,0.1*c)):this.viewportMinimum>a[e].startValue&&this.viewportMaximum>=a[e].endValue?(b=b-a[e].endValue+this.viewportMinimum,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100*(a[e].endValue-this.viewportMinimum)/(a[e].endValue-a[e].startValue)):c-Math.min(a[e].spacing,0.1*c)*(a[e].endValue-this.viewportMinimum)/(a[e].endValue-a[e].startValue)):this.viewportMinimum<=a[e].startValue&&
|
|
808
|
+
this.viewportMaximum<a[e].endValue&&(b=b-this.viewportMaximum+a[e].startValue,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100*(this.viewportMaximum-a[e].startValue)/(a[e].endValue-a[e].startValue)):c-Math.min(a[e].spacing,0.1*c)*(this.viewportMaximum-a[e].startValue)/(a[e].endValue-a[e].startValue)));d.minimum=this.viewportMinimum;d.maximum=this.viewportMaximum;d.range=b;if("bottom"===this._position||"top"===this._position)this.logarithmic?(d.lnLogarithmBase=Math.log(this.logarithmBase),
|
|
809
|
+
d.pixelPerUnit=(this.reversed?-1:1)*c*d.lnLogarithmBase/Math.log(Math.abs(b))):d.pixelPerUnit=(this.reversed?-1:1)*c/Math.abs(b),d.reference=this.reversed?this.lineCoordinates.x2:this.lineCoordinates.x1;if("left"===this._position||"right"===this._position)this.logarithmic?(d.lnLogarithmBase=Math.log(this.logarithmBase),d.pixelPerUnit=(this.reversed?1:-1)*c*d.lnLogarithmBase/Math.log(Math.abs(b))):d.pixelPerUnit=(this.reversed?1:-1)*c/Math.abs(b),d.reference=this.reversed?this.lineCoordinates.y1:this.lineCoordinates.y2;
|
|
810
|
+
this.conversionParameters=d};y.prototype.calculateAxisParameters=function(){if(this.logarithmic)this.calculateLogarithmicAxisParameters();else{var a=this.chart.layoutManager.getFreeSpace(),d=!1,c=!1;"bottom"===this._position||"top"===this._position?(this.maxWidth=a.width,this.maxHeight=a.height):(this.maxWidth=a.height,this.maxHeight=a.width);var a="axisX"===this.type?"xySwapped"===this.chart.plotInfo.axisPlacement?62:70:"xySwapped"===this.chart.plotInfo.axisPlacement?50:40,b=4;"axisX"===this.type&&
|
|
811
|
+
(b=600>this.maxWidth?8:6);var a=Math.max(b,Math.floor(this.maxWidth/a)),e,g,m,b=0;!k(this.options.viewportMinimum)&&(!k(this.options.viewportMaximum)&&this.options.viewportMinimum>=this.options.viewportMaximum)&&(this.viewportMinimum=this.viewportMaximum=null);if(k(this.options.viewportMinimum)&&!k(this.sessionVariables.newViewportMinimum)&&!isNaN(this.sessionVariables.newViewportMinimum))this.viewportMinimum=this.sessionVariables.newViewportMinimum;else if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum=
|
|
812
|
+
this.minimum;if(k(this.options.viewportMaximum)&&!k(this.sessionVariables.newViewportMaximum)&&!isNaN(this.sessionVariables.newViewportMaximum))this.viewportMaximum=this.sessionVariables.newViewportMaximum;else if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum=this.maximum;!k(this.minimum)&&this.viewportMinimum<this.minimum&&(this.viewportMinimum=this.minimum);!k(this.maximum)&&this.viewportMaximum>this.maximum&&(this.viewportMaximum=this.maximum);if(this.scaleBreaks)for(b=
|
|
813
|
+
0;b<this.scaleBreaks._appliedBreaks.length;b++)if((!k(this.sessionVariables.newViewportMinimum)&&this.sessionVariables.newViewportMinimum>=this.scaleBreaks._appliedBreaks[b].startValue||!k(this.options.minimum)&&this.options.minimum>=this.scaleBreaks._appliedBreaks[b].startValue||!k(this.options.viewportMinimum)&&this.viewportMinimum>=this.scaleBreaks._appliedBreaks[b].startValue)&&(!k(this.sessionVariables.newViewportMaximum)&&this.sessionVariables.newViewportMaximum<=this.scaleBreaks._appliedBreaks[b].endValue||
|
|
814
|
+
!k(this.options.maximum)&&this.options.maximum<=this.scaleBreaks._appliedBreaks[b].endValue||!k(this.options.viewportMaximum)&&this.viewportMaximum<=this.scaleBreaks._appliedBreaks[b].endValue)){this.scaleBreaks._appliedBreaks.splice(b,1);break}if("axisX"===this.type){if(this.dataSeries&&0<this.dataSeries.length)for(e=0;e<this.dataSeries.length;e++)"dateTime"===this.dataSeries[e].xValueType&&(c=!0);e=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin;g=null!==this.viewportMaximum?
|
|
815
|
+
this.viewportMaximum:this.dataInfo.viewPortMax;0===g-e&&(b="undefined"===typeof this.options.interval?0.4:this.options.interval,g+=b,e-=b);Infinity!==this.dataInfo.minDiff?m=this.dataInfo.minDiff:1<g-e?m=0.5*Math.abs(g-e):(m=this.dataInfo.min===this.dataInfo.max?1:Math.abs(this.dataInfo.max-this.dataInfo.min),c&&(d=!0))}else"axisY"===this.type&&(e=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,g=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax,
|
|
816
|
+
m=Math.pow(2,50),isFinite(e)||isFinite(g)?isFinite(e)?isFinite(g)||(g=e):e=g:(g="undefined"===typeof this.options.interval?-Infinity:this.options.interval,e="undefined"!==typeof this.options.interval||isFinite(this.dataInfo.minDiff)?0:Infinity),0===e&&0===g?(g+=9,e=0):0===g-e?(b=Math.min(Math.abs(0.01*Math.abs(g)),5),g+=b,e-=b):e>g?(b=Math.min(0.01*Math.abs(this.getApparentDifference(g,e,null,!0)),5),0<=g?e=g-b:g=isFinite(e)?e+b:0):(e>=m||g>=m||e<=-m||g<=-m)&&10>g-e?g+=9:(b=Math.min(0.01*Math.abs(this.getApparentDifference(e,
|
|
817
|
+
g,null,!0)),0.05),0!==g&&(g+=b),0!==e&&(e-=b)),m=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:1<g-e?0.5*Math.abs(g-e):1,this.includeZero&&(null===this.viewportMinimum||isNaN(this.viewportMinimum))&&0<e&&(e=0),this.includeZero&&(null===this.viewportMaximum||isNaN(this.viewportMaximum))&&0>g&&(g=0));b=this.getApparentDifference(isNaN(this.viewportMinimum)||null===this.viewportMinimum?e:this.viewportMinimum,isNaN(this.viewportMaximum)||null===this.viewportMaximum?g:this.viewportMaximum,null,
|
|
818
|
+
!0);if("axisX"===this.type&&c){this.valueType="dateTime";this.intervalType||(b/1<=a?(this.interval=1,this.intervalType="millisecond"):b/2<=a?(this.interval=2,this.intervalType="millisecond"):b/5<=a?(this.interval=5,this.intervalType="millisecond"):b/10<=a?(this.interval=10,this.intervalType="millisecond"):b/20<=a?(this.interval=20,this.intervalType="millisecond"):b/50<=a?(this.interval=50,this.intervalType="millisecond"):b/100<=a?(this.interval=100,this.intervalType="millisecond"):b/200<=a?(this.interval=
|
|
819
|
+
200,this.intervalType="millisecond"):b/250<=a?(this.interval=250,this.intervalType="millisecond"):b/300<=a?(this.interval=300,this.intervalType="millisecond"):b/400<=a?(this.interval=400,this.intervalType="millisecond"):b/500<=a?(this.interval=500,this.intervalType="millisecond"):b/(1*H.secondDuration)<=a?(this.interval=1,this.intervalType="second"):b/(2*H.secondDuration)<=a?(this.interval=2,this.intervalType="second"):b/(5*H.secondDuration)<=a?(this.interval=5,this.intervalType="second"):b/(10*H.secondDuration)<=
|
|
820
|
+
a?(this.interval=10,this.intervalType="second"):b/(15*H.secondDuration)<=a?(this.interval=15,this.intervalType="second"):b/(20*H.secondDuration)<=a?(this.interval=20,this.intervalType="second"):b/(30*H.secondDuration)<=a?(this.interval=30,this.intervalType="second"):b/(1*H.minuteDuration)<=a?(this.interval=1,this.intervalType="minute"):b/(2*H.minuteDuration)<=a?(this.interval=2,this.intervalType="minute"):b/(5*H.minuteDuration)<=a?(this.interval=5,this.intervalType="minute"):b/(10*H.minuteDuration)<=
|
|
821
|
+
a?(this.interval=10,this.intervalType="minute"):b/(15*H.minuteDuration)<=a?(this.interval=15,this.intervalType="minute"):b/(20*H.minuteDuration)<=a?(this.interval=20,this.intervalType="minute"):b/(30*H.minuteDuration)<=a?(this.interval=30,this.intervalType="minute"):b/(1*H.hourDuration)<=a?(this.interval=1,this.intervalType="hour"):b/(2*H.hourDuration)<=a?(this.interval=2,this.intervalType="hour"):b/(3*H.hourDuration)<=a?(this.interval=3,this.intervalType="hour"):b/(6*H.hourDuration)<=a?(this.interval=
|
|
822
|
+
6,this.intervalType="hour"):b/(1*H.dayDuration)<=a?(this.interval=1,this.intervalType="day"):b/(2*H.dayDuration)<=a?(this.interval=2,this.intervalType="day"):b/(4*H.dayDuration)<=a?(this.interval=4,this.intervalType="day"):b/(1*H.weekDuration)<=a?(this.interval=1,this.intervalType="week"):b/(2*H.weekDuration)<=a?(this.interval=2,this.intervalType="week"):b/(3*H.weekDuration)<=a?(this.interval=3,this.intervalType="week"):b/(1*H.monthDuration)<=a?(this.interval=1,this.intervalType="month"):b/(2*H.monthDuration)<=
|
|
823
|
+
a?(this.interval=2,this.intervalType="month"):b/(3*H.monthDuration)<=a?(this.interval=3,this.intervalType="month"):b/(6*H.monthDuration)<=a?(this.interval=6,this.intervalType="month"):(this.interval=b/(1*H.yearDuration)<=a?1:b/(2*H.yearDuration)<=a?2:b/(4*H.yearDuration)<=a?4:Math.floor(y.getNiceNumber(b/(a-1),!0)/H.yearDuration),this.intervalType="year"));if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum=e-m/2;if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum=
|
|
824
|
+
g+m/2;d?this.autoValueFormatString="MMM DD YYYY HH:mm":"year"===this.intervalType?this.autoValueFormatString="YYYY":"month"===this.intervalType?this.autoValueFormatString="MMM YYYY":"week"===this.intervalType?this.autoValueFormatString="MMM DD YYYY":"day"===this.intervalType?this.autoValueFormatString="MMM DD YYYY":"hour"===this.intervalType?this.autoValueFormatString="hh:mm TT":"minute"===this.intervalType?this.autoValueFormatString="hh:mm TT":"second"===this.intervalType?this.autoValueFormatString=
|
|
825
|
+
"hh:mm:ss TT":"millisecond"===this.intervalType&&(this.autoValueFormatString="fff'ms'");this.valueFormatString||(this.valueFormatString=this.autoValueFormatString)}else{this.intervalType="number";b=y.getNiceNumber(b,!1);this.interval=this.options&&0<this.options.interval?this.options.interval:y.getNiceNumber(b/(a-1),!0);if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum="axisX"===this.type?e-m/2:Math.floor(e/this.interval)*this.interval;if(null===this.viewportMaximum||
|
|
826
|
+
isNaN(this.viewportMaximum))this.viewportMaximum="axisX"===this.type?g+m/2:Math.ceil(g/this.interval)*this.interval;0===this.viewportMaximum&&0===this.viewportMinimum&&(0===this.options.viewportMinimum?this.viewportMaximum+=10:0===this.options.viewportMaximum&&(this.viewportMinimum-=10),this.options&&"undefined"===typeof this.options.interval&&(this.interval=y.getNiceNumber((this.viewportMaximum-this.viewportMinimum)/(a-1),!0)))}if(null===this.minimum||null===this.maximum)if("axisX"===this.type?(e=
|
|
827
|
+
null!==this.minimum?this.minimum:this.dataInfo.min,g=null!==this.maximum?this.maximum:this.dataInfo.max,0===g-e&&(b="undefined"===typeof this.options.interval?0.4:this.options.interval,g+=b,e-=b),m=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:1<g-e?0.5*Math.abs(g-e):1):"axisY"===this.type&&(e=null!==this.minimum?this.minimum:this.dataInfo.min,g=null!==this.maximum?this.maximum:this.dataInfo.max,isFinite(e)||isFinite(g)?0===e&&0===g?(g+=9,e=0):0===g-e?(b=Math.min(Math.abs(0.01*Math.abs(g)),
|
|
828
|
+
5),g+=b,e-=b):e>g?(b=Math.min(0.01*Math.abs(this.getApparentDifference(g,e,null,!0)),5),0<=g?e=g-b:g=isFinite(e)?e+b:0):(b=Math.min(0.01*Math.abs(this.getApparentDifference(e,g,null,!0)),0.05),0!==g&&(g+=b),0!==e&&(e-=b)):(g="undefined"===typeof this.options.interval?-Infinity:this.options.interval,e="undefined"!==typeof this.options.interval||isFinite(this.dataInfo.minDiff)?0:Infinity),m=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:1<g-e?0.5*Math.abs(g-e):1,this.includeZero&&(null===this.minimum||
|
|
829
|
+
isNaN(this.minimum))&&0<e&&(e=0),this.includeZero&&(null===this.maximum||isNaN(this.maximum))&&0>g&&(g=0)),Math.abs(this.getApparentDifference(e,g,null,!0)),"axisX"===this.type&&c){this.valueType="dateTime";if(null===this.minimum||isNaN(this.minimum))this.minimum=e-m/2,this.minimum=Math.min(this.minimum,null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?Infinity:this.sessionVariables.viewportMinimum);if(null===this.maximum||isNaN(this.maximum))this.maximum=
|
|
830
|
+
g+m/2,this.maximum=Math.max(this.maximum,null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?-Infinity:this.sessionVariables.viewportMaximum)}else this.intervalType=this.valueType="number",null===this.minimum&&(this.minimum="axisX"===this.type?e-m/2:Math.floor(e/this.interval)*this.interval,this.minimum=Math.min(this.minimum,k(this.sessionVariables.newViewportMinimum)||isNaN(this.sessionVariables.newViewportMinimum)?k(this.sessionVariables.viewportMinimum)||
|
|
831
|
+
isNaN(this.sessionVariables.viewportMinimum)?Infinity:this.sessionVariables.viewportMinimum:this.sessionVariables.newViewportMinimum)),null===this.maximum&&(this.maximum="axisX"===this.type?g+m/2:Math.ceil(g/this.interval)*this.interval,this.maximum=Math.max(this.maximum,k(this.sessionVariables.newViewportMaximum)||isNaN(this.sessionVariables.newViewportMaximum)?k(this.sessionVariables.viewportMaximum)||isNaN(this.sessionVariables.viewportMaximum)?-Infinity:this.sessionVariables.viewportMaximum:this.sessionVariables.newViewportMaximum)),
|
|
832
|
+
0===this.maximum&&0===this.minimum&&(0===this.options.minimum?this.maximum+=10:0===this.options.maximum&&(this.minimum-=10));k(this.sessionVariables.newViewportMinimum)&&(this.viewportMinimum=Math.max(this.viewportMinimum,this.minimum));k(this.sessionVariables.newViewportMaximum)&&(this.viewportMaximum=Math.min(this.viewportMaximum,this.maximum));this.range=this.viewportMaximum-this.viewportMinimum;this.intervalStartPosition="axisX"===this.type&&c?this.getLabelStartPoint(new Date(this.viewportMinimum),
|
|
833
|
+
this.intervalType,this.interval):Math.floor((this.viewportMinimum+0.2*this.interval)/this.interval)*this.interval;this.valueFormatString||(this.valueFormatString=y.generateValueFormatString(this.range,2))}};y.prototype.calculateLogarithmicAxisParameters=function(){var a=this.chart.layoutManager.getFreeSpace(),d=Math.log(this.logarithmBase),c;"bottom"===this._position||"top"===this._position?(this.maxWidth=a.width,this.maxHeight=a.height):(this.maxWidth=a.height,this.maxHeight=a.width);var a="axisX"===
|
|
834
|
+
this.type?500>this.maxWidth?7:Math.max(7,Math.floor(this.maxWidth/100)):Math.max(Math.floor(this.maxWidth/50),3),b,e,g,m;m=1;if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum=this.minimum;if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum=this.maximum;if(this.scaleBreaks)for(m=0;m<this.scaleBreaks._appliedBreaks.length;m++)if((!k(this.sessionVariables.newViewportMinimum)&&this.sessionVariables.newViewportMinimum>=this.scaleBreaks._appliedBreaks[m].startValue||
|
|
835
|
+
!k(this.options.minimum)&&this.options.minimum>=this.scaleBreaks._appliedBreaks[m].startValue||!k(this.options.viewportMinimum)&&this.viewportMinimum>=this.scaleBreaks._appliedBreaks[m].startValue)&&(!k(this.sessionVariables.newViewportMaximum)&&this.sessionVariables.newViewportMaximum<=this.scaleBreaks._appliedBreaks[m].endValue||!k(this.options.maximum)&&this.options.maximum<=this.scaleBreaks._appliedBreaks[m].endValue||!k(this.options.viewportMaximum)&&this.viewportMaximum<=this.scaleBreaks._appliedBreaks[m].endValue)){this.scaleBreaks._appliedBreaks.splice(m,
|
|
836
|
+
1);break}"axisX"===this.type?(b=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,e=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax,1===e/b&&(m=Math.pow(this.logarithmBase,"undefined"===typeof this.options.interval?0.4:this.options.interval),e*=m,b/=m),g=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase):"axisY"===this.type&&(b=null!==this.viewportMinimum?this.viewportMinimum:
|
|
837
|
+
this.dataInfo.viewPortMin,e=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax,0>=b&&!isFinite(e)?(e="undefined"===typeof this.options.interval?0:this.options.interval,b=1):0>=b?b=e:isFinite(e)||(e=b),1===b&&1===e?(e*=this.logarithmBase-1/this.logarithmBase,b=1):1===e/b?(m=Math.min(e*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,5)),e*=m,b/=m):b>e?(m=Math.min(b/e*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,5)),1<=e?b=e/m:e=b*m):(m=Math.min(e/
|
|
838
|
+
b*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,0.04)),1!==e&&(e*=m),1!==b&&(b/=m)),g=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase,this.includeZero&&(null===this.viewportMinimum||isNaN(this.viewportMinimum))&&1<b&&(b=1),this.includeZero&&(null===this.viewportMaximum||isNaN(this.viewportMaximum))&&1>e&&(e=1));m=(isNaN(this.viewportMaximum)||null===this.viewportMaximum?e:this.viewportMaximum)/(isNaN(this.viewportMinimum)||
|
|
839
|
+
null===this.viewportMinimum?b:this.viewportMinimum);var h=(isNaN(this.viewportMaximum)||null===this.viewportMaximum?e:this.viewportMaximum)-(isNaN(this.viewportMinimum)||null===this.viewportMinimum?b:this.viewportMinimum);this.intervalType="number";m=Math.pow(this.logarithmBase,y.getNiceNumber(Math.abs(Math.log(m)/d),!1));this.options&&0<this.options.interval?this.interval=this.options.interval:(this.interval=y.getNiceExponent(Math.log(m)/d/(a-1),!0),c=y.getNiceNumber(h/(a-1),!0));if(null===this.viewportMinimum||
|
|
840
|
+
isNaN(this.viewportMinimum))this.viewportMinimum="axisX"===this.type?b/Math.sqrt(g):Math.pow(this.logarithmBase,this.interval*Math.floor(Math.log(b)/d/this.interval));if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum="axisX"===this.type?e*Math.sqrt(g):Math.pow(this.logarithmBase,this.interval*Math.ceil(Math.log(e)/d/this.interval));1===this.viewportMaximum&&1===this.viewportMinimum&&(1===this.options.viewportMinimum?this.viewportMaximum*=this.logarithmBase-1/this.logarithmBase:
|
|
841
|
+
1===this.options.viewportMaximum&&(this.viewportMinimum/=this.logarithmBase-1/this.logarithmBase),this.options&&"undefined"===typeof this.options.interval&&(this.interval=y.getNiceExponent(Math.ceil(Math.log(m)/d)/(a-1)),c=y.getNiceNumber((this.viewportMaximum-this.viewportMinimum)/(a-1),!0)));if(null===this.minimum||null===this.maximum)"axisX"===this.type?(b=null!==this.minimum?this.minimum:this.dataInfo.min,e=null!==this.maximum?this.maximum:this.dataInfo.max,1===e/b&&(m=Math.pow(this.logarithmBase,
|
|
842
|
+
"undefined"===typeof this.options.interval?0.4:this.options.interval),e*=m,b/=m),g=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase):"axisY"===this.type&&(b=null!==this.minimum?this.minimum:this.dataInfo.min,e=null!==this.maximum?this.maximum:this.dataInfo.max,isFinite(b)||isFinite(e)?1===b&&1===e?(e*=this.logarithmBase,b/=this.logarithmBase):1===e/b?(m=Math.pow(this.logarithmBase,this.interval),e*=m,b/=m):b>e?(m=
|
|
843
|
+
Math.min(0.01*(b/e),5),1<=e?b=e/m:e=b*m):(m=Math.min(e/b*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,0.04)),1!==e&&(e*=m),1!==b&&(b/=m)):(e="undefined"===typeof this.options.interval?0:this.options.interval,b=1),g=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase,this.includeZero&&(null===this.minimum||isNaN(this.minimum))&&1<b&&(b=1),this.includeZero&&(null===this.maximum||isNaN(this.maximum))&&
|
|
844
|
+
1>e&&(e=1)),this.intervalType="number",null===this.minimum&&(this.minimum="axisX"===this.type?b/Math.sqrt(g):Math.pow(this.logarithmBase,this.interval*Math.floor(Math.log(b)/d/this.interval)),k(null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?"undefined"===typeof this.sessionVariables.newViewportMinimum?Infinity:this.sessionVariables.newViewportMinimum:this.sessionVariables.viewportMinimum)||(this.minimum=Math.min(this.minimum,null===this.sessionVariables.viewportMinimum||
|
|
845
|
+
isNaN(this.sessionVariables.viewportMinimum)?"undefined"===typeof this.sessionVariables.newViewportMinimum?Infinity:this.sessionVariables.newViewportMinimum:this.sessionVariables.viewportMinimum))),null===this.maximum&&(this.maximum="axisX"===this.type?e*Math.sqrt(g):Math.pow(this.logarithmBase,this.interval*Math.ceil(Math.log(e)/d/this.interval)),k(null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?"undefined"===typeof this.sessionVariables.newViewportMaximum?
|
|
846
|
+
0:this.sessionVariables.newViewportMaximum:this.sessionVariables.viewportMaximum)||(this.maximum=Math.max(this.maximum,null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?"undefined"===typeof this.sessionVariables.newViewportMaximum?0:this.sessionVariables.newViewportMaximum:this.sessionVariables.viewportMaximum))),1===this.maximum&&1===this.minimum&&(1===this.options.minimum?this.maximum*=this.logarithmBase-1/this.logarithmBase:1===this.options.maximum&&(this.minimum/=
|
|
847
|
+
this.logarithmBase-1/this.logarithmBase));this.viewportMinimum=Math.max(this.viewportMinimum,this.minimum);this.viewportMaximum=Math.min(this.viewportMaximum,this.maximum);this.viewportMinimum>this.viewportMaximum&&(!this.options.viewportMinimum&&!this.options.minimum||this.options.viewportMaximum||this.options.maximum?this.options.viewportMinimum||this.options.minimum||!this.options.viewportMaximum&&!this.options.maximum||(this.viewportMinimum=this.minimum=(this.options.viewportMaximum||this.options.maximum)/
|
|
848
|
+
Math.pow(this.logarithmBase,2*Math.ceil(this.interval))):this.viewportMaximum=this.maximum=this.options.viewportMinimum||this.options.minimum);b=Math.pow(this.logarithmBase,Math.floor(Math.log(this.viewportMinimum)/(d*this.interval)+0.2)*this.interval);this.range=this.viewportMaximum/this.viewportMinimum;this.noTicks=a;if(!this.options.interval&&this.range<Math.pow(this.logarithmBase,8>this.viewportMaximum||3>a?2:3)){for(d=Math.floor(this.viewportMinimum/c+0.5)*c;d<this.viewportMinimum;)d+=c;this.equidistantInterval=
|
|
849
|
+
!1;this.intervalStartPosition=d;this.interval=c}else this.options.interval||(c=Math.ceil(this.interval),this.range>this.interval&&(this.interval=c,b=Math.pow(this.logarithmBase,Math.floor(Math.log(this.viewportMinimum)/(d*this.interval)+0.2)*this.interval))),this.equidistantInterval=!0,this.intervalStartPosition=b;if(!this.valueFormatString&&(this.valueFormatString="#,##0.##",1>this.viewportMinimum)){d=Math.floor(Math.abs(Math.log(this.viewportMinimum)/Math.LN10))+2;if(isNaN(d)||!isFinite(d))d=2;
|
|
850
|
+
if(2<d)for(m=0;m<d-2;m++)this.valueFormatString+="#"}};y.generateValueFormatString=function(a,d){var c="#,##0.",b=d;1>a&&(b+=Math.floor(Math.abs(Math.log(a)/Math.LN10)),isNaN(b)||!isFinite(b))&&(b=d);for(var e=0;e<b;e++)c+="#";return c};y.getNiceExponent=function(a,d){var c=Math.floor(Math.log(a)/Math.LN10),b=a/Math.pow(10,c),b=0>c?1>=b?1:5>=b?5:10:Math.max(Math.floor(b),1);return-20>c?Number(b*Math.pow(10,c)):Number((b*Math.pow(10,c)).toFixed(20))};y.getNiceNumber=function(a,d){var c=Math.floor(Math.log(a)/
|
|
851
|
+
Math.LN10),b=a/Math.pow(10,c),b=d?1.5>b?1:3>b?2:7>b?5:10:1>=b?1:2>=b?2:5>=b?5:10;return-20>c?Number(b*Math.pow(10,c)):Number((b*Math.pow(10,c)).toFixed(20))};y.prototype.getLabelStartPoint=function(){var a=H[this.intervalType+"Duration"]*this.interval,a=new Date(Math.floor(this.viewportMinimum/a)*a);if("millisecond"!==this.intervalType)if("second"===this.intervalType)0<a.getMilliseconds()&&(a.setSeconds(a.getSeconds()+1),a.setMilliseconds(0));else if("minute"===this.intervalType){if(0<a.getSeconds()||
|
|
852
|
+
0<a.getMilliseconds())a.setMinutes(a.getMinutes()+1),a.setSeconds(0),a.setMilliseconds(0)}else if("hour"===this.intervalType){if(0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())a.setHours(a.getHours()+1),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else if("day"===this.intervalType){if(0<a.getHours()||0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())a.setDate(a.getDate()+1),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else if("week"===this.intervalType){if(0<
|
|
853
|
+
a.getDay()||0<a.getHours()||0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())a.setDate(a.getDate()+(7-a.getDay())),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else if("month"===this.intervalType){if(1<a.getDate()||0<a.getHours()||0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())a.setMonth(a.getMonth()+1),a.setDate(1),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else"year"===this.intervalType&&(0<a.getMonth()||1<a.getDate()||0<a.getHours()||
|
|
854
|
+
0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())&&(a.setFullYear(a.getFullYear()+1),a.setMonth(0),a.setDate(1),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0));return a};ra(ba,U);ra(Z,U);Z.prototype.createUserOptions=function(a){if("undefined"!==typeof a||this.options._isPlaceholder){var d=0;this.parent.options._isPlaceholder&&this.parent.createUserOptions();this.options._isPlaceholder||(Fa(this.parent[this.optionsName]),d=this.parent.options[this.optionsName].indexOf(this.options));
|
|
855
|
+
this.options="undefined"===typeof a?{}:a;this.parent.options[this.optionsName][d]=this.options}};Z.prototype.render=function(a){if(0!==this.spacing||0!==this.options.lineThickness&&("undefined"!==typeof this.options.lineThickness||0!==this.parent.lineThickness)){var d=this.ctx,c=this.ctx.globalAlpha;this.ctx=a||this.ctx;this.ctx.save();this.ctx.beginPath();this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.ctx.clip();var b=this.scaleBreaks.parent.getPixelCoordinatesOnAxis(this.startValue),
|
|
856
|
+
e=this.scaleBreaks.parent.getPixelCoordinatesOnAxis(this.endValue);this.ctx.strokeStyle=this.lineColor;this.ctx.fillStyle=this.color;this.ctx.beginPath();this.ctx.globalAlpha=1;V(this.id);var g,m,h,k,l,p;a=Math.max(this.spacing,3);var n=Math.max(0,this.lineThickness);this.ctx.lineWidth=n;this.ctx.setLineDash&&this.ctx.setLineDash(J(this.lineDashType,n));if("bottom"===this.scaleBreaks.parent._position||"top"===this.scaleBreaks.parent._position)if(b=1===n%2?(b.x<<0)+0.5:b.x<<0,m=1===n%2?(e.x<<0)+0.5:
|
|
857
|
+
e.x<<0,"top"===this.scaleBreaks.parent._position?(e=this.chart.plotArea.y1,h=this.chart.plotArea.y2+n/2+0.5<<0):(e=this.chart.plotArea.y2,h=this.chart.plotArea.y1-n/2+0.5<<0,a*=-1),this.bounds={x1:b-n/2,y1:e,x2:m+n/2,y2:h},this.ctx.moveTo(b,e),"straight"===this.type||"top"===this.scaleBreaks.parent._position&&0>=a||"bottom"===this.scaleBreaks.parent._position&&0<=a)this.ctx.lineTo(b,h),this.ctx.lineTo(m,h),this.ctx.lineTo(m,e);else if("wavy"===this.type){k=b;l=e;g=0.5;p=(h-l)/a/3;for(var q=0;q<p;q++)this.ctx.bezierCurveTo(k+
|
|
858
|
+
g*a,l+a,k+g*a,l+2*a,k,l+3*a),l+=3*a,g*=-1;this.ctx.bezierCurveTo(k+g*a,l+a,k+g*a,l+2*a,k,l+3*a);k=m;g*=-1;this.ctx.lineTo(k,l);for(q=0;q<p;q++)this.ctx.bezierCurveTo(k+g*a,l-a,k+g*a,l-2*a,k,l-3*a),l-=3*a,g*=-1}else{if("zigzag"===this.type){g=-1;l=e+a;k=b+a;p=(h-l)/a/2;for(q=0;q<p;q++)this.ctx.lineTo(k,l),k+=2*g*a,l+=2*a,g*=-1;this.ctx.lineTo(k,l);k+=m-b;for(q=0;q<p+1;q++)this.ctx.lineTo(k,l),k+=2*g*a,l-=2*a,g*=-1;this.ctx.lineTo(k+g*a,l+a)}}else if("left"===this.scaleBreaks.parent._position||"right"===
|
|
859
|
+
this.scaleBreaks.parent._position)if(e=1===n%2?(e.y<<0)+0.5:e.y<<0,h=1===n%2?(b.y<<0)+0.5:b.y<<0,"left"===this.scaleBreaks.parent._position?(b=this.chart.plotArea.x1,m=this.chart.plotArea.x2+n/2+0.5<<0):(b=this.chart.plotArea.x2,m=this.chart.plotArea.x1-n/2+0.5<<0,a*=-1),this.bounds={x1:b,y1:e-n/2,x2:m,y2:h+n/2},this.ctx.moveTo(b,e),"straight"===this.type||"left"===this.scaleBreaks.parent._position&&0>=a||"right"===this.scaleBreaks.parent._position&&0<=a)this.ctx.lineTo(m,e),this.ctx.lineTo(m,h),
|
|
860
|
+
this.ctx.lineTo(b,h);else if("wavy"===this.type){k=b;l=e;g=0.5;p=(m-k)/a/3;for(q=0;q<p;q++)this.ctx.bezierCurveTo(k+a,l+g*a,k+2*a,l+g*a,k+3*a,l),k+=3*a,g*=-1;this.ctx.bezierCurveTo(k+a,l+g*a,k+2*a,l+g*a,k+3*a,l);l=h;g*=-1;this.ctx.lineTo(k,l);for(q=0;q<p;q++)this.ctx.bezierCurveTo(k-a,l+g*a,k-2*a,l+g*a,k-3*a,l),k-=3*a,g*=-1}else if("zigzag"===this.type){g=1;l=e-a;k=b+a;p=(m-k)/a/2;for(q=0;q<p;q++)this.ctx.lineTo(k,l),l+=2*g*a,k+=2*a,g*=-1;this.ctx.lineTo(k,l);l+=h-e;for(q=0;q<p+1;q++)this.ctx.lineTo(k,
|
|
861
|
+
l),l+=2*g*a,k-=2*a,g*=-1;this.ctx.lineTo(k+a,l+g*a)}0<n&&this.ctx.stroke();this.ctx.closePath();this.ctx.globalAlpha=this.fillOpacity;this.ctx.globalCompositeOperation="destination-over";this.ctx.fill();this.ctx.restore();this.ctx.globalAlpha=c;this.ctx=d}};ra(ia,U);ia.prototype.createUserOptions=function(a){if("undefined"!==typeof a||this.options._isPlaceholder){var d=0;this.parent.options._isPlaceholder&&this.parent.createUserOptions();this.options._isPlaceholder||(Fa(this.parent.stripLines),d=
|
|
862
|
+
this.parent.options.stripLines.indexOf(this.options));this.options="undefined"===typeof a?{}:a;this.parent.options.stripLines[d]=this.options}};ia.prototype.render=function(){this.ctx.save();var a=this.parent.getPixelCoordinatesOnAxis(this.value),d=Math.abs("pixel"===this._thicknessType?this.thickness:Math.abs(this.parent.convertValueToPixel(this.endValue)-this.parent.convertValueToPixel(this.startValue)));if(0<d){var c=null===this.opacity?1:this.opacity;this.ctx.strokeStyle=this.color;this.ctx.beginPath();
|
|
863
|
+
var b=this.ctx.globalAlpha;this.ctx.globalAlpha=c;V(this.id);var e,g,h,k;this.ctx.lineWidth=d;this.ctx.setLineDash&&this.ctx.setLineDash(J(this.lineDashType,d));if("bottom"===this.parent._position||"top"===this.parent._position)a="pixel"===this._thicknessType?a.x:(this.parent.convertValueToPixel(this.endValue)+this.parent.convertValueToPixel(this.startValue))/2,e=g=1===this.ctx.lineWidth%2?(a<<0)+0.5:a<<0,h=this.chart.plotArea.y1,k=this.chart.plotArea.y2,this.bounds={x1:e-d/2,y1:h,x2:g+d/2,y2:k};
|
|
864
|
+
else if("left"===this.parent._position||"right"===this.parent._position)a="pixel"===this._thicknessType?a.y:(this.parent.convertValueToPixel(this.endValue)+this.parent.convertValueToPixel(this.startValue))/2,h=k=1===this.ctx.lineWidth%2?(a<<0)+0.5:a<<0,e=this.chart.plotArea.x1,g=this.chart.plotArea.x2,this.bounds={x1:e,y1:h-d/2,x2:g,y2:k+d/2};this.ctx.moveTo(e,h);this.ctx.lineTo(g,k);this.ctx.stroke();this.ctx.globalAlpha=b}this.ctx.restore()};ra(fa,U);fa.prototype.showAt=function(a){if(!this.enabled)return!1;
|
|
865
|
+
var d=this.chart,c=!1;d.resetOverlayedCanvas();d.clearedOverlayedCanvas=this.parent.type;this.chart.renderCrosshairs(this.parent,!1);var b,e="xySwapped"===d.plotInfo.axisPlacement;"bottom"===this.parent._position?b=e?d.axisY:d.axisX:"top"===this.parent._position?b=e?d.axisY2:d.axisX2:"left"===this.parent._position?b=e?d.axisX:d.axisY:"right"===this.parent._position&&(b=e?d.axisX2:d.axisY2);if(b)for(e=0;e<b.length;e++)this.parent===b[e]&&(b[e]._crosshairValue=a>=b[e].viewportMinimum&&a<=b[e].viewportMaximum?
|
|
866
|
+
a:null);b=["axisX","axisX2","axisY","axisY2"];for(e=0;e<b.length;e++)for(var g=b[e],h=0;h<d[g].length;h++){var s=d[g][h],r=s._crosshairValue;s.crosshair&&s.crosshair.enabled&&(this.parent===s&&(s.sessionVariables.crosshairShownByPixel=!1,s.sessionVariables.crosshairValue=s.crosshair._updatedValue=r||a),!k(r)&&r>=s.viewportMinimum&&r<=s.viewportMaximum?(s.showCrosshair(r),this===s.crosshair&&(c=!0)):void 0!==r&&(s.sessionVariables.crosshairValue=null,s.crosshair._updatedValue=null))}this.chart.toolTip&&
|
|
867
|
+
(this.chart.toolTip._entries&&this.chart.sessionVariables._dataHighlighted)&&this.chart.toolTip.highlightObjects(this.chart.toolTip._entries);return c};fa.prototype.hide=function(){this.chart.resetOverlayedCanvas();this.chart.toolTip&&(this.chart.toolTip._entries&&this.chart.sessionVariables._dataHighlighted)&&this.chart.toolTip.highlightObjects(this.chart.toolTip._entries);this.chart.renderCrosshairs(this.parent,!1);this.parent.sessionVariables._crosshairHidden=this._hidden=!0};fa.prototype.render=
|
|
868
|
+
function(a,d,c){var b,e,g,h,s=null,r=null,l=null,p="";this.valueFormatString||("dateTime"===this.parent.valueType?this.valueFormatString=this.parent.valueFormatString:(l=0,l="xySwapped"===this.chart.plotInfo.axisPlacement?50<this.parent.range?0:500<this.chart.width&&25>this.parent.range?2:Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0):50<this.parent.range?0:Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?
|
|
869
|
+
2:10>this.parent.range?1:0),this.valueFormatString=y.generateValueFormatString(this.parent.range,l)));var n=null===this.opacity?1:this.opacity,q=Math.abs("pixel"===this._thicknessType?this.thickness:this.parent.conversionParameters.pixelPerUnit*this.thickness),f=this.chart.overlaidCanvasCtx,u=f.globalAlpha;f.beginPath();f.strokeStyle=this.color;f.lineWidth=q;f.save();this.labelFontSize=Math.abs(k(this.options.labelFontSize)?this.parent.labelFontSize:this.labelFontSize);this.labelMaxWidth=k(this.options.labelMaxWidth)?
|
|
870
|
+
0.3*this.chart.width:this.labelMaxWidth;this.labelMaxHeight=k(this.options.labelWrap)||this.labelWrap?0.3*this.chart.height:1.5*this.labelFontSize+("object"===typeof this.labelPadding?(this.labelPadding.top||0)+(this.labelPadding.bottom||0):2*this.labelPadding);l=new ka(f,{x:0,y:0,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,borderThickness:this.labelBorderThickness,cornerRadius:this.labelCornerRadius,maxWidth:this.labelMaxWidth,maxHeight:this.labelMaxHeight,angle:this.labelAngle,
|
|
871
|
+
text:p,textAlign:this.labelTextAlign,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,fontWeight:this.labelFontWeight,padding:this.labelPadding,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle"});if(this.snapToDataPoint){var x=0,p=[];if("xySwapped"===this.chart.plotInfo.axisPlacement){var z=null;if("bottom"===this.parent._position||"top"===this.parent._position)x=this.parent.dataSeries[0].axisX.convertPixelToValue({y:this.parent.sessionVariables.crosshairShownByPixel?
|
|
872
|
+
this.chart.sessionVariables.mouseY:d});else if("left"===this.parent._position||"right"===this.parent._position)x=this.parent.convertPixelToValue({y:d});for(var t=0;t<this.parent.dataSeries.length;t++)(z=this.parent.dataSeries[t].getDataPointAtX(x,!0,!0))&&0<=z.index&&(z.dataSeries=this.parent.dataSeries[t],null!==z.dataPoint.y&&z.dataSeries.visible&&p.push(z));z=null;if(0===p.length)return;p.sort(function(a,b){return a.distance-b.distance});var w=z=0;yPercent=cumulativeY=0;for(var x=Infinity,v,t=
|
|
873
|
+
0;t<p.length;t++){if("rangeBar"===p[t].dataSeries.type||"error"===p[t].dataSeries.type){if(p[t].dataPoint.y)for(var A=0;A<p[t].dataPoint.y.length;A++)w=Math.abs(a-this.parent.convertValueToPixel(p[t].dataPoint.y[A])),w<=x&&(x=w,z=t)}else"stackedBar"===p[t].dataSeries.type?(cumulativeY=p[t].dataSeries.dataPointEOs[p[t].index].cumulativeY,w=Math.abs(a-this.parent.convertValueToPixel(cumulativeY)),w<=x&&(x=w,z=t)):"stackedBar100"===p[t].dataSeries.type?(w=p[0].dataPoint.x.getTime?p[0].dataPoint.x.getTime():
|
|
874
|
+
p[0].dataPoint.x,k(v)&&(v=Math.abs(a-this.parent.convertValueToPixel(100*(p[0].dataSeries.dataPointEOs[p[0].index].cumulativeY/p[0].dataSeries.plotUnit.dataPointYSums[w])))),cumulativeY=p[t].dataSeries.dataPointEOs[p[t].index].cumulativeY,w=p[t].dataPoint.x.getTime?p[t].dataPoint.x.getTime():p[t].dataPoint.x,yPercent=100*(cumulativeY/p[t].dataSeries.plotUnit.dataPointYSums[w]),w=Math.abs(a-this.parent.convertValueToPixel(yPercent)),w<=v&&(v=w,z=t)):(w=Math.abs(a-this.parent.convertValueToPixel(p[t].dataPoint.y)),
|
|
875
|
+
w<=x&&(x=w,z=t));k(v)||(x=Math.min(x,v))}v=p[z];t=0;if("bottom"===this.parent._position||"top"===this.parent._position){if("rangeBar"===v.dataSeries.type||"error"===v.dataSeries.type){x=Math.abs(a-this.parent.convertValueToPixel(v.dataPoint.y[0]));for(p=0;p<v.dataPoint.y.length;p++)w=Math.abs(a-this.parent.convertValueToPixel(v.dataPoint.y[p])),w<x&&(x=w,t=p);s=1===f.lineWidth%2?(this.parent.convertValueToPixel(v.dataPoint.y[t])<<0)+0.5:this.parent.convertValueToPixel(v.dataPoint.y[t])<<0;this.value=
|
|
876
|
+
v.dataPoint.y[t];0!==v.dataPoint.y[t]%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0)));l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.y[t]}):k(this.options.label)?ga(v.dataPoint.y[t],this.valueFormatString,this.chart._cultureInfo):this.label}else"stackedBar"===
|
|
877
|
+
v.dataSeries.type?(x=Math.abs(a-this.parent.convertValueToPixel(p[0].dataPoint.y)),cumulativeY=v.dataSeries.dataPointEOs[v.index].cumulativeY,s=1===f.lineWidth%2?(this.parent.convertValueToPixel(cumulativeY)<<0)+0.5:this.parent.convertValueToPixel(cumulativeY)<<0,this.value=cumulativeY,0!==cumulativeY%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?
|
|
878
|
+
1:0))),l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:cumulativeY}):k(this.options.label)?ga(cumulativeY,this.valueFormatString,this.chart._cultureInfo):this.label):"stackedBar100"===v.dataSeries.type?(x=Math.abs(a-this.parent.convertValueToPixel(p[0].dataPoint.y)),cumulativeY=v.dataSeries.dataPointEOs[v.index].cumulativeY,w=v.dataPoint.x.getTime?v.dataPoint.x.getTime():v.dataPoint.x,yPercent=100*(cumulativeY/v.dataSeries.plotUnit.dataPointYSums[w]),
|
|
879
|
+
s=1===f.lineWidth%2?(this.parent.convertValueToPixel(yPercent)<<0)+0.5:this.parent.convertValueToPixel(yPercent)<<0,this.value=yPercent,0!==yPercent%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:yPercent}):k(this.options.label)?
|
|
880
|
+
ga(yPercent,this.valueFormatString,this.chart._cultureInfo):this.label):(s=1===f.lineWidth%2?(this.parent.convertValueToPixel(v.dataPoint.y)<<0)+0.5:this.parent.convertValueToPixel(v.dataPoint.y)<<0,this.value=v.dataPoint.y,0!==v.dataPoint.y%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,
|
|
881
|
+
axis:this.parent.options,crosshair:this.options,value:v.dataPoint.y}):k(this.options.label)?ga(v.dataPoint.y,this.valueFormatString,this.chart._cultureInfo):this.label);b=e=s;g=this.chart.plotArea.y1;h=this.chart.plotArea.y2;this.bounds={x1:b-q/2,y1:g,x2:e+q/2,y2:h};l.x=b-l.measureText().width/2;l.x+l.width>this.chart.bounds.x2?l.x=this.chart.bounds.x2-l.width:l.x<this.chart.bounds.x1&&(l.x=this.chart.bounds.x1);l.y=this.parent.lineCoordinates.y2+("top"===this.parent._position?-l.height+this.parent.tickLength:
|
|
882
|
+
l.fontSize/2)+2;l.y+l.height>this.chart.bounds.y2?l.y=this.chart.bounds.y2-l.height:l.y<this.chart.bounds.y1&&(l.y=this.chart.bounds.y1)}else if("left"===this.parent._position||"right"===this.parent._position){g=h=r=1===f.lineWidth%2?(this.parent.convertValueToPixel(v.dataPoint.x)<<0)+0.5:this.parent.convertValueToPixel(v.dataPoint.x)<<0;b=this.chart.plotArea.x1;e=this.chart.plotArea.x2;this.bounds={x1:b,y1:g-q/2,x2:e,y2:h+q/2};t=!1;if(this.parent.labels)for(x=Math.ceil(this.parent.interval),p=0;p<
|
|
883
|
+
this.parent.viewportMaximum;p+=x)if(this.parent.labels[p])t=!0;else{t=!1;break}if(t){if("axisX"===this.parent.type)for(x=this.parent.convertPixelToValue({y:d}),z=null,t=0;t<this.parent.dataSeries.length;t++)(z=this.parent.dataSeries[t].getDataPointAtX(x,!0,!0))&&0<=z.index&&(l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.x}):k(this.options.label)?z.dataPoint.label:this.label)}else"dateTime"!==this.parent.valueType||
|
|
884
|
+
this.parent.logarithmic?(0!==v.dataPoint.x%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.x}):k(this.options.label)?ga(v.dataPoint.x,this.valueFormatString,this.chart._cultureInfo):this.label):l.text=
|
|
885
|
+
this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.x}):k(this.options.label)?Da(v.dataPoint.x,this.valueFormatString,this.chart._cultureInfo):this.label;this.value=v.dataPoint.x;l.y=h+l.fontSize/2-l.measureText().height/2+2;l.y-l.fontSize/2<this.chart.bounds.y1?l.y=this.chart.bounds.y1+l.fontSize/2+2:l.y+l.measureText().height-l.fontSize/2>this.chart.bounds.y2&&(l.y=this.chart.bounds.y2-l.measureText().height+l.fontSize/2);"left"===
|
|
886
|
+
this.parent._position?l.x=this.parent.lineCoordinates.x2-l.measureText().width:"right"===this.parent._position&&(l.x=this.parent.lineCoordinates.x2)}}else if("bottom"===this.parent._position||"top"===this.parent._position){x=this.parent.convertPixelToValue({x:a});for(t=0;t<this.parent.dataSeries.length;t++)(z=this.parent.dataSeries[t].getDataPointAtX(x,!0,!0))&&0<=z.index&&(z.dataSeries=this.parent.dataSeries[t],null!==z.dataPoint.y&&z.dataSeries.visible&&p.push(z));if(0===p.length)return;p.sort(function(a,
|
|
887
|
+
b){return a.distance-b.distance});v=p[0];b=e=s=1===f.lineWidth%2?(this.parent.convertValueToPixel(v.dataPoint.x)<<0)+0.5:this.parent.convertValueToPixel(v.dataPoint.x)<<0;g=this.chart.plotArea.y1;h=this.chart.plotArea.y2;this.bounds={x1:b-q/2,y1:g,x2:e+q/2,y2:h};t=!1;if(this.parent.labels)for(x=Math.ceil(this.parent.interval),p=0;p<this.parent.viewportMaximum;p+=x)if(this.parent.labels[p])t=!0;else{t=!1;break}if(t){if("axisX"===this.parent.type)for(x=this.parent.convertPixelToValue({x:a}),z=null,
|
|
888
|
+
t=0;t<this.parent.dataSeries.length;t++)(z=this.parent.dataSeries[t].getDataPointAtX(x,!0,!0))&&0<=z.index&&(l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.x}):k(this.options.label)?z.dataPoint.label:this.label)}else"dateTime"!==this.parent.valueType||this.parent.logarithmic?(0!==v%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/
|
|
884
889
|
Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.x}):k(this.options.label)?ga(v.dataPoint.x,this.valueFormatString,this.chart._cultureInfo):this.label):l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.x}):k(this.options.label)?Da(v.dataPoint.x,this.valueFormatString,this.chart._cultureInfo):
|
|
885
|
-
this.label;this.value=v.dataPoint.x;l.
|
|
886
|
-
this.
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
this.
|
|
899
|
-
Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:a}):k(this.options.label)?ga(a,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=a):"stackedColumn100"===v.dataSeries.type?(r=v.dataSeries.dataPointEOs[v.index].cumulativeY,w=v.dataPoint.x.getTime?v.dataPoint.x.getTime():v.dataPoint.x,a=100*(r/v.dataSeries.plotUnit.dataPointYSums[w]),r=1===f.lineWidth%
|
|
900
|
-
2?(this.parent.convertValueToPixel(a)<<0)+0.5:this.parent.convertValueToPixel(a)<<0,0!==a%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:a}):k(this.options.label)?ga(a,this.valueFormatString,this.chart._cultureInfo):
|
|
901
|
-
this.label,this.value=a):"stackedArea100"===v.dataSeries.type?(r=v.dataSeries.dataPointEOs[v.index].cumulativeY,w=v.dataPoint.x.getTime?v.dataPoint.x.getTime():v.dataPoint.x,a=100*(r/v.dataSeries.plotUnit.dataPointYSums[w]),r=1===f.lineWidth%2?(this.parent.convertValueToPixel(a)<<0)+0.5:this.parent.convertValueToPixel(a)<<0,0!==a%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>
|
|
902
|
-
this.parent.range?2:10>this.parent.range?1:0))),l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:a}):k(this.options.label)?ga(a,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=a):"waterfall"===v.dataSeries.type?(r=1===f.lineWidth%2?(this.parent.convertValueToPixel(v.dataSeries.dataPointEOs[v.index].cumulativeSum)<<0)+0.5:this.parent.convertValueToPixel(v.dataSeries.dataPointEOs[v.index].cumulativeSum)<<0,0!==
|
|
903
|
-
v.dataSeries.dataPointEOs[v.index].cumulativeSum%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataSeries.dataPointEOs[v.index].cumulativeSum}):k(this.options.label)?ga(v.dataSeries.dataPointEOs[v.index].cumulativeSum,
|
|
890
|
+
this.label;this.value=v.dataPoint.x;l.x=b-l.measureText().width/2;l.x+l.width>this.chart.bounds.x2&&(l.x=this.chart.bounds.x2-l.width);l.x<this.chart.bounds.x1&&(l.x=this.chart.bounds.x1);"bottom"===this.parent._position?l.y=this.parent.lineCoordinates.y2+l.fontSize/2+2:"top"===this.parent._position&&(l.y=this.parent.lineCoordinates.y1-l.height+l.fontSize/2+2)}else if("left"===this.parent._position||"right"===this.parent._position){!k(this.parent.dataSeries)&&0<this.parent.dataSeries.length&&(x=this.parent.dataSeries[0].axisX.convertPixelToValue({x:this.parent.sessionVariables.crosshairShownByPixel?
|
|
891
|
+
this.chart.sessionVariables.mouseX:a}));for(t=0;t<this.parent.dataSeries.length;t++)(z=this.parent.dataSeries[t].getDataPointAtX(x,!0,!0))&&0<=z.index&&(z.dataSeries=this.parent.dataSeries[t],null!==z.dataPoint.y&&z.dataSeries.visible&&p.push(z));if(0===p.length)return;p.sort(function(a,b){return a.distance-b.distance});w=z=0;x=Infinity;for(t=0;t<p.length;t++){if("rangeColumn"===p[t].dataSeries.type||"rangeArea"===p[t].dataSeries.type||"error"===p[t].dataSeries.type||"rangeSplineArea"===p[t].dataSeries.type||
|
|
892
|
+
"candlestick"===p[t].dataSeries.type||"ohlc"===p[t].dataSeries.type||"boxAndWhisker"===p[t].dataSeries.type){if(p[t].dataPoint.y)for(A=0;A<p[t].dataPoint.y.length;A++)w=Math.abs(d-this.parent.convertValueToPixel(p[t].dataPoint.y[A])),w<=x&&(x=w,z=t)}else"stackedColumn"===p[t].dataSeries.type?(a=p[t].dataSeries.dataPointEOs[p[t].index].cumulativeY,w=Math.abs(d-this.parent.convertValueToPixel(a)),w<=x&&(x=w,z=t)):"stackedArea"===p[t].dataSeries.type?(a=p[t].dataSeries.dataPointEOs[p[t].index].cumulativeY,
|
|
893
|
+
w=Math.abs(d-this.parent.convertValueToPixel(a)),w<=x&&(x=w,z=t)):"stackedColumn100"===p[t].dataSeries.type||"stackedArea100"===p[t].dataSeries.type?(w=p[0].dataPoint.x.getTime?p[0].dataPoint.x.getTime():p[0].dataPoint.x,k(v)&&(v=Math.abs(d-this.parent.convertValueToPixel(100*(p[0].dataSeries.dataPointEOs[p[0].index].cumulativeY/p[0].dataSeries.plotUnit.dataPointYSums[w])))),"stackedColumn100"===p[t].dataSeries.type?(r=p[t].dataSeries.dataPointEOs[p[t].index].cumulativeY,w=p[t].dataPoint.x.getTime?
|
|
894
|
+
p[t].dataPoint.x.getTime():p[t].dataPoint.x,a=100*(r/p[t].dataSeries.plotUnit.dataPointYSums[w]),w=Math.abs(d-this.parent.convertValueToPixel(a)),w<=v&&(v=w,z=t)):"stackedArea100"===p[t].dataSeries.type&&(r=p[t].dataSeries.dataPointEOs[p[t].index].cumulativeY,w=p[t].dataPoint.x.getTime?p[t].dataPoint.x.getTime():p[t].dataPoint.x,a=100*(r/p[t].dataSeries.plotUnit.dataPointYSums[w]),w=Math.abs(d-this.parent.convertValueToPixel(a)),w<=v&&(v=w,z=t))):"waterfall"===p[t].dataSeries.type?(w=Math.abs(d-this.parent.convertValueToPixel(p[t].dataSeries.dataPointEOs[p[t].index].cumulativeSum)),
|
|
895
|
+
w<=x&&(v=x=w,z=t)):(w=Math.abs(d-this.parent.convertValueToPixel(p[t].dataPoint.y)),w<=x&&(x=w,z=t));k(v)||(x=Math.min(x,v))}v=p[z];t=0;if("rangeColumn"===v.dataSeries.type||"rangeArea"===v.dataSeries.type||"error"===v.dataSeries.type||"rangeSplineArea"===v.dataSeries.type||"candlestick"===v.dataSeries.type||"ohlc"===v.dataSeries.type||"boxAndWhisker"===v.dataSeries.type){x=Math.abs(d-this.parent.convertValueToPixel(v.dataPoint.y[0]));for(p=0;p<v.dataPoint.y.length;p++)w=Math.abs(d-this.parent.convertValueToPixel(v.dataPoint.y[p])),
|
|
896
|
+
w<x&&(x=w,t=p);r=1===f.lineWidth%2?(this.parent.convertValueToPixel(v.dataPoint.y[t])<<0)+0.5:this.parent.convertValueToPixel(v.dataPoint.y[t])<<0;0!==v.dataPoint.y[t]%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0)));l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.y[t]}):
|
|
897
|
+
k(this.options.label)?ga(v.dataPoint.y[t],this.valueFormatString,this.chart._cultureInfo):this.label;this.value=v.dataPoint.y[t]}else"stackedColumn"===v.dataSeries.type?(a=v.dataSeries.dataPointEOs[v.index].cumulativeY,r=1===f.lineWidth%2?(this.parent.convertValueToPixel(a)<<0)+0.5:this.parent.convertValueToPixel(a)<<0,0!==a%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?
|
|
898
|
+
2:10>this.parent.range?1:0))),l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:a}):k(this.options.label)?ga(a,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=a):"stackedArea"===v.dataSeries.type?(a=v.dataSeries.dataPointEOs[v.index].cumulativeY,r=1===f.lineWidth%2?(this.parent.convertValueToPixel(a)<<0)+0.5:this.parent.convertValueToPixel(a)<<0,0!==a%1&&k(this.options.valueFormatString)&&(this.valueFormatString=
|
|
899
|
+
y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:a}):k(this.options.label)?ga(a,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=a):"stackedColumn100"===v.dataSeries.type?(r=v.dataSeries.dataPointEOs[v.index].cumulativeY,w=v.dataPoint.x.getTime?v.dataPoint.x.getTime():
|
|
900
|
+
v.dataPoint.x,a=100*(r/v.dataSeries.plotUnit.dataPointYSums[w]),r=1===f.lineWidth%2?(this.parent.convertValueToPixel(a)<<0)+0.5:this.parent.convertValueToPixel(a)<<0,0!==a%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,
|
|
901
|
+
value:a}):k(this.options.label)?ga(a,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=a):"stackedArea100"===v.dataSeries.type?(r=v.dataSeries.dataPointEOs[v.index].cumulativeY,w=v.dataPoint.x.getTime?v.dataPoint.x.getTime():v.dataPoint.x,a=100*(r/v.dataSeries.plotUnit.dataPointYSums[w]),r=1===f.lineWidth%2?(this.parent.convertValueToPixel(a)<<0)+0.5:this.parent.convertValueToPixel(a)<<0,0!==a%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,
|
|
902
|
+
Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:a}):k(this.options.label)?ga(a,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=a):"waterfall"===v.dataSeries.type?(r=1===f.lineWidth%2?(this.parent.convertValueToPixel(v.dataSeries.dataPointEOs[v.index].cumulativeSum)<<0)+0.5:this.parent.convertValueToPixel(v.dataSeries.dataPointEOs[v.index].cumulativeSum)<<
|
|
903
|
+
0,0!==v.dataSeries.dataPointEOs[v.index].cumulativeSum%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),l.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataSeries.dataPointEOs[v.index].cumulativeSum}):k(this.options.label)?ga(v.dataSeries.dataPointEOs[v.index].cumulativeSum,
|
|
904
904
|
this.valueFormatString,this.chart._cultureInfo):this.label,this.value=v.dataSeries.dataPointEOs[v.index].cumulativeSum):(r=1===f.lineWidth%2?(this.parent.convertValueToPixel(v.dataPoint.y)<<0)+0.5:this.parent.convertValueToPixel(v.dataPoint.y)<<0,0!==v.dataPoint.y%1&&k(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),l.text=this.labelFormatter?
|
|
905
905
|
this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.y}):k(this.options.label)?ga(v.dataPoint.y,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=v.dataPoint.y);g=h=r;b=this.chart.plotArea.x1;e=this.chart.plotArea.x2;this.bounds={x1:b,y1:g-q/2,x2:e,y2:h+q/2};l.y=h+l.fontSize/2-l.measureText().height/2+2;l.y-l.fontSize/2<this.chart.bounds.y1?l.y=this.chart.bounds.y1+l.fontSize/2+2:l.y+l.measureText().height-l.fontSize/2>this.chart.bounds.y2&&
|
|
906
906
|
(l.y=this.chart.bounds.y2-l.measureText().height+l.fontSize/2);"left"===this.parent._position?l.x=this.parent.lineCoordinates.x2-l.measureText().width:"right"===this.parent._position&&(l.x=this.parent.lineCoordinates.x2)}p=null;f.globalAlpha=n;0<q&&f.setLineDash&&f.setLineDash(J(this.lineDashType,q));if("bottom"===this.parent._position||"top"===this.parent._position)"top"===this.parent._position&&l.y-l.fontSize/2<this.chart.bounds.y1&&(l.y=this.chart.bounds.y1+l.fontSize/2),"bottom"===this.parent._position&&
|
|
@@ -991,7 +991,7 @@ onComplete:b});for(a=[];0<this.animations.length;)if(d=this.animations.shift(),c
|
|
|
991
991
|
ma)}},xClipAnimation:function(a,d){if(0!==a){var c=d.dest,b=d.source.canvas;c.save();0<a&&c.drawImage(b,0,0,b.width*a,b.height,0,0,b.width*a/ma,b.height/ma);c.restore()}},fadeInAnimation:function(a,d){if(0!==a){var c=d.dest,b=d.source.canvas;c.save();c.globalAlpha=a;c.drawImage(b,0,0,b.width,b.height,0,0,c.canvas.width/ma,c.canvas.height/ma);c.restore()}},easing:{linear:function(a,d,c,b){return c*a/b+d},easeOutQuad:function(a,d,c,b){return-c*(a/=b)*(a-2)+d},easeOutQuart:function(a,d,c,b){return-c*
|
|
992
992
|
((a=a/b-1)*a*a*a-1)+d},easeInQuad:function(a,d,c,b){return c*(a/=b)*a+d},easeInQuart:function(a,d,c,b){return c*(a/=b)*a*a*a+d}}},Y={drawMarker:function(a,d,c,b,e,g,h,k){if(c){var r=1;c.fillStyle=g?g:"#000000";c.strokeStyle=h?h:"#000000";c.lineWidth=k?k:0;c.setLineDash&&c.setLineDash(J("solid",k));"circle"===b?(c.moveTo(a,d),c.beginPath(),c.arc(a,d,e/2,0,2*Math.PI,!1),g&&c.fill(),k&&(h?c.stroke():(r=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=r))):"square"===b?
|
|
993
993
|
(c.beginPath(),c.rect(a-e/2,d-e/2,e,e),g&&c.fill(),k&&(h?c.stroke():(r=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=r))):"triangle"===b?(c.beginPath(),c.moveTo(a-e/2,d+e/2),c.lineTo(a+e/2,d+e/2),c.lineTo(a,d-e/2),c.closePath(),g&&c.fill(),k&&(h?c.stroke():(r=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=r)),c.beginPath()):"cross"===b&&(c.strokeStyle=g,c.lineWidth=e/4,c.beginPath(),c.moveTo(a-e/2,d-e/2),c.lineTo(a+e/2,d+e/2),c.stroke(),
|
|
994
|
-
c.moveTo(a+e/2,d-e/2),c.lineTo(a-e/2,d+e/2),c.stroke())}},drawMarkers:function(a){for(var d=0;d<a.length;d++){var c=a[d];Y.drawMarker(c.x,c.y,c.ctx,c.type,c.size,c.color,c.borderColor,c.borderThickness)}}};return r}();r.version="v3.
|
|
994
|
+
c.moveTo(a+e/2,d-e/2),c.lineTo(a-e/2,d+e/2),c.stroke())}},drawMarkers:function(a){for(var d=0;d<a.length;d++){var c=a[d];Y.drawMarker(c.x,c.y,c.ctx,c.type,c.size,c.color,c.borderColor,c.borderThickness)}}};return r}();r.version="v3.15.0 GA";window.CanvasJS&&(r&&!window.CanvasJS.Chart)&&(window.CanvasJS.Chart=r)})();
|
|
995
995
|
|
|
996
996
|
/*
|
|
997
997
|
excanvas is used to support IE678 which do not implement HTML5 Canvas Element. You can safely remove the following excanvas code if you don't need to support older browsers.
|