@canvasjs/stockcharts 1.12.9 → 1.12.10
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.stock.min.js +601 -599
- package/package.json +1 -1
package/canvasjs.stock.min.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
CanvasJS StockChart - v1.12.
|
|
2
|
+
CanvasJS StockChart - v1.12.10 GA - https://canvasjs.com/
|
|
3
3
|
Copyright 2025 fenopix
|
|
4
4
|
|
|
5
5
|
--------------------- License Information --------------------
|
|
@@ -219,73 +219,75 @@ d.type?L=this.renderStackedArea(d):"stackedArea100"===d.type?L=this.renderStacke
|
|
|
219
219
|
dest:this.plotArea.ctx,animationCallback:z.fadeInAnimation,easingFunction:z.easing.easeInQuad,animationBase:0,startTimePercent:0.7});this.animatedRender&&0<this._indexLabels.length&&(e=qa(this.width,this.height).getContext("2d"),Ba(e),b.push(this.renderIndexLabels(e)));var q=this;if(0<b.length)q.disableToolTip=!0,q._animator.animate(200,q.animationDuration,function(a){q.ctx.clearRect(0,0,q.width,q.height);q.ctx.drawImage(c,0,0,Math.floor(q.width*ja),Math.floor(q.height*ja),0,0,q.width,q.height);for(var e=
|
|
220
220
|
0;e<b.length;e++)L=b[e],1>a&&"undefined"!==typeof L.startTimePercent?a>=L.startTimePercent&&L.animationCallback(L.easingFunction(a-L.startTimePercent,0,1,1-L.startTimePercent),L):L.animationCallback(L.easingFunction(a,0,1,1),L);q.dispatchEvent("dataAnimationIterationEnd",{chart:q})},function(){b=[];for(var a=0;a<q.plotInfo.plotTypes.length;a++)for(var e=q.plotInfo.plotTypes[a],g=0;g<e.plotUnits.length;g++){var k=e.plotUnits[g];k.targetCanvas&&Aa(k.targetCanvas);k.targetCanvas=null}c=null;q.disableToolTip=
|
|
221
221
|
!1;q.dispatchEvent("dataAnimationEnd",{chart:q})});else{if(q._breaksCanvas)if(w)q.plotArea.ctx.drawImage(q._breaksCanvas,0,0,this.width,this.height);else for(n=0;n<q._axes.length;n++)q._axes[n].createMask();0<q._indexLabels.length&&q.renderIndexLabels();q.dispatchEvent("dataAnimationIterationEnd",{chart:q});q.dispatchEvent("dataAnimationEnd",{chart:q})}this.attachPlotAreaEventHandlers();this.zoomEnabled||(this.panEnabled||!this._zoomButton||"none"===this._zoomButton.style.display)||wa(this._zoomButton,
|
|
222
|
-
this._resetButton);f(this.toolTip._xValue)||f(this.toolTip._dataSeriesIndex)||this.toolTip.showAtX(this.toolTip._xValue,this.toolTip._dataSeriesIndex);this.toolTip._updateToolTip();this.
|
|
223
|
-
(delete this._axes[n].maskCanvas,delete this._axes[n].maskCtx)}};v.prototype.render=function(a){a&&(this.options=a);this._initialize();this.setLayout();this.renderElements();this._preRenderCanvas&&
|
|
224
|
-
function(){for(var a="",g=0;g<this.data.length;g++)if(a=this.data[g],a.dataPoints&&(0!==a.dataPoints.length&&a.visible)&&0<=v._supportedChartTypes.indexOf(a.type)){for(var b=null,
|
|
225
|
-
|
|
226
|
-
this.axisX[0<=a.axisXIndex&&a.axisXIndex<this.axisX.length?a.axisXIndex:0]:this.axisX2[0<=a.axisXIndex&&a.axisXIndex<this.axisX2.length?a.axisXIndex:0],dataSeriesIndexes:[],yTotals:[],yAbsTotals:[]},
|
|
227
|
-
|
|
228
|
-
c.
|
|
229
|
-
c.type?this._processMultiYPlotUnit(c):"waterfall"===c.type&&this._processSpecificPlotUnit(c)}this.calculateAutoBreaks()};v.prototype._processMultiseriesPlotUnit=function(a){if(a.dataSeriesIndexes
|
|
230
|
-
a.
|
|
231
|
-
for(d=0;d<f.dataPoints.length;d++){"undefined"===typeof f.dataPoints[d].x&&(f.dataPoints[d].x=d+(a.axisX.logarithmic?1:0));f.dataPoints[d].x.getTime?(k=!0,c=f.dataPoints[d].x.getTime()):
|
|
232
|
-
|
|
233
|
-
(b.viewPortMin=p):(e<g.viewPortMin&&"number"===typeof e&&(g.viewPortMin=e),e>g.viewPortMax&&"number"===typeof e&&(g.viewPortMax=e))}}f.axisX.valueType=f.xValueType=k?"dateTime":"number"}};
|
|
234
|
-
|
|
235
|
-
Infinity;if(r.dataPoints[h].x&&r.dataPoints[h].x.getTime||"dateTime"===r.xValueType)k=!0;for(h=0;h<r.dataPoints.length;h++){"undefined"===typeof r.dataPoints[h].x&&(r.dataPoints[h].x=h+(a.axisX.logarithmic?
|
|
236
|
-
1].x
|
|
237
|
-
(b.viewPortMax=c);null===r.dataPoints[h].y?b.viewPortMin===c&&m<c&&(b.viewPortMin=m):(q[c]=(q[c]||0)+r.dataPoints[h].y,r.dataPointEOs[h].cumulativeY=q[c],a.yTotals[c]=(a.yTotals[c]?a.yTotals[c]:0)+e,a.yAbsTotals[c]=
|
|
238
|
-
C),g.dataPointYNegativeSums.push.apply(g.dataPointYPositiveSums,d)):(g.dataPointYPositiveSums=C,g.dataPointYNegativeSums=d));r.axisX.valueType=r.xValueType=k?"dateTime":"number"}for(h in C)C.hasOwnProperty(h)
|
|
239
|
-
b.viewPortMin||h>b.viewPortMax||(a<g.viewPortMin&&(g.viewPortMin=a),a>g.viewPortMax&&(g.viewPortMax=Math.max(a,n))))}};v.prototype._processStacked100PlotUnit=function(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length)){for(var g=
|
|
240
|
-
a.
|
|
241
|
-
p.xValueType)k=!0;for(r=0;r<p.dataPoints.length;r++){"undefined"===typeof p.dataPoints[r].x&&(p.dataPoints[r].x=r+(a.axisX.logarithmic?1:0));p.dataPoints[r].x.getTime?(k=!0,c=p.dataPoints[r].x.getTime()):c=p.dataPoints[r].x;e=f(p.dataPoints[r].y)?
|
|
242
|
-
p.dataPoints[r-1].y||(a.axisY.logarithmic?0<e&&(D=e/p.dataPoints[r-1].y,1>D&&(D=1/D),g.minDiff>D&&1!==D&&(g.minDiff=D)):(D=e-p.dataPoints[r-1].y,0>D&&(D*=-1),g.minDiff>D&&0!==D&&(g.minDiff=D)))}if(c<m&&!h)null!==e&&(z=c);else{if(!h&&(h=!0,0<r)){r-=
|
|
243
|
-
p.dataPoints[r].y,p.dataPointEOs[r].cumulativeY=L[c],a.yTotals[c]=(a.yTotals[c]?a.yTotals[c]:0)+e,a.yAbsTotals[c]=(a.yAbsTotals[c]?a.yAbsTotals[c]:0)+Math.abs(e),0<=e?C=!0:0>e&&(d=!0),n[c]=n[c]?n[c]+Math.abs(e):Math.abs(e))}}p.axisX.valueType=p.xValueType=
|
|
244
|
-
99:Math.max(g.viewPortMax,99),g.min=f(g.viewPortMin)?1:Math.min(g.viewPortMin,1)):C
|
|
245
|
-
b=a.axisX.dataInfo,c,e,k,C,f=!1,d=0;d<a.dataSeriesIndexes.length;d++){var n=this.data[a.dataSeriesIndexes[d]],q=0,p=!1,r=!1,h,F,z;if("normal"===n.axisPlacement||"xySwapped"===n.axisPlacement)var m=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:
|
|
246
|
-
a.axisX.sessionVariables.newViewportMaximum:a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(n.dataPoints[q].x&&n.dataPoints[q].x.getTime||"dateTime"===n.xValueType)f=!0;
|
|
247
|
-
e.length){k=Math.min.apply(null,e);C=Math.max.apply(null,e);F=!0;for(var D=0;D<e.length;D++)null===e.k&&(F=!1);F&&(p||(z=h),h=c)}c<b.min&&(b.min=c);c>b.max&&(b.max=c);k<g.min&&(g.min=k);C>g.max&&(g.max=C);0<q&&(a.axisX.logarithmic?(F=c/n.dataPoints[q-1].x,1>F&&(F=1/F),
|
|
248
|
-
F&&(F=1/F),g.minDiff>F&&1!==F&&(g.minDiff=F)):(F=e[0]-n.dataPoints[q-1].y[0],0>F&&(F*=-1),g.minDiff>F&&0!==F&&(g.minDiff=F))));if(!(c<m)||p){if(!p&&(p=!0,0<q)){q-=2;h=z;continue}if(c>u&&!r)r=!0;else if(c>u&&r)continue;n.dataPoints[q].label&&(a.axisX.labels[c]=n.dataPoints[q].label);
|
|
249
|
-
(g.viewPortMin=k),C>g.viewPortMax&&(g.viewPortMax=C))}}n.axisX.valueType=n.xValueType=f?"dateTime":"number"}};v.prototype._processSpecificPlotUnit=function(a){if("waterfall"===a.type&&a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length))for(var g=a.axisY.dataInfo,b=a.axisX.dataInfo,
|
|
250
|
-
a.axisX.sessionVariables.newViewportMinimum:a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:a.axisX.options&&a.axisX.options.minimum?a.axisX.options.minimum:a.axisX.logarithmic?0:-Infinity,h=a.axisX.sessionVariables.newViewportMaximum?a.axisX.sessionVariables.newViewportMaximum:
|
|
251
|
-
"dateTime"===f.xValueType)k=!0;for(d=0;d<f.dataPoints.length;d++)"undefined"!==typeof f.dataPoints[d].isCumulativeSum&&!0===f.dataPoints[d].isCumulativeSum?(f.dataPointEOs[d].cumulativeSumYStartValue=0,f.dataPointEOs[d].cumulativeSum=0===d?0:f.dataPointEOs[d-1].cumulativeSum,f.dataPoints[d].y=0===
|
|
252
|
-
0===d?0:f.dataPointEOs[d-1].cumulativeSum,f.dataPoints[d].y=0===d?0:c,p=0===d?0:f.dataPointEOs[d-1].cumulativeSum,c=0):(e="number"!==typeof f.dataPoints[d].y?0:f.dataPoints[d].y,f.dataPointEOs[d].cumulativeSumYStartValue=0===d?0:f.dataPointEOs[d-1].cumulativeSum,f.dataPointEOs[d].cumulativeSum=
|
|
253
|
-
c=f.dataPoints[d].x.getTime()):c=f.dataPoints[d].x,e=f.dataPoints[d].y,c<b.min&&(b.min=c),c>b.max&&(b.max=c),f.dataPointEOs[d].cumulativeSum<g.min&&(g.min=f.dataPointEOs[d].cumulativeSum),f.dataPointEOs[d].cumulativeSum>g.max&&(g.max=f.dataPointEOs[d].cumulativeSum),0<d&&(a.axisX.logarithmic?(p=
|
|
254
|
-
f.dataPointEOs[d].cumulativeSum/f.dataPointEOs[d-1].cumulativeSum,1>e&&(e=1/e),g.minDiff>e&&1!==e&&(g.minDiff=e)):(e=f.dataPointEOs[d].cumulativeSum-f.dataPointEOs[d-1].cumulativeSum,0>e&&(e*=-1),g.minDiff>e&&0!==e&&(g.minDiff=e)))),!(c<r)||n){if(!n&&(n=!0,0<d)){d-=2;continue}if(c>h&&!q)q=!0;else if(c>
|
|
255
|
-
(g.viewPortMin=f.dataPointEOs[d-1].cumulativeSum),f.dataPointEOs[d-1].cumulativeSum>g.viewPortMax&&(g.viewPortMax=f.dataPointEOs[d-1].cumulativeSum));f.dataPointEOs[d].cumulativeSum<g.viewPortMin&&(g.viewPortMin=f.dataPointEOs[d].cumulativeSum);f.dataPointEOs[d].cumulativeSum>g.viewPortMax&&(g.viewPortMax=
|
|
256
|
-
0.2),1>=b&&(b=Math.pow(1>a?1/a:Math.min(c/a,a),0.25)),{startValue:a*b,endValue:c/b};b=0.2*Math.min(b-c+a,c-a);0>=b&&(b=0.25*Math.min(c-a,Math.abs(a)));return{startValue:a+b,endValue:c-b}}function g(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length)){var c=a.axisX.scaleBreaks&&a.axisX.scaleBreaks.autoCalculate&&
|
|
257
|
-
h=a.axisX.dataInfo,k,C=h.min,n=h.max,d=g.min,q=g.max,h=h._dataRanges,g=g._dataRanges,p,r=0,L=0;L<a.dataSeriesIndexes.length;L++){var z=e.data[a.dataSeriesIndexes[L]];if(!(4>z.dataPoints.length))for(r=0;r<z.dataPoints.length;r++)if(c&&(p=(n+1-C)*Math.max(parseFloat(a.axisX.scaleBreaks.collapsibleThreshold)||10,10)/100,
|
|
258
|
-
10,10)/100;if((k="waterfall"===a.type?z.dataPointEOs[r].cumulativeSum:z.dataPoints[r].y)&&k.length)for(var m=0;m<k.length;m++)p=Math.floor((k[m]-d)/na),k[m]<g[p].min&&(g[p].min=k[m]),k[m]>g[p].max&&(g[p].max=k[m]);else f(k)||(p=Math.floor((k-d)/na),k<g[p].min&&(g[p].min=k),
|
|
259
|
-
b=c.min,g=c.max,h=c._dataRanges,k,C=0,n=0;n<a.dataSeriesIndexes.length;n++){var f=e.data[a.dataSeriesIndexes[n]];if(!(4>f.dataPoints.length))for(C=0;C<f.dataPoints.length;C++)k=(g+1-b)*Math.max(parseFloat(a.axisX.scaleBreaks.collapsibleThreshold)||10,10)/100,c=f.dataPoints[C].x.getTime?
|
|
260
|
-
1<=this._axes[C].scaleBreaks.maxNumberOfAutoBreaks){k=!0;this._axes[C].dataInfo._dataRanges=[];for(var d=0;d<100/Math.max(parseFloat(this._axes[C].scaleBreaks.collapsibleThreshold)||10,10);d++)this._axes[C].dataInfo._dataRanges.push({min:Infinity,max:-Infinity})}if(k){for(C=
|
|
261
|
-
"
|
|
262
|
-
10,10)/100;var n=this._axes[C].dataInfo._dataRanges,q,p,k=[];if(this._axes[C].dataInfo.dataPointYPositiveSums){var r=this._axes[C].dataInfo.dataPointYPositiveSums;q=n;for(d in r)if(r.hasOwnProperty(d)&&!isNaN(d)&&(p=r[d],!f(p))){var h=Math.floor((p-
|
|
263
|
-
(p=-1*r[d],f(p)||(h=Math.floor((p-L)/c),p<q[h].min&&(q[h].min=p),p>q[h].max&&(q[h].max=p)));delete this._axes[C].dataInfo.dataPointYNegativeSums}for(d=0;d<n.length-1;d++)if(q=n[d].max,isFinite(q))for(;d<n.length-1;)if(L=n[d+1].min,isFinite(L)){p=L-
|
|
264
|
-
this._axes[C].scaleBreaks.customBreaks
|
|
265
|
-
0;d<Math.min(k.length,this._axes[C].scaleBreaks.maxNumberOfAutoBreaks);d++)c=a(k[d].start,k[d].end,this._axes[C].logarithmic?this._axes[C].dataInfo.max/this._axes[C].dataInfo.min:this._axes[C].dataInfo.max-this._axes[C].dataInfo.min,this._axes[C].logarithmic),
|
|
266
|
-
1]);this._axes[C].scaleBreaks._appliedBreaks.sort(function(a,c){return a.startValue-c.startValue})}}};v.prototype.renderCrosshairs=function(a,g){for(var b=0;b<this.axisX.length;b++)this.axisX[b]!=a&&
|
|
267
|
-
this.
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
this.
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
0;
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
this.
|
|
222
|
+
this._resetButton);f(this.toolTip._xValue)||f(this.toolTip._dataSeriesIndex)||this.toolTip.showAtX(this.toolTip._xValue,this.toolTip._dataSeriesIndex);this.toolTip._updateToolTip();this.toolTip.enabled&&this.toolTip._updatedEventParameters&&!isNaN(this.toolTip._prevX)&&!isNaN(this.toolTip._prevY)&&this.toolTip.container&&this.toolTip.container.style&&this.toolTip.dispatchEvent("none"===this.toolTip.container.style.display?"hidden":"updated",this.toolTip._updatedEventParameters,this.toolTip);this.renderCount++;
|
|
223
|
+
Ia&&(q=this,setTimeout(function(){var a=document.getElementById("ghostCanvasCopy");a&&(Ra(a,q.width,q.height),a.getContext("2d").drawImage(q._eventManager.ghostCanvas,0,0))},2E3));this._breaksCanvas&&(delete this._breaksCanvas,delete this._breaksCanvasCtx);for(n=0;n<this._axes.length;n++)this._axes[n].maskCanvas&&(delete this._axes[n].maskCanvas,delete this._axes[n].maskCtx)}};v.prototype.render=function(a){a&&(this.options=a);this._initialize();this.setLayout();this.renderElements();this._preRenderCanvas&&
|
|
224
|
+
Aa(this._preRenderCanvas)};v.prototype.attachPlotAreaEventHandlers=function(){this.attachEvent({context:this,chart:this,mousedown:this._plotAreaMouseDown,mouseup:this._plotAreaMouseUp,mousemove:this._plotAreaMouseMove,cursor:this.panEnabled?"move":"default",capture:!0,bounds:this.plotArea})};v.prototype.categoriseDataSeries=function(){for(var a="",g=0;g<this.data.length;g++)if(a=this.data[g],a.dataPoints&&(0!==a.dataPoints.length&&a.visible)&&0<=v._supportedChartTypes.indexOf(a.type)){for(var b=null,
|
|
225
|
+
c=!1,e=null,k=!1,C=0;C<this.plotInfo.plotTypes.length;C++)if(this.plotInfo.plotTypes[C].type===a.type){c=!0;b=this.plotInfo.plotTypes[C];break}c||(b={type:a.type,totalDataSeries:0,plotUnits:[]},this.plotInfo.plotTypes.push(b));for(C=0;C<b.plotUnits.length;C++)if(b.plotUnits[C].axisYType===a.axisYType&&b.plotUnits[C].axisXType===a.axisXType&&b.plotUnits[C].axisYIndex===a.axisYIndex&&b.plotUnits[C].axisXIndex===a.axisXIndex){k=!0;e=b.plotUnits[C];break}k||(e={type:a.type,previousDataSeriesCount:0,index:b.plotUnits.length,
|
|
226
|
+
plotType:b,axisXType:a.axisXType,axisYType:a.axisYType,axisYIndex:a.axisYIndex,axisXIndex:a.axisXIndex,axisY:"primary"===a.axisYType?this.axisY[0<=a.axisYIndex&&a.axisYIndex<this.axisY.length?a.axisYIndex:0]:this.axisY2[0<=a.axisYIndex&&a.axisYIndex<this.axisY2.length?a.axisYIndex:0],axisX:"primary"===a.axisXType?this.axisX[0<=a.axisXIndex&&a.axisXIndex<this.axisX.length?a.axisXIndex:0]:this.axisX2[0<=a.axisXIndex&&a.axisXIndex<this.axisX2.length?a.axisXIndex:0],dataSeriesIndexes:[],yTotals:[],yAbsTotals:[]},
|
|
227
|
+
b.plotUnits.push(e));b.totalDataSeries++;e.dataSeriesIndexes.push(g);a.plotUnit=e}for(g=0;g<this.plotInfo.plotTypes.length;g++)for(b=this.plotInfo.plotTypes[g],C=a=0;C<b.plotUnits.length;C++)b.plotUnits[C].previousDataSeriesCount=a,a+=b.plotUnits[C].dataSeriesIndexes.length};v.prototype.assignIdToDataPoints=function(){for(var a=0;a<this.data.length;a++){var g=this.data[a];if(g.dataPoints)for(var b=g.dataPoints.length,c=0;c<b;c++)g.dataPointIds[c]=++this._eventManager.lastObjectId}};v.prototype._processData=
|
|
228
|
+
function(){this.assignIdToDataPoints();this.categoriseDataSeries();for(var a=0;a<this.plotInfo.plotTypes.length;a++)for(var g=this.plotInfo.plotTypes[a],b=0;b<g.plotUnits.length;b++){var c=g.plotUnits[b];"line"===c.type||"stepLine"===c.type||"spline"===c.type||"column"===c.type||"area"===c.type||"stepArea"===c.type||"splineArea"===c.type||"bar"===c.type||"bubble"===c.type||"scatter"===c.type?this._processMultiseriesPlotUnit(c):"stackedColumn"===c.type||"stackedBar"===c.type||"stackedArea"===c.type?
|
|
229
|
+
this._processStackedPlotUnit(c):"stackedColumn100"===c.type||"stackedBar100"===c.type||"stackedArea100"===c.type?this._processStacked100PlotUnit(c):"candlestick"===c.type||"ohlc"===c.type||"rangeColumn"===c.type||"rangeBar"===c.type||"rangeArea"===c.type||"rangeSplineArea"===c.type||"error"===c.type||"boxAndWhisker"===c.type?this._processMultiYPlotUnit(c):"waterfall"===c.type&&this._processSpecificPlotUnit(c)}this.calculateAutoBreaks()};v.prototype._processMultiseriesPlotUnit=function(a){if(a.dataSeriesIndexes&&
|
|
230
|
+
!(1>a.dataSeriesIndexes.length))for(var g=a.axisY.dataInfo,b=a.axisX.dataInfo,c,e,k=!1,C=0;C<a.dataSeriesIndexes.length;C++){var f=this.data[a.dataSeriesIndexes[C]],d=0,n=!1,q=!1,p;if("normal"===f.axisPlacement||"xySwapped"===f.axisPlacement)var r=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:a.axisX.options&&a.axisX.options.minimum?a.axisX.options.minimum:a.axisX.logarithmic?
|
|
231
|
+
0:-Infinity,h=a.axisX.sessionVariables.newViewportMaximum?a.axisX.sessionVariables.newViewportMaximum:a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(f.dataPoints[d].x&&f.dataPoints[d].x.getTime||"dateTime"===f.xValueType)k=!0;for(d=0;d<f.dataPoints.length;d++){"undefined"===typeof f.dataPoints[d].x&&(f.dataPoints[d].x=d+(a.axisX.logarithmic?1:0));f.dataPoints[d].x.getTime?(k=!0,c=f.dataPoints[d].x.getTime()):
|
|
232
|
+
c=f.dataPoints[d].x;e=f.dataPoints[d].y;c<b.min&&(b.min=c);c>b.max&&(b.max=c);e<g.min&&"number"===typeof e&&(g.min=e);e>g.max&&"number"===typeof e&&(g.max=e);if(0<d){if(a.axisX.logarithmic){var F=c/f.dataPoints[d-1].x;1>F&&(F=1/F);b.minDiff>F&&1!==F&&(b.minDiff=F)}else F=c-f.dataPoints[d-1].x,0>F&&(F*=-1),b.minDiff>F&&0!==F&&(b.minDiff=F);null!==e&&null!==f.dataPoints[d-1].y&&(a.axisY.logarithmic?(F=e/f.dataPoints[d-1].y,1>F&&(F=1/F),g.minDiff>F&&1!==F&&(g.minDiff=F)):(F=e-f.dataPoints[d-1].y,0>F&&
|
|
233
|
+
(F*=-1),g.minDiff>F&&0!==F&&(g.minDiff=F)))}if(c<r&&!n)null!==e&&(p=c);else{if(!n&&(n=!0,0<d)){d-=2;continue}if(c>h&&!q)q=!0;else if(c>h&&q)continue;f.dataPoints[d].label&&(a.axisX.labels[c]=f.dataPoints[d].label);c<b.viewPortMin&&(b.viewPortMin=c);c>b.viewPortMax&&(b.viewPortMax=c);null===e?b.viewPortMin===c&&p<c&&(b.viewPortMin=p):(e<g.viewPortMin&&"number"===typeof e&&(g.viewPortMin=e),e>g.viewPortMax&&"number"===typeof e&&(g.viewPortMax=e))}}f.axisX.valueType=f.xValueType=k?"dateTime":"number"}};
|
|
234
|
+
v.prototype._processStackedPlotUnit=function(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length)){for(var g=a.axisY.dataInfo,b=a.axisX.dataInfo,c,e,k=!1,C=[],d=[],L=Infinity,n=-Infinity,q={},p=0;p<a.dataSeriesIndexes.length;p++){var r=this.data[a.dataSeriesIndexes[p]],h=0,F=!1,z=!1,m;if("normal"===r.axisPlacement||"xySwapped"===r.axisPlacement)var u=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:
|
|
235
|
+
a.axisX.options&&a.axisX.options.minimum?a.axisX.options.minimum:-Infinity,D=a.axisX.sessionVariables.newViewportMaximum?a.axisX.sessionVariables.newViewportMaximum:a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(r.dataPoints[h].x&&r.dataPoints[h].x.getTime||"dateTime"===r.xValueType)k=!0;for(h=0;h<r.dataPoints.length;h++){"undefined"===typeof r.dataPoints[h].x&&(r.dataPoints[h].x=h+(a.axisX.logarithmic?
|
|
236
|
+
1:0));r.dataPoints[h].x.getTime?(k=!0,c=r.dataPoints[h].x.getTime()):c=r.dataPoints[h].x;e=f(r.dataPoints[h].y)?0:r.dataPoints[h].y;c<b.min&&(b.min=c);c>b.max&&(b.max=c);if(0<h){if(a.axisX.logarithmic){var x=c/r.dataPoints[h-1].x;1>x&&(x=1/x);b.minDiff>x&&1!==x&&(b.minDiff=x)}else x=c-r.dataPoints[h-1].x,0>x&&(x*=-1),b.minDiff>x&&0!==x&&(b.minDiff=x);null!==e&&null!==r.dataPoints[h-1].y&&(a.axisY.logarithmic?0<e&&(x=e/r.dataPoints[h-1].y,1>x&&(x=1/x),g.minDiff>x&&1!==x&&(g.minDiff=x)):(x=e-r.dataPoints[h-
|
|
237
|
+
1].y,0>x&&(x*=-1),g.minDiff>x&&0!==x&&(g.minDiff=x)))}if(c<u&&!F)null!==r.dataPoints[h].y&&(m=c);else{if(!F&&(F=!0,0<h)){h-=2;continue}if(c>D&&!z)z=!0;else if(c>D&&z)continue;r.dataPoints[h].label&&(a.axisX.labels[c]=r.dataPoints[h].label);c<b.viewPortMin&&(b.viewPortMin=c);c>b.viewPortMax&&(b.viewPortMax=c);null===r.dataPoints[h].y?b.viewPortMin===c&&m<c&&(b.viewPortMin=m):(q[c]=(q[c]||0)+r.dataPoints[h].y,r.dataPointEOs[h].cumulativeY=q[c],a.yTotals[c]=(a.yTotals[c]?a.yTotals[c]:0)+e,a.yAbsTotals[c]=
|
|
238
|
+
(a.yAbsTotals[c]?a.yAbsTotals[c]:0)+Math.abs(e),0<=e?C[c]?C[c]+=e:(C[c]=e,L=Math.min(e,L)):d[c]?d[c]+=e:(d[c]=e,n=Math.max(e,n)))}}a.axisY.scaleBreaks&&(a.axisY.scaleBreaks.autoCalculate&&1<=a.axisY.scaleBreaks.maxNumberOfAutoBreaks)&&(g.dataPointYPositiveSums?(g.dataPointYPositiveSums.push.apply(g.dataPointYPositiveSums,C),g.dataPointYNegativeSums.push.apply(g.dataPointYPositiveSums,d)):(g.dataPointYPositiveSums=C,g.dataPointYNegativeSums=d));r.axisX.valueType=r.xValueType=k?"dateTime":"number"}for(h in C)C.hasOwnProperty(h)&&
|
|
239
|
+
!isNaN(h)&&(a=C[h],a<g.min&&(g.min=Math.min(a,L)),a>g.max&&(g.max=a),h<b.viewPortMin||h>b.viewPortMax||(a<g.viewPortMin&&(g.viewPortMin=Math.min(a,L)),a>g.viewPortMax&&(g.viewPortMax=a)));for(h in d)d.hasOwnProperty(h)&&!isNaN(h)&&(a=d[h],a<g.min&&(g.min=a),a>g.max&&(g.max=Math.max(a,n)),h<b.viewPortMin||h>b.viewPortMax||(a<g.viewPortMin&&(g.viewPortMin=a),a>g.viewPortMax&&(g.viewPortMax=Math.max(a,n))))}};v.prototype._processStacked100PlotUnit=function(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length)){for(var g=
|
|
240
|
+
a.axisY.dataInfo,b=a.axisX.dataInfo,c,e,k=!1,C=!1,d=!1,L={},n=[],q=0;q<a.dataSeriesIndexes.length;q++){var p=this.data[a.dataSeriesIndexes[q]],r=0,h=!1,F=!1,z;if("normal"===p.axisPlacement||"xySwapped"===p.axisPlacement)var m=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:a.axisX.options&&a.axisX.options.minimum?a.axisX.options.minimum:-Infinity,u=a.axisX.sessionVariables.newViewportMaximum?
|
|
241
|
+
a.axisX.sessionVariables.newViewportMaximum:a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(p.dataPoints[r].x&&p.dataPoints[r].x.getTime||"dateTime"===p.xValueType)k=!0;for(r=0;r<p.dataPoints.length;r++){"undefined"===typeof p.dataPoints[r].x&&(p.dataPoints[r].x=r+(a.axisX.logarithmic?1:0));p.dataPoints[r].x.getTime?(k=!0,c=p.dataPoints[r].x.getTime()):c=p.dataPoints[r].x;e=f(p.dataPoints[r].y)?
|
|
242
|
+
null:p.dataPoints[r].y;c<b.min&&(b.min=c);c>b.max&&(b.max=c);if(0<r){if(a.axisX.logarithmic){var D=c/p.dataPoints[r-1].x;1>D&&(D=1/D);b.minDiff>D&&1!==D&&(b.minDiff=D)}else D=c-p.dataPoints[r-1].x,0>D&&(D*=-1),b.minDiff>D&&0!==D&&(b.minDiff=D);f(e)||null===p.dataPoints[r-1].y||(a.axisY.logarithmic?0<e&&(D=e/p.dataPoints[r-1].y,1>D&&(D=1/D),g.minDiff>D&&1!==D&&(g.minDiff=D)):(D=e-p.dataPoints[r-1].y,0>D&&(D*=-1),g.minDiff>D&&0!==D&&(g.minDiff=D)))}if(c<m&&!h)null!==e&&(z=c);else{if(!h&&(h=!0,0<r)){r-=
|
|
243
|
+
2;continue}if(c>u&&!F)F=!0;else if(c>u&&F)continue;p.dataPoints[r].label&&(a.axisX.labels[c]=p.dataPoints[r].label);c<b.viewPortMin&&(b.viewPortMin=c);c>b.viewPortMax&&(b.viewPortMax=c);null===e?b.viewPortMin===c&&z<c&&(b.viewPortMin=z):(L[c]=(L[c]||0)+p.dataPoints[r].y,p.dataPointEOs[r].cumulativeY=L[c],a.yTotals[c]=(a.yTotals[c]?a.yTotals[c]:0)+e,a.yAbsTotals[c]=(a.yAbsTotals[c]?a.yAbsTotals[c]:0)+Math.abs(e),0<=e?C=!0:0>e&&(d=!0),n[c]=n[c]?n[c]+Math.abs(e):Math.abs(e))}}p.axisX.valueType=p.xValueType=
|
|
244
|
+
k?"dateTime":"number"}a.axisY.logarithmic?(g.max=f(g.viewPortMax)?99*Math.pow(a.axisY.logarithmBase,-0.05):Math.max(g.viewPortMax,99*Math.pow(a.axisY.logarithmBase,-0.05)),g.min=f(g.viewPortMin)?1:Math.min(g.viewPortMin,1)):C&&!d?(g.max=f(g.viewPortMax)?99:Math.max(g.viewPortMax,99),g.min=f(g.viewPortMin)?1:Math.min(g.viewPortMin,1)):C&&d?(g.max=f(g.viewPortMax)?99:Math.max(g.viewPortMax,99),g.min=f(g.viewPortMin)?-99:Math.min(g.viewPortMin,-99)):!C&&d&&(g.max=f(g.viewPortMax)?-1:Math.max(g.viewPortMax,
|
|
245
|
+
-1),g.min=f(g.viewPortMin)?-99:Math.min(g.viewPortMin,-99));g.viewPortMin=g.min;g.viewPortMax=g.max;a.dataPointYSums=n}};v.prototype._processMultiYPlotUnit=function(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length))for(var g=a.axisY.dataInfo,b=a.axisX.dataInfo,c,e,k,C,f=!1,d=0;d<a.dataSeriesIndexes.length;d++){var n=this.data[a.dataSeriesIndexes[d]],q=0,p=!1,r=!1,h,F,z;if("normal"===n.axisPlacement||"xySwapped"===n.axisPlacement)var m=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:
|
|
246
|
+
a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:a.axisX.options&&a.axisX.options.minimum?a.axisX.options.minimum:a.axisX.logarithmic?0:-Infinity,u=a.axisX.sessionVariables.newViewportMaximum?a.axisX.sessionVariables.newViewportMaximum:a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(n.dataPoints[q].x&&n.dataPoints[q].x.getTime||"dateTime"===n.xValueType)f=!0;
|
|
247
|
+
for(q=0;q<n.dataPoints.length;q++){"undefined"===typeof n.dataPoints[q].x&&(n.dataPoints[q].x=q+(a.axisX.logarithmic?1:0));n.dataPoints[q].x.getTime?(f=!0,c=n.dataPoints[q].x.getTime()):c=n.dataPoints[q].x;if((e=n.dataPoints[q].y)&&e.length){k=Math.min.apply(null,e);C=Math.max.apply(null,e);F=!0;for(var D=0;D<e.length;D++)null===e.k&&(F=!1);F&&(p||(z=h),h=c)}c<b.min&&(b.min=c);c>b.max&&(b.max=c);k<g.min&&(g.min=k);C>g.max&&(g.max=C);0<q&&(a.axisX.logarithmic?(F=c/n.dataPoints[q-1].x,1>F&&(F=1/F),
|
|
248
|
+
b.minDiff>F&&1!==F&&(b.minDiff=F)):(F=c-n.dataPoints[q-1].x,0>F&&(F*=-1),b.minDiff>F&&0!==F&&(b.minDiff=F)),e&&(null!==e[0]&&n.dataPoints[q-1].y&&null!==n.dataPoints[q-1].y[0])&&(a.axisY.logarithmic?(F=e[0]/n.dataPoints[q-1].y[0],1>F&&(F=1/F),g.minDiff>F&&1!==F&&(g.minDiff=F)):(F=e[0]-n.dataPoints[q-1].y[0],0>F&&(F*=-1),g.minDiff>F&&0!==F&&(g.minDiff=F))));if(!(c<m)||p){if(!p&&(p=!0,0<q)){q-=2;h=z;continue}if(c>u&&!r)r=!0;else if(c>u&&r)continue;n.dataPoints[q].label&&(a.axisX.labels[c]=n.dataPoints[q].label);
|
|
249
|
+
c<b.viewPortMin&&(b.viewPortMin=c);c>b.viewPortMax&&(b.viewPortMax=c);if(b.viewPortMin===c&&e)for(D=0;D<e.length;D++)if(null===e[D]&&h<c){b.viewPortMin=h;break}null===e?b.viewPortMin===c&&h<c&&(b.viewPortMin=h):(k<g.viewPortMin&&(g.viewPortMin=k),C>g.viewPortMax&&(g.viewPortMax=C))}}n.axisX.valueType=n.xValueType=f?"dateTime":"number"}};v.prototype._processSpecificPlotUnit=function(a){if("waterfall"===a.type&&a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length))for(var g=a.axisY.dataInfo,b=a.axisX.dataInfo,
|
|
250
|
+
c,e,k=!1,C=0;C<a.dataSeriesIndexes.length;C++){var f=this.data[a.dataSeriesIndexes[C]],d=0,n=!1,q=!1,p=c=0;if("normal"===f.axisPlacement||"xySwapped"===f.axisPlacement)var r=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:a.axisX.options&&a.axisX.options.minimum?a.axisX.options.minimum:a.axisX.logarithmic?0:-Infinity,h=a.axisX.sessionVariables.newViewportMaximum?a.axisX.sessionVariables.newViewportMaximum:
|
|
251
|
+
a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(f.dataPoints[d].x&&f.dataPoints[d].x.getTime||"dateTime"===f.xValueType)k=!0;for(d=0;d<f.dataPoints.length;d++)"undefined"!==typeof f.dataPoints[d].isCumulativeSum&&!0===f.dataPoints[d].isCumulativeSum?(f.dataPointEOs[d].cumulativeSumYStartValue=0,f.dataPointEOs[d].cumulativeSum=0===d?0:f.dataPointEOs[d-1].cumulativeSum,f.dataPoints[d].y=0===
|
|
252
|
+
d?0:f.dataPointEOs[d-1].cumulativeSum):"undefined"!==typeof f.dataPoints[d].isIntermediateSum&&!0===f.dataPoints[d].isIntermediateSum?(f.dataPointEOs[d].cumulativeSumYStartValue=p,f.dataPointEOs[d].cumulativeSum=0===d?0:f.dataPointEOs[d-1].cumulativeSum,f.dataPoints[d].y=0===d?0:c,p=0===d?0:f.dataPointEOs[d-1].cumulativeSum,c=0):(e="number"!==typeof f.dataPoints[d].y?0:f.dataPoints[d].y,f.dataPointEOs[d].cumulativeSumYStartValue=0===d?0:f.dataPointEOs[d-1].cumulativeSum,f.dataPointEOs[d].cumulativeSum=
|
|
253
|
+
0===d?e:f.dataPointEOs[d-1].cumulativeSum+e,c+=e);for(d=0;d<f.dataPoints.length;d++)if("undefined"===typeof f.dataPoints[d].x&&(f.dataPoints[d].x=d+(a.axisX.logarithmic?1:0)),f.dataPoints[d].x.getTime?(k=!0,c=f.dataPoints[d].x.getTime()):c=f.dataPoints[d].x,e=f.dataPoints[d].y,c<b.min&&(b.min=c),c>b.max&&(b.max=c),f.dataPointEOs[d].cumulativeSum<g.min&&(g.min=f.dataPointEOs[d].cumulativeSum),f.dataPointEOs[d].cumulativeSum>g.max&&(g.max=f.dataPointEOs[d].cumulativeSum),0<d&&(a.axisX.logarithmic?(p=
|
|
254
|
+
c/f.dataPoints[d-1].x,1>p&&(p=1/p),b.minDiff>p&&1!==p&&(b.minDiff=p)):(p=c-f.dataPoints[d-1].x,0>p&&(p*=-1),b.minDiff>p&&0!==p&&(b.minDiff=p)),null!==e&&null!==f.dataPoints[d-1].y&&(a.axisY.logarithmic?(e=f.dataPointEOs[d].cumulativeSum/f.dataPointEOs[d-1].cumulativeSum,1>e&&(e=1/e),g.minDiff>e&&1!==e&&(g.minDiff=e)):(e=f.dataPointEOs[d].cumulativeSum-f.dataPointEOs[d-1].cumulativeSum,0>e&&(e*=-1),g.minDiff>e&&0!==e&&(g.minDiff=e)))),!(c<r)||n){if(!n&&(n=!0,0<d)){d-=2;continue}if(c>h&&!q)q=!0;else if(c>
|
|
255
|
+
h&&q)continue;f.dataPoints[d].label&&(a.axisX.labels[c]=f.dataPoints[d].label);c<b.viewPortMin&&(b.viewPortMin=c);c>b.viewPortMax&&(b.viewPortMax=c);0<d&&(f.dataPointEOs[d-1].cumulativeSum<g.viewPortMin&&(g.viewPortMin=f.dataPointEOs[d-1].cumulativeSum),f.dataPointEOs[d-1].cumulativeSum>g.viewPortMax&&(g.viewPortMax=f.dataPointEOs[d-1].cumulativeSum));f.dataPointEOs[d].cumulativeSum<g.viewPortMin&&(g.viewPortMin=f.dataPointEOs[d].cumulativeSum);f.dataPointEOs[d].cumulativeSum>g.viewPortMax&&(g.viewPortMax=
|
|
256
|
+
f.dataPointEOs[d].cumulativeSum)}f.axisX.valueType=f.xValueType=k?"dateTime":"number"}};v.prototype.calculateAutoBreaks=function(){function a(a,c,b,e){if(e)return b=Math.pow(Math.min(b*a/c,c/a),0.2),1>=b&&(b=Math.pow(1>a?1/a:Math.min(c/a,a),0.25)),{startValue:a*b,endValue:c/b};b=0.2*Math.min(b-c+a,c-a);0>=b&&(b=0.25*(0<a?Math.min(c-a,Math.abs(a)):c-a));return{startValue:a+b,endValue:c-b}}function g(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length)){var c=a.axisX.scaleBreaks&&a.axisX.scaleBreaks.autoCalculate&&
|
|
257
|
+
1<=a.axisX.scaleBreaks.maxNumberOfAutoBreaks,b=a.axisY.scaleBreaks&&a.axisY.scaleBreaks.autoCalculate&&1<=a.axisY.scaleBreaks.maxNumberOfAutoBreaks;if(c||b)for(var g=a.axisY.dataInfo,h=a.axisX.dataInfo,k,C=h.min,n=h.max,d=g.min,q=g.max,h=h._dataRanges,g=g._dataRanges,p,r=0,L=0;L<a.dataSeriesIndexes.length;L++){var z=e.data[a.dataSeriesIndexes[L]];if(!(4>z.dataPoints.length))for(r=0;r<z.dataPoints.length;r++)if(c&&(p=(n+1-C)*Math.max(parseFloat(a.axisX.scaleBreaks.collapsibleThreshold)||10,10)/100,
|
|
258
|
+
k=z.dataPoints[r].x.getTime?z.dataPoints[r].x.getTime():z.dataPoints[r].x,p=Math.floor((k-C)/p),k<h[p].min&&(h[p].min=k),k>h[p].max&&(h[p].max=k)),b){var na=(q+1-d)*Math.max(parseFloat(a.axisY.scaleBreaks.collapsibleThreshold)||10,10)/100;if((k="waterfall"===a.type?z.dataPointEOs[r].cumulativeSum:z.dataPoints[r].y)&&k.length)for(var m=0;m<k.length;m++)p=Math.floor((k[m]-d)/na),k[m]<g[p].min&&(g[p].min=k[m]),k[m]>g[p].max&&(g[p].max=k[m]);else f(k)||(p=Math.floor((k-d)/na),k<g[p].min&&(g[p].min=k),
|
|
259
|
+
k>g[p].max&&(g[p].max=k))}}}}function b(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length)&&a.axisX.scaleBreaks&&a.axisX.scaleBreaks.autoCalculate&&1<=a.axisX.scaleBreaks.maxNumberOfAutoBreaks)for(var c=a.axisX.dataInfo,b=c.min,g=c.max,h=c._dataRanges,k,C=0,n=0;n<a.dataSeriesIndexes.length;n++){var f=e.data[a.dataSeriesIndexes[n]];if(!(4>f.dataPoints.length))for(C=0;C<f.dataPoints.length;C++)k=(g+1-b)*Math.max(parseFloat(a.axisX.scaleBreaks.collapsibleThreshold)||10,10)/100,c=f.dataPoints[C].x.getTime?
|
|
260
|
+
f.dataPoints[C].x.getTime():f.dataPoints[C].x,k=Math.floor((c-b)/k),c<h[k].min&&(h[k].min=c),c>h[k].max&&(h[k].max=c)}}for(var c,e=this,k=!1,C=0;C<this._axes.length;C++)if(this._axes[C].scaleBreaks&&this._axes[C].scaleBreaks.autoCalculate&&1<=this._axes[C].scaleBreaks.maxNumberOfAutoBreaks){k=!0;this._axes[C].dataInfo._dataRanges=[];for(var d=0;d<100/Math.max(parseFloat(this._axes[C].scaleBreaks.collapsibleThreshold)||10,10);d++)this._axes[C].dataInfo._dataRanges.push({min:Infinity,max:-Infinity})}if(k){for(C=
|
|
261
|
+
0;C<this.plotInfo.plotTypes.length;C++)for(k=this.plotInfo.plotTypes[C],d=0;d<k.plotUnits.length;d++)c=k.plotUnits[d],"line"===c.type||"stepLine"===c.type||"spline"===c.type||"column"===c.type||"area"===c.type||"stepArea"===c.type||"splineArea"===c.type||"bar"===c.type||"bubble"===c.type||"scatter"===c.type||"candlestick"===c.type||"ohlc"===c.type||"rangeColumn"===c.type||"rangeBar"===c.type||"rangeArea"===c.type||"rangeSplineArea"===c.type||"waterfall"===c.type||"error"===c.type||"boxAndWhisker"===
|
|
262
|
+
c.type?g(c):0<=c.type.indexOf("stacked")&&b(c);for(C=0;C<this._axes.length;C++)if(this._axes[C].dataInfo._dataRanges){var L=this._axes[C].dataInfo.min;c=(this._axes[C].dataInfo.max+1-L)*Math.max(parseFloat(this._axes[C].scaleBreaks.collapsibleThreshold)||10,10)/100;var n=this._axes[C].dataInfo._dataRanges,q,p,k=[];if(this._axes[C].dataInfo.dataPointYPositiveSums){var r=this._axes[C].dataInfo.dataPointYPositiveSums;q=n;for(d in r)if(r.hasOwnProperty(d)&&!isNaN(d)&&(p=r[d],!f(p))){var h=Math.floor((p-
|
|
263
|
+
L)/c);p<q[h].min&&(q[h].min=p);p>q[h].max&&(q[h].max=p)}delete this._axes[C].dataInfo.dataPointYPositiveSums}if(this._axes[C].dataInfo.dataPointYNegativeSums){r=this._axes[C].dataInfo.dataPointYNegativeSums;q=n;for(d in r)r.hasOwnProperty(d)&&!isNaN(d)&&(p=-1*r[d],f(p)||(h=Math.floor((p-L)/c),p<q[h].min&&(q[h].min=p),p>q[h].max&&(q[h].max=p)));delete this._axes[C].dataInfo.dataPointYNegativeSums}for(d=0;d<n.length-1;d++)if(q=n[d].max,isFinite(q))for(;d<n.length-1;)if(L=n[d+1].min,isFinite(L)){p=L-
|
|
264
|
+
q;p>c&&k.push({diff:p,start:q,end:L});break}else d++;if(this._axes[C].scaleBreaks.customBreaks)for(d=0;d<this._axes[C].scaleBreaks.customBreaks.length;d++)for(c=0;c<k.length;c++)if(this._axes[C].scaleBreaks.customBreaks[d].startValue<=k[c].start&&k[c].start<=this._axes[C].scaleBreaks.customBreaks[d].endValue||this._axes[C].scaleBreaks.customBreaks[d].startValue<=k[c].start&&k[c].start<=this._axes[C].scaleBreaks.customBreaks[d].endValue||k[c].start<=this._axes[C].scaleBreaks.customBreaks[d].startValue&&
|
|
265
|
+
this._axes[C].scaleBreaks.customBreaks[d].startValue<=k[c].end||k[c].start<=this._axes[C].scaleBreaks.customBreaks[d].endValue&&this._axes[C].scaleBreaks.customBreaks[d].endValue<=k[c].end)k.splice(c,1),c--;k.sort(function(a,c){return c.diff-a.diff});for(d=0;d<Math.min(k.length,this._axes[C].scaleBreaks.maxNumberOfAutoBreaks);d++)c=a(k[d].start,k[d].end,this._axes[C].logarithmic?this._axes[C].dataInfo.max/this._axes[C].dataInfo.min:this._axes[C].dataInfo.max-this._axes[C].dataInfo.min,this._axes[C].logarithmic),
|
|
266
|
+
this._axes[C].scaleBreaks.autoBreaks.push(new M(this,"autoBreaks",c,d,++this._eventManager.lastObjectId,this._axes[C].scaleBreaks)),this._axes[C].scaleBreaks._appliedBreaks.push(this._axes[C].scaleBreaks.autoBreaks[this._axes[C].scaleBreaks.autoBreaks.length-1]);this._axes[C].scaleBreaks._appliedBreaks.sort(function(a,c){return a.startValue-c.startValue})}}};v.prototype.renderCrosshairs=function(a,g){for(var b=0;b<this.axisX.length;b++)if(this.axisX[b]!=a&&this.axisX[b].crosshair&&this.axisX[b].crosshair.enabled&&
|
|
267
|
+
!this.axisX[b].crosshair._hidden)if(g&&this.sessionVariables.mouseX>this.plotArea.x1&&this.sessionVariables.mouseX<this.plotArea.x2&&this.sessionVariables.mouseY>this.plotArea.y1&&this.sessionVariables.mouseY<this.plotArea.y2){this.plotInfo&&"xySwapped"===this.plotInfo.axisPlacement?this.axisX[b].crosshair.render(null,this.sessionVariables.mouseY,this.axisX[b].convertPixelToValue(this.sessionVariables.mouseY)):this.axisX[b].crosshair.render(this.sessionVariables.mouseX,null,this.axisX[b].convertPixelToValue(this.sessionVariables.mouseX));
|
|
268
|
+
var c={chart:this,crosshair:this.axisX[b].crosshair.options,axis:this.axisX[b],value:this.axisX[b].crosshair.value};this.axisX[b].crosshair.dispatchEvent("updated",c,this.axisX[b])}else g||this.axisX[b].showCrosshair(this.axisX[b].crosshair._updatedValue);for(b=0;b<this.axisX2.length;b++)this.axisX2[b]!=a&&(this.axisX2[b].crosshair&&this.axisX2[b].crosshair.enabled&&!this.axisX2[b].crosshair._hidden)&&(g&&this.sessionVariables.mouseX>this.plotArea.x1&&this.sessionVariables.mouseX<this.plotArea.x2&&
|
|
269
|
+
this.sessionVariables.mouseY>this.plotArea.y1&&this.sessionVariables.mouseY<this.plotArea.y2?(this.plotInfo&&"xySwapped"===this.plotInfo.axisPlacement?this.axisX2[b].crosshair.render(null,this.sessionVariables.mouseY,this.axisX2[b].convertPixelToValue(this.sessionVariables.mouseY)):this.axisX2[b].crosshair.render(this.sessionVariables.mouseX,null,this.axisX2[b].convertPixelToValue(this.sessionVariables.mouseX)),c={chart:this,crosshair:this.axisX2[b].crosshair.options,axis:this.axisX2[b],value:this.axisX2[b].crosshair.value},
|
|
270
|
+
this.axisX2[b].crosshair.dispatchEvent("updated",c,this.axisX2[b])):g||this.axisX2[b].showCrosshair(this.axisX2[b].crosshair._updatedValue));for(b=0;b<this.axisY.length;b++)this.axisY[b]!=a&&(this.axisY[b].crosshair&&this.axisY[b].crosshair.enabled&&!this.axisY[b].crosshair._hidden)&&(g&&this.sessionVariables.mouseX>this.plotArea.x1&&this.sessionVariables.mouseX<this.plotArea.x2&&this.sessionVariables.mouseY>this.plotArea.y1&&this.sessionVariables.mouseY<this.plotArea.y2?(this.plotInfo&&"xySwapped"===
|
|
271
|
+
this.plotInfo.axisPlacement?this.axisY[b].crosshair.render(this.sessionVariables.mouseX,null,this.axisY[b].convertPixelToValue(this.sessionVariables.mouseX)):this.axisY[b].crosshair.render(null,this.sessionVariables.mouseY,this.axisY[b].convertPixelToValue(this.sessionVariables.mouseY)),c={chart:this,crosshair:this.axisY[b].crosshair.options,axis:this.axisY[b],value:this.axisY[b].crosshair.value},this.axisY[b].crosshair.dispatchEvent("updated",c,this.axisY[b])):g||this.axisY[b].showCrosshair(this.axisY[b].crosshair._updatedValue));
|
|
272
|
+
for(b=0;b<this.axisY2.length;b++)this.axisY2[b]!=a&&(this.axisY2[b].crosshair&&this.axisY2[b].crosshair.enabled&&!this.axisY2[b].crosshair._hidden)&&(g&&this.sessionVariables.mouseX>this.plotArea.x1&&this.sessionVariables.mouseX<this.plotArea.x2&&this.sessionVariables.mouseY>this.plotArea.y1&&this.sessionVariables.mouseY<this.plotArea.y2?(this.plotInfo&&"xySwapped"===this.plotInfo.axisPlacement?this.axisY2[b].crosshair.render(this.sessionVariables.mouseX,null,this.axisY2[b].convertPixelToValue(this.sessionVariables.mouseX)):
|
|
273
|
+
this.axisY2[b].crosshair.render(null,this.sessionVariables.mouseY,this.axisY2[b].convertPixelToValue(this.sessionVariables.mouseY)),c={chart:this,crosshair:this.axisY2[b].crosshair.options,axis:this.axisY2[b],value:this.axisY2[b].crosshair.value},this.axisY2[b].crosshair.dispatchEvent("updated",c,this.axisY2[b])):g||this.axisY2[b].showCrosshair(this.axisY2[b].crosshair._updatedValue))};v.prototype.getDataPointAtXY=function(a,g,b){b=b||!1;for(var c=[],e=this._dataInRenderedOrder.length-1;0<=e;e--){var k=
|
|
274
|
+
null;(k=this._dataInRenderedOrder[e].getDataPointAtXY(a,g,b))&&c.push(k)}a=null;g=!1;for(b=0;b<c.length;b++)if("line"===c[b].dataSeries.type||"stepLine"===c[b].dataSeries.type||"area"===c[b].dataSeries.type||"stepArea"===c[b].dataSeries.type)if(e=V("markerSize",c[b].dataPoint,c[b].dataSeries)||8,c[b].distance<=e/2){g=!0;break}for(b=0;b<c.length;b++)g&&"line"!==c[b].dataSeries.type&&"stepLine"!==c[b].dataSeries.type&&"area"!==c[b].dataSeries.type&&"stepArea"!==c[b].dataSeries.type||(a?c[b].distance<=
|
|
275
|
+
a.distance&&(a=c[b]):a=c[b]);return a};v.prototype.getObjectAtXY=function(a,g,b){var c=null;if(b=this.getDataPointAtXY(a,g,b||!1))c=b.dataSeries.dataPointIds[b.dataPointIndex];else if(w)c=fb(a,g,this._eventManager.ghostCtx);else for(b=0;b<this.legend.items.length;b++){var e=this.legend.items[b];a>=e.x1&&(a<=e.x2&&g>=e.y1&&g<=e.y2)&&(c=e.id)}return c};v.prototype.getAutoFontSize=kb;v.prototype.resetOverlayedCanvas=function(){this.overlaidCanvasCtx.clearRect(0,0,this.width,this.height)};v.prototype.clearCanvas=
|
|
276
|
+
jb;v.prototype.attachEvent=function(a){this._events.push(a)};v.prototype._touchEventHandler=function(a){if(a.changedTouches&&this.interactivityEnabled){var g=[],b=a.changedTouches,c=b?b[0]:a,e=null;switch(a.type){case "touchstart":case "MSPointerDown":g=["mousemove","mousedown"];this._lastTouchData=ya(c);this._lastTouchData.time=new Date;break;case "touchmove":case "MSPointerMove":g=["mousemove"];break;case "touchend":case "MSPointerUp":var k=this._lastTouchData&&this._lastTouchData.time?new Date-
|
|
277
|
+
this._lastTouchData.time:0,g="touchstart"===this._lastTouchEventType||"MSPointerDown"===this._lastTouchEventType||300>k?["mouseup","click"]:["mouseup"];break;default:return}if(!(b&&1<b.length)){e=ya(c);e.time=new Date;try{var C=e.y-this._lastTouchData.y,k=e.time-this._lastTouchData.time;if(1<Math.abs(C)&&this._lastTouchData.scroll||5<Math.abs(C)&&250>k)this._lastTouchData.scroll=!0,this.stockChart&&(this.stockChart._chartScroll=!0)}catch(d){}this._lastTouchEventType=a.type;if(this._lastTouchData.scroll&&
|
|
278
|
+
this.zoomEnabled)this.isDrag&&this.resetOverlayedCanvas(),this.isDrag=!1;else for(b=0;b<g.length;b++)if(e=g[b],C=document.createEvent("MouseEvent"),C.initMouseEvent(e,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),c.target.dispatchEvent(C),!f(this._lastTouchData.scroll)&&!this._lastTouchData.scroll||!this._lastTouchData.scroll&&250<k||"click"===e)a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.cancelable&&a.preventDefault(),this.stockChart&&(this.stockChart._chartScroll=
|
|
279
|
+
null)}}};v.prototype._dispatchRangeEvent=function(a,g){var b={chart:this};b.type=a;b.trigger=g;var c=[];this.axisX&&0<this.axisX.length&&c.push("axisX");this.axisX2&&0<this.axisX2.length&&c.push("axisX2");this.axisY&&0<this.axisY.length&&c.push("axisY");this.axisY2&&0<this.axisY2.length&&c.push("axisY2");for(var e=0;e<c.length;e++)if(f(b[c[e]])&&(b[c[e]]=[]),"axisY"===c[e])for(var k=0;k<this.axisY.length;k++)b[c[e]].push({viewportMinimum:this[c[e]][k].sessionVariables.newViewportMinimum,viewportMaximum:this[c[e]][k].sessionVariables.newViewportMaximum});
|
|
280
|
+
else if("axisY2"===c[e])for(k=0;k<this.axisY2.length;k++)b[c[e]].push({viewportMinimum:this[c[e]][k].sessionVariables.newViewportMinimum,viewportMaximum:this[c[e]][k].sessionVariables.newViewportMaximum});else if("axisX"===c[e])for(k=0;k<this.axisX.length;k++)b[c[e]].push({viewportMinimum:this[c[e]][k].sessionVariables.newViewportMinimum,viewportMaximum:this[c[e]][k].sessionVariables.newViewportMaximum});else if("axisX2"===c[e])for(k=0;k<this.axisX2.length;k++)b[c[e]].push({viewportMinimum:this[c[e]][k].sessionVariables.newViewportMinimum,
|
|
281
|
+
viewportMaximum:this[c[e]][k].sessionVariables.newViewportMaximum});this.dispatchEvent(a,b,this)};v.prototype._mouseEventHandler=function(a){function g(){v.capturedEventParam&&(e=v.capturedEventParam,C=e.bounds,"mouseup"===c&&(v.capturedEventParam=null,e.chart.overlaidCanvas.releaseCapture?e.chart.overlaidCanvas.releaseCapture():document.documentElement.removeEventListener("mouseup",e.chart._mouseEventHandler,!1)),e.hasOwnProperty(c)&&("mouseup"!==c||e.chart.overlaidCanvas.releaseCapture?a.target!==
|
|
282
|
+
e.chart.overlaidCanvas&&w||e[c].call(e.context,b.x,b.y):a.target!==e.chart.overlaidCanvas&&(e.chart.isDrag=!1)))}"undefined"===typeof a.target&&a.srcElement&&(a.target=a.srcElement);var b=ya(a),c=a.type,e,k;a.which?k=3==a.which:a.button&&(k=2==a.button);if(this._ignoreNextEvent)g(),this._ignoreNextEvent=!1;else if(g(),this.interactivityEnabled){a.preventManipulation&&a.preventManipulation();a.preventDefault&&a.preventDefault();var C;Ia&&window.console&&(window.console.log(c+" --\x3e x: "+b.x+"; y:"+
|
|
283
|
+
b.y),k&&window.console.log(a.which),"mouseup"===c&&window.console.log("mouseup"));if(!k){if(!v.capturedEventParam&&this._events){for(k=0;k<this._events.length;k++)if(this._events[k].hasOwnProperty(c))if(e=this._events[k],C=e.bounds,b.x>=C.x1&&b.x<=C.x2&&b.y>=C.y1&&b.y<=C.y2){e[c].call(e.context,b.x,b.y);"mousedown"===c&&!0===e.capture?(v.capturedEventParam=e,this.overlaidCanvas.setCapture?this.overlaidCanvas.setCapture():document.documentElement.addEventListener("mouseup",this._mouseEventHandler,
|
|
284
|
+
!1)):"mouseup"===c&&(e.chart.overlaidCanvas.releaseCapture?e.chart.overlaidCanvas.releaseCapture():document.documentElement.removeEventListener("mouseup",this._mouseEventHandler,!1));break}else e=null;a.target.style.cursor=e&&e.cursor?e.cursor:this._defaultCursor}k=this.plotArea;if(b.x<k.x1||b.x>k.x2||b.y<k.y1||b.y>k.y2){this.toolTip&&this.toolTip.enabled?(this.toolTip.hide(),this.toolTip.dispatchEvent("hidden",{chart:this,toolTip:this.toolTip},this.toolTip)):this.resetOverlayedCanvas();for(k=0;k<
|
|
285
|
+
this.axisX.length;k++)this.axisX[k].crosshair&&this.axisX[k].crosshair.enabled&&(this.axisX[k].crosshair.hide(),this.axisX[k].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisX[k].options},this.axisX[k].crosshair));for(k=0;k<this.axisX2.length;k++)this.axisX2[k].crosshair&&this.axisX2[k].crosshair.enabled&&(this.axisX2[k].crosshair.hide(),this.axisX2[k].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisX2[k].options},this.axisX2[k].crosshair));for(k=0;k<this.axisY.length;k++)this.axisY[k].crosshair&&
|
|
286
|
+
this.axisY[k].crosshair.enabled&&(this.axisY[k].crosshair.hide(),this.axisY[k].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY[k].options},this.axisY[k].crosshair));for(k=0;k<this.axisY2.length;k++)this.axisY2[k].crosshair&&this.axisY2[k].crosshair.enabled&&(this.axisY2[k].crosshair.hide(),this.axisY2[k].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY2[k].options},this.axisY2[k].crosshair))}this.sessionVariables.mouseX=b.x;this.sessionVariables.mouseY=b.y;this.isDrag&&this.zoomEnabled||
|
|
287
|
+
!this._eventManager||this._eventManager.mouseEventHandler(a)}}};v.prototype._plotAreaMouseDown=function(a,g){this.isDrag=!0;this.dragStartPoint={x:a,y:g}};v.prototype._plotAreaMouseUp=function(a,g){if(("normal"===this.plotInfo.axisPlacement||"xySwapped"===this.plotInfo.axisPlacement)&&this.isDrag){var b=g-this.dragStartPoint.y,c=a-this.dragStartPoint.x,e=0<=this.zoomType.indexOf("x"),k=0<=this.zoomType.indexOf("y"),C=!1;this.resetOverlayedCanvas();if("xySwapped"===this.plotInfo.axisPlacement)var f=
|
|
288
|
+
k,k=e,e=f;if(this.panEnabled||this.zoomEnabled){if(this.panEnabled)for(e=k=0;e<this._axes.length;e++)b=this._axes[e],b.logarithmic?b.viewportMinimum<b.minimum?(k=b.minimum/b.viewportMinimum,b.sessionVariables.newViewportMinimum=b.viewportMinimum*k,b.sessionVariables.newViewportMaximum=b.viewportMaximum*k,C=!0):b.viewportMaximum>b.maximum&&(k=b.viewportMaximum/b.maximum,b.sessionVariables.newViewportMinimum=b.viewportMinimum/k,b.sessionVariables.newViewportMaximum=b.viewportMaximum/k,C=!0):b.viewportMinimum<
|
|
289
|
+
b.minimum?(k=b.minimum-b.viewportMinimum,b.sessionVariables.newViewportMinimum=b.viewportMinimum+k,b.sessionVariables.newViewportMaximum=b.viewportMaximum+k,C=!0):b.viewportMaximum>b.maximum&&(k=b.viewportMaximum-b.maximum,b.sessionVariables.newViewportMinimum=b.viewportMinimum-k,b.sessionVariables.newViewportMaximum=b.viewportMaximum-k,C=!0);else if((!e||2<Math.abs(c))&&(!k||2<Math.abs(b))&&this.zoomEnabled){if(!this.dragStartPoint)return;b=e?this.dragStartPoint.x:this.plotArea.x1;c=k?this.dragStartPoint.y:
|
|
290
|
+
this.plotArea.y1;e=e?a:this.plotArea.x2;k=k?g:this.plotArea.y2;2<Math.abs(b-e)&&2<Math.abs(c-k)&&this._zoomPanToSelectedRegion(b,c,e,k)&&(C=!0)}C&&(this._ignoreNextEvent=!0,this._dispatchRangeEvent("rangeChanging","zoom"),this.stockChart&&(this.stockChart._rangeEventParameter||(this.stockChart._rangeEventParameter={stockChart:this.stockChart,source:"chart",index:this.stockChart.charts.indexOf(this),minimum:this.stockChart.sessionVariables._axisXMin,maximum:this.stockChart.sessionVariables._axisXMax}),
|
|
289
291
|
this.stockChart._rangeEventParameter.type="rangeChanging",this.stockChart.dispatchEvent("rangeChanging",this.stockChart._rangeEventParameter,this.stockChart)),this.render(),this._dispatchRangeEvent("rangeChanged","zoom"),this.stockChart&&(this.stockChart.rangeUpdatedBy="chart",this.stockChart._rangeEventParameter.type="rangeChanged",this.stockChart.dispatchEvent("rangeChanged",this.stockChart._rangeEventParameter,this.stockChart)),C&&(this.zoomEnabled&&"none"===this._zoomButton.style.display)&&(Qa(this._zoomButton,
|
|
290
292
|
this._resetButton),va(this,this._zoomButton,"pan"),va(this,this._resetButton,"reset")))}}this.isDrag=!1;if("none"!==this.plotInfo.axisPlacement){this.resetOverlayedCanvas();if(this.axisX&&0<this.axisX.length)for(C=0;C<this.axisX.length;C++)this.axisX[C].crosshair&&this.axisX[C].crosshair.enabled&&this.axisX[C].renderCrosshair(a,g);if(this.axisX2&&0<this.axisX2.length)for(C=0;C<this.axisX2.length;C++)this.axisX2[C].crosshair&&this.axisX2[C].crosshair.enabled&&this.axisX2[C].renderCrosshair(a,g);if(this.axisY&&
|
|
291
293
|
0<this.axisY.length)for(C=0;C<this.axisY.length;C++)this.axisY[C].crosshair&&this.axisY[C].crosshair.enabled&&this.axisY[C].renderCrosshair(a,g);if(this.axisY2&&0<this.axisY2.length)for(C=0;C<this.axisY2.length;C++)this.axisY2[C].crosshair&&this.axisY2[C].crosshair.enabled&&this.axisY2[C].renderCrosshair(a,g);if(this.axisX&&0<this.axisX.length)for(C=0;C<this.axisX.length;C++)this.axisX[C].crosshair&&this.axisX[C].crosshair.enabled&&this.axisX[C].crosshair.renderLabel();if(this.axisX2&&0<this.axisX2.length)for(C=
|
|
@@ -310,536 +312,536 @@ this.plotArea.height:this.plotArea.width)<<0):0,x=V("indexLabelPadding",q.dataPo
|
|
|
310
312
|
q.dataPoint.indexLabelFormatter(s):q.dataPoint.indexLabel?this.replaceKeywordsWithValue(q.dataPoint.indexLabel,q.dataPoint,q.dataSeries,null,q.indexKeyword):q.dataSeries.indexLabelFormatter?q.dataSeries.indexLabelFormatter(s):q.dataSeries.indexLabel?this.replaceKeywordsWithValue(q.dataSeries.indexLabel,q.dataPoint,q.dataSeries,null,q.indexKeyword):null;if(null!==v&&""!==v){var l=V("indexLabelPlacement",q.dataPoint,q.dataSeries),s=V("indexLabelOrientation",q.dataPoint,q.dataSeries),A=V("indexLabelTextAlign",
|
|
311
313
|
q.dataPoint,q.dataSeries),y=q.direction,O=q.dataSeries.axisX,P=q.dataSeries.axisY,$=!1,m=new ka(g,{x:0,y:0,maxWidth:e?e:0.5*this.width,maxHeight:C?5*F:1.5*F,angle:"horizontal"===s?0:-90,text:v,padding:x,backgroundColor:m,borderColor:h,borderThickness:k,textAlign:A,fontSize:F,fontFamily:L,fontWeight:r,fontColor:d,fontStyle:n,textBaseline:"middle"});m.measureText();q.dataSeries.indexLabelMaxWidth=m.maxWidth;if("stackedarea100"===p){if(q.point.x<b.x1||q.point.x>b.x2||q.point.y<b.y1-1||q.point.y>b.y2+
|
|
312
314
|
1)continue}else if("rangearea"===p||"rangesplinearea"===p){if(q.dataPoint.x<O.viewportMinimum||q.dataPoint.x>O.viewportMaximum||Math.max.apply(null,q.dataPoint.y)<P.viewportMinimum||Math.min.apply(null,q.dataPoint.y)>P.viewportMaximum)continue}else if(0<=p.indexOf("line")||0<=p.indexOf("area")||0<=p.indexOf("bubble")||0<=p.indexOf("scatter")){if(q.dataPoint.x<O.viewportMinimum||q.dataPoint.x>O.viewportMaximum||q.dataPoint.y<P.viewportMinimum||q.dataPoint.y>P.viewportMaximum)continue}else if(0<=p.indexOf("column")){if(q.dataPoint.x<
|
|
313
|
-
O.viewportMinimum||q.dataPoint.x>O.viewportMaximum||(0<q.dataPoint.y.length?Math.max.apply(null,q.dataPoint.y):q.
|
|
314
|
-
O.viewportMinimum||q.dataPoint.x>O.viewportMaximum||q.bounds.x1>b.x2||q.bounds.x2<b.x1)continue}else if("candlestick"===p||"ohlc"===p){if(q.dataPoint.x<O.viewportMinimum||q.dataPoint.x>O.viewportMaximum||Math.max.apply(null,q.dataPoint.y)<P.viewportMinimum||Math.min.apply(null,q.dataPoint.y)>P.viewportMaximum)continue}else if(q.dataPoint.x<O.viewportMinimum||q.dataPoint.x>O.viewportMaximum)continue;C=d=2;"horizontal"===s?(L=m.width,n=m.height):(n=m.width,L=m.height);if("normal"===
|
|
315
|
-
p.indexOf("line")||0<=p.indexOf("area"))l="auto",d=4;else if(0<=p.indexOf("stacked"))"auto"===l&&(l="inside");else if("bubble"===p||"scatter"===p)l="inside";r=q.point.x-L/2+("horizontal"===s?0:m._lineHeight/2);if("inside"!==l)e=b.y1,k=b.y2,0<y?(h=q.point.y+m._lineHeight/2-n-d-c,h<e&&(h="auto"===l?Math.max(q.point.y,e)+m._lineHeight/2+d+c:e+m._lineHeight/2+d+c,$=h+("horizontal"===s?n-m._lineHeight/2:0)>q.point.y,!$||(0<=p.indexOf("line")||0<=p.indexOf("area"))||(h-=
|
|
316
|
-
2+d+c,h>k-n+m._lineHeight/2-d&&(h="auto"===l?Math.min(q.point.y,k)+m._lineHeight/2-n-d-c:k+m._lineHeight/2-n-d-c,$=h-("horizontal"===s?m._lineHeight/2:n)<q.point.y,!$||(0<=p.indexOf("line")||0<=p.indexOf("area"))||(h+=c)));else{Math.max(q.bounds.y1,b.y1);k=Math.min(q.bounds.y2,b.y2)-n+m._lineHeight/2;c=0<=p.indexOf("range")||"error"===p?0<y?Math.max(q.bounds.y1,b.y1)+m._lineHeight/2+d:Math.min(q.bounds.y2,b.y2)+m._lineHeight/2-n-d:(Math.max(q.bounds.y1,b.y1)+Math.min(q.bounds.y2,
|
|
317
|
-
2;if(0<y){if(h=c,"bubble"===p||"scatter"===p)h=q.point.y-n/2+m._lineHeight/2,n>q.bounds.y2-q.bounds.y1&&(h-=n/2+d),0>h-m._lineHeight/2&&(h+=Math.abs(h-m._lineHeight/2)<=(q.bounds.y2-q.bounds.y1)/2+d?Math.abs(h-m._lineHeight/2):(q.bounds.y2-q.bounds.y1)/2+d)}else h=Math.min(q.point.y,c),h>k-n-d&&("bubble"===p||"scatter"===p)&&(h=Math.min(q.point.y+d,b.y2-n-d));h=Math.min(h,k)}}else 0<=p.indexOf("line")||0<=p.indexOf("area")||0<=p.indexOf("scatter")?(l="auto",C=4):0<=p.indexOf("stacked")?
|
|
318
|
-
(l="inside"):"bubble"===p&&(l="inside"),h=q.point.y+m._lineHeight/2-n/2,"inside"!==l?(k=b.x1,e=b.x2,0>y?(r=q.point.x-L+("horizontal"===s?0:m._lineHeight/2)-C-c,("horizontal"===s?r:r-m._lineHeight/2)<k&&(r="auto"===l?Math.max(q.point.x,k)+("horizontal"===s?0:m._lineHeight/2)+d+c:k+("horizontal"===s?0:m._lineHeight/2)+C,($=r+L-("horizontal"===s?0:m._lineHeight/2)>q.point.x)&&(r-=c))):(r=q.point.x+("horizontal"===s?0:m._lineHeight/2)+C+c,("horizontal"===s?r:r-m._lineHeight/2)>e-L-C-c&&(r=
|
|
319
|
-
Math.min(q.point.x,e)-("horizontal"===s?L:L-m._lineHeight/2)-C-c:e-L-C+("horizontal"===s?0:m._lineHeight/2),($=r-("horizontal"===s?0:m._lineHeight/2)<q.point.x)&&(r+=c)))):(k=Math.max(q.bounds.x1,b.x1),Math.min(q.bounds.x2,b.x2),c=0<=p.indexOf("range")||"error"===p?0>y?Math.max(q.bounds.x1,b.x1):Math.min(q.bounds.x2,b.x2)-L-C+("horizontal"===s?0:m._lineHeight/2):(Math.max(q.bounds.x1,b.x1)+Math.min(q.bounds.x2,b.x2))/2-L/2+("horizontal"===s?0:m._lineHeight/2),r=0>y?c:Math.min(q.point.x,
|
|
320
|
-
k+("horizontal"===s?0:m._lineHeight/2+d)));"vertical"===s&&(h+=n-m._lineHeight/2,0<="ohlc candlestick boxandwhisker column rangecolumn stackedcolumn stackedcolumn100 error".split(" ").indexOf(p)&&($=0<y?h+("horizontal"===s?n-m._lineHeight/2:0)>q.point.y:h-("horizontal"===s?m._lineHeight/2:n)<q.point.y),"bubble"===p||"scatter"===p)&&(r+=m._lineHeight/2-F/2);m.x=r;m.y=h;m.render(!0);D&&("inside"!==l&&(0>p.indexOf("bar")&&("error"!==p||!q.axisSwapped)&&q.point.x>b.x1&&q.point.x<b.x2
|
|
321
|
-
("error"!==p||q.axisSwapped)&&q.point.y>b.y1&&q.point.y<b.y2||!$))&&(g.lineWidth=D,g.strokeStyle=u?u:"gray",g.setLineDash&&g.setLineDash(R(t,D)),g.beginPath(),g.moveTo(q.point.x,q.point.y),0<=p.indexOf("bar")||"error"===p&&q.axisSwapped?g.lineTo(r+(0<q.direction?0:L)+("vertical"===s?-m._lineHeight/2:0),h+("vertical"===s?-n/2:n/2-m._lineHeight/2)):0<=p.indexOf("column")||"error"===
|
|
322
|
-
2<q.point.y?n:0)-m._lineHeight/2)):0<=p.indexOf("waterfall")?g.lineTo(r+L/2-("horizontal"===s?0:m._lineHeight/2),"vertical"===s?0<y&&h<q.point.y?h:0>y&&h-n>q.point.y?h-n:q.point.y:0<y&&h+n-m._lineHeight/2<q.point.y?h+n-m._lineHeight/2:0>y&&h-m._lineHeight/2>q.point.y?h-m._lineHeight/2:q.point.y):g.lineTo(r+L/2-("horizontal"===s?0:m._lineHeight/2),h+("vertical"===s?h-n<q.point.y?
|
|
323
|
-
easingFunction:z.easing.easeInQuad,animationBase:0,startTimePercent:0.7};for(a=0;a<this._indexLabels.length;a++)q=this._indexLabels[a],m=V("indexLabelBackgroundColor",q.dataPoint,q.dataSeries),q.dataSeries.indexLabelBackgroundColor=f(m)?w?"transparent":null:m;return g};v.prototype.renderLine=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:
|
|
324
|
-
e.width,e.height);b.clip();for(var k=[],C,f=0;f<a.dataSeriesIndexes.length;f++){var d=a.dataSeriesIndexes[f],n=this.data[d];b.lineWidth=n.lineThickness;var q=n.dataPoints,p="solid";if(b.setLineDash){var r=R(n.nullDataLineDashType,n.lineThickness),p=n.lineDashType,h=R(p,n.lineThickness);b.setLineDash(h)}var F=n.id;this._eventManager.objectMap[F]={objectType:"dataSeries",
|
|
325
|
-
n.options.lineColor?n.options.lineColor:F[0];b.strokeStyle=F;var l=!0,u=0,D,x;b.beginPath();if(0<q.length){for(var s=!1,u=0;u<q.length;u++)if(D=q[u].x.getTime?q[u].x.getTime():q[u].x,!(D<a.axisX.dataInfo.viewPortMin||D>a.axisX.dataInfo.viewPortMax&&(!n.connectNullData||!s)))if("number"!==typeof q[u].y)0<u&&!(n.connectNullData||s||l)&&(b.stroke(),w&&c.stroke()),s
|
|
326
|
-
objectType:"dataPoint",dataSeriesIndex:d,dataPointIndex:u,x1:D,y1:x};l||s?(!l&&n.connectNullData?(b.setLineDash&&(n.options.nullDataLineDashType||p===n.lineDashType&&n.lineDashType!==n.nullDataLineDashType)&&(b.stroke(),b.beginPath(),b.moveTo(C.x,C.y),p=n.nullDataLineDashType,b.setLineDash(r)),b.lineTo(D,x),w&&c.lineTo(D,x)):(b.beginPath(),b.moveTo(D,x),w&&(c.beginPath(),
|
|
327
|
-
c.moveTo(D,x))));C={x:D,y:x};u<q.length-1&&(t!==(q[u].lineColor||F)||p!==(q[u].lineDashType||n.lineDashType))&&(b.stroke(),b.beginPath(),b.moveTo(D,x),t=q[u].lineColor||F,b.strokeStyle=t,b.setLineDash&&(q[u].lineDashType?(p=q[u].lineDashType,b.setLineDash(R(p,n.lineThickness))):(p=n.lineDashType,b.setLineDash(h))));if(0!==q[u].markerSize&&(0<q[u].markerSize||0<n.markerSize)){var G=
|
|
328
|
-
borderThickness:G.borderThickness})}(q[u].indexLabel||n.indexLabel||q[u].indexLabelFormatter||n.indexLabelFormatter)&&this._indexLabels.push({chartType:"line",dataPoint:q[u],dataSeries:n,point:{x:D,y:x},direction:0>q[u].y===a.axisY.reversed?1:-1,color:F})}b.stroke();w&&c.stroke()}}m.drawMarkers(k);w&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation=
|
|
329
|
-
b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(e.x1,e.y1,e.width,e.height),c.beginPath());b.restore();b.beginPath();return{source:g,dest:this.plotArea.ctx,animationCallback:z.xClipAnimation,easingFunction:z.easing.linear,animationBase:0}}};v.prototype.renderStepLine=
|
|
330
|
-
this._eventManager.ghostCtx;b.save();var e=this.plotArea;b.beginPath();b.rect(e.x1,e.y1,e.width,e.height);b.clip();for(var k=[],C,f=0;f<a.dataSeriesIndexes.length;f++){var d=a.dataSeriesIndexes[f],n=this.data[d];b.lineWidth=n.lineThickness;var q=n.dataPoints,p="solid";if(b.setLineDash){var r=R(n.nullDataLineDashType,n.lineThickness),p=n.lineDashType,h=R(p,n.lineThickness);b.setLineDash(h)}var F=
|
|
331
|
-
c.lineWidth=0<n.lineThickness?Math.max(n.lineThickness,4):0;var F=n._colorSet,t=F=n.lineColor=n.options.lineColor?n.options.lineColor:F[0];b.strokeStyle=F;var l=!0,u=0,D,x;b.beginPath();if(0<q.length){for(var s=!1,u=0;u<q.length;u++)if(D=q[u].getTime?q[u].x.getTime():q[u].x,!(D<a.axisX.dataInfo.viewPortMin||D>a.axisX.dataInfo.viewPortMax&&(!n.connectNullData||!s)))if("number"!==typeof q[u].y)0<
|
|
332
|
-
x=a.axisY.convertValueToPixel(q[u].y);var G=n.dataPointIds[u];this._eventManager.objectMap[G]={id:G,objectType:"dataPoint",dataSeriesIndex:d,dataPointIndex:u,x1:D,y1:x};l||s?(!l&&n.connectNullData?(b.setLineDash&&(n.options.nullDataLineDashType||p===n.lineDashType&&n.lineDashType!==n.nullDataLineDashType)&&(b.stroke(),b.beginPath(),b.moveTo(C.x,C.y),p=n.nullDataLineDashType,b.setLineDash(r)),
|
|
333
|
-
c.moveTo(D,x))),s=l=!1):(b.lineTo(D,v),w&&c.lineTo(D,v),b.lineTo(D,x),w&&c.lineTo(D,x),0==u%500&&(b.stroke(),b.beginPath(),b.moveTo(D,x),w&&(c.stroke(),c.beginPath(),c.moveTo(D,x))));C={x:D,y:x};u<q.length-1&&(t!==(q[u].lineColor||F)||p!==(q[u].lineDashType||n.lineDashType))&&(b.stroke(),b.beginPath(),b.moveTo(D,x),t=q[u].lineColor||F,b.strokeStyle=t,b.setLineDash&&(q[u].lineDashType?(p=q[u].lineDashType,
|
|
334
|
-
(0<q[u].markerSize||0<n.markerSize)&&(v=n.getMarkerProperties(u,D,x,b),k.push(v),G=T(G),w&&k.push({x:D,y:x,ctx:c,type:v.type,size:v.size,color:G,borderColor:G,borderThickness:v.borderThickness}));(q[u].indexLabel||n.indexLabel||q[u].indexLabelFormatter||n.indexLabelFormatter)&&this._indexLabels.push({chartType:"stepLine",dataPoint:q[u],dataSeries:n,point:{x:D,y:x},direction:0>q[u].y===a.axisY.reversed?
|
|
335
|
-
0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(e.x1,e.y1,e.width,e.height),c.beginPath());b.restore();b.beginPath();
|
|
336
|
-
animationBase:0}}};v.prototype.renderSpline=function(a){function g(a){a=s(a,2);if(0<a.length){c.beginPath();w&&e.beginPath();c.moveTo(a[0].x,a[0].y);a[0].newStrokeStyle&&(c.strokeStyle=a[0].newStrokeStyle);a[0].newLineDashArray&&c.setLineDash(a[0].newLineDashArray);w&&e.moveTo(a[0].x,a[0].y);for(var b=0;b<a.length-3;b+=3)if(c.bezierCurveTo(a[b+1].x,a[b+1].y,a[b+2].x,a[b+2].y,a[b+3].x,a[b+3].y),
|
|
337
|
-
a[b+3].newLineDashArray)c.stroke(),c.beginPath(),c.moveTo(a[b+3].x,a[b+3].y),a[b+3].newStrokeStyle&&(c.strokeStyle=a[b+3].newStrokeStyle),a[b+3].newLineDashArray&&c.setLineDash(a[b+3].newLineDashArray),w&&(e.stroke(),e.beginPath(),e.moveTo(a[b+3].x,a[b+3].y));c.stroke();w&&e.stroke()}}var b=a.targetCanvasCtx||this.plotArea.ctx,c=w?this._preRenderCtx:b;if(!(0>=a.dataSeriesIndexes.length)){var e=
|
|
338
|
-
c.clip();for(var C=[],f=0;f<a.dataSeriesIndexes.length;f++){var d=a.dataSeriesIndexes[f],n=this.data[d];c.lineWidth=n.lineThickness;var q=n.dataPoints,p="solid";if(c.setLineDash){var r=R(n.nullDataLineDashType,n.lineThickness),p=n.lineDashType,h=R(p,n.lineThickness);c.setLineDash(h)}var F=n.id;this._eventManager.objectMap[F]={objectType:"dataSeries",dataSeriesIndex:d};F=T(F);e.strokeStyle=F;e.lineWidth=
|
|
339
|
-
n.options.lineColor:F[0];c.strokeStyle=F;var l=0,u,D,x=[];c.beginPath();if(0<q.length)for(D=!1,l=0;l<q.length;l++)if(u=q[l].getTime?q[l].x.getTime():q[l].x,!(u<a.axisX.dataInfo.viewPortMin||u>a.axisX.dataInfo.viewPortMax&&(!n.connectNullData||!D)))if("number"!==typeof q[l].y)0<l&&!D&&(n.connectNullData?c.setLineDash&&(0<x.length&&(n.options.nullDataLineDashType||!q[l-1].lineDashType))&&(x[x.length-
|
|
340
|
-
D=a.axisY.convertValueToPixel(q[l].y);var v=n.dataPointIds[l];this._eventManager.objectMap[v]={id:v,objectType:"dataPoint",dataSeriesIndex:d,dataPointIndex:l,x1:u,y1:D};x[x.length]={x:u,y:D};l<q.length-1&&(t!==(q[l].lineColor||F)||p!==(q[l].lineDashType||n.lineDashType))&&(t=q[l].lineColor||F,x[x.length-1].newStrokeStyle=t,c.setLineDash&&(q[l].lineDashType?(p=q[l].lineDashType,x[x.length-1].newLineDashArray=
|
|
341
|
-
(0<q[l].markerSize||0<n.markerSize)){var Va=n.getMarkerProperties(l,u,D,c);C.push(Va);v=T(v);w&&C.push({x:u,y:D,ctx:e,type:Va.type,size:Va.size,color:v,borderColor:v,borderThickness:Va.borderThickness})}(q[l].indexLabel||n.indexLabel||q[l].indexLabelFormatter||n.indexLabelFormatter)&&this._indexLabels.push({chartType:"spline",dataPoint:q[l],dataSeries:n,point:{x:u,y:D},direction:0>q[l].y===a.axisY.reversed?
|
|
342
|
-
this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(k.x1,k.y1,k.width,k.height),e.beginPath());c.restore();c.beginPath();return{source:b,
|
|
343
|
-
animationBase:0}}};v.prototype.renderColumn=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=null,e=this.plotArea,k=0,C,f,d,n=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),k=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,q=this.options.dataPointMaxWidth?
|
|
344
|
-
0.9*(this.plotArea.width/a.plotType.totalDataSeries))<<0,p=a.axisX.dataInfo.minDiff;isFinite(p)||(p=0.3*Math.abs(a.axisX.range));p=this.dataPointWidth=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(p)/Math.log(a.axisX.range):Math.abs(p)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&k>q&&(k=Math.min(this.options.dataPointWidth?
|
|
345
|
-
this.dataPointWidth:-Infinity,k));p<k&&(p=k);p>q&&(p=q);b.save();w&&this._eventManager.ghostCtx.save();b.beginPath();b.rect(e.x1,e.y1,e.width,e.height);b.clip();w&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(q=0;q<a.dataSeriesIndexes.length;q++){var r=a.dataSeriesIndexes[q],
|
|
346
|
-
d=m[k].x,!(d<a.axisX.dataInfo.viewPortMin||d>a.axisX.dataInfo.viewPortMax)&&"number"===typeof m[k].y){C=a.axisX.convertValueToPixel(d);f=a.axisY.convertValueToPixel(m[k].y);C=a.axisX.reversed?C+a.plotType.totalDataSeries*p/2-(a.previousDataSeriesCount+q)*p<<0:C-a.plotType.totalDataSeries*p/2+(a.previousDataSeriesCount+q)*p<<0;var l=a.axisX.reversed?C-p<<0:C+p<<0,u;
|
|
347
|
-
C:l,u,c,0,null,t&&(a.axisY.reversed?0>m[k].y:0<=m[k].y),(a.axisY.reversed?0<=m[k].y:0>m[k].y)&&t,!1,!1,h.fillOpacity);c=h.dataPointIds[k];this._eventManager.objectMap[c]={id:c,objectType:"dataPoint",dataSeriesIndex:r,dataPointIndex:k,x1:C,y1:f,x2:l,y2:u};c=T(c);w&&Q(this._eventManager.ghostCtx,a.axisX.reversed?l:C,f,a.axisX.reversed?C:l,u,c,0,null,!1,!1
|
|
348
|
-
dataSeries:h,point:{x:C+(l-C)/2,y:0>m[k].y===a.axisY.reversed?f:u},direction:0>m[k].y===a.axisY.reversed?1:-1,bounds:{x1:C,y1:Math.min(f,u),x2:l,y2:Math.max(f,u)},color:c})}}w&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),
|
|
349
|
-
0,0,this.width,this.height),b.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());b.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:z.yScaleAnimation,easingFunction:z.easing.easeOutQuart,animationBase:n<a.axisY.bounds.y1?a.axisY.bounds.y1:n>a.axisY.bounds.y2?a.axisY.bounds.y2:n}}};v.prototype.renderStackedColumn=
|
|
350
|
-
k=[],C=[],f=[],d=[],n=0,q,p,r=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),n=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,h=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.width<<0,m=a.axisX.dataInfo.minDiff;
|
|
351
|
-
Math.log(a.axisX.range):Math.abs(m)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&n>h&&(n=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,h));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&h<n)&&(h=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,n));m<n&&(m=n);m>h&&(m=h);b.save();w&&this._eventManager.ghostCtx.save();
|
|
352
|
-
e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(h=0;h<a.dataSeriesIndexes.length;h++){var l=a.dataSeriesIndexes[h],t=this.data[l],u=t.dataPoints;if(0<u.length){var D=5<m&&t.bevelEnabled?!0:!1;b.strokeStyle="#4572A7 ";for(n=0;n<u.length;n++)if(c=u[n].x.getTime?u[n].x.getTime():u[n].x,!(c<a.axisX.dataInfo.viewPortMin||c>a.axisX.dataInfo.viewPortMax)&&
|
|
353
|
-
a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<u[n].y)f[c]=u[n].y+(f[c]?f[c]:0),0<f[c]&&(p=a.axisY.convertValueToPixel(f[c]),s="undefined"!==typeof k[c]?k[c]:r,k[c]=p);else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=u[n].y)d[c]=u[n].y+(d[c]?d[c]:0),s=a.axisY.convertValueToPixel(d[c]),p="undefined"!==typeof C[c]?
|
|
354
|
-
C[c]?C[c]:0,s=p+v,p=r+v,C[c]=v+(s-p);c=u[n].color?u[n].color:t._colorSet[n%t._colorSet.length];Q(b,q,a.axisY.reversed?s:p,x,a.axisY.reversed?p:s,c,0,null,D&&(a.axisY.reversed?0>u[n].y:0<=u[n].y),(a.axisY.reversed?0<=u[n].y:0>u[n].y)&&D,!1,!1,t.fillOpacity);c=t.dataPointIds[n];this._eventManager.objectMap[c]={id:c,objectType:"dataPoint",dataSeriesIndex:l,dataPointIndex:n,
|
|
355
|
-
t.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedColumn",dataPoint:u[n],dataSeries:t,point:{x:q+(x-q)/2,y:0<=u[n].y?p:s},direction:0>u[n].y===a.axisY.reversed?1:-1,bounds:{x1:q,y1:Math.min(p,s),x2:x,y2:Math.max(p,s)},color:c})}}}w&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),
|
|
356
|
-
this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());b.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:z.yScaleAnimation,easingFunction:z.easing.easeOutQuart,
|
|
357
|
-
g;if(!(0>=a.dataSeriesIndexes.length)){var c=null,e=this.plotArea,k=[],C=[],f=[],d=[],n=0,q,p,r,h=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),n=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;r=this.options.dataPointMaxWidth?
|
|
358
|
-
this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(m)/Math.log(a.axisX.range):Math.abs(m)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&n>r&&(n=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,r));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&
|
|
359
|
-
b.clip();w&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(var t=0;t<a.dataSeriesIndexes.length;t++){var l=a.dataSeriesIndexes[t],u=this.data[l],D=u.dataPoints;if(0<D.length)for(var x=5<m&&u.bevelEnabled?!0:!1,
|
|
360
|
-
100*(D[n].y/a.dataPointYSums[r]):0;q=q-a.plotType.plotUnits.length*m/2+a.index*m<<0;var s=q+m<<0,v;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<D[n].y){f[r]=p+("undefined"!==typeof f[r]?f[r]:0);if(0>=f[r])continue;p=a.axisY.convertValueToPixel(f[r]);
|
|
361
|
-
a.axisY.convertValueToPixel(p),0<=D[n].y?(c="undefined"!==typeof k[r]?k[r]:0,p-=c,v=h-c,a.dataSeriesIndexes.length-1===t&&1>=Math.abs(e.y1-p)&&(p=e.y1),k[r]=c+(v-p)):(c="undefined"!==typeof C[r]?C[r]:0,v=p+c,p=h+c,a.dataSeriesIndexes.length-1===t&&1>=Math.abs(e.y2-v)&&(v=e.y2),C[r]=c+(v-p)));c=
|
|
362
|
-
c=u.dataPointIds[n];this._eventManager.objectMap[c]={id:c,objectType:"dataPoint",dataSeriesIndex:l,dataPointIndex:n,x1:q,y1:p,x2:s,y2:v};c=T(c);w&&Q(this._eventManager.ghostCtx,q,p,s,v,c,0,null,!1,!1,!1,!1);(D[n].indexLabel||u.indexLabel||D[n].indexLabelFormatter||u.indexLabelFormatter)&&
|
|
363
|
-
color:c,
|
|
364
|
-
b.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:z.yScaleAnimation,easingFunction:z.easing.easeOutQuart,animationBase:h<a.axisY.bounds.y1?a.axisY.bounds.y1:h>a.axisY.bounds.y2?a.axisY.bounds.y2:h}}};v.prototype.renderBar=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,
|
|
365
|
-
this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,q=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.height,0.9*(this.plotArea.height/a.plotType.totalDataSeries))<<0,p=a.axisX.dataInfo.minDiff;isFinite(p)||
|
|
366
|
-
0;this.dataPointMaxWidth&&k>q&&(k=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,q));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&q<k)&&(q=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,k));p<k&&(p=k);p>q&&(p=q);b.save();w&&this._eventManager.ghostCtx.save();
|
|
367
|
-
for(q=0;q<a.dataSeriesIndexes.length;q++){var r=a.dataSeriesIndexes[q],h=this.data[r],m=h.dataPoints;if(0<m.length){var t=5<p&&h.bevelEnabled?!0:!1;b.strokeStyle="#4572A7 ";for(k=0;k<m.length;k++)if(m[k].getTime?d=m[k].x.getTime():d=m[k].x,!(d<a.axisX.dataInfo.viewPortMin||d>a.axisX.dataInfo.viewPortMax)&&
|
|
368
|
-
p/2+(a.previousDataSeriesCount+q)*p<<0;var l=a.axisX.reversed?f-p<<0:f+p<<0,u;0<=m[k].y?u=n:(u=C,C=n);c=m[k].color?m[k].color:h._colorSet[k%h._colorSet.length];Q(b,a.axisY.reversed?C:u,a.axisX.reversed?l:f,a.axisY.reversed?u:C,a.axisX.reversed?f:l,c,0,null,t,!1,!1,!1,h.fillOpacity);c=h.dataPointIds[k];
|
|
369
|
-
f:l,c,0,null,!1,!1,!1,!1);(m[k].indexLabel||h.indexLabel||m[k].indexLabelFormatter||h.indexLabelFormatter)&&this._indexLabels.push({chartType:"bar",dataPoint:m[k],dataSeries:h,point:{x:0<=m[k].y?C:u,y:f+(l-f)/2},direction:0>m[k].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(u,C),y1:f,x2:Math.max(u,C),
|
|
370
|
-
a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());b.restore();return{source:g,dest:this.plotArea.ctx,
|
|
371
|
-
function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=null,e=this.plotArea,k=[],f=[],d=[],m=[],n=0,q,p,r=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),n=this.options.dataPointMinWidth?this.dataPointMinWidth:
|
|
372
|
-
isFinite(F)||(F=0.3*Math.abs(a.axisX.range));F=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.height*(a.axisX.logarithmic?Math.log(F)/Math.log(a.axisX.range):Math.abs(F)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&n>h&&(n=Math.min(this.options.dataPointWidth?
|
|
373
|
-
this._eventManager.ghostCtx.save();b.beginPath();b.rect(e.x1,e.y1,e.width,e.height);b.clip();w&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(h=0;h<a.dataSeriesIndexes.length;h++){var t=a.dataSeriesIndexes[h],
|
|
374
|
-
c>a.axisX.dataInfo.viewPortMax)&&"number"===typeof u[n].y){p=a.axisX.convertValueToPixel(c);p=p-a.plotType.plotUnits.length*F/2+a.index*F<<0;var x=p+F<<0,s;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<u[n].y)d[c]=u[n].y+(d[c]?d[c]:0),0<d[c]&&(s=k[c]?k[c]:
|
|
375
|
-
else if(q=a.axisY.convertValueToPixel(u[n].y),0<=u[n].y){var v=k[c]?k[c]:0;s=r+v;q+=v;k[c]=v+(q-s)}else v=f[c]?f[c]:0,s=q-v,q=r-v,f[c]=v+(q-s);c=u[n].color?u[n].color:l._colorSet[n%l._colorSet.length];Q(b,a.axisY.reversed?q:s,p,a.axisY.reversed?s:q,x,c,0,null,D,!1,!1,!1,l.fillOpacity);c=l.dataPointIds[n];
|
|
376
|
-
l.indexLabel||u[n].indexLabelFormatter||l.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedBar",dataPoint:u[n],dataSeries:l,point:{x:0<=u[n].y?q:s,y:p+(x-p)/2},direction:0>u[n].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(s,q),y1:p,x2:Math.max(s,q),y2:x},color:c})}}}w&&(g.drawImage(this._preRenderCanvas,
|
|
377
|
-
0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());b.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:z.xScaleAnimation,easingFunction:z.easing.easeOutQuart,
|
|
378
|
-
b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=null,e=this.plotArea,k=[],f=[],d=[],m=[],n=0,q,p,r=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),n=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,h=this.options.dataPointMaxWidth?
|
|
379
|
-
this.dataPointWidth:0.9*(e.height*(a.axisX.logarithmic?Math.log(F)/Math.log(a.axisX.range):Math.abs(F)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&n>h&&(n=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,h));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&
|
|
380
|
-
b.clip();w&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(h=0;h<a.dataSeriesIndexes.length;h++){var l=a.dataSeriesIndexes[h],t=this.data[l],u=t.dataPoints;if(0<u.length){var D=5<F&&t.bevelEnabled?!0:!1;b.strokeStyle=
|
|
381
|
-
var x;x=0!==a.dataPointYSums[c]?100*(u[n].y/a.dataPointYSums[c]):0;p=p-a.plotType.plotUnits.length*F/2+a.index*F<<0;var s=p+F<<0;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<u[n].y){d[c]=x+(d[c]?d[c]:0);if(0>=d[c])continue;x=k[c]?k[c]:r;k[c]=q=a.axisY.convertValueToPixel(d[c])}else if(a.axisY.scaleBreaks&&
|
|
382
|
-
0<=u[n].y){var v=k[c]?k[c]:0;x=r+v;q+=v;a.dataSeriesIndexes.length-1===h&&1>=Math.abs(e.x2-q)&&(q=e.x2);k[c]=v+(q-x)}else v=f[c]?f[c]:0,x=q-v,q=r-v,a.dataSeriesIndexes.length-1===h&&1>=Math.abs(e.x1-x)&&(x=e.x1),f[c]=v+(q-x);c=u[n].color?u[n].color:t._colorSet[n%t._colorSet.length];Q(b,a.axisY.reversed?q:x,p,a.axisY.reversed?x:
|
|
383
|
-
c=T(c);w&&Q(this._eventManager.ghostCtx,x,p,q,s,c,0,null,!1,!1,!1,!1);(u[n].indexLabel||t.indexLabel||u[n].indexLabelFormatter||t.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedBar100",dataPoint:u[n],dataSeries:t,point:{x:0<=u[n].y?q:x,y:p+(s-p)/2},direction:0>u[n].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(x,
|
|
384
|
-
b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());b.restore();
|
|
385
|
-
a.axisY.bounds.x2:r}}};v.prototype.renderArea=function(a){var g,b;function c(){v&&(0<h.lineThickness&&k.stroke(),a.axisY.logarithmic||0>=a.axisY.viewportMinimum&&0<=a.axisY.viewportMaximum?s=x:0>a.axisY.viewportMaximum?s=d.y1:0<a.axisY.viewportMinimum&&(s=x),k.lineTo(l,s),k.lineTo(v.x,s),k.closePath(),k.globalAlpha=
|
|
386
|
-
this.plotArea.ctx,k=w?this._preRenderCtx:e;if(!(0>=a.dataSeriesIndexes.length)){var f=this._eventManager.ghostCtx,d=a.axisY.lineCoordinates,L=[],n=this.plotArea,q;k.save();w&&f.save();k.beginPath();k.rect(n.x1,n.y1,n.width,n.height);k.clip();w&&(f.beginPath(),f.rect(n.x1,n.y1,n.width,n.height),f.clip());for(var p=
|
|
387
|
-
L;L=[];g=!0;var t=0,l,u,D,x=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),s,v=null;if(0<F.length){var G=h._colorSet[t%h._colorSet.length],A=h.lineColor=h.options.lineColor||G,y=A;k.fillStyle=G;k.strokeStyle=A;k.lineWidth=h.lineThickness;b="solid";if(k.setLineDash){var O=R(h.nullDataLineDashType,
|
|
388
|
-
D>a.axisX.dataInfo.viewPortMax&&(!h.connectNullData||!$)))if("number"!==typeof F[t].y)h.connectNullData||($||g)||c(),$=!0;else{l=a.axisX.convertValueToPixel(D);u=a.axisY.convertValueToPixel(F[t].y);g||$?(!g&&h.connectNullData?(k.setLineDash&&(h.options.nullDataLineDashType||b===h.lineDashType&&h.lineDashType!==h.nullDataLineDashType)&&
|
|
389
|
-
f.moveTo(l,u)),v={x:l,y:u}),$=g=!1):(k.lineTo(l,u),w&&f.lineTo(l,u),0==t%250&&c());q={x:l,y:u};t<F.length-1&&(y!==(F[t].lineColor||A)||b!==(F[t].lineDashType||h.lineDashType))&&(c(),y=F[t].lineColor||A,k.strokeStyle=y,k.setLineDash&&(F[t].lineDashType?(b=F[t].lineDashType,k.setLineDash(R(b,h.lineThickness))):(b=h.lineDashType,
|
|
390
|
-
(0<F[t].markerSize||0<h.markerSize)&&(D=h.getMarkerProperties(t,l,u,k),L.push(D),aa=T(aa),w&&L.push({x:l,y:u,ctx:f,type:D.type,size:D.size,color:aa,borderColor:aa,borderThickness:D.borderThickness}));(F[t].indexLabel||h.indexLabel||F[t].indexLabelFormatter||h.indexLabelFormatter)&&this._indexLabels.push({chartType:"area",dataPoint:F[t],
|
|
391
|
-
k.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&k.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&k.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),k.clearRect(n.x1,n.y1,n.width,
|
|
392
|
-
v.prototype.renderSplineArea=function(a){function g(){var b=s(D,2);if(0<b.length){if(0<q.lineThickness){c.beginPath();c.moveTo(b[0].x,b[0].y);b[0].newStrokeStyle&&(c.strokeStyle=b[0].newStrokeStyle);b[0].newLineDashArray&&c.setLineDash(b[0].newLineDashArray);for(var g=0;g<b.length-3;g+=3)if(c.bezierCurveTo(b[g+1].x,
|
|
393
|
-
c.moveTo(b[g+3].x,b[g+3].y),b[g+3].newStrokeStyle&&(c.strokeStyle=b[g+3].newStrokeStyle),b[g+3].newLineDashArray&&c.setLineDash(b[g+3].newLineDashArray);c.stroke()}c.beginPath();c.moveTo(b[0].x,b[0].y);w&&(e.beginPath(),e.moveTo(b[0].x,b[0].y));for(g=0;g<b.length-3;g+=3)c.bezierCurveTo(b[g+1].x,b[g+1].y,b[g+
|
|
394
|
-
v=k.y1:0<a.axisY.viewportMinimum&&(v=l);u={x:b[0].x,y:b[0].y};c.lineTo(b[b.length-1].x,v);c.lineTo(u.x,v);c.closePath();c.globalAlpha=q.fillOpacity;c.fill();c.globalAlpha=1;w&&(e.lineTo(b[b.length-1].x,v),e.lineTo(u.x,v),e.closePath(),e.fill())}}var b=a.targetCanvasCtx||this.plotArea.ctx,
|
|
395
|
-
c.clip();w&&(e.beginPath(),e.rect(d.x1,d.y1,d.width,d.height),e.clip());for(var L=0;L<a.dataSeriesIndexes.length;L++){var n=a.dataSeriesIndexes[L],q=this.data[n],p=q.dataPoints,f=q.id;this._eventManager.objectMap[f]={objectType:"dataSeries",dataSeriesIndex:n};f=T(f);e.fillStyle=f;var f=[],
|
|
396
|
-
A;c.lineWidth=q.lineThickness;var G="solid";if(c.setLineDash){var B=R(q.nullDataLineDashType,q.lineThickness),G=q.lineDashType,E=R(G,q.lineThickness);c.setLineDash(E)}for(t=!1;r<p.length;r++)if(h=p[r].x.getTime?p[r].x.getTime():p[r].x,!(h<a.axisX.dataInfo.viewPortMin||h>a.axisX.dataInfo.viewPortMax&&
|
|
397
|
-
G=q.nullDataLineDashType):(g(),D=[])),t=!0;else{h=a.axisX.convertValueToPixel(h);t=a.axisY.convertValueToPixel(p[r].y);var O=q.dataPointIds[r];this._eventManager.objectMap[O]={id:O,objectType:"dataPoint",dataSeriesIndex:n,dataPointIndex:r,x1:h,y1:t};D[D.length]={x:h,y:t};r<p.length-1&&(y!==(p[r].lineColor||
|
|
398
|
-
(G=q.lineDashType,D[D.length-1].newLineDashArray=E)));if(0!==p[r].markerSize&&(0<p[r].markerSize||0<q.markerSize)){var P=q.getMarkerProperties(r,h,t,c);f.push(P);O=T(O);w&&f.push({x:h,y:t,ctx:e,type:P.type,size:P.size,color:O,borderColor:O,borderThickness:P.borderThickness})}(p[r].indexLabel||q.indexLabel||
|
|
399
|
-
t=!1}g();m.drawMarkers(f)}}w&&(b.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&
|
|
400
|
-
dest:this.plotArea.ctx,animationCallback:z.xClipAnimation,easingFunction:z.easing.linear,animationBase:0}}};v.prototype.renderStepArea=function(a){var g,b;function c(){A&&(0<h.lineThickness&&k.stroke(),a.axisY.logarithmic||0>=a.axisY.viewportMinimum&&0<=a.axisY.viewportMaximum?v=x:0>a.axisY.viewportMaximum?v=d.y1:
|
|
401
|
-
k.beginPath(),k.moveTo(s,u),f.beginPath(),f.moveTo(s,u),A={x:s,y:u})}var e=a.targetCanvasCtx||this.plotArea.ctx,k=w?this._preRenderCtx:e;if(!(0>=a.dataSeriesIndexes.length)){var f=this._eventManager.ghostCtx,d=a.axisY.lineCoordinates,L=[],n=this.plotArea,q;k.save();w&&f.save();k.beginPath();k.rect(n.x1,n.y1,n.width,
|
|
402
|
-
L=h.id;this._eventManager.objectMap[L]={objectType:"dataSeries",dataSeriesIndex:r};L=T(L);f.fillStyle=L;L=[];g=!0;var l=0,s,u,D,x=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),v,A=null;b=!1;if(0<t.length){var G=h._colorSet[l%h._colorSet.length],y=h.lineColor=h.options.lineColor||G,B=y;
|
|
403
|
-
t.length;l++)if(D=t[l].x.getTime?t[l].x.getTime():t[l].x,!(D<a.axisX.dataInfo.viewPortMin||D>a.axisX.dataInfo.viewPortMax&&(!h.connectNullData||!b))){var aa=u;"number"!==typeof t[l].y?(h.connectNullData||(b||g)||c(),b=!0):(s=a.axisX.convertValueToPixel(D),u=a.axisY.convertValueToPixel(t[l].y),g||b?
|
|
404
|
-
k.setLineDash(P)),k.lineTo(s,aa),k.lineTo(s,u),w&&(f.lineTo(s,aa),f.lineTo(s,u))):(k.beginPath(),k.moveTo(s,u),w&&(f.beginPath(),f.moveTo(s,u)),A={x:s,y:u}),b=g=!1):(k.lineTo(s,aa),w&&f.lineTo(s,aa),k.lineTo(s,u),w&&f.lineTo(s,u),0==l%250&&c()),q={x:s,y:u},l<t.length-1&&(B!==(t[l].lineColor||
|
|
405
|
-
D=h.dataPointIds[l],this._eventManager.objectMap[D]={id:D,objectType:"dataPoint",dataSeriesIndex:r,dataPointIndex:l,x1:s,y1:u},0!==t[l].markerSize&&(0<t[l].markerSize||0<h.markerSize)&&(aa=h.getMarkerProperties(l,s,u,k),L.push(aa),D=T(D),w&&L.push({x:s,y:u,ctx:f,type:aa.type,size:aa.size,
|
|
406
|
-
point:{x:s,y:u},direction:0>t[l].y===a.axisY.reversed?1:-1,color:G}))}c();m.drawMarkers(L)}}w&&(e.drawImage(this._preRenderCanvas,0,0,this.width,this.height),k.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&k.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&
|
|
407
|
-
this._eventManager.ghostCtx.restore());k.restore();return{source:e,dest:this.plotArea.ctx,animationCallback:z.xClipAnimation,easingFunction:z.easing.linear,animationBase:0}}};v.prototype.renderStackedArea=function(a){function g(){if(!(1>n.length)){for(0<G.lineThickness&&c.stroke();0<n.length;){var a=
|
|
408
|
-
this.plotArea.ctx,c=w?this._preRenderCtx:b;if(!(0>=a.dataSeriesIndexes.length)){var e=null,k=null,f=[],d=this.plotArea,t=[],n=[],q=[],p=[],r=0,h,l,s=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),v=this._eventManager.ghostCtx,u,D,x;w&&v.beginPath();c.save();w&&v.save();c.beginPath();
|
|
409
|
-
this.data[y],B=G.dataPoints;G.dataPointIndexes=[];for(r=0;r<B.length;r++)y=B[r].x.getTime?B[r].x.getTime():B[r].x,G.dataPointIndexes[y]=r,e[y]||(q.push(y),e[y]=!0);q.sort(Wa)}for(A=0;A<a.dataSeriesIndexes.length;A++){y=a.dataSeriesIndexes[A];G=this.data[y];B=G.dataPoints;D=!0;n=[];r=G.id;this._eventManager.objectMap[r]=
|
|
410
|
-
G.lineThickness;x="solid";if(c.setLineDash){var P=R(G.nullDataLineDashType,G.lineThickness);x=G.lineDashType;var $=R(x,G.lineThickness);c.setLineDash($)}for(var aa=!0,r=0;r<q.length;r++){var k=q[r],ha=null,ha=0<=G.dataPointIndexes[k]?B[G.dataPointIndexes[k]]:{x:k,y:null};if(!(k<a.axisX.dataInfo.viewPortMin||k>a.axisX.dataInfo.viewPortMax&&
|
|
411
|
-
a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length){p[k]=ha.y+(p[k]?p[k]:0);if(0>=p[k]&&a.axisY.logarithmic)continue;l=a.axisY.convertValueToPixel(p[k])}else l=a.axisY.convertValueToPixel(ha.y),l-=sa;n.push({x:h,y:s-sa});t[k]=s-l;D||aa?(!D&&G.connectNullData?(c.setLineDash&&(G.options.nullDataLineDashType||x===G.lineDashType&&
|
|
412
|
-
l),w&&v.lineTo(h,l)):(c.beginPath(),c.moveTo(h,l),w&&(v.beginPath(),v.moveTo(h,l))),aa=D=!1):(c.lineTo(h,l),w&&v.lineTo(h,l),0==r%250&&(g(),c.moveTo(h,l),w&&v.moveTo(h,l),n.push({x:h,y:s-sa})));u={x:h,y:l};r<B.length-1&&(O!==(B[r].lineColor||E)||x!==(B[r].lineDashType||G.lineDashType))&&(g(),c.beginPath(),c.moveTo(h,l),n.push({x:h,y:s-
|
|
413
|
-
if(0<=G.dataPointIndexes[k]){var ea=G.dataPointIds[G.dataPointIndexes[k]];this._eventManager.objectMap[ea]={id:ea,objectType:"dataPoint",dataSeriesIndex:y,dataPointIndex:G.dataPointIndexes[k],x1:h,y1:l}}0<=G.dataPointIndexes[k]&&0!==ha.markerSize&&(0<ha.markerSize||0<G.markerSize)&&(sa=G.getMarkerProperties(G.dataPointIndexes[k],
|
|
414
|
-
G.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedArea",dataPoint:ha,dataSeries:G,point:{x:h,y:l},direction:0>ha.y===a.axisY.reversed?1:-1,color:e})}}g();c.moveTo(h,l);w&&v.moveTo(h,l)}delete G.dataPointIndexes}m.drawMarkers(f);w&&(b.drawImage(this._preRenderCanvas,0,0,this.width,this.height),
|
|
415
|
-
this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(d.x1,d.y1,d.width,d.height),v.restore());c.restore();return{source:b,dest:this.plotArea.ctx,animationCallback:z.xClipAnimation,easingFunction:z.easing.linear,animationBase:0}}};v.prototype.renderStackedArea100=
|
|
416
|
-
c.globalAlpha=1;c.beginPath();w&&(x.closePath(),x.fill(),x.beginPath());n=[]}var b=a.targetCanvasCtx||this.plotArea.ctx,c=w?this._preRenderCtx:b;if(!(0>=a.dataSeriesIndexes.length)){var e=null,k=null,f=this.plotArea,d=[],l=[],n=[],q=[],p=[],r=0,h,t,s,v,u,D=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:
|
|
417
|
-
for(var e=[],A=0;A<a.dataSeriesIndexes.length;A++){var y=a.dataSeriesIndexes[A],G=this.data[y],B=G.dataPoints;G.dataPointIndexes=[];for(r=0;r<B.length;r++)y=B[r].x.getTime?B[r].x.getTime():B[r].x,G.dataPointIndexes[y]=r,e[y]||(q.push(y),e[y]=!0);q.sort(Wa)}for(A=0;A<a.dataSeriesIndexes.length;A++){y=a.dataSeriesIndexes[A];G=
|
|
418
|
-
G._colorSet.length],E=G.lineColor=G.options.lineColor||e,O=E;c.fillStyle=e;c.strokeStyle=E;c.lineWidth=G.lineThickness;u="solid";if(c.setLineDash){var P=R(G.nullDataLineDashType,G.lineThickness);u=G.lineDashType;var $=R(u,G.lineThickness);c.setLineDash($)}for(var aa=!0,r=0;r<q.length;r++){var k=q[r],ha=null,ha=0<=G.dataPointIndexes[k]?
|
|
419
|
-
(aa||v)||g(),aa=!0;else{var sa;sa=0!==a.dataPointYSums[k]?100*(ha.y/a.dataPointYSums[k]):0;h=a.axisX.convertValueToPixel(k);var ea=l[k]?l[k]:0;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length){p[k]=sa+(p[k]?p[k]:0);if(0>=p[k]&&a.axisY.logarithmic)continue;t=a.axisY.convertValueToPixel(p[k])}else t=
|
|
420
|
-
G.lineDashType!==G.nullDataLineDashType)&&(v=n.pop(),u=n[n.length-1],g(),c.moveTo(s.x,s.y),n.push(u),n.push(v),u=G.nullDataLineDashType,c.setLineDash(P)),c.lineTo(h,t),w&&x.lineTo(h,t)):(c.beginPath(),c.moveTo(h,t),w&&(x.beginPath(),x.moveTo(h,t))),aa=v=!1):(c.lineTo(h,t),w&&x.lineTo(h,t),0==r%250&&(g(),c.moveTo(h,t),w&&x.moveTo(h,t),
|
|
421
|
-
ea}),O=B[r].lineColor||E,c.strokeStyle=O,c.setLineDash&&(B[r].lineDashType?(u=B[r].lineDashType,c.setLineDash(R(u,G.lineThickness))):(u=G.lineDashType,c.setLineDash($))));if(0<=G.dataPointIndexes[k]){var I=G.dataPointIds[G.dataPointIndexes[k]];this._eventManager.objectMap[I]={id:I,objectType:"dataPoint",dataSeriesIndex:y,dataPointIndex:G.dataPointIndexes[k],
|
|
422
|
-
t,c),d.push(ea),k=T(I),w&&d.push({x:h,y:t,ctx:x,type:ea.type,size:ea.size,color:k,borderColor:k,borderThickness:ea.borderThickness}));(ha.indexLabel||G.indexLabel||ha.indexLabelFormatter||G.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedArea100",dataPoint:ha,dataSeries:G,point:{x:h,y:t},direction:0>ha.y===a.axisY.reversed?1:-1,color:e})}}g();
|
|
423
|
-
c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(f.x1,f.y1,f.width,f.height),x.restore());c.restore();
|
|
424
|
-
function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=this.plotArea,e=0,k,f;b.save();w&&this._eventManager.ghostCtx.save();b.beginPath();b.rect(c.x1,c.y1,c.width,c.height);b.clip();w&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(c.x1,c.y1,c.width,c.height),
|
|
425
|
-
r=p.dataPoints,h=0,e=0;e<r.length;e++)k=r[e].getTime?k=r[e].x.getTime():k=r[e].x,k<a.axisX.dataInfo.viewPortMin||k>a.axisX.dataInfo.viewPortMax||"undefined"===typeof r[e].z||(h=r[e].z,h>d&&(d=h),h<t&&(t=h));for(var l=25*Math.PI,s=Math.max(Math.pow(0.25*Math.min(c.height,c.width)/2,2)*Math.PI,l),n=0;n<a.dataSeriesIndexes.length;n++)if(q=a.dataSeriesIndexes[n],
|
|
426
|
-
k>a.axisX.dataInfo.viewPortMax)&&"number"===typeof r[e].y){k=a.axisX.convertValueToPixel(k);f=a.axisY.convertValueToPixel(r[e].y);var h=r[e].z,v=2*Math.max(Math.sqrt((d===t?s/2:l+(s-l)/(d-t)*(h-t))/Math.PI)<<0,1),h=p.getMarkerProperties(e,b);h.size=v;b.globalAlpha=p.fillOpacity;m.drawMarker(k,f,b,h.type,h.size,h.color,h.borderColor,
|
|
427
|
-
v=T(u);w&&m.drawMarker(k,f,this._eventManager.ghostCtx,h.type,h.size,v,v,h.borderThickness);(r[e].indexLabel||p.indexLabel||r[e].indexLabelFormatter||p.indexLabelFormatter)&&this._indexLabels.push({chartType:"bubble",dataPoint:r[e],dataSeries:p,point:{x:k,y:f},direction:1,bounds:{x1:k-h.size/2,y1:f-h.size/2,x2:k+h.size/2,y2:f+
|
|
428
|
-
0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(c.x1,c.y1,c.width,c.height),this._eventManager.ghostCtx.restore());b.restore();return{source:g,dest:this.plotArea.ctx,
|
|
429
|
-
b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=this.plotArea,e=0,k,f;b.save();w&&this._eventManager.ghostCtx.save();b.beginPath();b.rect(c.x1,c.y1,c.width,c.height);b.clip();w&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(c.x1,c.y1,c.width,c.height),this._eventManager.ghostCtx.clip());
|
|
430
|
-
c.width)/2,2);for(var p=0,r=0,e=0;e<q.length;e++)if(k=q[e].getTime?k=q[e].x.getTime():k=q[e].x,!(k<a.axisX.dataInfo.viewPortMin||k>a.axisX.dataInfo.viewPortMax)&&"number"===typeof q[e].y){k=a.axisX.convertValueToPixel(k);f=a.axisY.convertValueToPixel(q[e].y);var h=n.getMarkerProperties(e,k,f,b);b.globalAlpha=n.fillOpacity;m.drawMarker(h.x,
|
|
431
|
-
this.plotArea.height)||(p=n.dataPointIds[e],this._eventManager.objectMap[p]={id:p,objectType:"dataPoint",dataSeriesIndex:t,dataPointIndex:e,x1:k,y1:f},p=T(p),w&&m.drawMarker(h.x,h.y,this._eventManager.ghostCtx,h.type,h.size,p,p,h.borderThickness),(q[e].indexLabel||n.indexLabel||q[e].indexLabelFormatter||n.indexLabelFormatter)&&
|
|
432
|
-
p=k,r=f)}}}w&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,
|
|
433
|
-
animationCallback:z.fadeInAnimation,easingFunction:z.easing.easeInQuad,animationBase:0}}};v.prototype.renderCandlestick=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g,c=this._eventManager.ghostCtx;if(!(0>=a.dataSeriesIndexes.length)){var e=null,k=null,d=this.plotArea,m=0,t,n,q,p,r,h,e=this.options.dataPointMinWidth?
|
|
434
|
-
this.dataPointWidth:0.015*this.width,l=a.axisX.dataInfo.minDiff;isFinite(l)||(l=0.3*Math.abs(a.axisX.range));l=this.options.dataPointWidth?this.dataPointWidth:0.7*d.width*(a.axisX.logarithmic?Math.log(l)/Math.log(a.axisX.range):Math.abs(l)/Math.abs(a.axisX.range))<<0;this.dataPointMaxWidth&&e>k&&(e=Math.min(this.options.dataPointWidth?this.dataPointWidth:
|
|
435
|
-
e&&(l=e);l>k&&(l=k);b.save();w&&c.save();b.beginPath();b.rect(d.x1,d.y1,d.width,d.height);b.clip();w&&(c.beginPath(),c.rect(d.x1,d.y1,d.width,d.height),c.clip());for(var s=0;s<a.dataSeriesIndexes.length;s++){var v=a.dataSeriesIndexes[s],u=this.data[v],D=u.dataPoints;if(0<D.length)for(var x=5<l&&u.bevelEnabled?!0:!1,m=0;m<D.length;m++)if(D[m].getTime?h=D[m].x.getTime():
|
|
436
|
-
"number"===typeof D[m].y[1]&&"number"===typeof D[m].y[2]&&"number"===typeof D[m].y[3]){t=a.axisX.convertValueToPixel(h);n=a.axisY.convertValueToPixel(D[m].y[0]);q=a.axisY.convertValueToPixel(D[m].y[1]);p=a.axisY.convertValueToPixel(D[m].y[2]);r=a.axisY.convertValueToPixel(D[m].y[3]);var A=t-l/2<<0,y=A+l<<0,k=u.options.fallingColor?u.fallingColor:u._colorSet[0],e=D[m].color?
|
|
437
|
-
{id:E,objectType:"dataPoint",dataSeriesIndex:v,dataPointIndex:m,x1:A,y1:n,x2:y,y2:q,x3:t,y3:p,x4:t,y4:r,borderThickness:G,color:e};b.strokeStyle=e;b.beginPath();b.lineWidth=G;c.lineWidth=Math.max(G,4);"candlestick"===u.type?(b.moveTo(t-B,q),b.lineTo(t-B,Math.min(n,r)),b.stroke(),b.moveTo(t-B,Math.max(n,r)),b.lineTo(t-B,p),b.stroke(),Q(b,A,Math.min(n,r),y,Math.max(n,r),D[m].y[0]<=
|
|
438
|
-
r)),c.stroke(),c.moveTo(t-B,Math.max(n,r)),c.lineTo(t-B,p),c.stroke(),Q(c,A,Math.min(n,r),y,Math.max(n,r),e,0,null,!1,!1,!1,!1))):"ohlc"===u.type&&(b.moveTo(t-B,q),b.lineTo(t-B,p),b.stroke(),b.beginPath(),b.moveTo(t,n),b.lineTo(A,n),b.stroke(),b.beginPath(),b.moveTo(t,r),b.lineTo(y,r),b.stroke(),w&&(e=T(E),c.strokeStyle=e,c.moveTo(t-B,q),c.lineTo(t-B,p),c.stroke(),c.beginPath(),
|
|
439
|
-
D[m].indexLabelFormatter||u.indexLabelFormatter)&&this._indexLabels.push({chartType:u.type,dataPoint:D[m],dataSeries:u,point:{x:A+(y-A)/2,y:a.axisY.reversed?p:q},direction:1,bounds:{x1:A,y1:Math.min(q,p),x2:y,y2:Math.max(q,p)},color:e})}}w&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,
|
|
440
|
-
this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(d.x1,d.y1,d.width,d.height),c.restore());b.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:z.fadeInAnimation,easingFunction:z.easing.easeInQuad,animationBase:0}}};v.prototype.renderBoxAndWhisker=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:
|
|
441
|
-
d=0,m,t,n,q,p,r,h,e=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,d=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.015*this.width,l=a.axisX.dataInfo.minDiff;isFinite(l)||(l=0.3*Math.abs(a.axisX.range));l=this.options.dataPointWidth?this.dataPointWidth:0.7*k.width*(a.axisX.logarithmic?Math.log(l)/
|
|
442
|
-
d&&(e=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,d));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&d<e)&&(d=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,e));l<e&&(l=e);l>d&&(l=d);b.save();w&&c.save();b.beginPath();b.rect(k.x1,k.y1,k.width,k.height);b.clip();w&&(c.beginPath(),c.rect(k.x1,k.y1,k.width,k.height),c.clip());for(var s=!1,s=!!a.axisY.reversed,v=0;v<a.dataSeriesIndexes.length;v++){var u=
|
|
443
|
-
if(0<x.length)for(var A=5<l&&D.bevelEnabled?!0:!1,d=0;d<x.length;d++)if(x[d].getTime?h=x[d].x.getTime():h=x[d].x,!(h<a.axisX.dataInfo.viewPortMin||h>a.axisX.dataInfo.viewPortMax)&&!f(x[d].y)&&x[d].y.length&&"number"===typeof x[d].y[0]&&"number"===typeof x[d].y[1]&&"number"===typeof x[d].y[2]&&"number"===typeof x[d].y[3]&&"number"===typeof x[d].y[4]&&5===x[d].y.length){m=a.axisX.convertValueToPixel(h);t=a.axisY.convertValueToPixel(x[d].y[0]);n=a.axisY.convertValueToPixel(x[d].y[1]);
|
|
444
|
-
p=a.axisY.convertValueToPixel(x[d].y[3]);r=a.axisY.convertValueToPixel(x[d].y[4]);var y=m-l/2<<0,G=m+l/2<<0,e=x[d].color?x[d].color:D._colorSet[0],B=Math.round(Math.max(1,0.15*l)),E=0===B%2?0:0.5,O=x[d].whiskerColor?x[d].whiskerColor:x[d].color?D.whiskerColor?D.whiskerColor:x[d].color:D.whiskerColor?D.whiskerColor:e,P="number"===typeof x[d].whiskerThickness?x[d].whiskerThickness:"number"===typeof D.options.whiskerThickness?D.whiskerThickness:B,$=x[d].whiskerDashType?
|
|
445
|
-
aa=f(x[d].whiskerLength)?f(D.options.whiskerLength)?l:D.whiskerLength:x[d].whiskerLength,aa="number"===typeof aa?0>=aa?0:aa>=l?l:aa:"string"===typeof aa?parseInt(aa)*l/100>l?l:parseInt(aa)*l/100:l,ha=1===Math.round(P)%2?0.5:0,sa=x[d].stemColor?x[d].stemColor:x[d].color?D.stemColor?D.stemColor:x[d].color:D.stemColor?D.stemColor:e,ea="number"===typeof x[d].stemThickness?x[d].stemThickness:"number"===typeof D.options.stemThickness?D.stemThickness:B,I=1===Math.round(ea)%
|
|
446
|
-
D.stemDashType,N=x[d].lineColor?x[d].lineColor:x[d].color?D.lineColor?D.lineColor:x[d].color:D.lineColor?D.lineColor:e,M="number"===typeof x[d].lineThickness?x[d].lineThickness:"number"===typeof D.options.lineThickness?D.lineThickness:B,S=x[d].lineDashType?x[d].lineDashType:D.lineDashType,ba=1===Math.round(M)%2?0.5:0,X=D.upperBoxColor,tb=D.lowerBoxColor,W=f(D.options.fillOpacity)?1:D.fillOpacity,J=D.dataPointIds[d];this._eventManager.objectMap[J]={id:J,
|
|
447
|
-
x1:y,y1:t,x2:G,y2:n,x3:m,y3:q,x4:m,y4:p,y5:r,borderThickness:B,color:e,stemThickness:ea,stemColor:sa,whiskerThickness:P,whiskerLength:aa,whiskerColor:O,lineThickness:M,lineColor:N};b.save();0<ea&&(b.beginPath(),b.strokeStyle=sa,b.lineWidth=ea,b.setLineDash&&b.setLineDash(R(H,ea)),b.moveTo(m-I,n),b.lineTo(m-I,t),b.stroke(),b.moveTo(m-I,p),b.lineTo(m-I,q),b.stroke());b.restore();c.lineWidth=Math.max(B,4);b.beginPath();Q(b,y,Math.min(r,n),G,Math.max(n,
|
|
448
|
-
y,Math.min(q,r),G,Math.max(r,q),X,0,e,s?!1:A,s?A:!1,!1,!1,W);b.beginPath();b.lineWidth=B;b.strokeStyle=e;b.rect(y-E,Math.min(n,q)-E,G-y+2*E,Math.max(n,q)-Math.min(n,q)+2*E);b.stroke();b.save();0<M&&(b.beginPath(),b.globalAlpha=1,b.setLineDash&&b.setLineDash(R(S,M)),b.strokeStyle=N,b.lineWidth=M,b.moveTo(y,r-ba),b.lineTo(G,r-ba),b.stroke());b.restore();b.save();0<P&&(b.beginPath(),b.setLineDash&&b.setLineDash(R($,P)),b.strokeStyle=O,b.lineWidth=P,
|
|
449
|
-
b.moveTo(m-aa/2<<0,t+ha),b.lineTo(m+aa/2<<0,t+ha),b.stroke());b.restore();w&&(e=T(J),c.strokeStyle=e,c.lineWidth=ea,0<ea&&(c.moveTo(m-E-I,n),c.lineTo(m-E-I,Math.max(t,p)),c.stroke(),c.moveTo(m-E-I,Math.min(t,p)),c.lineTo(m-E-I,q),c.stroke()),Q(c,y,Math.max(n,q),G,Math.min(n,q),e,0,null,!1,!1,!1,!1),0<P&&(c.beginPath(),c.lineWidth=P,c.moveTo(m+aa/2,p-ha),c.lineTo(m-aa/2,p-ha),c.stroke(),c.moveTo(m+aa/2,t+ha),c.lineTo(m-aa/2,t+ha),c.stroke()));
|
|
450
|
-
D.indexLabelFormatter)&&this._indexLabels.push({chartType:D.type,dataPoint:x[d],dataSeries:D,point:{x:y+(G-y)/2,y:a.axisY.reversed?t:p},direction:1,bounds:{x1:y,y1:Math.min(t,p),x2:G,y2:Math.max(t,p)},color:e})}}w&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,
|
|
451
|
-
0,0,this.width,this.height),b.clearRect(k.x1,k.y1,k.width,k.height),c.restore());b.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:z.fadeInAnimation,easingFunction:z.easing.easeInQuad,animationBase:0}}};v.prototype.renderRangeColumn=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=null,e=this.plotArea,
|
|
452
|
-
1;d=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.03*this.width;var n=a.axisX.dataInfo.minDiff;isFinite(n)||(n=0.3*Math.abs(a.axisX.range));n=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(n)/Math.log(a.axisX.range):Math.abs(n)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&
|
|
453
|
-
(this.dataPointMinWidth&&d<k)&&(d=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,k));n<k&&(n=k);n>d&&(n=d);b.save();w&&this._eventManager.ghostCtx.save();b.beginPath();b.rect(e.x1,e.y1,e.width,e.height);b.clip();w&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(var q=0;q<a.dataSeriesIndexes.length;q++){var p=
|
|
454
|
-
5<n&&r.bevelEnabled?!0:!1,k=0;k<h.length;k++)if(h[k].getTime?t=h[k].x.getTime():t=h[k].x,!(t<a.axisX.dataInfo.viewPortMin||t>a.axisX.dataInfo.viewPortMax)&&!f(h[k].y)&&h[k].y.length&&"number"===typeof h[k].y[0]&&"number"===typeof h[k].y[1]){c=a.axisX.convertValueToPixel(t);d=a.axisY.convertValueToPixel(h[k].y[0]);m=a.axisY.convertValueToPixel(h[k].y[1]);var s=a.axisX.reversed?c+a.plotType.totalDataSeries*n/2-(a.previousDataSeriesCount+
|
|
455
|
-
q)*n<<0,v=a.axisX.reversed?s-n<<0:s+n<<0,c=h[k].color?h[k].color:r._colorSet[k%r._colorSet.length];if(d>m){var u=d;d=m;m=u}u=r.dataPointIds[k];this._eventManager.objectMap[u]={id:u,objectType:"dataPoint",dataSeriesIndex:p,dataPointIndex:k,x1:s,y1:d,x2:v,y2:m};Q(b,a.axisX.reversed?v:s,d,a.axisX.reversed?s:v,m,c,0,c,l,l,!1,!1,r.fillOpacity);c=T(u);w&&Q(this._eventManager.ghostCtx,a.axisX.reversed?v:s,d,a.axisX.reversed?s:v,m,c,0,null
|
|
456
|
-
r.indexLabelFormatter)this._indexLabels.push({chartType:"rangeColumn",dataPoint:h[k],dataSeries:r,indexKeyword:0,point:{x:s+(v-s)/2,y:h[k].y[1]>=h[k].y[0]?m:d},direction:h[k].y[1]>=h[k].y[0]?-1:1,bounds:{x1:s,y1:Math.min(d,m),x2:v,y2:Math.max(d,m)},color:c}),this._indexLabels.push({chartType:"rangeColumn",dataPoint:h[k],dataSeries:r,indexKeyword:1,point:{x:s+(v-s)/2,y:h[k].y[1]>=h[k].y[0]?d:m},direction:h[k].y[1]>=h[k].y[0]?
|
|
457
|
-
0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());
|
|
458
|
-
animationBase:0}}};v.prototype.renderError=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g,c=a.axisY._position?"left"===a.axisY._position||"right"===a.axisY._position?!1:!0:!1;if(!(0>=a.dataSeriesIndexes.length)){var e=null,k=!1,d=this.plotArea,m=0,t,n,q,p,r,h,l,s=a.axisX.dataInfo.minDiff;isFinite(s)||(s=0.3*Math.abs(a.axisX.range));b.save();w&&
|
|
459
|
-
this._eventManager.ghostCtx.rect(d.x1,d.y1,d.width,d.height),this._eventManager.ghostCtx.clip());for(var v=0,u=0;u<this.data.length;u++)!this.data[u].type.match(/(bar|column)/ig)||!this.data[u].visible||this.data[u].type.match(/(stacked)/ig)&&v||v++;for(var D=0;D<a.dataSeriesIndexes.length;D++){var x=a.dataSeriesIndexes[D],y=this.data[x],B=y.dataPoints,G=f(y._linkedSeries)
|
|
460
|
-
!this.data[u].visible||this.data[u].type.match(/(stacked)/ig)&&E||(this.data[u].type.match(/(range)/ig)&&(k=!0),E++);e=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;m=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:c?Math.min(0.15*
|
|
461
|
-
c?Math.min(0.15*this.height,0.9*(this.plotArea.height/(G?v:1)))<<0:0.03*this.width);u=this.options.dataPointWidth?this.dataPointWidth:0.9*((c?d.height:d.width)*(a.axisX.logarithmic?Math.log(s)/Math.log(a.axisX.range):Math.abs(s)/Math.abs(a.axisX.range))/(G?v:1))<<0;this.dataPointMaxWidth&&e>m&&(e=Math.min(this.options.dataPointWidth?
|
|
462
|
-
(u=e);u>m&&(u=m);if(0<B.length)for(var H=y._colorSet,m=0;m<B.length;m++){var e=y.lineColor=y.options.color?y.options.color:H[0],O={color:B[m].whiskerColor?B[m].whiskerColor:B[m].color?y.whiskerColor?y.whiskerColor:B[m].color:y.whiskerColor?y.whiskerColor:e,thickness:f(B[m].whiskerThickness)?y.whiskerThickness:B[m].whiskerThickness,
|
|
463
|
-
trimLength:f(B[m].whiskerLength)?f(y.options.whiskerLength)?50:0:0};O.length="number"===typeof O.length?0>=O.length?0:O.length>=u?u:O.length:"string"===typeof O.length?parseInt(O.length)*u/100>u?u:parseInt(O.length)*u/100>u:u;O.thickness="number"===typeof O.thickness?0>O.thickness?0:Math.round(O.thickness):2;var P={color:B[m].stemColor?
|
|
464
|
-
B[m].stemDashType:y.stemDashType};P.thickness="number"===typeof P.thickness?0>P.thickness?0:Math.round(P.thickness):2;B[m].getTime?l=B[m].x.getTime():l=B[m].x;if(!(l<a.axisX.dataInfo.viewPortMin||l>a.axisX.dataInfo.viewPortMax)&&!f(B[m].y)&&B[m].y.length&&"number"===typeof B[m].y[0]&&"number"===typeof B[m].y[1]){var $=a.axisX.convertValueToPixel(l);
|
|
465
|
-
E-1:0)*u<<0:n-(G?v:1)*u/2+(G?E-1:0)*u<<0,h=a.axisX.reversed?r-u<<0:r+u<<0):(q=a.axisX.reversed?t+(G?v:1)*u/2-(G?E-1:0)*u<<0:t-(G?v:1)*u/2+(G?E-1:0)*u<<0,p=a.axisX.reversed?q-u<<0:q+u<<0);!c&&r>h&&($=r,r=h,h=$);c&&q>p&&($=q,q=p,p=$);$=y.dataPointIds[m];this._eventManager.objectMap[$]={id:$,objectType:"dataPoint",dataSeriesIndex:x,dataPointIndex:m,x1:Math.min(q,
|
|
466
|
-
q),Math.max(h,r),e,O,P,c);w&&A(this._eventManager.ghostCtx,q,r,p,h,e,O,P,c);if(B[m].indexLabel||y.indexLabel||B[m].indexLabelFormatter||y.indexLabelFormatter)this._indexLabels.push({chartType:"error",dataPoint:B[m],dataSeries:y,indexKeyword:0,point:{x:c?B[m].y[1]>=B[m].y[0]?q:p:q+(p-q)/2,y:c?r+(h-r)/2:B[m].y[1]>=B[m].y[0]?h:r},direction:B[m].y[1]>=B[m].y[0]
|
|
467
|
-
dataPoint:B[m],dataSeries:y,indexKeyword:1,point:{x:c?B[m].y[1]>=B[m].y[0]?p:q:q+(p-q)/2,y:c?r+(h-r)/2:B[m].y[1]>=B[m].y[0]?r:h},direction:B[m].y[1]>=B[m].y[0]?1:-1,bounds:{x1:c?Math.min(q,p):q,y1:c?r:Math.min(r,h),x2:c?Math.max(q,p):p,y2:c?h:Math.max(r,h)},color:e,axisSwapped:c})}}}w&&(g.drawImage(this._preRenderCanvas,0,0,this.width,
|
|
468
|
-
0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(d.x1,d.y1,d.width,d.height),this._eventManager.ghostCtx.restore());b.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:z.fadeInAnimation,easingFunction:z.easing.easeInQuad,
|
|
469
|
-
null,e=this.plotArea,k=0,d,m,t,n,k=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;d=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.height,0.9*(this.plotArea.height/a.plotType.totalDataSeries))<<0;var q=
|
|
470
|
-
Math.abs(q)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&k>d&&(k=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,d));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&d<k)&&(d=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,k));q<k&&(q=k);
|
|
471
|
-
e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(var p=0;p<a.dataSeriesIndexes.length;p++){var r=a.dataSeriesIndexes[p],h=this.data[r],l=h.dataPoints;if(0<l.length){var s=5<q&&h.bevelEnabled?!0:!1;b.strokeStyle="#4572A7 ";for(k=0;k<l.length;k++)if(l[k].getTime?n=l[k].x.getTime():n=l[k].x
|
|
472
|
-
t=a.axisX.convertValueToPixel(n);t=a.axisX.reversed?t+a.plotType.totalDataSeries*q/2-(a.previousDataSeriesCount+p)*q<<0:t-a.plotType.totalDataSeries*q/2+(a.previousDataSeriesCount+p)*q<<0;var v=a.axisX.reversed?t-q<<0:t+q<<0;d>m&&(c=d,d=m,m=c);c=l[k].color?l[k].color:
|
|
473
|
-
x1:d,y1:t,x2:m,y2:v};c=T(c);w&&Q(this._eventManager.ghostCtx,d,a.axisX.reversed?v:t,m,a.axisX.reversed?t:v,c,0,null,!1,!1,!1,!1);if(l[k].indexLabel||h.indexLabel||l[k].indexLabelFormatter||h.indexLabelFormatter)this._indexLabels.push({chartType:"rangeBar",dataPoint:l[k],
|
|
474
|
-
dataSeries:h,indexKeyword:
|
|
475
|
-
0,0,this.width,this.height),b.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());b.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:z.fadeInAnimation,easingFunction:z.easing.easeInQuad,animationBase:0}}};v.prototype.renderRangeArea=
|
|
476
|
-
c.moveTo(a.x,a.y2);for(b=0;b<t.length;b++)a=t[b],c.lineTo(a.x,a.y2);c.moveTo(t[0].x,t[0].y1);for(b=0;b<t.length;b++)a=t[b],c.lineTo(a.x,a.y1);c.stroke()}c.beginPath();c.moveTo(l,s);e.beginPath();e.moveTo(l,s);D={x:l,y:s};t=[];t.push({x:l,y1:s,y2:v})}}var b=a.targetCanvasCtx||
|
|
477
|
-
e.rect(d.x1,d.y1,d.width,d.height),e.clip());for(var f=0;f<a.dataSeriesIndexes.length;f++){var t=[],n=a.dataSeriesIndexes[f],q=this.data[n],p=q.dataPoints,k=q.id;this._eventManager.objectMap[k]={objectType:"dataSeries",dataSeriesIndex:n};k=T(k);e.fillStyle=k;var k=[],r
|
|
478
|
-
q.lineThickness),B=q.lineDashType,H=R(B,q.lineThickness);c.setLineDash(H)}for(var O=!0;h<p.length;h++)if(u=p[h].x.getTime?p[h].x.getTime():p[h].x,!(u<a.axisX.dataInfo.viewPortMin||u>a.axisX.dataInfo.viewPortMax&&(!q.connectNullData||!O)))if(null!==p[h].y&&p[h].y.length&&
|
|
479
|
-
B===q.lineDashType&&q.lineDashType!==q.nullDataLineDashType)&&(t[t.length-1].newLineDashArray=H,B=q.nullDataLineDashType,c.setLineDash(E)),c.lineTo(l,s),w&&e.lineTo(l,s),t.push({x:l,y1:s,y2:v})):(c.beginPath(),c.moveTo(l,s),D={x:l,y:s},t=[],t.push({x:l,
|
|
480
|
-
y2:v};h<p.length-1&&(y!==(p[h].lineColor||A)||B!==(p[h].lineDashType||q.lineDashType))&&(g(),y=p[h].lineColor||A,t[t.length-1].newStrokeStyle=y,c.strokeStyle=y,c.setLineDash&&(p[h].lineDashType?(B=p[h].lineDashType,t[t.length-1].newLineDashArray=R(B,
|
|
481
|
-
w&&k.push({x:l,y:v,ctx:e,type:P.type,size:P.size,color:$,borderColor:$,borderThickness:P.borderThickness});P=q.getMarkerProperties(h,l,s,c);k.push(P);$=T(u);w&&k.push({x:l,y:s,ctx:e,type:P.type,size:P.size,color:$,borderColor:$,borderThickness:P.borderThickness})}if(p[h].indexLabel||
|
|
482
|
-
1,color:x}),this._indexLabels.push({chartType:"rangeArea",dataPoint:p[h],dataSeries:q,indexKeyword:1,point:{x:l,y:v},direction:p[h].y[0]>p[h].y[1]===a.axisY.reversed?1:-1,color:x})}else O||r||g(),O=!0;g();m.drawMarkers(k)}}w&&(b.drawImage(this._preRenderCanvas,0,0,this.width,this.height),
|
|
483
|
-
this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(d.x1,d.y1,d.width,d.height),this._eventManager.ghostCtx.restore());c.restore();return{source:b,dest:this.plotArea.ctx,animationCallback:z.xClipAnimation,easingFunction:z.easing.linear,animationBase:0}}};
|
|
484
|
-
0;h<g.length-3;h+=3){if(g[h].newStrokeStyle||g[h].newLineDashArray)c.stroke(),c.beginPath(),c.moveTo(g[h].x,g[h].y),g[h].newStrokeStyle&&(c.strokeStyle=g[h].newStrokeStyle),g[h].newLineDashArray&&c.setLineDash(g[h].newLineDashArray);c.bezierCurveTo(g[h+1].x,g[h+1].y,g[h+2].x,g[h+2].y,g[h+3].x,
|
|
485
|
-
1].x,g[h+1].y,g[h+2].x,g[h+2].y,g[h+3].x,g[h+3].y);g=s(A,2);c.lineTo(A[A.length-1].x,A[A.length-1].y);for(h=g.length-1;2<h;h-=3)c.bezierCurveTo(g[h-1].x,g[h-1].y,g[h-2].x,g[h-2].y,g[h-3].x,g[h-3].y),w&&e.bezierCurveTo(g[h-1].x,g[h-1].y,g[h-2].x,g[h-2].y,g[h-3].x,g[h-3].y);c.closePath();c.globalAlpha=
|
|
486
|
-
3;h+=3,k++){if(v[k].newStrokeStyle||v[k].newLineDashArray)c.stroke(),c.beginPath(),c.moveTo(g[h].x,g[h].y),v[k].newStrokeStyle&&(c.strokeStyle=v[k].newStrokeStyle),v[k].newLineDashArray&&c.setLineDash(v[k].newLineDashArray);c.bezierCurveTo(g[h+1].x,g[h+1].y,g[h+2].x,g[h+2].y,g[h+3].x,g[h+3].y)}g=s(v,
|
|
487
|
-
v[k].newLineDashArray&&c.setLineDash(v[k].newLineDashArray);c.bezierCurveTo(g[h+1].x,g[h+1].y,g[h+2].x,g[h+2].y,g[h+3].x,g[h+3].y)}c.stroke()}c.beginPath()}}var b=a.targetCanvasCtx||this.plotArea.ctx,c=w?this._preRenderCtx:b;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx,
|
|
488
|
-
a.dataSeriesIndexes[f],n=this.data[t],q=n.dataPoints,k=n.id;this._eventManager.objectMap[k]={objectType:"dataSeries",dataSeriesIndex:t};k=T(k);e.fillStyle=k;var k=[],p=0,r,h,l,v=[],A=[];if(0<q.length){var u=n._colorSet[p%n._colorSet.length],D=n.lineColor=n.options.lineColor||u,x=D;c.fillStyle=
|
|
489
|
-
q[p].x,!(r<a.axisX.dataInfo.viewPortMin||r>a.axisX.dataInfo.viewPortMax&&(!n.connectNullData||!h)))if(null!==q[p].y&&q[p].y.length&&"number"===typeof q[p].y[0]&&"number"===typeof q[p].y[1]){r=a.axisX.convertValueToPixel(r);h=a.axisY.convertValueToPixel(q[p].y[0]);l=a.axisY.convertValueToPixel(q[p].y[1]);
|
|
490
|
-
(q[p].lineColor||D)||y!==(q[p].lineDashType||n.lineDashType))&&(x=q[p].lineColor||D,v[v.length-1].newStrokeStyle=x,c.setLineDash&&(q[p].lineDashType?(y=q[p].lineDashType,v[v.length-1].newLineDashArray=R(y,n.lineThickness)):(y=n.lineDashType,v[v.length-1].newLineDashArray=B)));if(0!==q[p].markerSize&&(0<
|
|
491
|
-
H=n.getMarkerProperties(p,r,
|
|
492
|
-
y:l},direction:q[p].y[0]<=q[p].y[1]?1:-1,color:u});h=!1}else 0<p&&!h&&(n.connectNullData?c.setLineDash&&(0<v.length&&(n.options.nullDataLineDashType||!q[p-1].lineDashType))&&(v[v.length-1].newLineDashArray=G,y=n.nullDataLineDashType):(g(B,D),v=[],A=[])),h=!0;g(B,D);m.drawMarkers(k)}}w&&(b.drawImage(this._preRenderCanvas,
|
|
493
|
-
0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(d.x1,d.y1,d.width,d.height),this._eventManager.ghostCtx.restore());c.restore();return{source:b,dest:this.plotArea.ctx,animationCallback:z.xClipAnimation,easingFunction:z.easing.linear,
|
|
494
|
-
e=null,k=this.plotArea,d=0,f,m,n,q,p=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),d=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;m=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:
|
|
495
|
-
this.dataPointWidth:0.6*(k.width*(a.axisX.logarithmic?Math.log(r)/Math.log(a.axisX.range):Math.abs(r)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&d>m&&(d=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,m));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&m<d)&&
|
|
496
|
-
b.clip();w&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(k.x1,k.y1,k.width,k.height),this._eventManager.ghostCtx.clip());for(var h=0;h<a.dataSeriesIndexes.length;h++){var t=a.dataSeriesIndexes[h],l=this.data[t],s=l.dataPoints,e=l._colorSet[0];l.risingColor=l.options.risingColor?l.options.risingColor:
|
|
497
|
-
2?-0.5:0;if(0<s.length)for(var x=5<r&&l.bevelEnabled?!0:!1,A=!1,y=null,B=null,d=0;d<s.length;d++)if(s[d].getTime?q=s[d].x.getTime():q=s[d].x,"number"!==typeof s[d].y){if(0<d&&!A&&l.connectNullData)var E=l.options.nullDataLineDashType||!s[d-1].lineDashType?l.nullDataLineDashType:s[d-1].lineDashType;A=!0}else{f=a.axisX.convertValueToPixel(q);
|
|
498
|
-
f=a.axisX.reversed?f+a.plotType.totalDataSeries*r/2-(a.previousDataSeriesCount+h)*r<<0:f-a.plotType.totalDataSeries*r/2+(a.previousDataSeriesCount+h)*r<<0;var H=a.axisX.reversed?f-r<<0:f+r<<0;m>n&&(e=m,m=n,n=e);a.axisY.reversed&&(e=m,m=n,n=e);e=l.dataPointIds[d];this._eventManager.objectMap[e]=
|
|
499
|
-
f:H,a.axisY.reversed?m:n,O,0,O,x,x,!1,!1,l.fillOpacity);e=T(e);w&&Q(this._eventManager.ghostCtx,a.axisX.reversed?H:f,m,a.axisX.reversed?f:H,n,e,0,null,!1,!1,!1,!1);var P,O=f;P="undefined"!==typeof s[d].isIntermediateSum&&!0===s[d].isIntermediateSum||"undefined"!==typeof s[d].isCumulativeSum
|
|
500
|
-
B-v),c.lineTo(O,P-v),0<u&&c.stroke()));A=!1;y=H;B=0<s[d].y?m:n;O=s[d].lineDashType?s[d].lineDashType:l.options.lineDashType?l.options.lineDashType:"shortDash";b.strokeStyle=s[d].lineColor?s[d].lineColor:l.options.lineColor?l.options.lineColor:"#9e9e9e";b.lineWidth=u;b.setLineDash&&(O=
|
|
501
|
-
direction:0>s[d].y===a.axisY.reversed?1:-1,bounds:{x1:f,y1:Math.min(m,n),x2:H,y2:Math.max(m,n)},color:e})}}w&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),
|
|
502
|
-
k.height),this._eventManager.ghostCtx.restore());b.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:z.fadeInAnimation,easingFunction:z.easing.easeInQuad,animationBase:0}}};var d=function(a,g,b,c,e,k,d,f,m){if(!(0>b)){"undefined"===typeof f&&(f=1);if(!w){var n=Number((d%
|
|
503
|
-
2,a.closePath(),a.fill()):"doughnut"===e&&(a.beginPath(),a.arc(g.x,g.y,b,k,d,!1),0<=m&&a.arc(g.x,g.y,m*b,d,k,!0),a.closePath(),a.fillStyle=c,a.strokeStyle="white",a.lineWidth=2,a.fill());a.globalAlpha=1;a.restore()}};v.prototype.renderPie=function(a){function g(){if(n&&q){var a=0,c=0,b=
|
|
504
|
-
0;var p=h[e],m={percent:null,total:null},C=null,m=t.getPercentAndTotal(n,k);if(n.indexLabelFormatter||k.indexLabelFormatter)C={chart:t.options,dataSeries:n,dataPoint:k,total:m.total,percent:m.percent};m=k.indexLabelFormatter?k.indexLabelFormatter(C):k.indexLabel?t.replaceKeywordsWithValue(k.indexLabel,
|
|
505
|
-
y;p.percentInnerRadius=E;p.indexLabelText=m;p.indexLabelPlacement=n.indexLabelPlacement;p.indexLabelLineColor=k.indexLabelLineColor?k.indexLabelLineColor:n.options.indexLabelLineColor?n.options.indexLabelLineColor:k.color?k.color:n._colorSet[e%n._colorSet.length];p.indexLabelLineThickness=f(k.indexLabelLineThickness)?
|
|
506
|
-
k.indexLabelFontColor:n.indexLabelFontColor;p.indexLabelFontStyle=k.indexLabelFontStyle?k.indexLabelFontStyle:n.indexLabelFontStyle;p.indexLabelFontWeight=k.indexLabelFontWeight?k.indexLabelFontWeight:n.indexLabelFontWeight;p.indexLabelFontSize=f(k.indexLabelFontSize)?n.indexLabelFontSize:k.indexLabelFontSize;
|
|
507
|
-
|
|
508
|
-
n.indexLabelPadding;p.indexLabelMaxWidth=k.indexLabelMaxWidth?k.indexLabelMaxWidth:n.indexLabelMaxWidth;p.indexLabelWrap="undefined"!==typeof k.indexLabelWrap?k.indexLabelWrap:n.indexLabelWrap;p.indexLabelTextAlign=k.indexLabelTextAlign?k.indexLabelTextAlign:n.indexLabelTextAlign?n.indexLabelTextAlign:
|
|
509
|
-
2;k=(k+2*Math.PI)%(2*Math.PI);p.midAngle=k;if(p.midAngle>Math.PI/2-u&&p.midAngle<Math.PI/2+u){if(0===a||h[b].midAngle>p.midAngle)b=e;a++}else if(p.midAngle>3*Math.PI/2-u&&p.midAngle<3*Math.PI/2+u){if(0===c||h[g].midAngle>p.midAngle)g=e;c++}p.hemisphere=k>Math.PI/2&&k<=3*Math.PI/2?"left":"right";
|
|
510
|
-
textAlign:p.indexLabelTextAlign,backgroundColor:p.indexLabelBackgroundColor,borderColor:p.indexLabelBorderColor,borderThickness:p.indexLabelBorderThickness,maxWidth:p.indexLabelMaxWidth,maxHeight:p.indexLabelWrap?5*p.indexLabelFontSize:1.5*p.indexLabelFontSize,text:p.indexLabelText,padding:p.indexLabelPadding,
|
|
511
|
-
"right",k++):(p.hemisphere="left",m=!0));m=!1;for(e=0;e<q.length;e++)p=h[(g+e)%q.length],1<c&&(p.midAngle>3*Math.PI/2-u&&p.midAngle<3*Math.PI/2+u)&&(d<=c/2&&!m?(p.hemisphere="left",d++):(p.hemisphere="right",m=!0))}}function b(a,c){var b=t.plotArea.ctx;b.clearRect(r.x1,r.y1,r.width,r.height);b.fillStyle=t.backgroundColor;
|
|
512
|
-
m=!1;if(q[b].exploded){if(1E-9<Math.abs(h[b].center.x-(x.x+k))||1E-9<Math.abs(h[b].center.y-(x.y+f)))h[b].center.x=x.x+k*a,h[b].center.y=x.y+f*a,m=!0}else if(0<Math.abs(h[b].center.x-x.x)||0<Math.abs(h[b].center.y-x.y))h[b].center.x=x.x+k*(1-a),h[b].center.y=x.y+f*(1-a),m=!0;m&&c&&(k={},k.dataSeries=n,k.dataPoint=n.dataPoints[b],
|
|
513
|
-
t.plotArea.ctx;b.save();b.fillStyle="black";b.strokeStyle="grey";b.textBaseline="middle";b.lineJoin="round";for(g=g=0;g<q.length;g++)e=h[g],e.indexLabelText&&(e.indexLabelTextBlock.y-=e.indexLabelTextBlock.height/2-e.indexLabelTextBlock._lineHeight/2,k=0,k="left"===e.hemisphere?"inside"!==n.indexLabelPlacement
|
|
514
|
-
e.indexLabelTextBlock.x-=k,e.indexLabelTextBlock.y+=e.indexLabelTextBlock.height/2-e.indexLabelTextBlock._lineHeight/2,"inside"!==e.indexLabelPlacement&&0<e.indexLabelLineThickness&&(k=e.center.x+y*Math.cos(e.midAngle),f=e.center.y+y*Math.sin(e.midAngle),b.strokeStyle=e.indexLabelLineColor,b.lineWidth=e.indexLabelLineThickness,
|
|
515
|
-
("left"===e.hemisphere?-p:p),e.indexLabelTextBlock.y),b.stroke()),b.lineJoin="miter");b.save()}function c(a,c){var b=0,b=a.indexLabelTextBlock.y-a.indexLabelTextBlock.height/2,g=a.indexLabelTextBlock.y+a.indexLabelTextBlock.height/2,e=c.indexLabelTextBlock.y-c.indexLabelTextBlock.height/2,k=c.indexLabelTextBlock.y+
|
|
516
|
-
h[a].hemisphere){b=null;break}else if(h[b].indexLabelText&&b!==a&&(0>c(h[b],h[a])||("right"===h[a].hemisphere?h[b].indexLabelTextBlock.y>=h[a].indexLabelTextBlock.y:h[b].indexLabelTextBlock.y<=h[a].indexLabelTextBlock.y)))break;else b=null;return b}function k(a,b,g){g=(g||0)+1;if(1E3<g)return 0;b=b||0;var d=0,
|
|
517
|
-
2>f&&p.indexLabelTextBlock.y-p.indexLabelTextBlock.height/2+b<f&&(b=-(f-(p.indexLabelTextBlock.y-p.indexLabelTextBlock.height/2+b))):p.indexLabelTextBlock.y+p.indexLabelTextBlock.height/2<f&&p.indexLabelTextBlock.y+p.indexLabelTextBlock.height/2+b>n&&(b=p.indexLabelTextBlock.y+p.indexLabelTextBlock.height/
|
|
518
|
-
Math.sin(p.midAngle);r=Math.sqrt(Math.pow(f-m,2)+Math.pow(b-r,2));m=Math.acos(y/s);r=Math.acos((s*s+y*y-r*r)/(2*y*s));b=r<m?b-p.indexLabelTextBlock.y:0;f=null;for(n=1;n<q.length;n++)if(f=(a-n+h.length)%h.length,h[f].hemisphere!==h[a].hemisphere){f=null;break}else if(h[f].indexLabelText&&h[f].hemisphere===
|
|
519
|
-
m=f;r=e(a);n=f=0;0>b?(n="right"===p.hemisphere?m:r,d=b,null!==n&&(m=-b,b=p.indexLabelTextBlock.y-p.indexLabelTextBlock.height/2-(h[n].indexLabelTextBlock.y+h[n].indexLabelTextBlock.height/2),b-m<z&&(f=-m,n=k(n,f,g+1),+n.toFixed(D)>+f.toFixed(D)&&(d=b>z?-(b-z):-(m-(n-f)))))):0<b&&(n="right"===p.hemisphere?
|
|
520
|
-
(d=b>z?b-z:m-(f-n)))));d&&(g=p.indexLabelTextBlock.y+d,b=0,b="right"===p.hemisphere?x.x+Math.sqrt(Math.pow(s,2)-Math.pow(g-x.y,2)):x.x-Math.sqrt(Math.pow(s,2)-Math.pow(g-x.y,2)),p.midAngle>Math.PI/2-u&&p.midAngle<Math.PI/2+u?(f=(a-1+h.length)%h.length,f=h[f],a=h[(a+1+h.length)%h.length],"left"===p.hemisphere&&
|
|
521
|
-
3*Math.PI/2-u&&p.midAngle<3*Math.PI/2+u&&(f=(a-1+h.length)%h.length,f=h[f],a=h[(a+1+h.length)%h.length],"right"===p.hemisphere&&"left"===f.hemisphere&&b<f.indexLabelTextBlock.x?b=f.indexLabelTextBlock.x+15:"left"===p.hemisphere&&("right"===a.hemisphere&&b>a.indexLabelTextBlock.x)&&(b=a.indexLabelTextBlock.x-
|
|
522
|
-
"grey";a.strokeStyle="grey";a.font="16px Arial";a.textBaseline="middle";for(var b=a=0,g=0,d=!0,b=0;10>b&&(1>b||0<g);b++){if(n.radius||!n.radius&&"undefined"!==typeof n.innerRadius&&null!==n.innerRadius&&y-g<=B)d=!1;d&&(y-=g);g=0;if("inside"!==n.indexLabelPlacement){s=y*v;for(a=0;a<q.length;a++){var f=
|
|
523
|
-
h[a],u=e(a);if(null!==u){C=h[a];l=h[u];var w=0,w=c(C,l)-z;if(0>w){for(var A=l=0,na=0;na<q.length;na++)na!==a&&h[na].hemisphere===f.hemisphere&&(h[na].indexLabelTextBlock.y<f.indexLabelTextBlock.y?l++:A++);l=w/(l+A||1)*A;var A=-1*(w-l),H=na=0;"right"===f.hemisphere?(na=k(a,l),A=-1*(w-na),H=k(u,
|
|
524
|
-
h[a],s="pie"===n.type?0.7*y:0.85*y,u=x.x+s*Math.cos(f.midAngle),l=x.y+s*Math.sin(f.midAngle),f.indexLabelTextBlock.x=u,f.indexLabelTextBlock.y=l;for(a=0;a<q.length;a++)if(f=h[a],u=f.indexLabelTextBlock.measureText(),0!==u.height&&0!==u.width)u=u=0,"right"===f.hemisphere?(u=r.x2-(f.indexLabelTextBlock.x+
|
|
525
|
-
r.x1,0.3*f.indexLabelTextBlock.maxWidth>l?f.indexLabelText="":f.indexLabelTextBlock.maxWidth=0.85*l,0.3*f.indexLabelTextBlock.maxWidth<l&&(f.indexLabelTextBlock.x-="right"===f.hemisphere?2:-2)),Math.abs(f.indexLabelTextBlock.y-f.indexLabelTextBlock.height/2-x.y)<y||Math.abs(f.indexLabelTextBlock.y+
|
|
526
|
-
2+5),u*=-1):u=r.y1-(f.indexLabelTextBlock.y-f.indexLabelTextBlock.height/2-5),0<u&&(!d&&f.indexLabelText&&(l=0<f.indexLabelAngle&&f.indexLabelAngle<Math.PI?-1:1,0===k(a,u*l)&&k(a,2*l)),Math.abs(f.indexLabelTextBlock.x-x.x)<y&&(u/=Math.abs(Math.sin(f.indexLabelAngle)),9<u&&(u*=0.3),
|
|
527
|
-
"",
|
|
528
|
-
n.indexLabelTextBlock.height/2;r=C.indexLabelTextBlock.x+C.indexLabelTextBlock.width<n.indexLabelTextBlock.x-p||r>u+p||m>z+p||l
|
|
529
|
-
t.subtitles[a];(
|
|
530
|
-
Math.abs(q[A].y),!a&&("undefined"!==typeof q[A].indexLabel&&null!==q[A].indexLabel&&0<q[A].indexLabel.toString().length)&&(a=!0),!a&&("undefined"!==typeof q[A].label&&null!==q[A].label&&0<q[A].label.toString().length)&&(a=!0);if(0!==w){a=a||"undefined"!==typeof n.indexLabel&&
|
|
531
|
-
null!==n.innerRadius?Ta(n.innerRadius,y):0.7*y,E=Math.min(B/y,(y-1)/y);this.pieDoughnutClickHandler=function(a){t.isAnimating||!f(this.explodeOnClick)&&!this.explodeOnClick||(a=a.dataPoint,a.exploded=a.exploded?!1:!0,1<this.dataPoints.length&&t._animator.animate(0,500,
|
|
532
|
-
0,function(a){var
|
|
533
|
-
{chart:t});1<=a&&t.dispatchEvent("dataAnimationEnd",{chart:t})},function(){t.disableToolTip=!1;t._animator.animate(0,t.animatedRender?500:0,function(a){b(a,!1);l();t.dispatchEvent("dataAnimationIterationEnd",{chart:t})});t.dispatchEvent("dataAnimationEnd",{chart:t})});
|
|
534
|
-
Math.round(g.y2)),a.lineTo(Math.round(g.x3),Math.round(g.y3)),a.lineTo(Math.round(g.x4),Math.round(g.y4)),"undefined"!==g.x5&&(a.lineTo(Math.round(g.x5),Math.round(g.y5)),a.lineTo(Math.round(g.x6),Math.round(g.y6))),a.closePath(),a.fillStyle=c?c:g.color,a.fill(),
|
|
535
|
-
c[0]=0;
|
|
536
|
-
n)/2,a-=f,p=e-n,n+=e-n,p+=0==q?0:a/q,n+=a/q,f=!0):(p=(Math.abs(fa)*b-Math.sqrt(q))/2,q=b-2*p/Math.abs(fa),n+=p,n>e&&(n-=p,q=c,f=(b+q)*(e-n)/2,a-=f,p=e-n,n+=e-n,p+=a/q,n+=a/q,f=!0),b=q)),g.push(p);return g}function c(){if(u&&D){for(var a,b,c,g,e,k,d,n,p,q,r,m,C,
|
|
537
|
-
D[na]:D[B];a=b.color?b.color:u.reversed?u._colorSet[(D.length-1-B)%u._colorSet.length]:u._colorSet[B%u._colorSet.length];c=b.indexLabelPlacement||u.indexLabelPlacement||"outside";s=b.indexLabelTextAlign||u.indexLabelTextAlign||"left";g=b.indexLabelBackgroundColor||
|
|
538
|
-
u.options.indexLabelPadding?u.options.indexLabelPadding:u.indexLabelPadding:b.indexLabelPadding;n=b.indexLabelFontColor||u.indexLabelFontColor||"#979797";p=f(b.indexLabelFontSize)?u.indexLabelFontSize:b.indexLabelFontSize;q=b.indexLabelFontStyle||u.indexLabelFontStyle||
|
|
539
|
-
"number"===typeof u.indexLabelLineThickness?u.indexLabelLineThickness:2;l=b.indexLabelLineDashType||u.indexLabelLineDashType||"solid";t="undefined"!==typeof b.indexLabelWrap?b.indexLabelWrap:"undefined"!==typeof u.indexLabelWrap?u.indexLabelWrap
|
|
540
|
-
J[B].x6,20>x[B]&&(x[B]=B!==ga?u.reversed?J[B].x3-J[B].x4:J[B].x2-J[B].x1:J[B].x2-J[B].x1,x[B]/=2));z=b.indexLabelMaxWidth?b.indexLabelMaxWidth:u.options.indexLabelMaxWidth?u.indexLabelMaxWidth:x[B];if(z>x[B]||0>z)z=x[B];L[B]="inside"===u.indexLabelPlacement?
|
|
541
|
-
b.indexLabelFormatter(F):b.indexLabel?y.replaceKeywordsWithValue(b.indexLabel,b,u,B):u.indexLabelFormatter?u.indexLabelFormatter(F):u.indexLabel?y.replaceKeywordsWithValue(u.indexLabel,b,u,B):b.label?b.label:"";0>=C&&(C=0);1E3>z&&1E3-z<v&&
|
|
542
|
-
borderColor:e,borderThickness:k,maxWidth:z,maxHeight:!1===L[B]?(t?4.28571429*p:1.5*p)+("object"===typeof d?(d.top||0)+(d.bottom||0):2*d):L[B],text:b,padding:d,textBaseline:"middle"});c.measureText();c.height=c.height===2*c.padding?0:c.height;
|
|
543
|
-
[];e=!1;c=0;for(var h,d=N-T-X/2,d=u.options.indexLabelMaxWidth?u.indexLabelMaxWidth>d?d:u.indexLabelMaxWidth:d,f=K.length-1;0<=f;f--){h=D[K[f].id];c=K[f];g=c.textBlock;b=(a=r(f)<J.length?K[r(f)]:null)?a.textBlock:null;c=c.height;a&&g.y+c+ia>b.y&&
|
|
544
|
-
|
|
545
|
-
U-A&&(K[f].textBlock.y=U-A)):(K[f].textBlock.y<Y-A&&(K[f].textBlock.y=Y-A),K[f].textBlock.y+K[f].height>U+A&&(K[f].textBlock.y=U+A-K[f].height))}function k(){var a,b,c,g;if("inside"!==u.indexLabelPlacement)for(var e=0;e<J.length;e++)0==K[e].textBlock.text.length?
|
|
546
|
-
K[e].textBlock.x=b+X,K[e].textBlock.y=c-K[e].height/2,u.reversed?(K[e].textBlock.y+K[e].height>Y+A&&(K[e].textBlock.y=Y+A-K[e].height),K[e].textBlock.y<U-A&&(K[e].textBlock.y=U-A)):(K[e].textBlock.y<Y-A&&(K[e].textBlock.y=Y-A),K[e].textBlock.y+K[e].height>U+A&&(K[e].textBlock.y=
|
|
547
|
-
2-c/2,K[e].textBlock.x=b,K[e].textBlock.y=c):K[e].isDirty=!0)}function d(){function a(b,c){var g;if(0>b||b>=K.length)return 0;var e,k=K[b].textBlock;if(0>c){c*=-1;e=p(b);g=m(e,b);if(g>=c)return k.y-=c,c;if(0==b)return 0<g&&(k.y-=g),g;g+=a(e,-(c-g));0<g&&(k.y-=g);return g}e=
|
|
548
|
-
(K[m].textBlock.y<e&&K[m].textBlock.y+K[m].height>e)&&(d=r(m),!(d>=K.length-1)&&K[m].textBlock.y+K[m].height+ia>K[d].textBlock.y&&(K[m].textBlock.y=K[m].textBlock.y+K[m].height-e>e-K[m].textBlock.y?e+1:e-K[m].height-1))}for(d=J.length-1;0<d;d--)if(!K[d].isDirty){e=
|
|
549
|
-
break}e=p(k);if(0>e){k=0;f+=K[k].height;break}}if(k!=d){h=K[k].textBlock.y;a-=h;a=f-a;h=c(a,g,k);break}}}return h}function c(a,b,g){var e=[],k=0,h=0;for(a=Math.abs(a);g<=b;g++)e.push(J[g]);e.sort(function(a,b){return a.height-b.height});for(g=0;g<e.length;g++)if(b=
|
|
550
|
-
k=K[l],h=k.textBlock,n=(f=r(l)<J.length?K[r(l)]:null)?f.textBlock:null,g=+k.height.toFixed(6),e=+h.y.toFixed(6),!k.isDirty&&(f&&e+g+ia>+n.y.toFixed(6))&&(g=h.y+g+ia-n.y,e=a(l,-g),e<g&&(0<e&&(g-=e),e=a(r(l),g),e!=g)));l--);b()}}function m(a,b){return(b<J.length?K[b].textBlock.y:
|
|
551
|
-
if(0===V.length)f=la;else{e=A*(1!=V.length||0!=V[0]&&V[0]!=J.length-1?2:1)/n();for(var r=0;r<J.length;r++){if(1==V.length&&0==V[0]){if(0===r){f.push(la[r]);g=d;continue}}else 0===r&&(g=-1*d);f.push(la[r]+g);if(0<=V.indexOf(r)||r<J.length&&0<=V.indexOf(r+1))g+=e}}h=function(){for(var a=
|
|
552
|
-
c,g=0;g<J.length;g++)b=h[g],c=J[g],b*=a,"undefined"===typeof p[g]&&(p[g]=0),0>p&&(p*=-1),c.y1+=b-p[g],c.y2+=b-p[g],c.y3+=b-p[g],c.y4+=b-p[g],c.y5&&(c.y5+=b-p[g],c.y6+=b-p[g]),p[g]=b}};a._animator.animate(0,c,function(c){var g=a.plotArea.ctx||a.ctx;ja=!0;g.clearRect(x.x1,x.y1,x.x2-x.x1,
|
|
553
|
-
1-b:b;a.toolTip.highlightObjects([e]);for(e=0;e<J.length;e++)t(g,J[e],u.fillOpacity);v(g);O&&("inside"!==u.indexLabelPlacement?q(g):k(),s(g));1<=c&&(ja=!1)},null,z.easing.easeOutQuart)}function n(){for(var a=0,b=0;b<J.length-1;b++)(0<=V.indexOf(b)||0<=V.indexOf(b+1))&&a++;return a}
|
|
554
|
-
(b=J[k].x2),g=K[k].textBlock.x,e=(K[k].textBlock.y+K[k].height/2<<0)+e,K[k].isDirty||0==K[k].lineThickness||(a.strokeStyle=K[k].lineColor,a.lineWidth=K[k].lineThickness,a.setLineDash&&a.setLineDash(R(K[k].lineDashType,K[k].lineThickness)),a.beginPath(),a.moveTo(b,c),a.lineTo(g,e),
|
|
555
|
-
J[c];break}return b?(a=b.y6?a>b.y6?b.x3+(b.x4-b.x3)/(b.y4-b.y3)*(a-b.y3):b.x2+(b.x3-b.x2)/(b.y3-b.y2)*(a-b.y2):b.x2+(b.x3-b.x2)/(b.y3-b.y2)*(a-b.y2),{x1:a,x2:a}):-1}function s(a){for(var b=0;b<J.length;b++)K[b].isDirty||(a&&(K[b].textBlock.ctx=a),K[b].textBlock.y+=K[b].textBlock._lineHeight/
|
|
556
|
-
"center"===y.title.verticalAlign)&&(y.title.ctx=a,y.title.render());if(y.subtitles)for(var b=0;b<y.subtitles.length;b++){var c=y.subtitles[b];if(c.dockInsidePlotArea||"center"===c.horizontalAlign&&"center"===c.verticalAlign)y.subtitles.ctx=a,c.render()}y.legend&&(y.legend.dockInsidePlotArea||
|
|
557
|
-
D=u.dataPoints,x=this.plotArea,A=0.025*x.width,B=0.01*x.width,G=0,E=x.height-2*A-4,H=Math.min(x.width-2*B,2.8*x.height),O=!1,P=0;P<D.length;P++)if(!O&&("undefined"!==typeof D[P].indexLabel&&null!==D[P].indexLabel&&0<D[P].indexLabel.toString().length)&&(O=!0),!O&&
|
|
558
|
-
0<u.indexLabel.toString().length;"inside"!==u.indexLabelPlacement&&O||(B=(x.width-0.75*H)/2);var P=x.x1+B,N=x.x2-B,M=x.y1+A+2,Q=x.y2-A-2,S=a.targetCanvasCtx||this.plotArea.ctx||this.ctx;if(0!=u.length&&(u.dataPoints&&u.visible)&&0!==D.length){var ea,
|
|
559
|
-
(I=parseInt(I),I=I*a/100):I=parseInt(I),ea>E?ea=E:0>=ea&&(ea=0),I>a?I=a-0.5:0>=I&&(I=0)):"pyramid"===u.type&&(I=ea=0,u.reversed=u.reversed?!1:!0);var B=P+a/2,W=P,T=P+a,Y=u.reversed?Q:M,ba=B-I/2,Z=B+I/2,da=u.reversed?M+ea:Q-ea,U=u.reversed?M:
|
|
560
|
-
H[I],B.push(Math.round(ca));if(u.reversed)for(I=0;I<H.length;I++)B[I]<da?(P.push(ba),a.push(Z),ga=I):(P.push((B[I]-Y+fa*W)/fa),a.push((B[I]-Y+ma*T)/ma));else for(I=0;I<H.length;I++)B[I]<da?(P.push((B[I]-Y+fa*W)/fa),a.push((B[I]-Y+ma*
|
|
561
|
-
x3:Z,y3:da,x4:a[I+1],y4:B[I+1],x5:P[I+1],y5:B[I+1],x6:ba,y6:da,id:I,height:B[I+1]-B[I],color:ca}):J.push({x1:P[I],y1:B[I],x2:a[I],y2:B[I],x3:a[I+1],y3:B[I+1],x4:P[I+1],y4:B[I+1],id:I,height:B[I+1]-B[I],color:ca}),u.dataPointEOs[I]&&
|
|
562
|
-
x.y1,x.width,x.height);if(O&&u.visible&&(c(),k(),"inside"!==u.indexLabelPlacement)){e();d();for(I=0;I<D.length;I++)K[I].isDirty||(a=K[I].textBlock.x+K[I].width,a=(N-a)/2,0==I&&(G=a),G>a&&(G=a));for(I=0;I<J.length;I++)J[I].x1+=G,J[I].x2+=
|
|
563
|
-
u.dataPointIds[I],a={id:G,objectType:"dataPoint",dataPointIndex:I,dataSeriesIndex:0,funnelSection:J[u.reversed?D.length-1-I:I]},y._eventManager.objectMap[G]=a;!y.animationEnabled&&P?l(y,-1,0):y.animationEnabled&&!y.animatedRender&&
|
|
564
|
-
D[D.length-1-a].exploded=D[D.length-1-a].exploded?!1:!0:D[a].exploded=D[a].exploded?!1:!0;l(y,b,500)}};return{source:S,dest:this.plotArea.ctx,animationCallback:function(a,b){z.fadeInAnimation(a,b);1<=a&&(l(y,-1,500),v(y.plotArea.ctx||
|
|
565
|
-
function(a){window.setTimeout(a,1E3/60)}}();v.prototype.cancelRequestAnimFrame=window.cancelAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||
|
|
566
|
-
"png",b=a.fileName?a.fileName:this.exportFileName;if(a.toDataURL)return this.canvas.toDataURL("image/"+g);ab(this.canvas,g,b)};v.prototype.print=function(){var a=this.exportChart({toDataURL:!0}),g=document.createElement("iframe");g.setAttribute("class","canvasjs-chart-print-frame");
|
|
567
|
-
g.contentDocument;c.document.open();c.document.write('<!DOCTYPE HTML>\n<html><body><img src="'+a+'"/><body/></html>');c.document.body&&c.document.body.style&&(c.document.body.style.margin="0px 0px 0px 0px",c.document.body.style.padding="0px 0px 0px 0px");c.document.close();
|
|
568
|
-
g.x.getTime():g.x,b in a.plotUnit.yTotals&&(c=a.plotUnit.yTotals[b],b=a.plotUnit.yAbsTotals[b],e=isNaN(g.y)?0:0===b?0:100*(g.y/b));else if("pie"===a.type||"doughnut"===a.type||"funnel"===a.type||"pyramid"===a.type){for(b=c=0;b<a.dataPoints.length;b++)isNaN(a.dataPoints[b].y)||
|
|
569
|
-
"doughnut"===b.type||"funnel"===b.type||"pyramid"===b.type)&&(0<=a.indexOf("#percent")||0<=a.indexOf("#total"))){var f="#percent",d="#total",m=this.getPercentAndTotal(b,g),d=isNaN(m.total)?d:m.total,f=isNaN(m.percent)?f:m.percent;do{m="";if(b.percentFormatString)m=b.percentFormatString;
|
|
570
|
-
da(d,b.yValueFormatString?b.yValueFormatString:"#,##0.########",k._cultureInfo))}while(0<=a.indexOf("#percent")||0<=a.indexOf("#total"))}return a.replace(/\{.*?\}|"[^"]*"|'[^']*'/g,function(a){if('"'===a[0]&&'"'===a[a.length-1]||"'"===a[0]&&"'"===a[a.length-1])return a.slice(1,
|
|
571
|
-
g.color:0<g.y?b.risingColor:b.fallingColor:"error"===b.type?b.color?b.color:b._colorSet[f%b._colorSet.length]:g.color?g.color:b.color?b.color:b._colorSet[c%b._colorSet.length];if(g.hasOwnProperty(a))h=g;else if(b.hasOwnProperty(a))h=b;else return"";h=h[a];null!==f&&(h=h[f]);
|
|
572
|
-
|
|
573
|
-
"#,##0.########",k._cultureInfo):h})};ga(B,Y);B.prototype.setLayout=function(){var a=this.dockInsidePlotArea?this.chart.plotArea:this.chart,g=a.layoutManager.getFreeSpace(),b=null,c=0,e=0,k=0,d=0,m=this.markerMargin=this.chart.options.legend&&!f(this.chart.options.legend.markerMargin)?
|
|
574
|
-
this.maxWidth?this.maxWidth:g.width,d=this.maxHeight=null!==this.maxHeight?this.maxHeight:0.5*g.height;else if("center"===this.verticalAlign){this.orientation="vertical";if("left"===this.horizontalAlign||"center"===this.horizontalAlign||"right"===this.horizontalAlign)b=this.horizontalAlign;
|
|
575
|
-
if(p.dataPoints&&p.dataPoints.length){if("pie"!==p.type&&"doughnut"!==p.type&&"funnel"!==p.type&&"pyramid"!==p.type){var r=p.legendMarkerType=p.legendMarkerType?p.legendMarkerType:"line"!==p.type&&"stepLine"!==p.type&&"spline"!==p.type&&"scatter"!==p.type&&"bubble"!==p.type||!p.markerType?
|
|
576
|
-
this.itemTextFormatter?this.itemTextFormatter({chart:this.chart,legend:this.options,dataSeries:p,dataPoint:null}):p.name,t=p.legendMarkerColor=p.legendMarkerColor?p.legendMarkerColor:p.markerColor?p.markerColor:"error"===p.type?f(p.whiskerColor)?p._colorSet[0]:p.whiskerColor:p._colorSet[0],
|
|
577
|
-
p.markerBorderThickness?Math.max(1,Math.round(0.2*z)):0;"error"===p.type&&this.errorMarkerColor.push(t);h=p.legendText=this.chart.replaceKeywordsWithValue(h,p.dataPoints[0],p,q);r={markerType:r,markerColor:t,text:h,textBlock:null,chartType:p.type,markerSize:z,lineColor:p._colorSet[0],
|
|
578
|
-
p.legendMarkerType:H.getDefaultLegendMarker(p.type),h=x.legendText?x.legendText:x.name?x.name:p.legendText?p.legendText:this.itemTextFormatter?this.itemTextFormatter({chart:this.chart,legend:this.options,dataSeries:p,dataPoint:x}):x.name?x.name:"DataPoint: "+(v+1),t=x.legendMarkerColor?
|
|
579
|
-
p.legendMarkerBorderColor:x.markerBorderColor?x.markerBorderColor:p.markerBorderColor,u=x.legendMarkerBorderThickness?x.legendMarkerBorderThickness:p.legendMarkerBorderThickness?p.legendMarkerBorderThickness:x.markerBorderThickness||p.markerBorderThickness?Math.max(1,Math.round(0.2*
|
|
580
|
-
p.showInLegend&&!1!==x.showInLegend)&&l.push(r)}f(p.legendText)&&(p.legendText=p.name)}}!0===this.reversed&&l.reverse();if(0<l.length){p=null;h=x=v=0;x=null!==this.itemWidth?null!==this.itemMaxWidth?Math.min(this.itemWidth,this.itemMaxWidth,k):this.itemMaxWidth=Math.min(this.itemWidth,
|
|
581
|
-
"spline"===r.chartType||"stepLine"===r.chartType)t-=2*0.1*this.lineHeight;if(!(0>=d||"undefined"===typeof d||0>=t||"undefined"===typeof t))if("horizontal"===this.orientation){r.textBlock=new ka(this.ctx,{x:0,y:0,maxWidth:t,maxHeight:this.itemWrap?d:this.lineHeight,angle:0,text:r.text,
|
|
582
|
-
(r.textBlock.width=this.itemWidth-(z+m+("line"===r.chartType||"spline"===r.chartType||"stepLine"===r.chartType?2*0.1*this.lineHeight:0)));if(!p||p.width+Math.round(r.textBlock.width+z+m+(0===p.width?0:this.horizontalSpacing)+("line"===r.chartType||"spline"===r.chartType||
|
|
583
|
-
z+m+(0===p.width?0:this.horizontalSpacing)+("line"===r.chartType||"spline"===r.chartType||"stepLine"===r.chartType?2*0.1*this.lineHeight:0));p.items.push(r);this.width=Math.max(p.width,this.width)}else r.textBlock=new ka(this.ctx,{x:0,y:0,maxWidth:x,maxHeight:!0===
|
|
584
|
-
null!==this.itemWidth&&(r.textBlock.width=this.itemWidth-(z+m+("line"===r.chartType||"spline"===r.chartType||"stepLine"===r.chartType?2*0.1*this.lineHeight:0))),this.height<d-this.lineHeight?(p={items:[],width:0},n.push(p)):(p=n[v],v=(v+1)%n.length),
|
|
585
|
-
2*0.1*this.lineHeight:0)),p.items.push(r),this.width=Math.max(p.width,this.width))}this.height=!1===this.itemWrap?n.length*this.lineHeight:this.height+h;this.height=Math.min(d,this.height);this.width=Math.min(k,this.width)}"top"===this.verticalAlign?
|
|
586
|
-
this.width/2,c=g.y1+g.height/2-this.height/2):"bottom"===this.verticalAlign&&(e="left"===this.horizontalAlign?g.x1:"right"===this.horizontalAlign?g.x2-this.width:g.x1+g.width/2-this.width/2,c=g.y2-this.height);this.items=l;for(q=0;q<this.items.length;q++)r=
|
|
587
|
-
a.layoutManager.registerSpace(b,{width:this.width+2+2,height:this.height+5+5});this.bounds={x1:e,y1:c,x2:e+this.width,y2:c+this.height}};B.prototype.render=function(){var a=this.bounds.x1,g=this.bounds.y1,b=this.markerMargin,c=this.maxWidth,e=this.maxHeight,
|
|
588
|
-
f[l],q=0,p=0;p<n.items.length;p++){var r=n.items[p],h=r.textBlock.x+a+(0===p?0.2*k:this.horizontalSpacing),t=g+d,z=h;this.chart.data[r.dataSeriesIndex].visible||(this.ctx.globalAlpha=0.5);this.ctx.save();this.ctx.beginPath();this.ctx.rect(a,
|
|
589
|
-
|
|
590
|
-
this.ctx.beginPath();this.ctx.moveTo(s,u+x);this.ctx.lineTo(s+v,u+x);this.ctx.stroke();this.errorMarkerColor.shift()}m.drawMarker(h+k/2,t+this.lineHeight/2,this.ctx,r.markerType,"error"===r.chartType||"line"===r.chartType||"spline"===
|
|
591
|
-
2);r.textBlock.render(!0);this.ctx.restore();q=0<p?Math.max(q,r.textBlock.height?r.textBlock.height:this.lineHeight):r.textBlock.height?r.textBlock.height:this.lineHeight;this.chart.data[r.dataSeriesIndex].visible||(this.ctx.globalAlpha=
|
|
592
|
-
this.chart._eventManager.objectMap[r.id].y1=r.textBlock.y-this.lineHeight/2;r.x2=this.chart._eventManager.objectMap[r.id].x2=r.textBlock.x+r.textBlock.width;r.y2=this.chart._eventManager.objectMap[r.id].y2=r.textBlock.y+(r.textBlock.height?
|
|
593
|
-
a
|
|
594
|
-
|
|
595
|
-
a||"stackedArea100"===a||"funnel"===a||"pyramid"===a)return"triangle";if("error"===a)return"none";window.console.log("Unknown Chart Type: "+a);return null};H.prototype.getDataPointAtX=function(a,g,b){if(!this.dataPoints||0===
|
|
596
|
-
|
|
597
|
-
r,c.index=d);e=r;e<=l?l=e:0<m?n++:q++;if(1E3<n&&1E3<q)break}else if(0>p-k&&p+k>=this.dataPoints.length)break;-1===m?(k++,m=1):m=-1}return g||(c.dataPoint.x.getTime?c.dataPoint.x.getTime():c.dataPoint.x)!==(a.getTime?a.getTime():
|
|
598
|
-
m=!1,l=Infinity,n=0,q=0,p=0;if("none"!==this.chart.plotInfo.axisPlacement)if(p=(this.chart.axisX[0]?this.chart.axisX[0]:this.chart.axisX2[0]).getXValueAt({x:a,y:g}),this.axisX.logarithmic)var r=Math.log(this.dataPoints[this.dataPoints.length-
|
|
599
|
-
1)/r*(p-this.dataPoints[0].x)>>0,0),this.dataPoints.length):0;for(;;){k=0<d?p+e:p-e;if(0<=k&&k<this.dataPoints.length){var r=this.chart._eventManager.objectMap[this.dataPointIds[k]],h=this.dataPoints[k],t=null;if(r){switch(this.type){case "column":case "stackedColumn":case "stackedColumn100":case "bar":case "stackedBar":case "stackedBar100":case "rangeColumn":case "rangeBar":case "waterfall":case "error":a>=
|
|
600
|
-
a),Math.abs(r.x2-a),Math.abs(r.y1-g),Math.abs(r.y2-g))}),m=!0);break;case "line":case "stepLine":case "spline":case "area":case "stepArea":case "stackedArea":case "stackedArea100":case "splineArea":case "scatter":var z=V("markerSize",h,this)||4,s=b?20:z,t=Math.sqrt(Math.pow(r.x1-a,2)+Math.pow(r.y1-g,2));t<=s&&c.push({dataPoint:h,dataPointIndex:k,dataSeries:this,distance:t});r=Math.abs(r.x1-
|
|
601
|
-
4;s=b?20:z;t=Math.min(Math.sqrt(Math.pow(r.x1-a,2)+Math.pow(r.y1-g,2)),Math.sqrt(Math.pow(r.x1-a,2)+Math.pow(r.y2-g,2)));t<=s&&c.push({dataPoint:h,dataPointIndex:k,dataSeries:this,distance:t});r=Math.abs(r.x1-a);r<=l?l=r:0<d?n++:q++;t<=z/2&&(m=!0);break;case "bubble":z=r.size;t=Math.sqrt(Math.pow(r.x1-a,2)+Math.pow(r.y1-g,2));t<=z/2&&(c.push({dataPoint:h,dataPointIndex:k,dataSeries:this,
|
|
602
|
-
0;t=Math.sqrt(Math.pow(z.x-a,2)+Math.pow(z.y-g,2));t<r.radius&&t>s&&(t=Math.atan2(g-z.y,a-z.x),0>t&&(t+=2*Math.PI),t=Number(((180*(t/Math.PI)%360+360)%360).toFixed(12)),z=Number(((180*(r.startAngle/Math.PI)%360+360)%360).toFixed(12)),s=Number(((180*(r.endAngle/Math.PI)%360+360)%360).toFixed(12)),0===s&&1<r.endAngle&&(s=360),z>=s&&(0!==h.y&&!f(h.y))&&(s+=360,t<z&&(t+=360)),t>z&&t<s&&
|
|
603
|
-
g>t.y1&&g<t.y4&&(t.y6?g>t.y6?(k=t.x6+(t.x5-t.x6)/(t.y5-t.y6)*(g-t.y6),t=t.x3+(t.x4-t.x3)/(t.y4-t.y3)*(g-t.y3)):(k=t.x1+(t.x6-t.x1)/(t.y6-t.y1)*(g-t.y1),t=t.x2+(t.x3-t.x2)/(t.y3-t.y2)*(g-t.y2)):(k=t.x1+(t.x4-t.x1)/(t.y4-t.y1)*(g-t.y1),t=t.x2+(t.x3-t.x2)/(t.y3-t.y2)*(g-t.y2)),a>k&&a<t&&(c.push({dataPoint:h,dataPointIndex:r.dataPointIndex,dataSeries:this,distance:0}),m=!0));
|
|
604
|
-
2||Math.abs(r.x2-a+r.x1-a)<r.borderThickness&&g>=r.y1&&g<=r.y4)c.push({dataPoint:h,dataPointIndex:k,dataSeries:this,distance:Math.min(Math.abs(r.x1-a),Math.abs(r.x2-a),Math.abs(r.y2-g),Math.abs(r.y3-g))}),m=!0;break;case "candlestick":if(a>=r.x1-r.borderThickness/2&&a<=r.x2+r.borderThickness/2&&g>=r.y2-r.borderThickness/2&&g<=r.y3+r.borderThickness/2||Math.abs(r.x2-
|
|
605
|
-
Math.abs(r.x2-a),Math.abs(r.y2-g),Math.abs(r.y3-g))}),m=!0;break;case "ohlc":if(Math.abs(r.x2-a+r.x1-a)<r.borderThickness&&g>=r.y2&&g<=r.y3||a>=r.x1&&a<=(r.x2+r.x1)/2&&g>=r.y1-r.borderThickness/2&&g<=r.y1+r.borderThickness/2||a>=(r.x1+r.x2)/2&&a<=r.x2&&g>=r.y4-r.borderThickness/2&&g<=r.y4+r.borderThickness/2)c.push({dataPoint:h,dataPointIndex:k,dataSeries:this,distance:Math.min(Math.abs(r.x1-
|
|
606
|
-
this.dataPoints.length)break;-1===d?(e++,d=1):d=-1}a=null;for(g=0;g<c.length;g++)a?c[g].distance<=a.distance&&(a=c[g]):a=c[g];return a};H.prototype.getMarkerProperties=function(a,g,b,c){var e=this.dataPoints,k=e[a].markerColor?e[a].markerColor:this.markerColor?this.markerColor:e[a].color?e[a].color:this.color?this.color:this._colorSet[a%this._colorSet.length],d=e[a].markerBorderColor?e[a].markerBorderColor:
|
|
607
|
-
this.markerBorderThickness:null:e[a].markerBorderThickness,t=e[a].markerType?e[a].markerType:this.markerType;a=f(e[a].markerSize)?this.markerSize:e[a].markerSize;return{x:g,y:b,ctx:c,type:t,size:a,color:k,borderColor:d,borderThickness:m}};ga(y,Y);y.prototype.createExtraLabelsForLog=function(a){a=(a||0)+1;if(!(5<a)){var g=this.logLabelValues[0]||this.intervalStartPosition;if(Math.log(this.range)/
|
|
608
|
-
this.noTicks-this.logLabelValues.length),3),!0),c=Math.ceil(this.viewportMinimum/b)*b;c<g;c+=b)c<this.viewportMinimum||this.logLabelValues.push(c);this.logLabelValues.sort(Wa);this.createExtraLabelsForLog(a)}}};y.prototype.createLabels=function(){var a,g,b=0,c=0,e,k=0,d=0,c=0,c=this.interval,m=0,t,n=0.6*this.chart.height,q;a=!1;var p=this.scaleBreaks?this.scaleBreaks._appliedBreaks:
|
|
609
|
-
this.valueType||this.logarithmic){e=this.viewportMaximum;if(this.labels){a=Math.ceil(c);for(var c=Math.ceil(this.intervalStartPosition),h=!1,b=c;b<this.viewportMaximum;b+=a)if(this.labels[b])h=!0;else{h=!1;break}h&&(this.interval=a,this.intervalStartPosition=c)}if(this.logarithmic&&!this.equidistantInterval)for(this.logLabelValues||(this.logLabelValues=[],this.createExtraLabelsForLog()),
|
|
610
|
-
b>p[h].endValue;h++);a=h<p.length&&b>=p[h].startValue&&b<=p[h].endValue;q=b;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,value:q,label:this.labels[q]?this.labels[q]:null}):"axisX"===this.type&&this.labels[q]?this.labels[q]:da(q,this.valueFormatString,this.chart._cultureInfo),a=new ka(this.ctx,{x:0,y:0,maxWidth:k,maxHeight:d,angle:this.labelAngle,
|
|
611
|
-
textAlign:this.labelTextAlign,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,fontWeight:this.labelFontWeight,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle",borderThickness:this.labelBorderThickness,padding:this.labelPadding}),this._labels.push({position:q,textBlock:a,effectiveHeight:null}))}h=r;for(b=this.intervalStartPosition;b<=
|
|
612
|
-
b+this.interval:(this.logarithmic&&this.equidistantInterval?b*Math.pow(this.logarithmBase,this.interval):b+this.interval).toFixed(12))){for(;h<p.length&&b>p[h].endValue;h++);a=h<p.length&&b>=p[h].startValue&&b<=p[h].endValue;q=b;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,value:q,label:this.labels[q]?this.labels[q]:null}):"axisX"===this.type&&
|
|
613
|
-
maxHeight:d,angle:this.labelAngle,text:this.prefix+a+this.suffix,textAlign:this.labelTextAlign,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,borderThickness:this.labelBorderThickness,cornerRadius:this.labelCornerRadius,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,fontWeight:this.labelFontWeight,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,
|
|
614
|
-
this.getLabelStartPoint(new Date(this.viewportMinimum),this.intervalType,this.interval),e=$a(new Date(this.viewportMaximum),this.interval,this.intervalType),h=r,b=this.intervalStartPosition;b<e;$a(b,c,this.intervalType)){for(a=b.getTime();h<p.length&&a>p[h].endValue;h++);q=a;a=h<p.length&&a>=p[h].startValue&&a<=p[h].endValue;a||(a=this.labelFormatter?
|
|
615
|
-
this.labels[q]:pa(q,this.valueFormatString,this.chart._cultureInfo),a=new ka(this.ctx,{x:0,y:0,maxWidth:k,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,borderThickness:this.labelBorderThickness,cornerRadius:this.labelCornerRadius,maxHeight:d,angle:this.labelAngle,text:this.prefix+a+this.suffix,textAlign:this.labelTextAlign,
|
|
616
|
-
textBaseline:"middle",padding:this.labelPadding}),this._labels.push({position:q,textBlock:a,effectiveHeight:null,breaksLabelType:void 0}))}if("bottom"===this._position||"top"===this._position)m=this.logarithmic&&!this.equidistantInterval&&2<=this._labels.length?this.lineCoordinates.width*Math.log(Math.min(this._labels[this._labels.length-1].position/
|
|
617
|
-
this.equidistantInterval?Math.log(this.range)/Math.log(this.logarithmBase):Math.abs(this.range))*W[this.intervalType+"Duration"]*this.interval,k="undefined"===typeof this.options.labelMaxWidth?0.5*this.chart.width>>0:this.options.labelMaxWidth,this.chart.panEnabled||(d="undefined"===typeof this.options.labelWrap||this.labelWrap?0.8*this.chart.height>>
|
|
618
|
-
this._position||"right"===this._position)m=this.logarithmic&&!this.equidistantInterval&&2<=this._labels.length?this.lineCoordinates.height*Math.log(Math.min(this._labels[this._labels.length-1].position/this._labels[this._labels.length-2].position,this._labels[1].position/this._labels[0].position))/Math.log(this.range):this.lineCoordinates.height/
|
|
619
|
-
this.chart.panEnabled||(k="undefined"===typeof this.options.labelMaxWidth?0.3*this.chart.width>>0:this.options.labelMaxWidth),d="undefined"===typeof this.options.labelWrap||this.labelWrap?0.3*this.chart.height>>0:1.5*this.labelFontSize;for(c=0;c<this._labels.length;c++){a=this._labels[c].textBlock;a.maxWidth=k;a.maxHeight=d;var l=a.measureText();
|
|
620
|
-
270>this.labelAngle?this.labelAngle-=180:270<=this.labelAngle&&360>=this.labelAngle&&(this.labelAngle-=360)),"bottom"===this._position||"top"===this._position)if(k=Math.floor(0.9*m),r=0,!this.chart.panEnabled&&1<=this._labels.length){this.sessionVariables.labelFontSize=this.labelFontSize;this.sessionVariables.labelMaxWidth=k;this.sessionVariables.labelMaxHeight=
|
|
621
|
-
this._labels[b].textBlock;for(var z,h=a.text.split(" "),c=0;c<h.length;c++)q=h[c],this.ctx.font=a.fontStyle+" "+a.fontWeight+" "+a.fontSize+"px "+a.fontFamily,q=this.ctx.measureText(q),q.width>r&&(z=b,r=q.width)}b=0;for(b=this.intervalStartPosition<this.viewportMinimum?1:0;b<this._labels.length;b++)if(!this._labels[b].breaksLabelType){a=
|
|
622
|
-
break}e.push(a.height);this.sessionVariables.labelMaxHeight=Math.max.apply(Math,e);Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.sin(Math.PI/180*Math.abs(this.labelAngle));c=k*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(d-a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));if(f(this.options.labelAngle)&&isNaN(this.options.labelAngle)&&
|
|
623
|
-
Math.sin(Math.PI/180*Math.abs(this.labelAngle)),c),q=(n-(t+a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(-25)))/Math.sin(Math.PI/180*Math.abs(-25)),!f(this.options.labelWrap))this.labelWrap?f(this.options.labelMaxWidth)?(this.sessionVariables.labelMaxWidth=Math.min(Math.max(k,r),q),this.sessionVariables.labelWrap=this.labelWrap,g&&l.width+g.width>>
|
|
624
|
-
this.sessionVariables.labelAngle=this.sessionVariables.labelMaxWidth>k?-25:this.sessionVariables.labelAngle):f(this.options.labelMaxWidth)?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelMaxWidth=k,g&&l.width+g.width>>0>2*k&&(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=
|
|
625
|
-
this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelWrap=this.labelWrap);else{if(f(this.options.labelWrap))if(!f(this.options.labelMaxWidth))this.options.labelMaxWidth<k?(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=c):(this.sessionVariables.labelAngle=-25,
|
|
626
|
-
r<k)c-2*k>p&&(p=c-2*k,c>=2*k&&c<2.2*k?(this.sessionVariables.labelMaxWidth=k,f(this.options.labelFontSize)&&12<h&&(h=Math.floor(12/13*h),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?h:this.options.labelFontSize,this.sessionVariables.labelAngle=this.labelAngle):c>=2.2*k&&c<2.8*k?(this.sessionVariables.labelAngle
|
|
627
|
-
this.sessionVariables.labelWrap=!0,f(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?h:this.options.labelFontSize,this.sessionVariables.labelAngle=this.labelAngle):c>=3.2*k&&c<3.6*k?(this.sessionVariables.labelAngle
|
|
628
|
-
c<5*k?(f(this.options.labelFontSize)&&12<h&&(h=Math.floor(12/13*h),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?h:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=q):c>5*k&&(this.sessionVariables.labelWrap=!0,this.sessionVariables.labelMaxWidth=
|
|
629
|
-
b&&(0===z&&r+this._labels[z+1].textBlock.measureText().width-2*k>p||z===this._labels.length-1&&r+this._labels[z-1].textBlock.measureText().width-2*k>p||0<z&&z<this._labels.length-1&&r+this._labels[z+1].textBlock.measureText().width-2*k>p&&r+this._labels[z-1].textBlock.measureText().width-2*k>p))p=0===z?r+this._labels[z+1].textBlock.measureText().width-2*k:r+
|
|
630
|
-
this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=q;else if(0===p)for(this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?h:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,c=0;c<this._labels.length;c++)a=this._labels[c].textBlock,a.maxWidth=this.sessionVariables.labelMaxWidth=
|
|
631
|
-
Math.min(Math.max(k,r),q),g=g.measureText(),l.width+g.width>>0>2*k&&(this.sessionVariables.labelAngle=-25))}else(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:Math.min((c-k*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)),c),q=0!=this.labelAngle?
|
|
632
|
-
this.labelWrap?(n-q*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/Math.cos(Math.PI/180*Math.abs(this.labelAngle)):1.5*this.labelFontSize,f(this.options.labelWrap))?f(this.options.labelWrap)&&(this.labelWrap&&!f(this.options.labelMaxWidth)?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?
|
|
633
|
-
q,this.sessionVariables.labelMaxHeight=Math.max(c,0.9*m),this.sessionVariables.labelWrap=this.labelWrap)):(this.options.labelWrap?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:q):(f(this.options.labelMaxWidth),this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?
|
|
634
|
-
Math.max(this.sessionVariables.labelMaxHeight,1.5*this.labelFontSize);for(c=0;c<this._labels.length;c++)a=this._labels[c].textBlock,a.maxWidth=this.labelMaxWidth=this.sessionVariables.labelMaxWidth,a.fontSize=this.sessionVariables.labelFontSize,a.angle=this.labelAngle=this.sessionVariables.labelAngle,a.wrap=this.labelWrap=this.sessionVariables.labelWrap,
|
|
635
|
-
f(this.options.labelMaxWidth)?f(this.sessionVariables.labelMaxWidth)?this.sessionVariables.labelMaxWidth=k:this.sessionVariables.labelMaxWidth:this.options.labelMaxWidth,a.fontSize=this.labelFontSize=f(this.options.labelFontSize)?f(this.sessionVariables.labelFontSize)?this.sessionVariables.labelFontSize=this.labelFontSize:this.sessionVariables.labelFontSize:
|
|
636
|
-
this.labelAngle:this.sessionVariables.labelAngle:this.labelAngle,a.wrap=this.labelWrap=f(this.options.labelWrap)?f(this.sessionVariables.labelWrap)?this.sessionVariables.labelWrap=this.labelWrap:this.sessionVariables.labelWrap:this.options.labelWrap,a.maxHeight=f(this.sessionVariables.labelMaxHeight)?this.sessionVariables.labelMaxHeight=d:this.sessionVariables.labelMaxHeight,a.measureText();else if("left"===this._position||"right"===this._position)if(k=f(this.options.labelMaxWidth)?0.3*this.chart.width>>
|
|
637
|
-
0:this.options.labelMaxWidth,d="undefined"===typeof this.options.labelWrap||this.labelWrap?0.3*this.chart.height>>0:1.5*this.labelFontSize,!this.chart.panEnabled&&1<=this._labels.length){this.sessionVariables.labelFontSize=this.labelFontSize;this.sessionVariables.labelMaxWidth=k;this.sessionVariables.labelMaxHeight=d;this.sessionVariables.labelAngle=f(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle;this.sessionVariables.labelWrap=this.labelWrap;for(b=0;b<this._labels.length;b++)if(!this._labels[b].breaksLabelType){a=
|
|
638
|
-
this._labels[b].textBlock;l=a.measureText();for(h=b+1;h<this._labels.length;h++)if(!this._labels[h].breaksLabelType){g=this._labels[h].textBlock;g=g.measureText();break}e.push(a.height);this.sessionVariables.labelMaxHeight=Math.max.apply(Math,e);c=k*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(d-a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.sin(Math.PI/180*Math.abs(this.labelAngle));f(this.options.labelAngle)&&isNaN(this.options.labelAngle)&&
|
|
639
|
-
0!==this.options.labelAngle?f(this.options.labelWrap)?f(this.options.labelWrap)&&(f(this.options.labelMaxWidth)?f(g)||(m=l.height+g.height>>0,m-2*d>r&&(r=m-2*d,m>=2*d&&m<2.4*d?(f(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize):m>=2.4*d&&m<2.8*d?(this.sessionVariables.labelMaxHeight=
|
|
640
|
-
c,this.sessionVariables.labelFontSize=this.labelFontSize,this.sessionVariables.labelWrap=!0):m>=2.8*d&&m<3.2*d?(this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelWrap=!0,f(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelAngle=f(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle):
|
|
641
|
-
m>=3.2*d&&m<3.6*d?(this.sessionVariables.labelMaxHeight=c,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelFontSize=this.labelFontSize):m>3.6*d&&m<10*d?(f(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelMaxWidth=k,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelAngle=
|
|
642
|
-
f(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle):m>10*d&&m<50*d&&(f(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelMaxWidth=k,this.sessionVariables.labelAngle=f(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle))):
|
|
643
|
-
(this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth)):(this.sessionVariables.labelMaxWidth=this.labelWrap?this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth:this.labelMaxWidth?this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth:k,this.sessionVariables.labelMaxHeight=d):(this.sessionVariables.labelAngle=this.labelAngle,
|
|
644
|
-
this.sessionVariables.labelMaxWidth=0===this.labelAngle?k:Math.min((c-d*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/Math.cos(Math.PI/180*Math.abs(this.labelAngle)),d),f(this.options.labelWrap))?f(this.options.labelWrap)&&(this.labelWrap&&!f(this.options.labelMaxWidth)?(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth,this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxHeight=c):(this.sessionVariables.labelMaxWidth=
|
|
645
|
-
this.options.labelMaxWidth?this.options.labelMaxWidth:k,this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:c,f(this.options.labelMaxWidth)&&(this.sessionVariables.labelAngle=this.labelAngle))):this.options.labelWrap?(this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:c,this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=k):(this.sessionVariables.labelMaxHeight=d,f(this.options.labelMaxWidth),this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?
|
|
646
|
-
this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth,this.sessionVariables.labelWrap=this.labelWrap)}for(c=0;c<this._labels.length;c++)a=this._labels[c].textBlock,a.maxWidth=this.labelMaxWidth=this.sessionVariables.labelMaxWidth,a.fontSize=this.labelFontSize=this.sessionVariables.labelFontSize,a.angle=this.labelAngle=this.sessionVariables.labelAngle,a.wrap=this.labelWrap=this.sessionVariables.labelWrap,a.maxHeight=this.sessionVariables.labelMaxHeight,a.measureText()}else for(f(this.chart.stockChart)||
|
|
647
|
-
this.chart.isNavigator||(this.sessionVariables.labelMaxHeight=d),b=0;b<this._labels.length;b++)a=this._labels[b].textBlock,a.maxWidth=this.labelMaxWidth=f(this.options.labelMaxWidth)?f(this.sessionVariables.labelMaxWidth)?this.sessionVariables.labelMaxWidth=k:this.sessionVariables.labelMaxWidth:this.options.labelMaxWidth,a.fontSize=this.labelFontSize=f(this.options.labelFontSize)?f(this.sessionVariables.labelFontSize)?this.sessionVariables.labelFontSize=this.labelFontSize:this.sessionVariables.labelFontSize:
|
|
315
|
+
O.viewportMinimum||q.dataPoint.x>O.viewportMaximum||(0<q.dataPoint.y.length?Math.max.apply(null,q.dataPoint.y):q.cumulativeY?q.cumulativeY:q.dataPoint.y)<P.viewportMinimum||(0<q.dataPoint.y.length?Math.min.apply(null,q.dataPoint.y):q.cumulativeY?q.cumulativeY:q.dataPoint.y)>P.viewportMaximum)continue}else if("waterfall"===p||"error"===p&&!q.axisSwapped){if(q.dataPoint.x<O.viewportMinimum||q.dataPoint.x>O.viewportMaximum||q.bounds.y1>b.y2||q.bounds.y2<b.y1)continue}else if(0<=p.indexOf("bar")||"error"===
|
|
316
|
+
p){if(q.dataPoint.x<O.viewportMinimum||q.dataPoint.x>O.viewportMaximum||q.bounds.x1>b.x2||q.bounds.x2<b.x1)continue}else if("candlestick"===p||"ohlc"===p){if(q.dataPoint.x<O.viewportMinimum||q.dataPoint.x>O.viewportMaximum||Math.max.apply(null,q.dataPoint.y)<P.viewportMinimum||Math.min.apply(null,q.dataPoint.y)>P.viewportMaximum)continue}else if(q.dataPoint.x<O.viewportMinimum||q.dataPoint.x>O.viewportMaximum)continue;C=d=2;"horizontal"===s?(L=m.width,n=m.height):(n=m.width,L=m.height);if("normal"===
|
|
317
|
+
this.plotInfo.axisPlacement){if(0<=p.indexOf("line")||0<=p.indexOf("area"))l="auto",d=4;else if(0<=p.indexOf("stacked"))"auto"===l&&(l="inside");else if("bubble"===p||"scatter"===p)l="inside";r=q.point.x-L/2+("horizontal"===s?0:m._lineHeight/2);if("inside"!==l)e=b.y1,k=b.y2,0<y?(h=q.point.y+m._lineHeight/2-n-d-c,h<e&&(h="auto"===l?Math.max(q.point.y,e)+m._lineHeight/2+d+c:e+m._lineHeight/2+d+c,$=h+("horizontal"===s?n-m._lineHeight/2:0)>q.point.y,!$||(0<=p.indexOf("line")||0<=p.indexOf("area"))||(h-=
|
|
318
|
+
c))):(h=q.point.y+m._lineHeight/2+d+c,h>k-n+m._lineHeight/2-d&&(h="auto"===l?Math.min(q.point.y,k)+m._lineHeight/2-n-d-c:k+m._lineHeight/2-n-d-c,$=h-("horizontal"===s?m._lineHeight/2:n)<q.point.y,!$||(0<=p.indexOf("line")||0<=p.indexOf("area"))||(h+=c)));else{Math.max(q.bounds.y1,b.y1);k=Math.min(q.bounds.y2,b.y2)-n+m._lineHeight/2;c=0<=p.indexOf("range")||"error"===p?0<y?Math.max(q.bounds.y1,b.y1)+m._lineHeight/2+d:Math.min(q.bounds.y2,b.y2)+m._lineHeight/2-n-d:(Math.max(q.bounds.y1,b.y1)+Math.min(q.bounds.y2,
|
|
319
|
+
b.y2))/2-n/2+m._lineHeight/2;if(0<y){if(h=c,"bubble"===p||"scatter"===p)h=q.point.y-n/2+m._lineHeight/2,n>q.bounds.y2-q.bounds.y1&&(h-=n/2+d),0>h-m._lineHeight/2&&(h+=Math.abs(h-m._lineHeight/2)<=(q.bounds.y2-q.bounds.y1)/2+d?Math.abs(h-m._lineHeight/2):(q.bounds.y2-q.bounds.y1)/2+d)}else h=Math.min(q.point.y,c),h>k-n-d&&("bubble"===p||"scatter"===p)&&(h=Math.min(q.point.y+d,b.y2-n-d));h=Math.min(h,k)}}else 0<=p.indexOf("line")||0<=p.indexOf("area")||0<=p.indexOf("scatter")?(l="auto",C=4):0<=p.indexOf("stacked")?
|
|
320
|
+
"auto"===l&&(l="inside"):"bubble"===p&&(l="inside"),h=q.point.y+m._lineHeight/2-n/2,"inside"!==l?(k=b.x1,e=b.x2,0>y?(r=q.point.x-L+("horizontal"===s?0:m._lineHeight/2)-C-c,("horizontal"===s?r:r-m._lineHeight/2)<k&&(r="auto"===l?Math.max(q.point.x,k)+("horizontal"===s?0:m._lineHeight/2)+d+c:k+("horizontal"===s?0:m._lineHeight/2)+C,($=r+L-("horizontal"===s?0:m._lineHeight/2)>q.point.x)&&(r-=c))):(r=q.point.x+("horizontal"===s?0:m._lineHeight/2)+C+c,("horizontal"===s?r:r-m._lineHeight/2)>e-L-C-c&&(r=
|
|
321
|
+
"auto"===l?Math.min(q.point.x,e)-("horizontal"===s?L:L-m._lineHeight/2)-C-c:e-L-C+("horizontal"===s?0:m._lineHeight/2),($=r-("horizontal"===s?0:m._lineHeight/2)<q.point.x)&&(r+=c)))):(k=Math.max(q.bounds.x1,b.x1),Math.min(q.bounds.x2,b.x2),c=0<=p.indexOf("range")||"error"===p?0>y?Math.max(q.bounds.x1,b.x1):Math.min(q.bounds.x2,b.x2)-L-C+("horizontal"===s?0:m._lineHeight/2):(Math.max(q.bounds.x1,b.x1)+Math.min(q.bounds.x2,b.x2))/2-L/2+("horizontal"===s?0:m._lineHeight/2),r=0>y?c:Math.min(q.point.x,
|
|
322
|
+
c),r=Math.max(r,k+("horizontal"===s?0:m._lineHeight/2+d)));"vertical"===s&&(h+=n-m._lineHeight/2,0<="ohlc candlestick boxandwhisker column rangecolumn stackedcolumn stackedcolumn100 error".split(" ").indexOf(p)&&($=0<y?h+("horizontal"===s?n-m._lineHeight/2:0)>q.point.y:h-("horizontal"===s?m._lineHeight/2:n)<q.point.y),"bubble"===p||"scatter"===p)&&(r+=m._lineHeight/2-F/2);m.x=r;m.y=h;m.render(!0);D&&("inside"!==l&&(0>p.indexOf("bar")&&("error"!==p||!q.axisSwapped)&&q.point.x>b.x1&&q.point.x<b.x2||
|
|
323
|
+
!$)&&(-1==="ohlc candlestick boxandwhisker column rangecolumn stackedcolumn stackedcolumn100 error".split(" ").indexOf(p)&&("error"!==p||q.axisSwapped)&&q.point.y>b.y1&&q.point.y<b.y2||!$))&&(g.lineWidth=D,g.strokeStyle=u?u:"gray",g.setLineDash&&g.setLineDash(R(t,D)),g.beginPath(),g.moveTo(q.point.x,q.point.y),0<=p.indexOf("bar")||"error"===p&&q.axisSwapped?g.lineTo(r+(0<q.direction?0:L)+("vertical"===s?-m._lineHeight/2:0),h+("vertical"===s?-n/2:n/2-m._lineHeight/2)):0<=p.indexOf("column")||"error"===
|
|
324
|
+
p&&!q.axisSwapped?g.lineTo(r+L/2-("horizontal"===s?0:m._lineHeight/2),h+("vertical"===s?h-n<q.point.y?0:-n:(h-m._lineHeight/2<q.point.y?n:0)-m._lineHeight/2)):0<=p.indexOf("waterfall")?g.lineTo(r+L/2-("horizontal"===s?0:m._lineHeight/2),"vertical"===s?0<y&&h<q.point.y?h:0>y&&h-n>q.point.y?h-n:q.point.y:0<y&&h+n-m._lineHeight/2<q.point.y?h+n-m._lineHeight/2:0>y&&h-m._lineHeight/2>q.point.y?h-m._lineHeight/2:q.point.y):g.lineTo(r+L/2-("horizontal"===s?0:m._lineHeight/2),h+("vertical"===s?h-n<q.point.y?
|
|
325
|
+
0:-n:(h+n-m._lineHeight/2<q.point.y?n:0)-m._lineHeight/2)),g.stroke())}}g={source:g,dest:this.plotArea.ctx,animationCallback:z.fadeInAnimation,easingFunction:z.easing.easeInQuad,animationBase:0,startTimePercent:0.7};for(a=0;a<this._indexLabels.length;a++)q=this._indexLabels[a],m=V("indexLabelBackgroundColor",q.dataPoint,q.dataSeries),q.dataSeries.indexLabelBackgroundColor=f(m)?w?"transparent":null:m;return g};v.prototype.renderLine=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:
|
|
326
|
+
g;if(!(0>=a.dataSeriesIndexes.length)){var c=this._eventManager.ghostCtx;b.save();var e=this.plotArea;b.beginPath();b.rect(e.x1,e.y1,e.width,e.height);b.clip();for(var k=[],C,f=0;f<a.dataSeriesIndexes.length;f++){var d=a.dataSeriesIndexes[f],n=this.data[d];b.lineWidth=n.lineThickness;var q=n.dataPoints,p="solid";if(b.setLineDash){var r=R(n.nullDataLineDashType,n.lineThickness),p=n.lineDashType,h=R(p,n.lineThickness);b.setLineDash(h)}var F=n.id;this._eventManager.objectMap[F]={objectType:"dataSeries",
|
|
327
|
+
dataSeriesIndex:d};F=T(F);c.strokeStyle=F;c.lineWidth=0<n.lineThickness?Math.max(n.lineThickness,4):0;var F=n._colorSet,t=F=n.lineColor=n.options.lineColor?n.options.lineColor:F[0];b.strokeStyle=F;var l=!0,u=0,D,x;b.beginPath();if(0<q.length){for(var s=!1,u=0;u<q.length;u++)if(D=q[u].x.getTime?q[u].x.getTime():q[u].x,!(D<a.axisX.dataInfo.viewPortMin||D>a.axisX.dataInfo.viewPortMax&&(!n.connectNullData||!s)))if("number"!==typeof q[u].y)0<u&&!(n.connectNullData||s||l)&&(b.stroke(),w&&c.stroke()),s=
|
|
328
|
+
!0;else{D=a.axisX.convertValueToPixel(D);x=a.axisY.convertValueToPixel(q[u].y);var v=n.dataPointIds[u];this._eventManager.objectMap[v]={id:v,objectType:"dataPoint",dataSeriesIndex:d,dataPointIndex:u,x1:D,y1:x};l||s?(!l&&n.connectNullData?(b.setLineDash&&(n.options.nullDataLineDashType||p===n.lineDashType&&n.lineDashType!==n.nullDataLineDashType)&&(b.stroke(),b.beginPath(),b.moveTo(C.x,C.y),p=n.nullDataLineDashType,b.setLineDash(r)),b.lineTo(D,x),w&&c.lineTo(D,x)):(b.beginPath(),b.moveTo(D,x),w&&(c.beginPath(),
|
|
329
|
+
c.moveTo(D,x))),s=l=!1):(b.lineTo(D,x),w&&c.lineTo(D,x),0==u%500&&(b.stroke(),b.beginPath(),b.moveTo(D,x),w&&(c.stroke(),c.beginPath(),c.moveTo(D,x))));C={x:D,y:x};u<q.length-1&&(t!==(q[u].lineColor||F)||p!==(q[u].lineDashType||n.lineDashType))&&(b.stroke(),b.beginPath(),b.moveTo(D,x),t=q[u].lineColor||F,b.strokeStyle=t,b.setLineDash&&(q[u].lineDashType?(p=q[u].lineDashType,b.setLineDash(R(p,n.lineThickness))):(p=n.lineDashType,b.setLineDash(h))));if(0!==q[u].markerSize&&(0<q[u].markerSize||0<n.markerSize)){var G=
|
|
330
|
+
n.getMarkerProperties(u,D,x,b);k.push(G);v=T(v);w&&k.push({x:D,y:x,ctx:c,type:G.type,size:G.size,color:v,borderColor:v,borderThickness:G.borderThickness})}(q[u].indexLabel||n.indexLabel||q[u].indexLabelFormatter||n.indexLabelFormatter)&&this._indexLabels.push({chartType:"line",dataPoint:q[u],dataSeries:n,point:{x:D,y:x},direction:0>q[u].y===a.axisY.reversed?1:-1,color:F})}b.stroke();w&&c.stroke()}}m.drawMarkers(k);w&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation=
|
|
331
|
+
"source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(e.x1,e.y1,e.width,e.height),c.beginPath());b.restore();b.beginPath();return{source:g,dest:this.plotArea.ctx,animationCallback:z.xClipAnimation,easingFunction:z.easing.linear,animationBase:0}}};v.prototype.renderStepLine=
|
|
332
|
+
function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=this._eventManager.ghostCtx;b.save();var e=this.plotArea;b.beginPath();b.rect(e.x1,e.y1,e.width,e.height);b.clip();for(var k=[],C,f=0;f<a.dataSeriesIndexes.length;f++){var d=a.dataSeriesIndexes[f],n=this.data[d];b.lineWidth=n.lineThickness;var q=n.dataPoints,p="solid";if(b.setLineDash){var r=R(n.nullDataLineDashType,n.lineThickness),p=n.lineDashType,h=R(p,n.lineThickness);b.setLineDash(h)}var F=
|
|
333
|
+
n.id;this._eventManager.objectMap[F]={objectType:"dataSeries",dataSeriesIndex:d};F=T(F);c.strokeStyle=F;c.lineWidth=0<n.lineThickness?Math.max(n.lineThickness,4):0;var F=n._colorSet,t=F=n.lineColor=n.options.lineColor?n.options.lineColor:F[0];b.strokeStyle=F;var l=!0,u=0,D,x;b.beginPath();if(0<q.length){for(var s=!1,u=0;u<q.length;u++)if(D=q[u].getTime?q[u].x.getTime():q[u].x,!(D<a.axisX.dataInfo.viewPortMin||D>a.axisX.dataInfo.viewPortMax&&(!n.connectNullData||!s)))if("number"!==typeof q[u].y)0<
|
|
334
|
+
u&&!(n.connectNullData||s||l)&&(b.stroke(),w&&c.stroke()),s=!0;else{var v=x;D=a.axisX.convertValueToPixel(D);x=a.axisY.convertValueToPixel(q[u].y);var G=n.dataPointIds[u];this._eventManager.objectMap[G]={id:G,objectType:"dataPoint",dataSeriesIndex:d,dataPointIndex:u,x1:D,y1:x};l||s?(!l&&n.connectNullData?(b.setLineDash&&(n.options.nullDataLineDashType||p===n.lineDashType&&n.lineDashType!==n.nullDataLineDashType)&&(b.stroke(),b.beginPath(),b.moveTo(C.x,C.y),p=n.nullDataLineDashType,b.setLineDash(r)),
|
|
335
|
+
b.lineTo(D,v),b.lineTo(D,x),w&&(c.lineTo(D,v),c.lineTo(D,x))):(b.beginPath(),b.moveTo(D,x),w&&(c.beginPath(),c.moveTo(D,x))),s=l=!1):(b.lineTo(D,v),w&&c.lineTo(D,v),b.lineTo(D,x),w&&c.lineTo(D,x),0==u%500&&(b.stroke(),b.beginPath(),b.moveTo(D,x),w&&(c.stroke(),c.beginPath(),c.moveTo(D,x))));C={x:D,y:x};u<q.length-1&&(t!==(q[u].lineColor||F)||p!==(q[u].lineDashType||n.lineDashType))&&(b.stroke(),b.beginPath(),b.moveTo(D,x),t=q[u].lineColor||F,b.strokeStyle=t,b.setLineDash&&(q[u].lineDashType?(p=q[u].lineDashType,
|
|
336
|
+
b.setLineDash(R(p,n.lineThickness))):(p=n.lineDashType,b.setLineDash(h))));0!==q[u].markerSize&&(0<q[u].markerSize||0<n.markerSize)&&(v=n.getMarkerProperties(u,D,x,b),k.push(v),G=T(G),w&&k.push({x:D,y:x,ctx:c,type:v.type,size:v.size,color:G,borderColor:G,borderThickness:v.borderThickness}));(q[u].indexLabel||n.indexLabel||q[u].indexLabelFormatter||n.indexLabelFormatter)&&this._indexLabels.push({chartType:"stepLine",dataPoint:q[u],dataSeries:n,point:{x:D,y:x},direction:0>q[u].y===a.axisY.reversed?
|
|
337
|
+
1:-1,color:F})}b.stroke();w&&c.stroke()}}m.drawMarkers(k);w&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(e.x1,e.y1,e.width,e.height),c.beginPath());b.restore();b.beginPath();
|
|
338
|
+
return{source:g,dest:this.plotArea.ctx,animationCallback:z.xClipAnimation,easingFunction:z.easing.linear,animationBase:0}}};v.prototype.renderSpline=function(a){function g(a){a=s(a,2);if(0<a.length){c.beginPath();w&&e.beginPath();c.moveTo(a[0].x,a[0].y);a[0].newStrokeStyle&&(c.strokeStyle=a[0].newStrokeStyle);a[0].newLineDashArray&&c.setLineDash(a[0].newLineDashArray);w&&e.moveTo(a[0].x,a[0].y);for(var b=0;b<a.length-3;b+=3)if(c.bezierCurveTo(a[b+1].x,a[b+1].y,a[b+2].x,a[b+2].y,a[b+3].x,a[b+3].y),
|
|
339
|
+
w&&e.bezierCurveTo(a[b+1].x,a[b+1].y,a[b+2].x,a[b+2].y,a[b+3].x,a[b+3].y),0<b&&0===b%3E3||a[b+3].newStrokeStyle||a[b+3].newLineDashArray)c.stroke(),c.beginPath(),c.moveTo(a[b+3].x,a[b+3].y),a[b+3].newStrokeStyle&&(c.strokeStyle=a[b+3].newStrokeStyle),a[b+3].newLineDashArray&&c.setLineDash(a[b+3].newLineDashArray),w&&(e.stroke(),e.beginPath(),e.moveTo(a[b+3].x,a[b+3].y));c.stroke();w&&e.stroke()}}var b=a.targetCanvasCtx||this.plotArea.ctx,c=w?this._preRenderCtx:b;if(!(0>=a.dataSeriesIndexes.length)){var e=
|
|
340
|
+
this._eventManager.ghostCtx;c.save();var k=this.plotArea;c.beginPath();c.rect(k.x1,k.y1,k.width,k.height);c.clip();for(var C=[],f=0;f<a.dataSeriesIndexes.length;f++){var d=a.dataSeriesIndexes[f],n=this.data[d];c.lineWidth=n.lineThickness;var q=n.dataPoints,p="solid";if(c.setLineDash){var r=R(n.nullDataLineDashType,n.lineThickness),p=n.lineDashType,h=R(p,n.lineThickness);c.setLineDash(h)}var F=n.id;this._eventManager.objectMap[F]={objectType:"dataSeries",dataSeriesIndex:d};F=T(F);e.strokeStyle=F;e.lineWidth=
|
|
341
|
+
0<n.lineThickness?Math.max(n.lineThickness,4):0;var F=n._colorSet,t=F=n.lineColor=n.options.lineColor?n.options.lineColor:F[0];c.strokeStyle=F;var l=0,u,D,x=[];c.beginPath();if(0<q.length)for(D=!1,l=0;l<q.length;l++)if(u=q[l].getTime?q[l].x.getTime():q[l].x,!(u<a.axisX.dataInfo.viewPortMin||u>a.axisX.dataInfo.viewPortMax&&(!n.connectNullData||!D)))if("number"!==typeof q[l].y)0<l&&!D&&(n.connectNullData?c.setLineDash&&(0<x.length&&(n.options.nullDataLineDashType||!q[l-1].lineDashType))&&(x[x.length-
|
|
342
|
+
1].newLineDashArray=r,p=n.nullDataLineDashType):(g(x),x=[])),D=!0;else{u=a.axisX.convertValueToPixel(u);D=a.axisY.convertValueToPixel(q[l].y);var v=n.dataPointIds[l];this._eventManager.objectMap[v]={id:v,objectType:"dataPoint",dataSeriesIndex:d,dataPointIndex:l,x1:u,y1:D};x[x.length]={x:u,y:D};l<q.length-1&&(t!==(q[l].lineColor||F)||p!==(q[l].lineDashType||n.lineDashType))&&(t=q[l].lineColor||F,x[x.length-1].newStrokeStyle=t,c.setLineDash&&(q[l].lineDashType?(p=q[l].lineDashType,x[x.length-1].newLineDashArray=
|
|
343
|
+
R(p,n.lineThickness)):(p=n.lineDashType,x[x.length-1].newLineDashArray=h)));if(0!==q[l].markerSize&&(0<q[l].markerSize||0<n.markerSize)){var Va=n.getMarkerProperties(l,u,D,c);C.push(Va);v=T(v);w&&C.push({x:u,y:D,ctx:e,type:Va.type,size:Va.size,color:v,borderColor:v,borderThickness:Va.borderThickness})}(q[l].indexLabel||n.indexLabel||q[l].indexLabelFormatter||n.indexLabelFormatter)&&this._indexLabels.push({chartType:"spline",dataPoint:q[l],dataSeries:n,point:{x:u,y:D},direction:0>q[l].y===a.axisY.reversed?
|
|
344
|
+
1:-1,color:F});D=!1}g(x)}m.drawMarkers(C);w&&(b.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(k.x1,k.y1,k.width,k.height),e.beginPath());c.restore();c.beginPath();return{source:b,
|
|
345
|
+
dest:this.plotArea.ctx,animationCallback:z.xClipAnimation,easingFunction:z.easing.linear,animationBase:0}}};v.prototype.renderColumn=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=null,e=this.plotArea,k=0,C,f,d,n=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),k=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,q=this.options.dataPointMaxWidth?
|
|
346
|
+
this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.width,0.9*(this.plotArea.width/a.plotType.totalDataSeries))<<0,p=a.axisX.dataInfo.minDiff;isFinite(p)||(p=0.3*Math.abs(a.axisX.range));p=this.dataPointWidth=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(p)/Math.log(a.axisX.range):Math.abs(p)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&k>q&&(k=Math.min(this.options.dataPointWidth?
|
|
347
|
+
this.dataPointWidth:Infinity,q));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&q<k)&&(q=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,k));p<k&&(p=k);p>q&&(p=q);b.save();w&&this._eventManager.ghostCtx.save();b.beginPath();b.rect(e.x1,e.y1,e.width,e.height);b.clip();w&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(q=0;q<a.dataSeriesIndexes.length;q++){var r=a.dataSeriesIndexes[q],
|
|
348
|
+
h=this.data[r],m=h.dataPoints;if(0<m.length)for(var t=5<p&&h.bevelEnabled?!0:!1,k=0;k<m.length;k++)if(m[k].getTime?d=m[k].x.getTime():d=m[k].x,!(d<a.axisX.dataInfo.viewPortMin||d>a.axisX.dataInfo.viewPortMax)&&"number"===typeof m[k].y){C=a.axisX.convertValueToPixel(d);f=a.axisY.convertValueToPixel(m[k].y);C=a.axisX.reversed?C+a.plotType.totalDataSeries*p/2-(a.previousDataSeriesCount+q)*p<<0:C-a.plotType.totalDataSeries*p/2+(a.previousDataSeriesCount+q)*p<<0;var l=a.axisX.reversed?C-p<<0:C+p<<0,u;
|
|
349
|
+
0<=m[k].y?u=n:(u=f,f=n);f>u&&(c=f,f=u,u=c);c=m[k].color?m[k].color:h._colorSet[k%h._colorSet.length];Q(b,a.axisX.reversed?l:C,f,a.axisX.reversed?C:l,u,c,0,null,t&&(a.axisY.reversed?0>m[k].y:0<=m[k].y),(a.axisY.reversed?0<=m[k].y:0>m[k].y)&&t,!1,!1,h.fillOpacity);c=h.dataPointIds[k];this._eventManager.objectMap[c]={id:c,objectType:"dataPoint",dataSeriesIndex:r,dataPointIndex:k,x1:C,y1:f,x2:l,y2:u};c=T(c);w&&Q(this._eventManager.ghostCtx,a.axisX.reversed?l:C,f,a.axisX.reversed?C:l,u,c,0,null,!1,!1,
|
|
350
|
+
!1,!1);(m[k].indexLabel||h.indexLabel||m[k].indexLabelFormatter||h.indexLabelFormatter)&&this._indexLabels.push({chartType:"column",dataPoint:m[k],dataSeries:h,point:{x:C+(l-C)/2,y:0>m[k].y===a.axisY.reversed?f:u},direction:0>m[k].y===a.axisY.reversed?1:-1,bounds:{x1:C,y1:Math.min(f,u),x2:l,y2:Math.max(f,u)},color:c})}}w&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),
|
|
351
|
+
a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());b.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:z.yScaleAnimation,easingFunction:z.easing.easeOutQuart,animationBase:n<a.axisY.bounds.y1?a.axisY.bounds.y1:n>a.axisY.bounds.y2?a.axisY.bounds.y2:n}}};v.prototype.renderStackedColumn=
|
|
352
|
+
function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=null,e=this.plotArea,k=[],C=[],f=[],d=[],n=0,q,p,r=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),n=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,h=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.width<<0,m=a.axisX.dataInfo.minDiff;
|
|
353
|
+
isFinite(m)||(m=0.3*Math.abs(a.axisX.range));m=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(m)/Math.log(a.axisX.range):Math.abs(m)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&n>h&&(n=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,h));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&h<n)&&(h=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,n));m<n&&(m=n);m>h&&(m=h);b.save();w&&this._eventManager.ghostCtx.save();
|
|
354
|
+
b.beginPath();b.rect(e.x1,e.y1,e.width,e.height);b.clip();w&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(h=0;h<a.dataSeriesIndexes.length;h++){var l=a.dataSeriesIndexes[h],t=this.data[l],u=t.dataPoints;if(0<u.length){var D=5<m&&t.bevelEnabled?!0:!1;b.strokeStyle="#4572A7 ";for(n=0;n<u.length;n++)if(c=u[n].x.getTime?u[n].x.getTime():u[n].x,!(c<a.axisX.dataInfo.viewPortMin||c>a.axisX.dataInfo.viewPortMax)&&
|
|
355
|
+
"number"===typeof u[n].y){q=a.axisX.convertValueToPixel(c);q=q-a.plotType.plotUnits.length*m/2+a.index*m<<0;var x=q+m<<0,s;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<u[n].y)f[c]=u[n].y+(f[c]?f[c]:0),0<f[c]&&(p=a.axisY.convertValueToPixel(f[c]),s="undefined"!==typeof k[c]?k[c]:r,k[c]=p);else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=u[n].y)d[c]=u[n].y+(d[c]?d[c]:0),s=a.axisY.convertValueToPixel(d[c]),p="undefined"!==typeof C[c]?
|
|
356
|
+
C[c]:r,C[c]=s;else if(p=a.axisY.convertValueToPixel(u[n].y),0<=u[n].y){var v="undefined"!==typeof k[c]?k[c]:0;p-=v;s=r-v;k[c]=v+(s-p)}else v=C[c]?C[c]:0,s=p+v,p=r+v,C[c]=v+(s-p);c=u[n].color?u[n].color:t._colorSet[n%t._colorSet.length];Q(b,q,a.axisY.reversed?s:p,x,a.axisY.reversed?p:s,c,0,null,D&&(a.axisY.reversed?0>u[n].y:0<=u[n].y),(a.axisY.reversed?0<=u[n].y:0>u[n].y)&&D,!1,!1,t.fillOpacity);c=t.dataPointIds[n];this._eventManager.objectMap[c]={id:c,objectType:"dataPoint",dataSeriesIndex:l,dataPointIndex:n,
|
|
357
|
+
x1:q,y1:p,x2:x,y2:s};c=T(c);w&&Q(this._eventManager.ghostCtx,q,p,x,s,c,0,null,!1,!1,!1,!1);(u[n].indexLabel||t.indexLabel||u[n].indexLabelFormatter||t.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedColumn",dataPoint:u[n],dataSeries:t,point:{x:q+(x-q)/2,y:0<=u[n].y?p:s},direction:0>u[n].y===a.axisY.reversed?1:-1,bounds:{x1:q,y1:Math.min(p,s),x2:x,y2:Math.max(p,s)},color:c,cumulativeY:t.dataPointEOs[n].cumulativeY})}}}w&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),
|
|
358
|
+
b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());b.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:z.yScaleAnimation,easingFunction:z.easing.easeOutQuart,
|
|
359
|
+
animationBase:r<a.axisY.bounds.y1?a.axisY.bounds.y1:r>a.axisY.bounds.y2?a.axisY.bounds.y2:r}}};v.prototype.renderStackedColumn100=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=null,e=this.plotArea,k=[],C=[],f=[],d=[],n=0,q,p,r,h=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),n=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;r=this.options.dataPointMaxWidth?
|
|
360
|
+
this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.width<<0;var m=a.axisX.dataInfo.minDiff;isFinite(m)||(m=0.3*Math.abs(a.axisX.range));m=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(m)/Math.log(a.axisX.range):Math.abs(m)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&n>r&&(n=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,r));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&
|
|
361
|
+
r<n)&&(r=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,n));m<n&&(m=n);m>r&&(m=r);b.save();w&&this._eventManager.ghostCtx.save();b.beginPath();b.rect(e.x1,e.y1,e.width,e.height);b.clip();w&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(var t=0;t<a.dataSeriesIndexes.length;t++){var l=a.dataSeriesIndexes[t],u=this.data[l],D=u.dataPoints;if(0<D.length)for(var x=5<m&&u.bevelEnabled?!0:!1,
|
|
362
|
+
n=0;n<D.length;n++)if(r=D[n].x.getTime?D[n].x.getTime():D[n].x,!(r<a.axisX.dataInfo.viewPortMin||r>a.axisX.dataInfo.viewPortMax)&&"number"===typeof D[n].y){q=a.axisX.convertValueToPixel(r);p=0!==a.dataPointYSums[r]?100*(D[n].y/a.dataPointYSums[r]):0;q=q-a.plotType.plotUnits.length*m/2+a.index*m<<0;var s=q+m<<0,v;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<D[n].y){f[r]=p+("undefined"!==typeof f[r]?f[r]:0);if(0>=f[r])continue;p=a.axisY.convertValueToPixel(f[r]);
|
|
363
|
+
v=k[r]?k[r]:h;k[r]=p}else a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=D[n].y?(d[r]=p+("undefined"!==typeof d[r]?d[r]:0),v=a.axisY.convertValueToPixel(d[r]),p=C[r]?C[r]:h,C[r]=v):(p=a.axisY.convertValueToPixel(p),0<=D[n].y?(c="undefined"!==typeof k[r]?k[r]:0,p-=c,v=h-c,a.dataSeriesIndexes.length-1===t&&1>=Math.abs(e.y1-p)&&(p=e.y1),k[r]=c+(v-p)):(c="undefined"!==typeof C[r]?C[r]:0,v=p+c,p=h+c,a.dataSeriesIndexes.length-1===t&&1>=Math.abs(e.y2-v)&&(v=e.y2),C[r]=c+(v-p)));c=
|
|
364
|
+
D[n].color?D[n].color:u._colorSet[n%u._colorSet.length];Q(b,q,a.axisY.reversed?v:p,s,a.axisY.reversed?p:v,c,0,null,x&&(a.axisY.reversed?0>D[n].y:0<=D[n].y),(a.axisY.reversed?0<=D[n].y:0>D[n].y)&&x,!1,!1,u.fillOpacity);c=u.dataPointIds[n];this._eventManager.objectMap[c]={id:c,objectType:"dataPoint",dataSeriesIndex:l,dataPointIndex:n,x1:q,y1:p,x2:s,y2:v};c=T(c);w&&Q(this._eventManager.ghostCtx,q,p,s,v,c,0,null,!1,!1,!1,!1);(D[n].indexLabel||u.indexLabel||D[n].indexLabelFormatter||u.indexLabelFormatter)&&
|
|
365
|
+
this._indexLabels.push({chartType:"stackedColumn100",dataPoint:D[n],dataSeries:u,point:{x:q+(s-q)/2,y:0<=D[n].y?p:v},direction:0>D[n].y===a.axisY.reversed?1:-1,bounds:{x1:q,y1:Math.min(p,v),x2:s,y2:Math.max(p,v)},color:c,yCumulative:100*(u.dataPointEOs[n].cumulativeY/a.dataPointYSums[r])})}}w&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,
|
|
366
|
+
0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());b.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:z.yScaleAnimation,easingFunction:z.easing.easeOutQuart,animationBase:h<a.axisY.bounds.y1?a.axisY.bounds.y1:h>a.axisY.bounds.y2?a.axisY.bounds.y2:h}}};v.prototype.renderBar=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,
|
|
367
|
+
b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=null,e=this.plotArea,k=0,C,f,d,n=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),k=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,q=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.height,0.9*(this.plotArea.height/a.plotType.totalDataSeries))<<0,p=a.axisX.dataInfo.minDiff;isFinite(p)||
|
|
368
|
+
(p=0.3*Math.abs(a.axisX.range));p=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.height*(a.axisX.logarithmic?Math.log(p)/Math.log(a.axisX.range):Math.abs(p)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&k>q&&(k=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,q));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&q<k)&&(q=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,k));p<k&&(p=k);p>q&&(p=q);b.save();w&&this._eventManager.ghostCtx.save();
|
|
369
|
+
b.beginPath();b.rect(e.x1,e.y1,e.width,e.height);b.clip();w&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(q=0;q<a.dataSeriesIndexes.length;q++){var r=a.dataSeriesIndexes[q],h=this.data[r],m=h.dataPoints;if(0<m.length){var t=5<p&&h.bevelEnabled?!0:!1;b.strokeStyle="#4572A7 ";for(k=0;k<m.length;k++)if(m[k].getTime?d=m[k].x.getTime():d=m[k].x,!(d<a.axisX.dataInfo.viewPortMin||d>a.axisX.dataInfo.viewPortMax)&&
|
|
370
|
+
"number"===typeof m[k].y){f=a.axisX.convertValueToPixel(d);C=a.axisY.convertValueToPixel(m[k].y);f=a.axisX.reversed?f+a.plotType.totalDataSeries*p/2-(a.previousDataSeriesCount+q)*p<<0:f-a.plotType.totalDataSeries*p/2+(a.previousDataSeriesCount+q)*p<<0;var l=a.axisX.reversed?f-p<<0:f+p<<0,u;0<=m[k].y?u=n:(u=C,C=n);c=m[k].color?m[k].color:h._colorSet[k%h._colorSet.length];Q(b,a.axisY.reversed?C:u,a.axisX.reversed?l:f,a.axisY.reversed?u:C,a.axisX.reversed?f:l,c,0,null,t,!1,!1,!1,h.fillOpacity);c=h.dataPointIds[k];
|
|
371
|
+
this._eventManager.objectMap[c]={id:c,objectType:"dataPoint",dataSeriesIndex:r,dataPointIndex:k,x1:u,y1:f,x2:C,y2:l};c=T(c);w&&Q(this._eventManager.ghostCtx,u,a.axisX.reversed?l:f,C,a.axisX.reversed?f:l,c,0,null,!1,!1,!1,!1);(m[k].indexLabel||h.indexLabel||m[k].indexLabelFormatter||h.indexLabelFormatter)&&this._indexLabels.push({chartType:"bar",dataPoint:m[k],dataSeries:h,point:{x:0<=m[k].y?C:u,y:f+(l-f)/2},direction:0>m[k].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(u,C),y1:f,x2:Math.max(u,C),
|
|
372
|
+
y2:l},color:c})}}}w&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());b.restore();return{source:g,dest:this.plotArea.ctx,
|
|
373
|
+
animationCallback:z.xScaleAnimation,easingFunction:z.easing.easeOutQuart,animationBase:n<a.axisY.bounds.x1?a.axisY.bounds.x1:n>a.axisY.bounds.x2?a.axisY.bounds.x2:n}}};v.prototype.renderStackedBar=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=null,e=this.plotArea,k=[],f=[],d=[],m=[],n=0,q,p,r=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),n=this.options.dataPointMinWidth?this.dataPointMinWidth:
|
|
374
|
+
this.options.dataPointWidth?this.dataPointWidth:1,h=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.height<<0,F=a.axisX.dataInfo.minDiff;isFinite(F)||(F=0.3*Math.abs(a.axisX.range));F=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.height*(a.axisX.logarithmic?Math.log(F)/Math.log(a.axisX.range):Math.abs(F)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&n>h&&(n=Math.min(this.options.dataPointWidth?
|
|
375
|
+
this.dataPointWidth:Infinity,h));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&h<n)&&(h=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,n));F<n&&(F=n);F>h&&(F=h);b.save();w&&this._eventManager.ghostCtx.save();b.beginPath();b.rect(e.x1,e.y1,e.width,e.height);b.clip();w&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(h=0;h<a.dataSeriesIndexes.length;h++){var t=a.dataSeriesIndexes[h],
|
|
376
|
+
l=this.data[t],u=l.dataPoints;if(0<u.length){var D=5<F&&l.bevelEnabled?!0:!1;b.strokeStyle="#4572A7 ";for(n=0;n<u.length;n++)if(c=u[n].x.getTime?u[n].x.getTime():u[n].x,!(c<a.axisX.dataInfo.viewPortMin||c>a.axisX.dataInfo.viewPortMax)&&"number"===typeof u[n].y){p=a.axisX.convertValueToPixel(c);p=p-a.plotType.plotUnits.length*F/2+a.index*F<<0;var x=p+F<<0,s;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<u[n].y)d[c]=u[n].y+(d[c]?d[c]:0),0<d[c]&&(s=k[c]?k[c]:
|
|
377
|
+
r,k[c]=q=a.axisY.convertValueToPixel(d[c]));else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=u[n].y)m[c]=u[n].y+(m[c]?m[c]:0),q=f[c]?f[c]:r,f[c]=s=a.axisY.convertValueToPixel(m[c]);else if(q=a.axisY.convertValueToPixel(u[n].y),0<=u[n].y){var v=k[c]?k[c]:0;s=r+v;q+=v;k[c]=v+(q-s)}else v=f[c]?f[c]:0,s=q-v,q=r-v,f[c]=v+(q-s);c=u[n].color?u[n].color:l._colorSet[n%l._colorSet.length];Q(b,a.axisY.reversed?q:s,p,a.axisY.reversed?s:q,x,c,0,null,D,!1,!1,!1,l.fillOpacity);c=l.dataPointIds[n];
|
|
378
|
+
this._eventManager.objectMap[c]={id:c,objectType:"dataPoint",dataSeriesIndex:t,dataPointIndex:n,x1:s,y1:p,x2:q,y2:x};c=T(c);w&&Q(this._eventManager.ghostCtx,s,p,q,x,c,0,null,!1,!1,!1,!1);(u[n].indexLabel||l.indexLabel||u[n].indexLabelFormatter||l.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedBar",dataPoint:u[n],dataSeries:l,point:{x:0<=u[n].y?q:s,y:p+(x-p)/2},direction:0>u[n].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(s,q),y1:p,x2:Math.max(s,q),y2:x},color:c})}}}w&&(g.drawImage(this._preRenderCanvas,
|
|
379
|
+
0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());b.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:z.xScaleAnimation,easingFunction:z.easing.easeOutQuart,
|
|
380
|
+
animationBase:r<a.axisY.bounds.x1?a.axisY.bounds.x1:r>a.axisY.bounds.x2?a.axisY.bounds.x2:r}}};v.prototype.renderStackedBar100=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=null,e=this.plotArea,k=[],f=[],d=[],m=[],n=0,q,p,r=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),n=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,h=this.options.dataPointMaxWidth?
|
|
381
|
+
this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.height<<0,F=a.axisX.dataInfo.minDiff;isFinite(F)||(F=0.3*Math.abs(a.axisX.range));F=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.height*(a.axisX.logarithmic?Math.log(F)/Math.log(a.axisX.range):Math.abs(F)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&n>h&&(n=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,h));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&
|
|
382
|
+
h<n)&&(h=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,n));F<n&&(F=n);F>h&&(F=h);b.save();w&&this._eventManager.ghostCtx.save();b.beginPath();b.rect(e.x1,e.y1,e.width,e.height);b.clip();w&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(h=0;h<a.dataSeriesIndexes.length;h++){var l=a.dataSeriesIndexes[h],t=this.data[l],u=t.dataPoints;if(0<u.length){var D=5<F&&t.bevelEnabled?!0:!1;b.strokeStyle=
|
|
383
|
+
"#4572A7 ";for(n=0;n<u.length;n++)if(c=u[n].x.getTime?u[n].x.getTime():u[n].x,!(c<a.axisX.dataInfo.viewPortMin||c>a.axisX.dataInfo.viewPortMax)&&"number"===typeof u[n].y){p=a.axisX.convertValueToPixel(c);var x;x=0!==a.dataPointYSums[c]?100*(u[n].y/a.dataPointYSums[c]):0;p=p-a.plotType.plotUnits.length*F/2+a.index*F<<0;var s=p+F<<0;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<u[n].y){d[c]=x+(d[c]?d[c]:0);if(0>=d[c])continue;x=k[c]?k[c]:r;k[c]=q=a.axisY.convertValueToPixel(d[c])}else if(a.axisY.scaleBreaks&&
|
|
384
|
+
0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=u[n].y)m[c]=x+(m[c]?m[c]:0),q=f[c]?f[c]:r,f[c]=x=a.axisY.convertValueToPixel(m[c]);else if(q=a.axisY.convertValueToPixel(x),0<=u[n].y){var v=k[c]?k[c]:0;x=r+v;q+=v;a.dataSeriesIndexes.length-1===h&&1>=Math.abs(e.x2-q)&&(q=e.x2);k[c]=v+(q-x)}else v=f[c]?f[c]:0,x=q-v,q=r-v,a.dataSeriesIndexes.length-1===h&&1>=Math.abs(e.x1-x)&&(x=e.x1),f[c]=v+(q-x);c=u[n].color?u[n].color:t._colorSet[n%t._colorSet.length];Q(b,a.axisY.reversed?q:x,p,a.axisY.reversed?x:
|
|
385
|
+
q,s,c,0,null,D,!1,!1,!1,t.fillOpacity);c=t.dataPointIds[n];this._eventManager.objectMap[c]={id:c,objectType:"dataPoint",dataSeriesIndex:l,dataPointIndex:n,x1:x,y1:p,x2:q,y2:s};c=T(c);w&&Q(this._eventManager.ghostCtx,x,p,q,s,c,0,null,!1,!1,!1,!1);(u[n].indexLabel||t.indexLabel||u[n].indexLabelFormatter||t.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedBar100",dataPoint:u[n],dataSeries:t,point:{x:0<=u[n].y?q:x,y:p+(s-p)/2},direction:0>u[n].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(x,
|
|
386
|
+
q),y1:p,x2:Math.max(x,q),y2:s},color:c})}}}w&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());b.restore();
|
|
387
|
+
return{source:g,dest:this.plotArea.ctx,animationCallback:z.xScaleAnimation,easingFunction:z.easing.easeOutQuart,animationBase:r<a.axisY.bounds.x1?a.axisY.bounds.x1:r>a.axisY.bounds.x2?a.axisY.bounds.x2:r}}};v.prototype.renderArea=function(a){var g,b;function c(){v&&(0<h.lineThickness&&k.stroke(),a.axisY.logarithmic||0>=a.axisY.viewportMinimum&&0<=a.axisY.viewportMaximum?s=x:0>a.axisY.viewportMaximum?s=d.y1:0<a.axisY.viewportMinimum&&(s=x),k.lineTo(l,s),k.lineTo(v.x,s),k.closePath(),k.globalAlpha=
|
|
388
|
+
h.fillOpacity,k.fill(),k.globalAlpha=1,w&&(f.lineTo(l,s),f.lineTo(v.x,s),f.closePath(),f.fill()),k.beginPath(),k.moveTo(l,u),f.beginPath(),f.moveTo(l,u),v={x:l,y:u})}var e=a.targetCanvasCtx||this.plotArea.ctx,k=w?this._preRenderCtx:e;if(!(0>=a.dataSeriesIndexes.length)){var f=this._eventManager.ghostCtx,d=a.axisY.lineCoordinates,L=[],n=this.plotArea,q;k.save();w&&f.save();k.beginPath();k.rect(n.x1,n.y1,n.width,n.height);k.clip();w&&(f.beginPath(),f.rect(n.x1,n.y1,n.width,n.height),f.clip());for(var p=
|
|
389
|
+
0;p<a.dataSeriesIndexes.length;p++){var r=a.dataSeriesIndexes[p],h=this.data[r],F=h.dataPoints,L=h.id;this._eventManager.objectMap[L]={objectType:"dataSeries",dataSeriesIndex:r};L=T(L);f.fillStyle=L;L=[];g=!0;var t=0,l,u,D,x=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),s,v=null;if(0<F.length){var G=h._colorSet[t%h._colorSet.length],A=h.lineColor=h.options.lineColor||G,y=A;k.fillStyle=G;k.strokeStyle=A;k.lineWidth=h.lineThickness;b="solid";if(k.setLineDash){var O=R(h.nullDataLineDashType,
|
|
390
|
+
h.lineThickness);b=h.lineDashType;var P=R(b,h.lineThickness);k.setLineDash(P)}for(var $=!0;t<F.length;t++)if(D=F[t].x.getTime?F[t].x.getTime():F[t].x,!(D<a.axisX.dataInfo.viewPortMin||D>a.axisX.dataInfo.viewPortMax&&(!h.connectNullData||!$)))if("number"!==typeof F[t].y)h.connectNullData||($||g)||c(),$=!0;else{l=a.axisX.convertValueToPixel(D);u=a.axisY.convertValueToPixel(F[t].y);g||$?(!g&&h.connectNullData?(k.setLineDash&&(h.options.nullDataLineDashType||b===h.lineDashType&&h.lineDashType!==h.nullDataLineDashType)&&
|
|
391
|
+
(g=l,b=u,l=q.x,u=q.y,c(),k.moveTo(q.x,q.y),l=g,u=b,v=q,b=h.nullDataLineDashType,k.setLineDash(O)),k.lineTo(l,u),w&&f.lineTo(l,u)):(k.beginPath(),k.moveTo(l,u),w&&(f.beginPath(),f.moveTo(l,u)),v={x:l,y:u}),$=g=!1):(k.lineTo(l,u),w&&f.lineTo(l,u),0==t%250&&c());q={x:l,y:u};t<F.length-1&&(y!==(F[t].lineColor||A)||b!==(F[t].lineDashType||h.lineDashType))&&(c(),y=F[t].lineColor||A,k.strokeStyle=y,k.setLineDash&&(F[t].lineDashType?(b=F[t].lineDashType,k.setLineDash(R(b,h.lineThickness))):(b=h.lineDashType,
|
|
392
|
+
k.setLineDash(P))));var aa=h.dataPointIds[t];this._eventManager.objectMap[aa]={id:aa,objectType:"dataPoint",dataSeriesIndex:r,dataPointIndex:t,x1:l,y1:u};0!==F[t].markerSize&&(0<F[t].markerSize||0<h.markerSize)&&(D=h.getMarkerProperties(t,l,u,k),L.push(D),aa=T(aa),w&&L.push({x:l,y:u,ctx:f,type:D.type,size:D.size,color:aa,borderColor:aa,borderThickness:D.borderThickness}));(F[t].indexLabel||h.indexLabel||F[t].indexLabelFormatter||h.indexLabelFormatter)&&this._indexLabels.push({chartType:"area",dataPoint:F[t],
|
|
393
|
+
dataSeries:h,point:{x:l,y:u},direction:0>F[t].y===a.axisY.reversed?1:-1,color:G})}c();m.drawMarkers(L)}}w&&(e.drawImage(this._preRenderCanvas,0,0,this.width,this.height),k.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&k.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&k.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),k.clearRect(n.x1,n.y1,n.width,
|
|
394
|
+
n.height),this._eventManager.ghostCtx.restore());k.restore();return{source:e,dest:this.plotArea.ctx,animationCallback:z.xClipAnimation,easingFunction:z.easing.linear,animationBase:0}}};v.prototype.renderSplineArea=function(a){function g(){var b=s(D,2);if(0<b.length){if(0<q.lineThickness){c.beginPath();c.moveTo(b[0].x,b[0].y);b[0].newStrokeStyle&&(c.strokeStyle=b[0].newStrokeStyle);b[0].newLineDashArray&&c.setLineDash(b[0].newLineDashArray);for(var g=0;g<b.length-3;g+=3)if(c.bezierCurveTo(b[g+1].x,
|
|
395
|
+
b[g+1].y,b[g+2].x,b[g+2].y,b[g+3].x,b[g+3].y),w&&e.bezierCurveTo(b[g+1].x,b[g+1].y,b[g+2].x,b[g+2].y,b[g+3].x,b[g+3].y),b[g+3].newStrokeStyle||b[g+3].newLineDashArray)c.stroke(),c.beginPath(),c.moveTo(b[g+3].x,b[g+3].y),b[g+3].newStrokeStyle&&(c.strokeStyle=b[g+3].newStrokeStyle),b[g+3].newLineDashArray&&c.setLineDash(b[g+3].newLineDashArray);c.stroke()}c.beginPath();c.moveTo(b[0].x,b[0].y);w&&(e.beginPath(),e.moveTo(b[0].x,b[0].y));for(g=0;g<b.length-3;g+=3)c.bezierCurveTo(b[g+1].x,b[g+1].y,b[g+
|
|
396
|
+
2].x,b[g+2].y,b[g+3].x,b[g+3].y),w&&e.bezierCurveTo(b[g+1].x,b[g+1].y,b[g+2].x,b[g+2].y,b[g+3].x,b[g+3].y);a.axisY.logarithmic||0>=a.axisY.viewportMinimum&&0<=a.axisY.viewportMaximum?v=l:0>a.axisY.viewportMaximum?v=k.y1:0<a.axisY.viewportMinimum&&(v=l);u={x:b[0].x,y:b[0].y};c.lineTo(b[b.length-1].x,v);c.lineTo(u.x,v);c.closePath();c.globalAlpha=q.fillOpacity;c.fill();c.globalAlpha=1;w&&(e.lineTo(b[b.length-1].x,v),e.lineTo(u.x,v),e.closePath(),e.fill())}}var b=a.targetCanvasCtx||this.plotArea.ctx,
|
|
397
|
+
c=w?this._preRenderCtx:b;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx,k=a.axisY.lineCoordinates,f=[],d=this.plotArea;c.save();w&&e.save();c.beginPath();c.rect(d.x1,d.y1,d.width,d.height);c.clip();w&&(e.beginPath(),e.rect(d.x1,d.y1,d.width,d.height),e.clip());for(var L=0;L<a.dataSeriesIndexes.length;L++){var n=a.dataSeriesIndexes[L],q=this.data[n],p=q.dataPoints,f=q.id;this._eventManager.objectMap[f]={objectType:"dataSeries",dataSeriesIndex:n};f=T(f);e.fillStyle=f;var f=[],
|
|
398
|
+
r=0,h,t,l=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),v,u=null,D=[];if(0<p.length){var x=q._colorSet[r%q._colorSet.length],A=q.lineColor=q.options.lineColor||x,y=A;c.fillStyle=x;c.strokeStyle=A;c.lineWidth=q.lineThickness;var G="solid";if(c.setLineDash){var B=R(q.nullDataLineDashType,q.lineThickness),G=q.lineDashType,E=R(G,q.lineThickness);c.setLineDash(E)}for(t=!1;r<p.length;r++)if(h=p[r].x.getTime?p[r].x.getTime():p[r].x,!(h<a.axisX.dataInfo.viewPortMin||h>a.axisX.dataInfo.viewPortMax&&
|
|
399
|
+
(!q.connectNullData||!t)))if("number"!==typeof p[r].y)0<r&&!t&&(q.connectNullData?c.setLineDash&&(0<D.length&&(q.options.nullDataLineDashType||!p[r-1].lineDashType))&&(D[D.length-1].newLineDashArray=B,G=q.nullDataLineDashType):(g(),D=[])),t=!0;else{h=a.axisX.convertValueToPixel(h);t=a.axisY.convertValueToPixel(p[r].y);var O=q.dataPointIds[r];this._eventManager.objectMap[O]={id:O,objectType:"dataPoint",dataSeriesIndex:n,dataPointIndex:r,x1:h,y1:t};D[D.length]={x:h,y:t};r<p.length-1&&(y!==(p[r].lineColor||
|
|
400
|
+
A)||G!==(p[r].lineDashType||q.lineDashType))&&(y=p[r].lineColor||A,D[D.length-1].newStrokeStyle=y,c.setLineDash&&(p[r].lineDashType?(G=p[r].lineDashType,D[D.length-1].newLineDashArray=R(G,q.lineThickness)):(G=q.lineDashType,D[D.length-1].newLineDashArray=E)));if(0!==p[r].markerSize&&(0<p[r].markerSize||0<q.markerSize)){var P=q.getMarkerProperties(r,h,t,c);f.push(P);O=T(O);w&&f.push({x:h,y:t,ctx:e,type:P.type,size:P.size,color:O,borderColor:O,borderThickness:P.borderThickness})}(p[r].indexLabel||q.indexLabel||
|
|
401
|
+
p[r].indexLabelFormatter||q.indexLabelFormatter)&&this._indexLabels.push({chartType:"splineArea",dataPoint:p[r],dataSeries:q,point:{x:h,y:t},direction:0>p[r].y===a.axisY.reversed?1:-1,color:x});t=!1}g();m.drawMarkers(f)}}w&&(b.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&
|
|
402
|
+
this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(d.x1,d.y1,d.width,d.height),this._eventManager.ghostCtx.restore());c.restore();return{source:b,dest:this.plotArea.ctx,animationCallback:z.xClipAnimation,easingFunction:z.easing.linear,animationBase:0}}};v.prototype.renderStepArea=function(a){var g,b;function c(){A&&(0<h.lineThickness&&k.stroke(),a.axisY.logarithmic||0>=a.axisY.viewportMinimum&&0<=a.axisY.viewportMaximum?v=x:0>a.axisY.viewportMaximum?v=d.y1:
|
|
403
|
+
0<a.axisY.viewportMinimum&&(v=x),k.lineTo(s,v),k.lineTo(A.x,v),k.closePath(),k.globalAlpha=h.fillOpacity,k.fill(),k.globalAlpha=1,w&&(f.lineTo(s,v),f.lineTo(A.x,v),f.closePath(),f.fill()),k.beginPath(),k.moveTo(s,u),f.beginPath(),f.moveTo(s,u),A={x:s,y:u})}var e=a.targetCanvasCtx||this.plotArea.ctx,k=w?this._preRenderCtx:e;if(!(0>=a.dataSeriesIndexes.length)){var f=this._eventManager.ghostCtx,d=a.axisY.lineCoordinates,L=[],n=this.plotArea,q;k.save();w&&f.save();k.beginPath();k.rect(n.x1,n.y1,n.width,
|
|
404
|
+
n.height);k.clip();w&&(f.beginPath(),f.rect(n.x1,n.y1,n.width,n.height),f.clip());for(var p=0;p<a.dataSeriesIndexes.length;p++){var r=a.dataSeriesIndexes[p],h=this.data[r],t=h.dataPoints,L=h.id;this._eventManager.objectMap[L]={objectType:"dataSeries",dataSeriesIndex:r};L=T(L);f.fillStyle=L;L=[];g=!0;var l=0,s,u,D,x=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),v,A=null;b=!1;if(0<t.length){var G=h._colorSet[l%h._colorSet.length],y=h.lineColor=h.options.lineColor||G,B=y;
|
|
405
|
+
k.fillStyle=G;k.strokeStyle=y;k.lineWidth=h.lineThickness;var O="solid";if(k.setLineDash){var P=R(h.nullDataLineDashType,h.lineThickness),O=h.lineDashType,$=R(O,h.lineThickness);k.setLineDash($)}for(;l<t.length;l++)if(D=t[l].x.getTime?t[l].x.getTime():t[l].x,!(D<a.axisX.dataInfo.viewPortMin||D>a.axisX.dataInfo.viewPortMax&&(!h.connectNullData||!b))){var aa=u;"number"!==typeof t[l].y?(h.connectNullData||(b||g)||c(),b=!0):(s=a.axisX.convertValueToPixel(D),u=a.axisY.convertValueToPixel(t[l].y),g||b?
|
|
406
|
+
(!g&&h.connectNullData?(k.setLineDash&&(h.options.nullDataLineDashType||O===h.lineDashType&&h.lineDashType!==h.nullDataLineDashType)&&(g=s,b=u,s=q.x,u=q.y,c(),k.moveTo(q.x,q.y),s=g,u=b,A=q,O=h.nullDataLineDashType,k.setLineDash(P)),k.lineTo(s,aa),k.lineTo(s,u),w&&(f.lineTo(s,aa),f.lineTo(s,u))):(k.beginPath(),k.moveTo(s,u),w&&(f.beginPath(),f.moveTo(s,u)),A={x:s,y:u}),b=g=!1):(k.lineTo(s,aa),w&&f.lineTo(s,aa),k.lineTo(s,u),w&&f.lineTo(s,u),0==l%250&&c()),q={x:s,y:u},l<t.length-1&&(B!==(t[l].lineColor||
|
|
407
|
+
y)||O!==(t[l].lineDashType||h.lineDashType))&&(c(),B=t[l].lineColor||y,k.strokeStyle=B,k.setLineDash&&(t[l].lineDashType?(O=t[l].lineDashType,k.setLineDash(R(O,h.lineThickness))):(O=h.lineDashType,k.setLineDash($)))),D=h.dataPointIds[l],this._eventManager.objectMap[D]={id:D,objectType:"dataPoint",dataSeriesIndex:r,dataPointIndex:l,x1:s,y1:u},0!==t[l].markerSize&&(0<t[l].markerSize||0<h.markerSize)&&(aa=h.getMarkerProperties(l,s,u,k),L.push(aa),D=T(D),w&&L.push({x:s,y:u,ctx:f,type:aa.type,size:aa.size,
|
|
408
|
+
color:D,borderColor:D,borderThickness:aa.borderThickness})),(t[l].indexLabel||h.indexLabel||t[l].indexLabelFormatter||h.indexLabelFormatter)&&this._indexLabels.push({chartType:"stepArea",dataPoint:t[l],dataSeries:h,point:{x:s,y:u},direction:0>t[l].y===a.axisY.reversed?1:-1,color:G}))}c();m.drawMarkers(L)}}w&&(e.drawImage(this._preRenderCanvas,0,0,this.width,this.height),k.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&k.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&
|
|
409
|
+
k.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),k.clearRect(n.x1,n.y1,n.width,n.height),this._eventManager.ghostCtx.restore());k.restore();return{source:e,dest:this.plotArea.ctx,animationCallback:z.xClipAnimation,easingFunction:z.easing.linear,animationBase:0}}};v.prototype.renderStackedArea=function(a){function g(){if(!(1>n.length)){for(0<G.lineThickness&&c.stroke();0<n.length;){var a=
|
|
410
|
+
n.pop();c.lineTo(a.x,a.y);w&&v.lineTo(a.x,a.y)}c.closePath();c.globalAlpha=G.fillOpacity;c.fill();c.globalAlpha=1;c.beginPath();w&&(v.closePath(),v.fill(),v.beginPath());n=[]}}var b=a.targetCanvasCtx||this.plotArea.ctx,c=w?this._preRenderCtx:b;if(!(0>=a.dataSeriesIndexes.length)){var e=null,k=null,f=[],d=this.plotArea,t=[],n=[],q=[],p=[],r=0,h,l,s=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),v=this._eventManager.ghostCtx,u,D,x;w&&v.beginPath();c.save();w&&v.save();c.beginPath();
|
|
411
|
+
c.rect(d.x1,d.y1,d.width,d.height);c.clip();w&&(v.beginPath(),v.rect(d.x1,d.y1,d.width,d.height),v.clip());for(var e=[],A=0;A<a.dataSeriesIndexes.length;A++){var y=a.dataSeriesIndexes[A],G=this.data[y],B=G.dataPoints;G.dataPointIndexes=[];for(r=0;r<B.length;r++)y=B[r].x.getTime?B[r].x.getTime():B[r].x,G.dataPointIndexes[y]=r,e[y]||(q.push(y),e[y]=!0);q.sort(Wa)}for(A=0;A<a.dataSeriesIndexes.length;A++){y=a.dataSeriesIndexes[A];G=this.data[y];B=G.dataPoints;D=!0;n=[];r=G.id;this._eventManager.objectMap[r]=
|
|
412
|
+
{objectType:"dataSeries",dataSeriesIndex:y};r=T(r);v.fillStyle=r;if(0<q.length){var e=G._colorSet[0],E=G.lineColor=G.options.lineColor||e,O=E;c.fillStyle=e;c.strokeStyle=E;c.lineWidth=G.lineThickness;x="solid";if(c.setLineDash){var P=R(G.nullDataLineDashType,G.lineThickness);x=G.lineDashType;var $=R(x,G.lineThickness);c.setLineDash($)}for(var aa=!0,r=0;r<q.length;r++){var k=q[r],ha=null,ha=0<=G.dataPointIndexes[k]?B[G.dataPointIndexes[k]]:{x:k,y:null};if(!(k<a.axisX.dataInfo.viewPortMin||k>a.axisX.dataInfo.viewPortMax&&
|
|
413
|
+
(!G.connectNullData||!aa)))if("number"!==typeof ha.y)G.connectNullData||(aa||D)||g(),aa=!0;else{h=a.axisX.convertValueToPixel(k);var sa=t[k]?t[k]:0;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length){p[k]=ha.y+(p[k]?p[k]:0);if(0>=p[k]&&a.axisY.logarithmic)continue;l=a.axisY.convertValueToPixel(p[k])}else l=a.axisY.convertValueToPixel(ha.y),l-=sa;n.push({x:h,y:s-sa});t[k]=s-l;D||aa?(!D&&G.connectNullData?(c.setLineDash&&(G.options.nullDataLineDashType||x===G.lineDashType&&
|
|
414
|
+
G.lineDashType!==G.nullDataLineDashType)&&(D=n.pop(),x=n[n.length-1],g(),c.moveTo(u.x,u.y),n.push(x),n.push(D),x=G.nullDataLineDashType,c.setLineDash(P)),c.lineTo(h,l),w&&v.lineTo(h,l)):(c.beginPath(),c.moveTo(h,l),w&&(v.beginPath(),v.moveTo(h,l))),aa=D=!1):(c.lineTo(h,l),w&&v.lineTo(h,l),0==r%250&&(g(),c.moveTo(h,l),w&&v.moveTo(h,l),n.push({x:h,y:s-sa})));u={x:h,y:l};r<B.length-1&&(O!==(B[r].lineColor||E)||x!==(B[r].lineDashType||G.lineDashType))&&(g(),c.beginPath(),c.moveTo(h,l),n.push({x:h,y:s-
|
|
415
|
+
sa}),O=B[r].lineColor||E,c.strokeStyle=O,c.setLineDash&&(B[r].lineDashType?(x=B[r].lineDashType,c.setLineDash(R(x,G.lineThickness))):(x=G.lineDashType,c.setLineDash($))));if(0<=G.dataPointIndexes[k]){var ea=G.dataPointIds[G.dataPointIndexes[k]];this._eventManager.objectMap[ea]={id:ea,objectType:"dataPoint",dataSeriesIndex:y,dataPointIndex:G.dataPointIndexes[k],x1:h,y1:l}}0<=G.dataPointIndexes[k]&&0!==ha.markerSize&&(0<ha.markerSize||0<G.markerSize)&&(sa=G.getMarkerProperties(G.dataPointIndexes[k],
|
|
416
|
+
h,l,c),f.push(sa),k=T(ea),w&&f.push({x:h,y:l,ctx:v,type:sa.type,size:sa.size,color:k,borderColor:k,borderThickness:sa.borderThickness}));(ha.indexLabel||G.indexLabel||ha.indexLabelFormatter||G.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedArea",dataPoint:ha,dataSeries:G,point:{x:h,y:l},direction:0>ha.y===a.axisY.reversed?1:-1,color:e})}}g();c.moveTo(h,l);w&&v.moveTo(h,l)}delete G.dataPointIndexes}m.drawMarkers(f);w&&(b.drawImage(this._preRenderCanvas,0,0,this.width,this.height),
|
|
417
|
+
c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(d.x1,d.y1,d.width,d.height),v.restore());c.restore();return{source:b,dest:this.plotArea.ctx,animationCallback:z.xClipAnimation,easingFunction:z.easing.linear,animationBase:0}}};v.prototype.renderStackedArea100=
|
|
418
|
+
function(a){function g(){for(0<G.lineThickness&&c.stroke();0<n.length;){var a=n.pop();c.lineTo(a.x,a.y);w&&x.lineTo(a.x,a.y)}c.closePath();c.globalAlpha=G.fillOpacity;c.fill();c.globalAlpha=1;c.beginPath();w&&(x.closePath(),x.fill(),x.beginPath());n=[]}var b=a.targetCanvasCtx||this.plotArea.ctx,c=w?this._preRenderCtx:b;if(!(0>=a.dataSeriesIndexes.length)){var e=null,k=null,f=this.plotArea,d=[],l=[],n=[],q=[],p=[],r=0,h,t,s,v,u,D=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:
|
|
419
|
+
0),x=this._eventManager.ghostCtx;c.save();w&&x.save();c.beginPath();c.rect(f.x1,f.y1,f.width,f.height);c.clip();w&&(x.beginPath(),x.rect(f.x1,f.y1,f.width,f.height),x.clip());for(var e=[],A=0;A<a.dataSeriesIndexes.length;A++){var y=a.dataSeriesIndexes[A],G=this.data[y],B=G.dataPoints;G.dataPointIndexes=[];for(r=0;r<B.length;r++)y=B[r].x.getTime?B[r].x.getTime():B[r].x,G.dataPointIndexes[y]=r,e[y]||(q.push(y),e[y]=!0);q.sort(Wa)}for(A=0;A<a.dataSeriesIndexes.length;A++){y=a.dataSeriesIndexes[A];G=
|
|
420
|
+
this.data[y];B=G.dataPoints;v=!0;e=G.id;this._eventManager.objectMap[e]={objectType:"dataSeries",dataSeriesIndex:y};e=T(e);x.fillStyle=e;n=[];if(0<q.length){var e=G._colorSet[r%G._colorSet.length],E=G.lineColor=G.options.lineColor||e,O=E;c.fillStyle=e;c.strokeStyle=E;c.lineWidth=G.lineThickness;u="solid";if(c.setLineDash){var P=R(G.nullDataLineDashType,G.lineThickness);u=G.lineDashType;var $=R(u,G.lineThickness);c.setLineDash($)}for(var aa=!0,r=0;r<q.length;r++){var k=q[r],ha=null,ha=0<=G.dataPointIndexes[k]?
|
|
421
|
+
B[G.dataPointIndexes[k]]:{x:k,y:null};if(!(k<a.axisX.dataInfo.viewPortMin||k>a.axisX.dataInfo.viewPortMax&&(!G.connectNullData||!aa)))if("number"!==typeof ha.y)G.connectNullData||(aa||v)||g(),aa=!0;else{var sa;sa=0!==a.dataPointYSums[k]?100*(ha.y/a.dataPointYSums[k]):0;h=a.axisX.convertValueToPixel(k);var ea=l[k]?l[k]:0;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length){p[k]=sa+(p[k]?p[k]:0);if(0>=p[k]&&a.axisY.logarithmic)continue;t=a.axisY.convertValueToPixel(p[k])}else t=
|
|
422
|
+
a.axisY.convertValueToPixel(sa),t-=ea;n.push({x:h,y:D-ea});l[k]=D-t;v||aa?(!v&&G.connectNullData?(c.setLineDash&&(G.options.nullDataLineDashType||u===G.lineDashType&&G.lineDashType!==G.nullDataLineDashType)&&(v=n.pop(),u=n[n.length-1],g(),c.moveTo(s.x,s.y),n.push(u),n.push(v),u=G.nullDataLineDashType,c.setLineDash(P)),c.lineTo(h,t),w&&x.lineTo(h,t)):(c.beginPath(),c.moveTo(h,t),w&&(x.beginPath(),x.moveTo(h,t))),aa=v=!1):(c.lineTo(h,t),w&&x.lineTo(h,t),0==r%250&&(g(),c.moveTo(h,t),w&&x.moveTo(h,t),
|
|
423
|
+
n.push({x:h,y:D-ea})));s={x:h,y:t};r<B.length-1&&(O!==(B[r].lineColor||E)||u!==(B[r].lineDashType||G.lineDashType))&&(g(),c.beginPath(),c.moveTo(h,t),n.push({x:h,y:D-ea}),O=B[r].lineColor||E,c.strokeStyle=O,c.setLineDash&&(B[r].lineDashType?(u=B[r].lineDashType,c.setLineDash(R(u,G.lineThickness))):(u=G.lineDashType,c.setLineDash($))));if(0<=G.dataPointIndexes[k]){var I=G.dataPointIds[G.dataPointIndexes[k]];this._eventManager.objectMap[I]={id:I,objectType:"dataPoint",dataSeriesIndex:y,dataPointIndex:G.dataPointIndexes[k],
|
|
424
|
+
x1:h,y1:t}}0<=G.dataPointIndexes[k]&&0!==ha.markerSize&&(0<ha.markerSize||0<G.markerSize)&&(ea=G.getMarkerProperties(G.dataPointIndexes[k],h,t,c),d.push(ea),k=T(I),w&&d.push({x:h,y:t,ctx:x,type:ea.type,size:ea.size,color:k,borderColor:k,borderThickness:ea.borderThickness}));(ha.indexLabel||G.indexLabel||ha.indexLabelFormatter||G.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedArea100",dataPoint:ha,dataSeries:G,point:{x:h,y:t},direction:0>ha.y===a.axisY.reversed?1:-1,color:e})}}g();
|
|
425
|
+
c.moveTo(h,t);w&&x.moveTo(h,t)}delete G.dataPointIndexes}m.drawMarkers(d);w&&(b.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(f.x1,f.y1,f.width,f.height),x.restore());c.restore();
|
|
426
|
+
return{source:b,dest:this.plotArea.ctx,animationCallback:z.xClipAnimation,easingFunction:z.easing.linear,animationBase:0}}};v.prototype.renderBubble=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=this.plotArea,e=0,k,f;b.save();w&&this._eventManager.ghostCtx.save();b.beginPath();b.rect(c.x1,c.y1,c.width,c.height);b.clip();w&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(c.x1,c.y1,c.width,c.height),
|
|
427
|
+
this._eventManager.ghostCtx.clip());for(var d=-Infinity,t=Infinity,n=0;n<a.dataSeriesIndexes.length;n++)for(var q=a.dataSeriesIndexes[n],p=this.data[q],r=p.dataPoints,h=0,e=0;e<r.length;e++)k=r[e].getTime?k=r[e].x.getTime():k=r[e].x,k<a.axisX.dataInfo.viewPortMin||k>a.axisX.dataInfo.viewPortMax||"undefined"===typeof r[e].z||(h=r[e].z,h>d&&(d=h),h<t&&(t=h));for(var l=25*Math.PI,s=Math.max(Math.pow(0.25*Math.min(c.height,c.width)/2,2)*Math.PI,l),n=0;n<a.dataSeriesIndexes.length;n++)if(q=a.dataSeriesIndexes[n],
|
|
428
|
+
p=this.data[q],r=p.dataPoints,0<r.length)for(b.strokeStyle="#4572A7 ",e=0;e<r.length;e++)if(k=r[e].getTime?k=r[e].x.getTime():k=r[e].x,!(k<a.axisX.dataInfo.viewPortMin||k>a.axisX.dataInfo.viewPortMax)&&"number"===typeof r[e].y){k=a.axisX.convertValueToPixel(k);f=a.axisY.convertValueToPixel(r[e].y);var h=r[e].z,v=2*Math.max(Math.sqrt((d===t?s/2:l+(s-l)/(d-t)*(h-t))/Math.PI)<<0,1),h=p.getMarkerProperties(e,b);h.size=v;b.globalAlpha=p.fillOpacity;m.drawMarker(k,f,b,h.type,h.size,h.color,h.borderColor,
|
|
429
|
+
h.borderThickness);b.globalAlpha=1;var u=p.dataPointIds[e];this._eventManager.objectMap[u]={id:u,objectType:"dataPoint",dataSeriesIndex:q,dataPointIndex:e,x1:k,y1:f,size:v};v=T(u);w&&m.drawMarker(k,f,this._eventManager.ghostCtx,h.type,h.size,v,v,h.borderThickness);(r[e].indexLabel||p.indexLabel||r[e].indexLabelFormatter||p.indexLabelFormatter)&&this._indexLabels.push({chartType:"bubble",dataPoint:r[e],dataSeries:p,point:{x:k,y:f},direction:1,bounds:{x1:k-h.size/2,y1:f-h.size/2,x2:k+h.size/2,y2:f+
|
|
430
|
+
h.size/2},color:null})}w&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(c.x1,c.y1,c.width,c.height),this._eventManager.ghostCtx.restore());b.restore();return{source:g,dest:this.plotArea.ctx,
|
|
431
|
+
animationCallback:z.fadeInAnimation,easingFunction:z.easing.easeInQuad,animationBase:0}}};v.prototype.renderScatter=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=this.plotArea,e=0,k,f;b.save();w&&this._eventManager.ghostCtx.save();b.beginPath();b.rect(c.x1,c.y1,c.width,c.height);b.clip();w&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(c.x1,c.y1,c.width,c.height),this._eventManager.ghostCtx.clip());
|
|
432
|
+
for(var d=0;d<a.dataSeriesIndexes.length;d++){var t=a.dataSeriesIndexes[d],n=this.data[t],q=n.dataPoints;if(0<q.length){b.strokeStyle="#4572A7 ";Math.pow(0.3*Math.min(c.height,c.width)/2,2);for(var p=0,r=0,e=0;e<q.length;e++)if(k=q[e].getTime?k=q[e].x.getTime():k=q[e].x,!(k<a.axisX.dataInfo.viewPortMin||k>a.axisX.dataInfo.viewPortMax)&&"number"===typeof q[e].y){k=a.axisX.convertValueToPixel(k);f=a.axisY.convertValueToPixel(q[e].y);var h=n.getMarkerProperties(e,k,f,b);b.globalAlpha=n.fillOpacity;m.drawMarker(h.x,
|
|
433
|
+
h.y,h.ctx,h.type,h.size,h.color,h.borderColor,h.borderThickness);b.globalAlpha=1;Math.sqrt((p-k)*(p-k)+(r-f)*(r-f))<Math.min(h.size,5)&&q.length>Math.min(this.plotArea.width,this.plotArea.height)||(p=n.dataPointIds[e],this._eventManager.objectMap[p]={id:p,objectType:"dataPoint",dataSeriesIndex:t,dataPointIndex:e,x1:k,y1:f},p=T(p),w&&m.drawMarker(h.x,h.y,this._eventManager.ghostCtx,h.type,h.size,p,p,h.borderThickness),(q[e].indexLabel||n.indexLabel||q[e].indexLabelFormatter||n.indexLabelFormatter)&&
|
|
434
|
+
this._indexLabels.push({chartType:"scatter",dataPoint:q[e],dataSeries:n,point:{x:k,y:f},direction:1,bounds:{x1:k-h.size/2,y1:f-h.size/2,x2:k+h.size/2,y2:f+h.size/2},color:null}),p=k,r=f)}}}w&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,
|
|
435
|
+
0,0,this.width,this.height),b.clearRect(c.x1,c.y1,c.width,c.height),this._eventManager.ghostCtx.restore());b.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:z.fadeInAnimation,easingFunction:z.easing.easeInQuad,animationBase:0}}};v.prototype.renderCandlestick=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g,c=this._eventManager.ghostCtx;if(!(0>=a.dataSeriesIndexes.length)){var e=null,k=null,d=this.plotArea,m=0,t,n,q,p,r,h,e=this.options.dataPointMinWidth?
|
|
436
|
+
this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,k=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.015*this.width,l=a.axisX.dataInfo.minDiff;isFinite(l)||(l=0.3*Math.abs(a.axisX.range));l=this.options.dataPointWidth?this.dataPointWidth:0.7*d.width*(a.axisX.logarithmic?Math.log(l)/Math.log(a.axisX.range):Math.abs(l)/Math.abs(a.axisX.range))<<0;this.dataPointMaxWidth&&e>k&&(e=Math.min(this.options.dataPointWidth?this.dataPointWidth:
|
|
437
|
+
Infinity,k));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&k<e)&&(k=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,e));l<e&&(l=e);l>k&&(l=k);b.save();w&&c.save();b.beginPath();b.rect(d.x1,d.y1,d.width,d.height);b.clip();w&&(c.beginPath(),c.rect(d.x1,d.y1,d.width,d.height),c.clip());for(var s=0;s<a.dataSeriesIndexes.length;s++){var v=a.dataSeriesIndexes[s],u=this.data[v],D=u.dataPoints;if(0<D.length)for(var x=5<l&&u.bevelEnabled?!0:!1,m=0;m<D.length;m++)if(D[m].getTime?h=D[m].x.getTime():
|
|
438
|
+
h=D[m].x,!(h<a.axisX.dataInfo.viewPortMin||h>a.axisX.dataInfo.viewPortMax)&&!f(D[m].y)&&D[m].y.length&&"number"===typeof D[m].y[0]&&"number"===typeof D[m].y[1]&&"number"===typeof D[m].y[2]&&"number"===typeof D[m].y[3]){t=a.axisX.convertValueToPixel(h);n=a.axisY.convertValueToPixel(D[m].y[0]);q=a.axisY.convertValueToPixel(D[m].y[1]);p=a.axisY.convertValueToPixel(D[m].y[2]);r=a.axisY.convertValueToPixel(D[m].y[3]);var A=t-l/2<<0,y=A+l<<0,k=u.options.fallingColor?u.fallingColor:u._colorSet[0],e=D[m].color?
|
|
439
|
+
D[m].color:u._colorSet[0],G=Math.round(Math.max(1,0.15*l)),B=0===G%2?0:0.5,E=u.dataPointIds[m];this._eventManager.objectMap[E]={id:E,objectType:"dataPoint",dataSeriesIndex:v,dataPointIndex:m,x1:A,y1:n,x2:y,y2:q,x3:t,y3:p,x4:t,y4:r,borderThickness:G,color:e};b.strokeStyle=e;b.beginPath();b.lineWidth=G;c.lineWidth=Math.max(G,4);"candlestick"===u.type?(b.moveTo(t-B,q),b.lineTo(t-B,Math.min(n,r)),b.stroke(),b.moveTo(t-B,Math.max(n,r)),b.lineTo(t-B,p),b.stroke(),Q(b,A,Math.min(n,r),y,Math.max(n,r),D[m].y[0]<=
|
|
440
|
+
D[m].y[3]?u.risingColor:k,G,e,x,x,!1,!1,u.fillOpacity),w&&(e=T(E),c.strokeStyle=e,c.moveTo(t-B,q),c.lineTo(t-B,Math.min(n,r)),c.stroke(),c.moveTo(t-B,Math.max(n,r)),c.lineTo(t-B,p),c.stroke(),Q(c,A,Math.min(n,r),y,Math.max(n,r),e,0,null,!1,!1,!1,!1))):"ohlc"===u.type&&(b.moveTo(t-B,q),b.lineTo(t-B,p),b.stroke(),b.beginPath(),b.moveTo(t,n),b.lineTo(A,n),b.stroke(),b.beginPath(),b.moveTo(t,r),b.lineTo(y,r),b.stroke(),w&&(e=T(E),c.strokeStyle=e,c.moveTo(t-B,q),c.lineTo(t-B,p),c.stroke(),c.beginPath(),
|
|
441
|
+
c.moveTo(t,n),c.lineTo(A,n),c.stroke(),c.beginPath(),c.moveTo(t,r),c.lineTo(y,r),c.stroke()));(D[m].indexLabel||u.indexLabel||D[m].indexLabelFormatter||u.indexLabelFormatter)&&this._indexLabels.push({chartType:u.type,dataPoint:D[m],dataSeries:u,point:{x:A+(y-A)/2,y:a.axisY.reversed?p:q},direction:1,bounds:{x1:A,y1:Math.min(q,p),x2:y,y2:Math.max(q,p)},color:e})}}w&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,
|
|
442
|
+
0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(d.x1,d.y1,d.width,d.height),c.restore());b.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:z.fadeInAnimation,easingFunction:z.easing.easeInQuad,animationBase:0}}};v.prototype.renderBoxAndWhisker=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:
|
|
443
|
+
g,c=this._eventManager.ghostCtx;if(!(0>=a.dataSeriesIndexes.length)){var e=null,k=this.plotArea,d=0,m,t,n,q,p,r,h,e=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,d=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.015*this.width,l=a.axisX.dataInfo.minDiff;isFinite(l)||(l=0.3*Math.abs(a.axisX.range));l=this.options.dataPointWidth?this.dataPointWidth:0.7*k.width*(a.axisX.logarithmic?Math.log(l)/
|
|
444
|
+
Math.log(a.axisX.range):Math.abs(l)/Math.abs(a.axisX.range))<<0;this.dataPointMaxWidth&&e>d&&(e=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,d));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&d<e)&&(d=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,e));l<e&&(l=e);l>d&&(l=d);b.save();w&&c.save();b.beginPath();b.rect(k.x1,k.y1,k.width,k.height);b.clip();w&&(c.beginPath(),c.rect(k.x1,k.y1,k.width,k.height),c.clip());for(var s=!1,s=!!a.axisY.reversed,v=0;v<a.dataSeriesIndexes.length;v++){var u=
|
|
445
|
+
a.dataSeriesIndexes[v],D=this.data[u],x=D.dataPoints;if(0<x.length)for(var A=5<l&&D.bevelEnabled?!0:!1,d=0;d<x.length;d++)if(x[d].getTime?h=x[d].x.getTime():h=x[d].x,!(h<a.axisX.dataInfo.viewPortMin||h>a.axisX.dataInfo.viewPortMax)&&!f(x[d].y)&&x[d].y.length&&"number"===typeof x[d].y[0]&&"number"===typeof x[d].y[1]&&"number"===typeof x[d].y[2]&&"number"===typeof x[d].y[3]&&"number"===typeof x[d].y[4]&&5===x[d].y.length){m=a.axisX.convertValueToPixel(h);t=a.axisY.convertValueToPixel(x[d].y[0]);n=a.axisY.convertValueToPixel(x[d].y[1]);
|
|
446
|
+
q=a.axisY.convertValueToPixel(x[d].y[2]);p=a.axisY.convertValueToPixel(x[d].y[3]);r=a.axisY.convertValueToPixel(x[d].y[4]);var y=m-l/2<<0,G=m+l/2<<0,e=x[d].color?x[d].color:D._colorSet[0],B=Math.round(Math.max(1,0.15*l)),E=0===B%2?0:0.5,O=x[d].whiskerColor?x[d].whiskerColor:x[d].color?D.whiskerColor?D.whiskerColor:x[d].color:D.whiskerColor?D.whiskerColor:e,P="number"===typeof x[d].whiskerThickness?x[d].whiskerThickness:"number"===typeof D.options.whiskerThickness?D.whiskerThickness:B,$=x[d].whiskerDashType?
|
|
447
|
+
x[d].whiskerDashType:D.whiskerDashType,aa=f(x[d].whiskerLength)?f(D.options.whiskerLength)?l:D.whiskerLength:x[d].whiskerLength,aa="number"===typeof aa?0>=aa?0:aa>=l?l:aa:"string"===typeof aa?parseInt(aa)*l/100>l?l:parseInt(aa)*l/100:l,ha=1===Math.round(P)%2?0.5:0,sa=x[d].stemColor?x[d].stemColor:x[d].color?D.stemColor?D.stemColor:x[d].color:D.stemColor?D.stemColor:e,ea="number"===typeof x[d].stemThickness?x[d].stemThickness:"number"===typeof D.options.stemThickness?D.stemThickness:B,I=1===Math.round(ea)%
|
|
448
|
+
2?0.5:0,H=x[d].stemDashType?x[d].stemDashType:D.stemDashType,N=x[d].lineColor?x[d].lineColor:x[d].color?D.lineColor?D.lineColor:x[d].color:D.lineColor?D.lineColor:e,M="number"===typeof x[d].lineThickness?x[d].lineThickness:"number"===typeof D.options.lineThickness?D.lineThickness:B,S=x[d].lineDashType?x[d].lineDashType:D.lineDashType,ba=1===Math.round(M)%2?0.5:0,X=D.upperBoxColor,tb=D.lowerBoxColor,W=f(D.options.fillOpacity)?1:D.fillOpacity,J=D.dataPointIds[d];this._eventManager.objectMap[J]={id:J,
|
|
449
|
+
objectType:"dataPoint",dataSeriesIndex:u,dataPointIndex:d,x1:y,y1:t,x2:G,y2:n,x3:m,y3:q,x4:m,y4:p,y5:r,borderThickness:B,color:e,stemThickness:ea,stemColor:sa,whiskerThickness:P,whiskerLength:aa,whiskerColor:O,lineThickness:M,lineColor:N};b.save();0<ea&&(b.beginPath(),b.strokeStyle=sa,b.lineWidth=ea,b.setLineDash&&b.setLineDash(R(H,ea)),b.moveTo(m-I,n),b.lineTo(m-I,t),b.stroke(),b.moveTo(m-I,p),b.lineTo(m-I,q),b.stroke());b.restore();c.lineWidth=Math.max(B,4);b.beginPath();Q(b,y,Math.min(r,n),G,Math.max(n,
|
|
450
|
+
r),tb,0,e,s?A:!1,s?!1:A,!1,!1,W);b.beginPath();Q(b,y,Math.min(q,r),G,Math.max(r,q),X,0,e,s?!1:A,s?A:!1,!1,!1,W);b.beginPath();b.lineWidth=B;b.strokeStyle=e;b.rect(y-E,Math.min(n,q)-E,G-y+2*E,Math.max(n,q)-Math.min(n,q)+2*E);b.stroke();b.save();0<M&&(b.beginPath(),b.globalAlpha=1,b.setLineDash&&b.setLineDash(R(S,M)),b.strokeStyle=N,b.lineWidth=M,b.moveTo(y,r-ba),b.lineTo(G,r-ba),b.stroke());b.restore();b.save();0<P&&(b.beginPath(),b.setLineDash&&b.setLineDash(R($,P)),b.strokeStyle=O,b.lineWidth=P,
|
|
451
|
+
b.moveTo(m-aa/2<<0,p-ha),b.lineTo(m+aa/2<<0,p-ha),b.stroke(),b.moveTo(m-aa/2<<0,t+ha),b.lineTo(m+aa/2<<0,t+ha),b.stroke());b.restore();w&&(e=T(J),c.strokeStyle=e,c.lineWidth=ea,0<ea&&(c.moveTo(m-E-I,n),c.lineTo(m-E-I,Math.max(t,p)),c.stroke(),c.moveTo(m-E-I,Math.min(t,p)),c.lineTo(m-E-I,q),c.stroke()),Q(c,y,Math.max(n,q),G,Math.min(n,q),e,0,null,!1,!1,!1,!1),0<P&&(c.beginPath(),c.lineWidth=P,c.moveTo(m+aa/2,p-ha),c.lineTo(m-aa/2,p-ha),c.stroke(),c.moveTo(m+aa/2,t+ha),c.lineTo(m-aa/2,t+ha),c.stroke()));
|
|
452
|
+
(x[d].indexLabel||D.indexLabel||x[d].indexLabelFormatter||D.indexLabelFormatter)&&this._indexLabels.push({chartType:D.type,dataPoint:x[d],dataSeries:D,point:{x:y+(G-y)/2,y:a.axisY.reversed?t:p},direction:1,bounds:{x1:y,y1:Math.min(t,p),x2:G,y2:Math.max(t,p)},color:e})}}w&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,
|
|
453
|
+
0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(k.x1,k.y1,k.width,k.height),c.restore());b.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:z.fadeInAnimation,easingFunction:z.easing.easeInQuad,animationBase:0}}};v.prototype.renderRangeColumn=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=null,e=this.plotArea,
|
|
454
|
+
k=0,d,m,t,k=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;d=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.03*this.width;var n=a.axisX.dataInfo.minDiff;isFinite(n)||(n=0.3*Math.abs(a.axisX.range));n=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(n)/Math.log(a.axisX.range):Math.abs(n)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&
|
|
455
|
+
k>d&&(k=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,d));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&d<k)&&(d=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,k));n<k&&(n=k);n>d&&(n=d);b.save();w&&this._eventManager.ghostCtx.save();b.beginPath();b.rect(e.x1,e.y1,e.width,e.height);b.clip();w&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(var q=0;q<a.dataSeriesIndexes.length;q++){var p=
|
|
456
|
+
a.dataSeriesIndexes[q],r=this.data[p],h=r.dataPoints;if(0<h.length)for(var l=5<n&&r.bevelEnabled?!0:!1,k=0;k<h.length;k++)if(h[k].getTime?t=h[k].x.getTime():t=h[k].x,!(t<a.axisX.dataInfo.viewPortMin||t>a.axisX.dataInfo.viewPortMax)&&!f(h[k].y)&&h[k].y.length&&"number"===typeof h[k].y[0]&&"number"===typeof h[k].y[1]){c=a.axisX.convertValueToPixel(t);d=a.axisY.convertValueToPixel(h[k].y[0]);m=a.axisY.convertValueToPixel(h[k].y[1]);var s=a.axisX.reversed?c+a.plotType.totalDataSeries*n/2-(a.previousDataSeriesCount+
|
|
457
|
+
q)*n<<0:c-a.plotType.totalDataSeries*n/2+(a.previousDataSeriesCount+q)*n<<0,v=a.axisX.reversed?s-n<<0:s+n<<0,c=h[k].color?h[k].color:r._colorSet[k%r._colorSet.length];if(d>m){var u=d;d=m;m=u}u=r.dataPointIds[k];this._eventManager.objectMap[u]={id:u,objectType:"dataPoint",dataSeriesIndex:p,dataPointIndex:k,x1:s,y1:d,x2:v,y2:m};Q(b,a.axisX.reversed?v:s,d,a.axisX.reversed?s:v,m,c,0,c,l,l,!1,!1,r.fillOpacity);c=T(u);w&&Q(this._eventManager.ghostCtx,a.axisX.reversed?v:s,d,a.axisX.reversed?s:v,m,c,0,null,
|
|
458
|
+
!1,!1,!1,!1);if(h[k].indexLabel||r.indexLabel||h[k].indexLabelFormatter||r.indexLabelFormatter)this._indexLabels.push({chartType:"rangeColumn",dataPoint:h[k],dataSeries:r,indexKeyword:0,point:{x:s+(v-s)/2,y:h[k].y[1]>=h[k].y[0]?m:d},direction:h[k].y[1]>=h[k].y[0]?-1:1,bounds:{x1:s,y1:Math.min(d,m),x2:v,y2:Math.max(d,m)},color:c}),this._indexLabels.push({chartType:"rangeColumn",dataPoint:h[k],dataSeries:r,indexKeyword:1,point:{x:s+(v-s)/2,y:h[k].y[1]>=h[k].y[0]?d:m},direction:h[k].y[1]>=h[k].y[0]?
|
|
459
|
+
1:-1,bounds:{x1:s,y1:Math.min(d,m),x2:v,y2:Math.max(d,m)},color:c})}}w&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());
|
|
460
|
+
b.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:z.fadeInAnimation,easingFunction:z.easing.easeInQuad,animationBase:0}}};v.prototype.renderError=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g,c=a.axisY._position?"left"===a.axisY._position||"right"===a.axisY._position?!1:!0:!1;if(!(0>=a.dataSeriesIndexes.length)){var e=null,k=!1,d=this.plotArea,m=0,t,n,q,p,r,h,l,s=a.axisX.dataInfo.minDiff;isFinite(s)||(s=0.3*Math.abs(a.axisX.range));b.save();w&&
|
|
461
|
+
this._eventManager.ghostCtx.save();b.beginPath();b.rect(d.x1,d.y1,d.width,d.height);b.clip();w&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(d.x1,d.y1,d.width,d.height),this._eventManager.ghostCtx.clip());for(var v=0,u=0;u<this.data.length;u++)!this.data[u].type.match(/(bar|column)/ig)||!this.data[u].visible||this.data[u].type.match(/(stacked)/ig)&&v||v++;for(var D=0;D<a.dataSeriesIndexes.length;D++){var x=a.dataSeriesIndexes[D],y=this.data[x],B=y.dataPoints,G=f(y._linkedSeries)?
|
|
462
|
+
!1:y._linkedSeries.type.match(/(bar|column)/ig)&&y._linkedSeries.visible?!0:!1,E=0;if(G)for(e=y._linkedSeries.id,u=0;u<e;u++)!this.data[u].type.match(/(bar|column)/ig)||!this.data[u].visible||this.data[u].type.match(/(stacked)/ig)&&E||(this.data[u].type.match(/(range)/ig)&&(k=!0),E++);e=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;m=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:c?Math.min(0.15*
|
|
463
|
+
this.height,0.9*(this.plotArea.height/(G?v:1)))<<0:0.3*this.width;k&&(m=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:c?Math.min(0.15*this.height,0.9*(this.plotArea.height/(G?v:1)))<<0:0.03*this.width);u=this.options.dataPointWidth?this.dataPointWidth:0.9*((c?d.height:d.width)*(a.axisX.logarithmic?Math.log(s)/Math.log(a.axisX.range):Math.abs(s)/Math.abs(a.axisX.range))/(G?v:1))<<0;this.dataPointMaxWidth&&e>m&&(e=Math.min(this.options.dataPointWidth?
|
|
464
|
+
this.dataPointWidth:Infinity,m));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&m<e)&&(m=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,e));u<e&&(u=e);u>m&&(u=m);if(0<B.length)for(var H=y._colorSet,m=0;m<B.length;m++){var e=y.lineColor=y.options.color?y.options.color:H[0],O={color:B[m].whiskerColor?B[m].whiskerColor:B[m].color?y.whiskerColor?y.whiskerColor:B[m].color:y.whiskerColor?y.whiskerColor:e,thickness:f(B[m].whiskerThickness)?y.whiskerThickness:B[m].whiskerThickness,
|
|
465
|
+
dashType:B[m].whiskerDashType?B[m].whiskerDashType:y.whiskerDashType,length:f(B[m].whiskerLength)?f(y.options.whiskerLength)?u:y.options.whiskerLength:B[m].whiskerLength,trimLength:f(B[m].whiskerLength)?f(y.options.whiskerLength)?50:0:0};O.length="number"===typeof O.length?0>=O.length?0:O.length>=u?u:O.length:"string"===typeof O.length?parseInt(O.length)*u/100>u?u:parseInt(O.length)*u/100>u:u;O.thickness="number"===typeof O.thickness?0>O.thickness?0:Math.round(O.thickness):2;var P={color:B[m].stemColor?
|
|
466
|
+
B[m].stemColor:B[m].color?y.stemColor?y.stemColor:B[m].color:y.stemColor?y.stemColor:e,thickness:B[m].stemThickness?B[m].stemThickness:y.stemThickness,dashType:B[m].stemDashType?B[m].stemDashType:y.stemDashType};P.thickness="number"===typeof P.thickness?0>P.thickness?0:Math.round(P.thickness):2;B[m].getTime?l=B[m].x.getTime():l=B[m].x;if(!(l<a.axisX.dataInfo.viewPortMin||l>a.axisX.dataInfo.viewPortMax)&&!f(B[m].y)&&B[m].y.length&&"number"===typeof B[m].y[0]&&"number"===typeof B[m].y[1]){var $=a.axisX.convertValueToPixel(l);
|
|
467
|
+
c?n=$:t=$;$=a.axisY.convertValueToPixel(B[m].y[0]);c?q=$:r=$;$=a.axisY.convertValueToPixel(B[m].y[1]);c?p=$:h=$;c?(r=a.axisX.reversed?n+(G?v:1)*u/2-(G?E-1:0)*u<<0:n-(G?v:1)*u/2+(G?E-1:0)*u<<0,h=a.axisX.reversed?r-u<<0:r+u<<0):(q=a.axisX.reversed?t+(G?v:1)*u/2-(G?E-1:0)*u<<0:t-(G?v:1)*u/2+(G?E-1:0)*u<<0,p=a.axisX.reversed?q-u<<0:q+u<<0);!c&&r>h&&($=r,r=h,h=$);c&&q>p&&($=q,q=p,p=$);$=y.dataPointIds[m];this._eventManager.objectMap[$]={id:$,objectType:"dataPoint",dataSeriesIndex:x,dataPointIndex:m,x1:Math.min(q,
|
|
468
|
+
p),y1:Math.min(r,h),x2:Math.max(p,q),y2:Math.max(h,r),isXYSwapped:c,stemProperties:P,whiskerProperties:O};A(b,Math.min(q,p),Math.min(r,h),Math.max(p,q),Math.max(h,r),e,O,P,c);w&&A(this._eventManager.ghostCtx,q,r,p,h,e,O,P,c);if(B[m].indexLabel||y.indexLabel||B[m].indexLabelFormatter||y.indexLabelFormatter)this._indexLabels.push({chartType:"error",dataPoint:B[m],dataSeries:y,indexKeyword:0,point:{x:c?B[m].y[1]>=B[m].y[0]?q:p:q+(p-q)/2,y:c?r+(h-r)/2:B[m].y[1]>=B[m].y[0]?h:r},direction:B[m].y[1]>=B[m].y[0]?
|
|
469
|
+
-1:1,bounds:{x1:c?Math.min(q,p):q,y1:c?r:Math.min(r,h),x2:c?Math.max(q,p):p,y2:c?h:Math.max(r,h)},color:e,axisSwapped:c}),this._indexLabels.push({chartType:"error",dataPoint:B[m],dataSeries:y,indexKeyword:1,point:{x:c?B[m].y[1]>=B[m].y[0]?p:q:q+(p-q)/2,y:c?r+(h-r)/2:B[m].y[1]>=B[m].y[0]?r:h},direction:B[m].y[1]>=B[m].y[0]?1:-1,bounds:{x1:c?Math.min(q,p):q,y1:c?r:Math.min(r,h),x2:c?Math.max(q,p):p,y2:c?h:Math.max(r,h)},color:e,axisSwapped:c})}}}w&&(g.drawImage(this._preRenderCanvas,0,0,this.width,
|
|
470
|
+
this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(d.x1,d.y1,d.width,d.height),this._eventManager.ghostCtx.restore());b.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:z.fadeInAnimation,easingFunction:z.easing.easeInQuad,
|
|
471
|
+
animationBase:0}}};v.prototype.renderRangeBar=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=null,e=this.plotArea,k=0,d,m,t,n,k=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;d=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.height,0.9*(this.plotArea.height/a.plotType.totalDataSeries))<<0;var q=
|
|
472
|
+
a.axisX.dataInfo.minDiff;isFinite(q)||(q=0.3*Math.abs(a.axisX.range));q=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.height*(a.axisX.logarithmic?Math.log(q)/Math.log(a.axisX.range):Math.abs(q)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&k>d&&(k=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,d));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&d<k)&&(d=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,k));q<k&&(q=k);
|
|
473
|
+
q>d&&(q=d);b.save();w&&this._eventManager.ghostCtx.save();b.beginPath();b.rect(e.x1,e.y1,e.width,e.height);b.clip();w&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(var p=0;p<a.dataSeriesIndexes.length;p++){var r=a.dataSeriesIndexes[p],h=this.data[r],l=h.dataPoints;if(0<l.length){var s=5<q&&h.bevelEnabled?!0:!1;b.strokeStyle="#4572A7 ";for(k=0;k<l.length;k++)if(l[k].getTime?n=l[k].x.getTime():n=l[k].x,
|
|
474
|
+
!(n<a.axisX.dataInfo.viewPortMin||n>a.axisX.dataInfo.viewPortMax)&&!f(l[k].y)&&l[k].y.length&&"number"===typeof l[k].y[0]&&"number"===typeof l[k].y[1]){d=a.axisY.convertValueToPixel(l[k].y[0]);m=a.axisY.convertValueToPixel(l[k].y[1]);t=a.axisX.convertValueToPixel(n);t=a.axisX.reversed?t+a.plotType.totalDataSeries*q/2-(a.previousDataSeriesCount+p)*q<<0:t-a.plotType.totalDataSeries*q/2+(a.previousDataSeriesCount+p)*q<<0;var v=a.axisX.reversed?t-q<<0:t+q<<0;d>m&&(c=d,d=m,m=c);c=l[k].color?l[k].color:
|
|
475
|
+
h._colorSet[k%h._colorSet.length];Q(b,d,a.axisX.reversed?v:t,m,a.axisX.reversed?t:v,c,0,null,s,!1,!1,!1,h.fillOpacity);c=h.dataPointIds[k];this._eventManager.objectMap[c]={id:c,objectType:"dataPoint",dataSeriesIndex:r,dataPointIndex:k,x1:d,y1:t,x2:m,y2:v};c=T(c);w&&Q(this._eventManager.ghostCtx,d,a.axisX.reversed?v:t,m,a.axisX.reversed?t:v,c,0,null,!1,!1,!1,!1);if(l[k].indexLabel||h.indexLabel||l[k].indexLabelFormatter||h.indexLabelFormatter)this._indexLabels.push({chartType:"rangeBar",dataPoint:l[k],
|
|
476
|
+
dataSeries:h,indexKeyword:0,point:{x:l[k].y[1]>=l[k].y[0]?d:m,y:t+(v-t)/2},direction:l[k].y[1]>=l[k].y[0]?-1:1,bounds:{x1:Math.min(d,m),y1:t,x2:Math.max(d,m),y2:v},color:c}),this._indexLabels.push({chartType:"rangeBar",dataPoint:l[k],dataSeries:h,indexKeyword:1,point:{x:l[k].y[1]>=l[k].y[0]?m:d,y:t+(v-t)/2},direction:l[k].y[1]>=l[k].y[0]?1:-1,bounds:{x1:Math.min(d,m),y1:t,x2:Math.max(d,m),y2:v},color:c})}}}w&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation=
|
|
477
|
+
"source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());b.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:z.fadeInAnimation,easingFunction:z.easing.easeInQuad,animationBase:0}}};v.prototype.renderRangeArea=
|
|
478
|
+
function(a){function g(){if(D){for(var a=null,b=t.length-1;0<=b;b--)a=t[b],c.lineTo(a.x,a.y2),e.lineTo(a.x,a.y2);c.closePath();c.globalAlpha=q.fillOpacity;c.fill();c.globalAlpha=1;e.fill();if(0<q.lineThickness){c.beginPath();c.moveTo(a.x,a.y2);for(b=0;b<t.length;b++)a=t[b],c.lineTo(a.x,a.y2);c.moveTo(t[0].x,t[0].y1);for(b=0;b<t.length;b++)a=t[b],c.lineTo(a.x,a.y1);c.stroke()}c.beginPath();c.moveTo(l,s);e.beginPath();e.moveTo(l,s);D={x:l,y:s};t=[];t.push({x:l,y1:s,y2:v})}}var b=a.targetCanvasCtx||
|
|
479
|
+
this.plotArea.ctx,c=w?this._preRenderCtx:b;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx,k=[],d=this.plotArea;c.save();w&&e.save();c.beginPath();c.rect(d.x1,d.y1,d.width,d.height);c.clip();w&&(e.beginPath(),e.rect(d.x1,d.y1,d.width,d.height),e.clip());for(var f=0;f<a.dataSeriesIndexes.length;f++){var t=[],n=a.dataSeriesIndexes[f],q=this.data[n],p=q.dataPoints,k=q.id;this._eventManager.objectMap[k]={objectType:"dataSeries",dataSeriesIndex:n};k=T(k);e.fillStyle=k;var k=[],r=
|
|
480
|
+
!0,h=0,l,s,v,u,D=null;if(0<p.length){var x=q._colorSet[h%q._colorSet.length],A=q.lineColor=q.options.lineColor||x,y=A;c.fillStyle=x;c.strokeStyle=A;c.lineWidth=q.lineThickness;var B="solid";if(c.setLineDash){var E=R(q.nullDataLineDashType,q.lineThickness),B=q.lineDashType,H=R(B,q.lineThickness);c.setLineDash(H)}for(var O=!0;h<p.length;h++)if(u=p[h].x.getTime?p[h].x.getTime():p[h].x,!(u<a.axisX.dataInfo.viewPortMin||u>a.axisX.dataInfo.viewPortMax&&(!q.connectNullData||!O)))if(null!==p[h].y&&p[h].y.length&&
|
|
481
|
+
"number"===typeof p[h].y[0]&&"number"===typeof p[h].y[1]){l=a.axisX.convertValueToPixel(u);s=a.axisY.convertValueToPixel(p[h].y[0]);v=a.axisY.convertValueToPixel(p[h].y[1]);r||O?(q.connectNullData&&!r?(c.setLineDash&&(q.options.nullDataLineDashType||B===q.lineDashType&&q.lineDashType!==q.nullDataLineDashType)&&(t[t.length-1].newLineDashArray=H,B=q.nullDataLineDashType,c.setLineDash(E)),c.lineTo(l,s),w&&e.lineTo(l,s),t.push({x:l,y1:s,y2:v})):(c.beginPath(),c.moveTo(l,s),D={x:l,y:s},t=[],t.push({x:l,
|
|
482
|
+
y1:s,y2:v}),w&&(e.beginPath(),e.moveTo(l,s))),O=r=!1):(c.lineTo(l,s),t.push({x:l,y1:s,y2:v}),w&&e.lineTo(l,s),0==h%250&&g());u=q.dataPointIds[h];this._eventManager.objectMap[u]={id:u,objectType:"dataPoint",dataSeriesIndex:n,dataPointIndex:h,x1:l,y1:s,y2:v};h<p.length-1&&(y!==(p[h].lineColor||A)||B!==(p[h].lineDashType||q.lineDashType))&&(g(),y=p[h].lineColor||A,t[t.length-1].newStrokeStyle=y,c.strokeStyle=y,c.setLineDash&&(p[h].lineDashType?(B=p[h].lineDashType,t[t.length-1].newLineDashArray=R(B,
|
|
483
|
+
q.lineThickness),c.setLineDash(t[t.length-1].newLineDashArray)):(B=q.lineDashType,t[t.length-1].newLineDashArray=H,c.setLineDash(H))));if(0!==p[h].markerSize&&(0<p[h].markerSize||0<q.markerSize)){var P=q.getMarkerProperties(h,l,v,c);k.push(P);var $=T(u);w&&k.push({x:l,y:v,ctx:e,type:P.type,size:P.size,color:$,borderColor:$,borderThickness:P.borderThickness});P=q.getMarkerProperties(h,l,s,c);k.push(P);$=T(u);w&&k.push({x:l,y:s,ctx:e,type:P.type,size:P.size,color:$,borderColor:$,borderThickness:P.borderThickness})}if(p[h].indexLabel||
|
|
484
|
+
q.indexLabel||p[h].indexLabelFormatter||q.indexLabelFormatter)this._indexLabels.push({chartType:"rangeArea",dataPoint:p[h],dataSeries:q,indexKeyword:0,point:{x:l,y:s},direction:p[h].y[0]>p[h].y[1]===a.axisY.reversed?-1:1,color:x}),this._indexLabels.push({chartType:"rangeArea",dataPoint:p[h],dataSeries:q,indexKeyword:1,point:{x:l,y:v},direction:p[h].y[0]>p[h].y[1]===a.axisY.reversed?1:-1,color:x})}else O||r||g(),O=!0;g();m.drawMarkers(k)}}w&&(b.drawImage(this._preRenderCanvas,0,0,this.width,this.height),
|
|
485
|
+
c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(d.x1,d.y1,d.width,d.height),this._eventManager.ghostCtx.restore());c.restore();return{source:b,dest:this.plotArea.ctx,animationCallback:z.xClipAnimation,easingFunction:z.easing.linear,animationBase:0}}};
|
|
486
|
+
v.prototype.renderRangeSplineArea=function(a){function g(a,b){var g=s(v,2);if(0<g.length){if(0<n.lineThickness){c.strokeStyle=b;c.setLineDash&&c.setLineDash(a);c.beginPath();c.moveTo(g[0].x,g[0].y);for(var h=0;h<g.length-3;h+=3){if(g[h].newStrokeStyle||g[h].newLineDashArray)c.stroke(),c.beginPath(),c.moveTo(g[h].x,g[h].y),g[h].newStrokeStyle&&(c.strokeStyle=g[h].newStrokeStyle),g[h].newLineDashArray&&c.setLineDash(g[h].newLineDashArray);c.bezierCurveTo(g[h+1].x,g[h+1].y,g[h+2].x,g[h+2].y,g[h+3].x,
|
|
487
|
+
g[h+3].y)}}c.beginPath();c.moveTo(g[0].x,g[0].y);w&&(e.beginPath(),e.moveTo(g[0].x,g[0].y));for(h=0;h<g.length-3;h+=3)c.bezierCurveTo(g[h+1].x,g[h+1].y,g[h+2].x,g[h+2].y,g[h+3].x,g[h+3].y),w&&e.bezierCurveTo(g[h+1].x,g[h+1].y,g[h+2].x,g[h+2].y,g[h+3].x,g[h+3].y);g=s(A,2);c.lineTo(A[A.length-1].x,A[A.length-1].y);for(h=g.length-1;2<h;h-=3)c.bezierCurveTo(g[h-1].x,g[h-1].y,g[h-2].x,g[h-2].y,g[h-3].x,g[h-3].y),w&&e.bezierCurveTo(g[h-1].x,g[h-1].y,g[h-2].x,g[h-2].y,g[h-3].x,g[h-3].y);c.closePath();c.globalAlpha=
|
|
488
|
+
n.fillOpacity;c.fill();w&&(e.closePath(),e.fill());c.globalAlpha=1;if(0<n.lineThickness){c.strokeStyle=b;c.setLineDash&&c.setLineDash(a);c.beginPath();c.moveTo(g[0].x,g[0].y);for(var k=h=0;h<g.length-3;h+=3,k++){if(v[k].newStrokeStyle||v[k].newLineDashArray)c.stroke(),c.beginPath(),c.moveTo(g[h].x,g[h].y),v[k].newStrokeStyle&&(c.strokeStyle=v[k].newStrokeStyle),v[k].newLineDashArray&&c.setLineDash(v[k].newLineDashArray);c.bezierCurveTo(g[h+1].x,g[h+1].y,g[h+2].x,g[h+2].y,g[h+3].x,g[h+3].y)}g=s(v,
|
|
489
|
+
2);c.moveTo(g[0].x,g[0].y);for(k=h=0;h<g.length-3;h+=3,k++){if(v[k].newStrokeStyle||v[k].newLineDashArray)c.stroke(),c.beginPath(),c.moveTo(g[h].x,g[h].y),v[k].newStrokeStyle&&(c.strokeStyle=v[k].newStrokeStyle),v[k].newLineDashArray&&c.setLineDash(v[k].newLineDashArray);c.bezierCurveTo(g[h+1].x,g[h+1].y,g[h+2].x,g[h+2].y,g[h+3].x,g[h+3].y)}c.stroke()}c.beginPath()}}var b=a.targetCanvasCtx||this.plotArea.ctx,c=w?this._preRenderCtx:b;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx,
|
|
490
|
+
k=[],d=this.plotArea;c.save();w&&e.save();c.beginPath();c.rect(d.x1,d.y1,d.width,d.height);c.clip();w&&(e.beginPath(),e.rect(d.x1,d.y1,d.width,d.height),e.clip());for(var f=0;f<a.dataSeriesIndexes.length;f++){var t=a.dataSeriesIndexes[f],n=this.data[t],q=n.dataPoints,k=n.id;this._eventManager.objectMap[k]={objectType:"dataSeries",dataSeriesIndex:t};k=T(k);e.fillStyle=k;var k=[],p=0,r,h,l,v=[],A=[];if(0<q.length){var u=n._colorSet[p%n._colorSet.length],D=n.lineColor=n.options.lineColor||u,x=D;c.fillStyle=
|
|
491
|
+
u;c.lineWidth=n.lineThickness;var y="solid",B;if(c.setLineDash){var G=R(n.nullDataLineDashType,n.lineThickness),y=n.lineDashType;B=R(y,n.lineThickness)}for(h=!1;p<q.length;p++)if(r=q[p].x.getTime?q[p].x.getTime():q[p].x,!(r<a.axisX.dataInfo.viewPortMin||r>a.axisX.dataInfo.viewPortMax&&(!n.connectNullData||!h)))if(null!==q[p].y&&q[p].y.length&&"number"===typeof q[p].y[0]&&"number"===typeof q[p].y[1]){r=a.axisX.convertValueToPixel(r);h=a.axisY.convertValueToPixel(q[p].y[0]);l=a.axisY.convertValueToPixel(q[p].y[1]);
|
|
492
|
+
var E=n.dataPointIds[p];this._eventManager.objectMap[E]={id:E,objectType:"dataPoint",dataSeriesIndex:t,dataPointIndex:p,x1:r,y1:h,y2:l};v[v.length]={x:r,y:h};A[A.length]={x:r,y:l};p<q.length-1&&(x!==(q[p].lineColor||D)||y!==(q[p].lineDashType||n.lineDashType))&&(x=q[p].lineColor||D,v[v.length-1].newStrokeStyle=x,c.setLineDash&&(q[p].lineDashType?(y=q[p].lineDashType,v[v.length-1].newLineDashArray=R(y,n.lineThickness)):(y=n.lineDashType,v[v.length-1].newLineDashArray=B)));if(0!==q[p].markerSize&&(0<
|
|
493
|
+
q[p].markerSize||0<n.markerSize)){var H=n.getMarkerProperties(p,r,h,c);k.push(H);var O=T(E);w&&k.push({x:r,y:h,ctx:e,type:H.type,size:H.size,color:O,borderColor:O,borderThickness:H.borderThickness});H=n.getMarkerProperties(p,r,l,c);k.push(H);O=T(E);w&&k.push({x:r,y:l,ctx:e,type:H.type,size:H.size,color:O,borderColor:O,borderThickness:H.borderThickness})}if(q[p].indexLabel||n.indexLabel||q[p].indexLabelFormatter||n.indexLabelFormatter)this._indexLabels.push({chartType:"rangeSplineArea",dataPoint:q[p],
|
|
494
|
+
dataSeries:n,indexKeyword:0,point:{x:r,y:h},direction:q[p].y[0]<=q[p].y[1]?-1:1,color:u}),this._indexLabels.push({chartType:"rangeSplineArea",dataPoint:q[p],dataSeries:n,indexKeyword:1,point:{x:r,y:l},direction:q[p].y[0]<=q[p].y[1]?1:-1,color:u});h=!1}else 0<p&&!h&&(n.connectNullData?c.setLineDash&&(0<v.length&&(n.options.nullDataLineDashType||!q[p-1].lineDashType))&&(v[v.length-1].newLineDashArray=G,y=n.nullDataLineDashType):(g(B,D),v=[],A=[])),h=!0;g(B,D);m.drawMarkers(k)}}w&&(b.drawImage(this._preRenderCanvas,
|
|
495
|
+
0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(d.x1,d.y1,d.width,d.height),this._eventManager.ghostCtx.restore());c.restore();return{source:b,dest:this.plotArea.ctx,animationCallback:z.xClipAnimation,easingFunction:z.easing.linear,
|
|
496
|
+
animationBase:0}}};v.prototype.renderWaterfall=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=this._eventManager.ghostCtx,e=null,k=this.plotArea,d=0,f,m,n,q,p=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),d=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;m=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:
|
|
497
|
+
Math.min(0.15*this.width,0.9*(this.plotArea.width/a.plotType.totalDataSeries))<<0;var r=a.axisX.dataInfo.minDiff;isFinite(r)||(r=0.3*Math.abs(a.axisX.range));r=this.options.dataPointWidth?this.dataPointWidth:0.6*(k.width*(a.axisX.logarithmic?Math.log(r)/Math.log(a.axisX.range):Math.abs(r)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&d>m&&(d=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,m));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&m<d)&&
|
|
498
|
+
(m=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,d));r<d&&(r=d);r>m&&(r=m);b.save();w&&this._eventManager.ghostCtx.save();b.beginPath();b.rect(k.x1,k.y1,k.width,k.height);b.clip();w&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(k.x1,k.y1,k.width,k.height),this._eventManager.ghostCtx.clip());for(var h=0;h<a.dataSeriesIndexes.length;h++){var t=a.dataSeriesIndexes[h],l=this.data[t],s=l.dataPoints,e=l._colorSet[0];l.risingColor=l.options.risingColor?l.options.risingColor:
|
|
499
|
+
e;l.fallingColor=l.options.fallingColor?l.options.fallingColor:"#e40a0a";var u="number"===typeof l.options.lineThickness?Math.round(l.lineThickness):1,v=1===Math.round(u)%2?-0.5:0;if(0<s.length)for(var x=5<r&&l.bevelEnabled?!0:!1,A=!1,y=null,B=null,d=0;d<s.length;d++)if(s[d].getTime?q=s[d].x.getTime():q=s[d].x,"number"!==typeof s[d].y){if(0<d&&!A&&l.connectNullData)var E=l.options.nullDataLineDashType||!s[d-1].lineDashType?l.nullDataLineDashType:s[d-1].lineDashType;A=!0}else{f=a.axisX.convertValueToPixel(q);
|
|
500
|
+
m=0===l.dataPointEOs[d].cumulativeSum?p:a.axisY.convertValueToPixel(l.dataPointEOs[d].cumulativeSum);n=0===l.dataPointEOs[d].cumulativeSumYStartValue?p:a.axisY.convertValueToPixel(l.dataPointEOs[d].cumulativeSumYStartValue);f=a.axisX.reversed?f+a.plotType.totalDataSeries*r/2-(a.previousDataSeriesCount+h)*r<<0:f-a.plotType.totalDataSeries*r/2+(a.previousDataSeriesCount+h)*r<<0;var H=a.axisX.reversed?f-r<<0:f+r<<0;m>n&&(e=m,m=n,n=e);a.axisY.reversed&&(e=m,m=n,n=e);e=l.dataPointIds[d];this._eventManager.objectMap[e]=
|
|
501
|
+
{id:e,objectType:"dataPoint",dataSeriesIndex:t,dataPointIndex:d,x1:f,y1:m,x2:H,y2:n};var O=s[d].color?s[d].color:0<s[d].y?l.risingColor:l.fallingColor;Q(b,a.axisX.reversed?H:f,a.axisY.reversed?n:m,a.axisX.reversed?f:H,a.axisY.reversed?m:n,O,0,O,x,x,!1,!1,l.fillOpacity);e=T(e);w&&Q(this._eventManager.ghostCtx,a.axisX.reversed?H:f,m,a.axisX.reversed?f:H,n,e,0,null,!1,!1,!1,!1);var P,O=f;P="undefined"!==typeof s[d].isIntermediateSum&&!0===s[d].isIntermediateSum||"undefined"!==typeof s[d].isCumulativeSum&&
|
|
502
|
+
!0===s[d].isCumulativeSum?0<s[d].y?m:n:0<s[d].y?n:m;0<d&&y&&(!A||l.connectNullData)&&(A&&b.setLineDash&&b.setLineDash(R(E,u)),b.beginPath(),b.moveTo(y,B-v),b.lineTo(O,P-v),0<u&&b.stroke(),w&&(c.beginPath(),c.moveTo(y,B-v),c.lineTo(O,P-v),0<u&&c.stroke()));A=!1;y=H;B=0<s[d].y?m:n;O=s[d].lineDashType?s[d].lineDashType:l.options.lineDashType?l.options.lineDashType:"shortDash";b.strokeStyle=s[d].lineColor?s[d].lineColor:l.options.lineColor?l.options.lineColor:"#9e9e9e";b.lineWidth=u;b.setLineDash&&(O=
|
|
503
|
+
R(O,u),b.setLineDash(O));(s[d].indexLabel||l.indexLabel||s[d].indexLabelFormatter||l.indexLabelFormatter)&&this._indexLabels.push({chartType:"waterfall",dataPoint:s[d],dataSeries:l,point:{x:f+(H-f)/2,y:0<=s[d].y?m:n},direction:0>s[d].y===a.axisY.reversed?1:-1,bounds:{x1:f,y1:Math.min(m,n),x2:H,y2:Math.max(m,n)},color:e})}}w&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),
|
|
504
|
+
a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(k.x1,k.y1,k.width,k.height),this._eventManager.ghostCtx.restore());b.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:z.fadeInAnimation,easingFunction:z.easing.easeInQuad,animationBase:0}}};var d=function(a,g,b,c,e,k,d,f,m){if(!(0>b)){"undefined"===typeof f&&(f=1);if(!w){var n=Number((d%
|
|
505
|
+
(2*Math.PI)).toFixed(8));Number((k%(2*Math.PI)).toFixed(8))===n&&(d-=1E-4)}a.save();a.globalAlpha=f;"pie"===e?(a.beginPath(),a.moveTo(g.x,g.y),a.arc(g.x,g.y,b,k,d,!1),a.fillStyle=c,a.strokeStyle="white",a.lineWidth=2,a.closePath(),a.fill()):"doughnut"===e&&(a.beginPath(),a.arc(g.x,g.y,b,k,d,!1),0<=m&&a.arc(g.x,g.y,m*b,d,k,!0),a.closePath(),a.fillStyle=c,a.strokeStyle="white",a.lineWidth=2,a.fill());a.globalAlpha=1;a.restore()}};v.prototype.renderPie=function(a){function g(){if(n&&q){var a=0,c=0,b=
|
|
506
|
+
0,g=0;f(n.options.indexLabelMaxWidth)&&(n.indexLabelMaxWidth=0.33*r.width);for(var e=0;e<q.length;e++){var k=q[e],d=n.dataPointIds[e];h[e].id=d;h[e].objectType="dataPoint";h[e].dataPointIndex=e;h[e].dataSeriesIndex=0;var p=h[e],m={percent:null,total:null},C=null,m=t.getPercentAndTotal(n,k);if(n.indexLabelFormatter||k.indexLabelFormatter)C={chart:t.options,dataSeries:n,dataPoint:k,total:m.total,percent:m.percent};m=k.indexLabelFormatter?k.indexLabelFormatter(C):k.indexLabel?t.replaceKeywordsWithValue(k.indexLabel,
|
|
507
|
+
k,n,e):n.indexLabelFormatter?n.indexLabelFormatter(C):n.indexLabel?t.replaceKeywordsWithValue(n.indexLabel,k,n,e):k.label?k.label:"";t._eventManager.objectMap[d]=p;p.center={x:x.x,y:x.y};p.y=k.y;p.radius=y;p.percentInnerRadius=E;p.indexLabelText=m;p.indexLabelPlacement=n.indexLabelPlacement;p.indexLabelLineColor=k.indexLabelLineColor?k.indexLabelLineColor:n.options.indexLabelLineColor?n.options.indexLabelLineColor:k.color?k.color:n._colorSet[e%n._colorSet.length];p.indexLabelLineThickness=f(k.indexLabelLineThickness)?
|
|
508
|
+
n.indexLabelLineThickness:k.indexLabelLineThickness;p.indexLabelLineDashType=k.indexLabelLineDashType?k.indexLabelLineDashType:n.indexLabelLineDashType;p.indexLabelFontColor=k.indexLabelFontColor?k.indexLabelFontColor:n.indexLabelFontColor;p.indexLabelFontStyle=k.indexLabelFontStyle?k.indexLabelFontStyle:n.indexLabelFontStyle;p.indexLabelFontWeight=k.indexLabelFontWeight?k.indexLabelFontWeight:n.indexLabelFontWeight;p.indexLabelFontSize=f(k.indexLabelFontSize)?n.indexLabelFontSize:k.indexLabelFontSize;
|
|
509
|
+
p.indexLabelFontFamily=k.indexLabelFontFamily?k.indexLabelFontFamily:n.indexLabelFontFamily;p.indexLabelBackgroundColor=k.indexLabelBackgroundColor?k.indexLabelBackgroundColor:n.options.indexLabelBackgroundColor?n.options.indexLabelBackgroundColor:n.indexLabelBackgroundColor;p.indexLabelBorderColor=k.indexLabelBorderColor?k.indexLabelBorderColor:n.options.indexLabelBorderColor?n.options.indexLabelBorderColor:n.indexLabelBorderColor;p.indexLabelBorderThickness=k.indexLabelBorderThickness?k.indexLabelBorderThickness:
|
|
510
|
+
n.options.indexLabelBorderThickness?n.options.indexLabelBorderThickness:n.indexLabelBorderThickness;p.indexLabelPadding=k.indexLabelPadding?k.indexLabelPadding:n.options.indexLabelPadding?n.options.indexLabelPadding:n.indexLabelPadding;p.indexLabelMaxWidth=k.indexLabelMaxWidth?k.indexLabelMaxWidth:n.indexLabelMaxWidth;p.indexLabelWrap="undefined"!==typeof k.indexLabelWrap?k.indexLabelWrap:n.indexLabelWrap;p.indexLabelTextAlign=k.indexLabelTextAlign?k.indexLabelTextAlign:n.indexLabelTextAlign?n.indexLabelTextAlign:
|
|
511
|
+
"left";p.startAngle=0===e?n.startAngle?n.startAngle/180*Math.PI:0:h[e-1].endAngle;p.startAngle=(p.startAngle+2*Math.PI)%(2*Math.PI);p.endAngle=p.startAngle+2*Math.PI/w*Math.abs(k.y);k=(p.endAngle+p.startAngle)/2;k=(k+2*Math.PI)%(2*Math.PI);p.midAngle=k;if(p.midAngle>Math.PI/2-u&&p.midAngle<Math.PI/2+u){if(0===a||h[b].midAngle>p.midAngle)b=e;a++}else if(p.midAngle>3*Math.PI/2-u&&p.midAngle<3*Math.PI/2+u){if(0===c||h[g].midAngle>p.midAngle)g=e;c++}p.hemisphere=k>Math.PI/2&&k<=3*Math.PI/2?"left":"right";
|
|
512
|
+
p.indexLabelTextBlock=new ka(t.plotArea.ctx,{fontSize:p.indexLabelFontSize,fontFamily:p.indexLabelFontFamily,fontColor:p.indexLabelFontColor,fontStyle:p.indexLabelFontStyle,fontWeight:p.indexLabelFontWeight,textAlign:p.indexLabelTextAlign,backgroundColor:p.indexLabelBackgroundColor,borderColor:p.indexLabelBorderColor,borderThickness:p.indexLabelBorderThickness,maxWidth:p.indexLabelMaxWidth,maxHeight:p.indexLabelWrap?5*p.indexLabelFontSize:1.5*p.indexLabelFontSize,text:p.indexLabelText,padding:p.indexLabelPadding,
|
|
513
|
+
textBaseline:"middle"});p.indexLabelTextBlock.measureText()}d=k=0;m=!1;for(e=0;e<q.length;e++)p=h[(b+e)%q.length],1<a&&(p.midAngle>Math.PI/2-u&&p.midAngle<Math.PI/2+u)&&(k<=a/2&&!m?(p.hemisphere="right",k++):(p.hemisphere="left",m=!0));m=!1;for(e=0;e<q.length;e++)p=h[(g+e)%q.length],1<c&&(p.midAngle>3*Math.PI/2-u&&p.midAngle<3*Math.PI/2+u)&&(d<=c/2&&!m?(p.hemisphere="left",d++):(p.hemisphere="right",m=!0))}}function b(a,c){var b=t.plotArea.ctx;b.clearRect(r.x1,r.y1,r.width,r.height);b.fillStyle=t.backgroundColor;
|
|
514
|
+
b.fillRect(r.x1,r.y1,r.width,r.height);for(b=0;b<q.length;b++){var g=h[b].startAngle,e=h[b].endAngle;if(e>g){var k=0.07*y*Math.cos(h[b].midAngle),f=0.07*y*Math.sin(h[b].midAngle),m=!1;if(q[b].exploded){if(1E-9<Math.abs(h[b].center.x-(x.x+k))||1E-9<Math.abs(h[b].center.y-(x.y+f)))h[b].center.x=x.x+k*a,h[b].center.y=x.y+f*a,m=!0}else if(0<Math.abs(h[b].center.x-x.x)||0<Math.abs(h[b].center.y-x.y))h[b].center.x=x.x+k*(1-a),h[b].center.y=x.y+f*(1-a),m=!0;m&&c&&(k={},k.dataSeries=n,k.dataPoint=n.dataPoints[b],
|
|
515
|
+
k.index=b,t.toolTip.highlightObjects([k]));d(t.plotArea.ctx,h[b].center,h[b].radius,q[b].color?q[b].color:n._colorSet[b%n._colorSet.length],n.type,g,e,n.fillOpacity,h[b].percentInnerRadius)}}b=t.plotArea.ctx;b.save();b.fillStyle="black";b.strokeStyle="grey";b.textBaseline="middle";b.lineJoin="round";for(g=g=0;g<q.length;g++)e=h[g],e.indexLabelText&&(e.indexLabelTextBlock.y-=e.indexLabelTextBlock.height/2-e.indexLabelTextBlock._lineHeight/2,k=0,k="left"===e.hemisphere?"inside"!==n.indexLabelPlacement?
|
|
516
|
+
-(e.indexLabelTextBlock.width+p):-e.indexLabelTextBlock.width/2:"inside"!==n.indexLabelPlacement?p:-e.indexLabelTextBlock.width/2,e.indexLabelTextBlock.x+=k,e.indexLabelTextBlock.render(!0),e.indexLabelTextBlock.x-=k,e.indexLabelTextBlock.y+=e.indexLabelTextBlock.height/2-e.indexLabelTextBlock._lineHeight/2,"inside"!==e.indexLabelPlacement&&0<e.indexLabelLineThickness&&(k=e.center.x+y*Math.cos(e.midAngle),f=e.center.y+y*Math.sin(e.midAngle),b.strokeStyle=e.indexLabelLineColor,b.lineWidth=e.indexLabelLineThickness,
|
|
517
|
+
b.setLineDash&&b.setLineDash(R(e.indexLabelLineDashType,e.indexLabelLineThickness)),b.beginPath(),b.moveTo(k,f),b.lineTo(e.indexLabelTextBlock.x,e.indexLabelTextBlock.y),b.lineTo(e.indexLabelTextBlock.x+("left"===e.hemisphere?-p:p),e.indexLabelTextBlock.y),b.stroke()),b.lineJoin="miter");b.save()}function c(a,c){var b=0,b=a.indexLabelTextBlock.y-a.indexLabelTextBlock.height/2,g=a.indexLabelTextBlock.y+a.indexLabelTextBlock.height/2,e=c.indexLabelTextBlock.y-c.indexLabelTextBlock.height/2,k=c.indexLabelTextBlock.y+
|
|
518
|
+
c.indexLabelTextBlock.height/2;return b=c.indexLabelTextBlock.y>a.indexLabelTextBlock.y?e-g:b-k}function e(a){for(var b=null,g=1;g<q.length;g++)if(b=(a+g+h.length)%h.length,h[b].hemisphere!==h[a].hemisphere){b=null;break}else if(h[b].indexLabelText&&b!==a&&(0>c(h[b],h[a])||("right"===h[a].hemisphere?h[b].indexLabelTextBlock.y>=h[a].indexLabelTextBlock.y:h[b].indexLabelTextBlock.y<=h[a].indexLabelTextBlock.y)))break;else b=null;return b}function k(a,b,g){g=(g||0)+1;if(1E3<g)return 0;b=b||0;var d=0,
|
|
519
|
+
f=x.y-1*s,n=x.y+1*s;if(0<=a&&a<q.length){var p=h[a];if(0>b&&p.indexLabelTextBlock.y<f||0<b&&p.indexLabelTextBlock.y>n)return 0;var r=0,m=0,m=r=r=0;0>b?p.indexLabelTextBlock.y-p.indexLabelTextBlock.height/2>f&&p.indexLabelTextBlock.y-p.indexLabelTextBlock.height/2+b<f&&(b=-(f-(p.indexLabelTextBlock.y-p.indexLabelTextBlock.height/2+b))):p.indexLabelTextBlock.y+p.indexLabelTextBlock.height/2<f&&p.indexLabelTextBlock.y+p.indexLabelTextBlock.height/2+b>n&&(b=p.indexLabelTextBlock.y+p.indexLabelTextBlock.height/
|
|
520
|
+
2+b-n);b=p.indexLabelTextBlock.y+b;f=0;f="right"===p.hemisphere?x.x+Math.sqrt(Math.pow(s,2)-Math.pow(b-x.y,2)):x.x-Math.sqrt(Math.pow(s,2)-Math.pow(b-x.y,2));m=x.x+y*Math.cos(p.midAngle);r=x.y+y*Math.sin(p.midAngle);r=Math.sqrt(Math.pow(f-m,2)+Math.pow(b-r,2));m=Math.acos(y/s);r=Math.acos((s*s+y*y-r*r)/(2*y*s));b=r<m?b-p.indexLabelTextBlock.y:0;f=null;for(n=1;n<q.length;n++)if(f=(a-n+h.length)%h.length,h[f].hemisphere!==h[a].hemisphere){f=null;break}else if(h[f].indexLabelText&&h[f].hemisphere===
|
|
521
|
+
h[a].hemisphere&&f!==a&&(0>c(h[f],h[a])||("right"===h[a].hemisphere?h[f].indexLabelTextBlock.y<=h[a].indexLabelTextBlock.y:h[f].indexLabelTextBlock.y>=h[a].indexLabelTextBlock.y)))break;else f=null;m=f;r=e(a);n=f=0;0>b?(n="right"===p.hemisphere?m:r,d=b,null!==n&&(m=-b,b=p.indexLabelTextBlock.y-p.indexLabelTextBlock.height/2-(h[n].indexLabelTextBlock.y+h[n].indexLabelTextBlock.height/2),b-m<z&&(f=-m,n=k(n,f,g+1),+n.toFixed(D)>+f.toFixed(D)&&(d=b>z?-(b-z):-(m-(n-f)))))):0<b&&(n="right"===p.hemisphere?
|
|
522
|
+
r:m,d=b,null!==n&&(m=b,b=h[n].indexLabelTextBlock.y-h[n].indexLabelTextBlock.height/2-(p.indexLabelTextBlock.y+p.indexLabelTextBlock.height/2),b-m<z&&(f=m,n=k(n,f,g+1),+n.toFixed(D)<+f.toFixed(D)&&(d=b>z?b-z:m-(f-n)))));d&&(g=p.indexLabelTextBlock.y+d,b=0,b="right"===p.hemisphere?x.x+Math.sqrt(Math.pow(s,2)-Math.pow(g-x.y,2)):x.x-Math.sqrt(Math.pow(s,2)-Math.pow(g-x.y,2)),p.midAngle>Math.PI/2-u&&p.midAngle<Math.PI/2+u?(f=(a-1+h.length)%h.length,f=h[f],a=h[(a+1+h.length)%h.length],"left"===p.hemisphere&&
|
|
523
|
+
"right"===f.hemisphere&&b>f.indexLabelTextBlock.x?b=f.indexLabelTextBlock.x-15:"right"===p.hemisphere&&("left"===a.hemisphere&&b<a.indexLabelTextBlock.x)&&(b=a.indexLabelTextBlock.x+15)):p.midAngle>3*Math.PI/2-u&&p.midAngle<3*Math.PI/2+u&&(f=(a-1+h.length)%h.length,f=h[f],a=h[(a+1+h.length)%h.length],"right"===p.hemisphere&&"left"===f.hemisphere&&b<f.indexLabelTextBlock.x?b=f.indexLabelTextBlock.x+15:"left"===p.hemisphere&&("right"===a.hemisphere&&b>a.indexLabelTextBlock.x)&&(b=a.indexLabelTextBlock.x-
|
|
524
|
+
15)),p.indexLabelTextBlock.y=g,p.indexLabelTextBlock.x=b,p.indexLabelAngle=Math.atan2(p.indexLabelTextBlock.y-x.y,p.indexLabelTextBlock.x-x.x))}return d}function m(){var a=t.plotArea.ctx;a.fillStyle="grey";a.strokeStyle="grey";a.font="16px Arial";a.textBaseline="middle";for(var b=a=0,g=0,d=!0,b=0;10>b&&(1>b||0<g);b++){if(n.radius||!n.radius&&"undefined"!==typeof n.innerRadius&&null!==n.innerRadius&&y-g<=B)d=!1;d&&(y-=g);g=0;if("inside"!==n.indexLabelPlacement){s=y*v;for(a=0;a<q.length;a++){var f=
|
|
525
|
+
h[a];f.indexLabelTextBlock.x=x.x+s*Math.cos(f.midAngle);f.indexLabelTextBlock.y=x.y+s*Math.sin(f.midAngle);f.indexLabelAngle=f.midAngle;f.radius=y;f.percentInnerRadius=E}for(var C,l,a=0;a<q.length;a++){var f=h[a],u=e(a);if(null!==u){C=h[a];l=h[u];var w=0,w=c(C,l)-z;if(0>w){for(var A=l=0,na=0;na<q.length;na++)na!==a&&h[na].hemisphere===f.hemisphere&&(h[na].indexLabelTextBlock.y<f.indexLabelTextBlock.y?l++:A++);l=w/(l+A||1)*A;var A=-1*(w-l),H=na=0;"right"===f.hemisphere?(na=k(a,l),A=-1*(w-na),H=k(u,
|
|
526
|
+
A),+H.toFixed(D)<+A.toFixed(D)&&+na.toFixed(D)<=+l.toFixed(D)&&k(a,-(A-H))):(na=k(u,l),A=-1*(w-na),H=k(a,A),+H.toFixed(D)<+A.toFixed(D)&&+na.toFixed(D)<=+l.toFixed(D)&&k(u,-(A-H)))}}}}else for(a=0;a<q.length;a++)f=h[a],s="pie"===n.type?0.7*y:0.85*y,u=x.x+s*Math.cos(f.midAngle),l=x.y+s*Math.sin(f.midAngle),f.indexLabelTextBlock.x=u,f.indexLabelTextBlock.y=l;for(a=0;a<q.length;a++)if(f=h[a],u=f.indexLabelTextBlock.measureText(),0!==u.height&&0!==u.width)u=u=0,"right"===f.hemisphere?(u=r.x2-(f.indexLabelTextBlock.x+
|
|
527
|
+
f.indexLabelTextBlock.width+p),u*=-1):u=r.x1-(f.indexLabelTextBlock.x-f.indexLabelTextBlock.width-p),0<u&&(!d&&f.indexLabelText&&(l="right"===f.hemisphere?r.x2-f.indexLabelTextBlock.x:f.indexLabelTextBlock.x-r.x1,0.3*f.indexLabelTextBlock.maxWidth>l?f.indexLabelText="":f.indexLabelTextBlock.maxWidth=0.85*l,0.3*f.indexLabelTextBlock.maxWidth<l&&(f.indexLabelTextBlock.x-="right"===f.hemisphere?2:-2)),Math.abs(f.indexLabelTextBlock.y-f.indexLabelTextBlock.height/2-x.y)<y||Math.abs(f.indexLabelTextBlock.y+
|
|
528
|
+
f.indexLabelTextBlock.height/2-x.y)<y)&&(u/=Math.abs(Math.cos(f.indexLabelAngle)),9<u&&(u*=0.3),u>g&&(g=u)),u=u=0,0<f.indexLabelAngle&&f.indexLabelAngle<Math.PI?(u=r.y2-(f.indexLabelTextBlock.y+f.indexLabelTextBlock.height/2+5),u*=-1):u=r.y1-(f.indexLabelTextBlock.y-f.indexLabelTextBlock.height/2-5),0<u&&(!d&&f.indexLabelText&&(l=0<f.indexLabelAngle&&f.indexLabelAngle<Math.PI?-1:1,0===k(a,u*l)&&k(a,2*l)),Math.abs(f.indexLabelTextBlock.x-x.x)<y&&(u/=Math.abs(Math.sin(f.indexLabelAngle)),9<u&&(u*=0.3),
|
|
529
|
+
u>g&&(g=u)));var N=function(a,b,c){for(var g=[],e=0;g.push(h[b]),b!==c;b=(b+1+q.length)%q.length);g.sort(function(a,b){return a.y-b.y});for(b=0;b<g.length;b++)if(c=g[b],e<0.7*a)e+=c.indexLabelTextBlock.height,c.indexLabelTextBlock.text="",c.indexLabelText="",c.indexLabelTextBlock.measureText();else break};(function(){for(var a=-1,b=-1,g=0,k=!1,d=0;d<q.length;d++)if(k=!1,C=h[d],C.indexLabelText){var f=e(d);if(null!==f){var n=h[f];w=0;w=c(C,n);var r;if(r=0>w){r=C.indexLabelTextBlock.x;var m=C.indexLabelTextBlock.y-
|
|
530
|
+
C.indexLabelTextBlock.height/2,t=C.indexLabelTextBlock.y+C.indexLabelTextBlock.height/2,l=n.indexLabelTextBlock.y-n.indexLabelTextBlock.height/2,u=n.indexLabelTextBlock.x+n.indexLabelTextBlock.width,z=n.indexLabelTextBlock.y+n.indexLabelTextBlock.height/2;r=C.indexLabelTextBlock.x+C.indexLabelTextBlock.width<n.indexLabelTextBlock.x-p||r>u+p||m>z+p||t<l-p?!1:!0}r?(0>a&&(a=d),f!==a&&(b=f,g+=-w),0===d%Math.max(q.length/10,3)&&(k=!0)):k=!0;k&&(0<g&&0<=a&&0<=b)&&(N(g,a,b),b=a=-1,g=0)}}0<g&&N(g,a,b)})()}}
|
|
531
|
+
function l(){t.plotArea.layoutManager.reset();t.title&&(t.title.dockInsidePlotArea||"center"===t.title.horizontalAlign&&"center"===t.title.verticalAlign)&&t.title.render();if(t.subtitles)for(var a=0;a<t.subtitles.length;a++){var b=t.subtitles[a];(b.dockInsidePlotArea||"center"===b.horizontalAlign&&"center"===b.verticalAlign)&&b.render()}t.legend&&(t.legend.dockInsidePlotArea||"center"===t.legend.horizontalAlign&&"center"===t.legend.verticalAlign)&&(t.legend.setLayout(),t.legend.render())}var t=this;
|
|
532
|
+
if(!(0>=a.dataSeriesIndexes.length)){var n=this.data[a.dataSeriesIndexes[0]],q=n.dataPoints,p=10,r=this.plotArea,h=n.dataPointEOs,z=2,s,v=1.3,u=20/180*Math.PI,D=6,x={x:(r.x2+r.x1)/2,y:(r.y2+r.y1)/2},w=0;a=!1;for(var A=0;A<q.length;A++)w+=Math.abs(q[A].y),!a&&("undefined"!==typeof q[A].indexLabel&&null!==q[A].indexLabel&&0<q[A].indexLabel.toString().length)&&(a=!0),!a&&("undefined"!==typeof q[A].label&&null!==q[A].label&&0<q[A].label.toString().length)&&(a=!0);if(0!==w){a=a||"undefined"!==typeof n.indexLabel&&
|
|
533
|
+
null!==n.indexLabel&&0<n.indexLabel.toString().length;var y="inside"!==n.indexLabelPlacement&&a?0.75*Math.min(r.width,r.height)/2:0.92*Math.min(r.width,r.height)/2;n.radius&&(y=Ta(n.radius,y));var B="undefined"!==typeof n.innerRadius&&null!==n.innerRadius?Ta(n.innerRadius,y):0.7*y,E=Math.min(B/y,(y-1)/y);this.pieDoughnutClickHandler=function(a){t.isAnimating||!f(this.explodeOnClick)&&!this.explodeOnClick||(a=a.dataPoint,a.exploded=a.exploded?!1:!0,1<this.dataPoints.length&&t._animator.animate(0,500,
|
|
534
|
+
function(a){b(a,!0);l();t.dispatchEvent("dataAnimationIterationEnd",{chart:t});t.dispatchEvent("dataAnimationEnd",{chart:t})}))};g();m();m();m();m();this.disableToolTip=!0;this._animator.animate(0,this.animatedRender?this.animationDuration:0,function(a){var b=t.plotArea.ctx;b.clearRect(r.x1,r.y1,r.width,r.height);b.fillStyle=t.backgroundColor;b.fillRect(r.x1,r.y1,r.width,r.height);for(var b=h[0].startAngle+2*Math.PI*a,c=0;c<q.length;c++){var g=0===c?h[c].startAngle:e,e=g+(h[c].endAngle-h[c].startAngle),
|
|
535
|
+
k=!1;e>b&&(e=b,k=!0);var f=q[c].color?q[c].color:n._colorSet[c%n._colorSet.length];e>g&&d(t.plotArea.ctx,h[c].center,h[c].radius,f,n.type,g,e,n.fillOpacity,h[c].percentInnerRadius);if(k)break}l();t.dispatchEvent("dataAnimationIterationEnd",{chart:t});1<=a&&t.dispatchEvent("dataAnimationEnd",{chart:t})},function(){t.disableToolTip=!1;t._animator.animate(0,t.animatedRender?500:0,function(a){b(a,!1);l();t.dispatchEvent("dataAnimationIterationEnd",{chart:t})});t.dispatchEvent("dataAnimationEnd",{chart:t})});
|
|
536
|
+
n.radius=y;"doughnut"===n.type&&(n.innerRadius=B)}}};var t=function(a,g,b,c){"undefined"===typeof b&&(b=1);0>=Math.round(g.y4-g.y1)||(a.save(),a.globalAlpha=b,a.beginPath(),a.moveTo(Math.round(g.x1),Math.round(g.y1)),a.lineTo(Math.round(g.x2),Math.round(g.y2)),a.lineTo(Math.round(g.x3),Math.round(g.y3)),a.lineTo(Math.round(g.x4),Math.round(g.y4)),"undefined"!==g.x5&&(a.lineTo(Math.round(g.x5),Math.round(g.y5)),a.lineTo(Math.round(g.x6),Math.round(g.y6))),a.closePath(),a.fillStyle=c?c:g.color,a.fill(),
|
|
537
|
+
a.globalAplha=1,a.restore())};v.prototype.renderFunnel=function(a){function g(){for(var a=0,b=[],c=0;c<D.length;c++){if("undefined"===typeof D[c].y)return-1;D[c].y="number"===typeof D[c].y?D[c].y:0;a+=Math.abs(D[c].y)}if(0===a)return-1;for(c=b[0]=0;c<D.length;c++)b.push(Math.abs(D[c].y)*E/a);return b}function b(){var a=W,b=T,c=ba,g=Z,e,k;e=M;k=Q-ea;g=Math.abs((k-e)*(b-a+(g-c))/2);c=Z-ba;e=k-e;k=c*(k-Q);k=Math.abs(k);k=g+k;for(var g=[],h=0,d=0;d<D.length;d++){if("undefined"===typeof D[d].y)return-1;
|
|
538
|
+
D[d].y="number"===typeof D[d].y?D[d].y:0;h+=Math.abs(D[d].y)}if(0===h)return-1;for(var f=g[0]=0,n=0,p,q,b=b-a,f=!1,d=0;d<D.length;d++)a=Math.abs(D[d].y)*k/h,f?p=0==Number(c.toFixed(3))?0:a/c:(q=fa*fa*b*b-4*Math.abs(fa)*a,0>q?(q=c,f=(b+q)*(e-n)/2,a-=f,p=e-n,n+=e-n,p+=0==q?0:a/q,n+=a/q,f=!0):(p=(Math.abs(fa)*b-Math.sqrt(q))/2,q=b-2*p/Math.abs(fa),n+=p,n>e&&(n-=p,q=c,f=(b+q)*(e-n)/2,a-=f,p=e-n,n+=e-n,p+=a/q,n+=a/q,f=!0),b=q)),g.push(p);return g}function c(){if(u&&D){for(var a,b,c,g,e,k,d,n,p,q,r,m,C,
|
|
539
|
+
l,t,z,s,v,x=[],L=[],A={percent:null,total:null},F=null,B=0;B<D.length;B++)v=J[B],v="undefined"!==typeof v.x5?(v.y2+v.y4)/2:(v.y2+v.y3)/2,v=h(v).x2+1,x[B]=N-(isNaN(v)?0:v)-X;v=0.5*X;for(var B=0,na=D.length-1;B<D.length||0<=na;B++,na--){b=u.reversed?D[na]:D[B];a=b.color?b.color:u.reversed?u._colorSet[(D.length-1-B)%u._colorSet.length]:u._colorSet[B%u._colorSet.length];c=b.indexLabelPlacement||u.indexLabelPlacement||"outside";s=b.indexLabelTextAlign||u.indexLabelTextAlign||"left";g=b.indexLabelBackgroundColor||
|
|
540
|
+
u.indexLabelBackgroundColor||(w?"transparent":null);e=b.indexLabelBorderColor||u.indexLabelBorderColor||(w?"transparent":null);k=f(b.indexLabelBorderThickness)?u.indexLabelBorderThickness:b.indexLabelBorderThickness;d=f(b.indexLabelPadding)?u.options.indexLabelPadding?u.options.indexLabelPadding:u.indexLabelPadding:b.indexLabelPadding;n=b.indexLabelFontColor||u.indexLabelFontColor||"#979797";p=f(b.indexLabelFontSize)?u.indexLabelFontSize:b.indexLabelFontSize;q=b.indexLabelFontStyle||u.indexLabelFontStyle||
|
|
541
|
+
"normal";r=b.indexLabelFontFamily||u.indexLabelFontFamily||"arial";m=b.indexLabelFontWeight||u.indexLabelFontWeight||"normal";a=b.indexLabelLineColor||u.options.indexLabelLineColor||a;C="number"===typeof b.indexLabelLineThickness?b.indexLabelLineThickness:"number"===typeof u.indexLabelLineThickness?u.indexLabelLineThickness:2;l=b.indexLabelLineDashType||u.indexLabelLineDashType||"solid";t="undefined"!==typeof b.indexLabelWrap?b.indexLabelWrap:"undefined"!==typeof u.indexLabelWrap?u.indexLabelWrap:
|
|
542
|
+
!0;z=u.dataPointIds[B];y._eventManager.objectMap[z]={id:z,objectType:"dataPoint",dataPointIndex:B,dataSeriesIndex:0,funnelSection:J[u.reversed?D.length-1-B:B]};"inside"===u.indexLabelPlacement&&(x[B]=B!==ga?u.reversed?J[B].x2-J[B].x1:J[B].x3-J[B].x4:J[B].x3-J[B].x6,20>x[B]&&(x[B]=B!==ga?u.reversed?J[B].x3-J[B].x4:J[B].x2-J[B].x1:J[B].x2-J[B].x1,x[B]/=2));z=b.indexLabelMaxWidth?b.indexLabelMaxWidth:u.options.indexLabelMaxWidth?u.indexLabelMaxWidth:x[B];if(z>x[B]||0>z)z=x[B];L[B]="inside"===u.indexLabelPlacement?
|
|
543
|
+
t?Math.max(J[B].height,p):1.5*p+("object"===typeof d?(d.top||0)+(d.bottom||0):2*d):!1;A=y.getPercentAndTotal(u,b);if(u.indexLabelFormatter||b.indexLabelFormatter)F={chart:y.options,dataSeries:u,dataPoint:b,total:A.total,percent:A.percent};b=b.indexLabelFormatter?b.indexLabelFormatter(F):b.indexLabel?y.replaceKeywordsWithValue(b.indexLabel,b,u,B):u.indexLabelFormatter?u.indexLabelFormatter(F):u.indexLabel?y.replaceKeywordsWithValue(u.indexLabel,b,u,B):b.label?b.label:"";0>=C&&(C=0);1E3>z&&1E3-z<v&&
|
|
544
|
+
(z+=1E3-z);f(u.options.indexLabelMaxWidth)&&(u.indexLabelMaxWidth=f(u.indexLabelMaxWidth)?z:Math.max(z,u.indexLabelMaxWidth));S.roundRect||Ba(S);c=new ka(S,{fontSize:p,fontFamily:r,fontColor:n,fontStyle:q,fontWeight:m,horizontalAlign:c,textAlign:s,backgroundColor:g,borderColor:e,borderThickness:k,maxWidth:z,maxHeight:!1===L[B]?(t?4.28571429*p:1.5*p)+("object"===typeof d?(d.top||0)+(d.bottom||0):2*d):L[B],text:b,padding:d,textBaseline:"middle"});c.measureText();c.height=c.height===2*c.padding?0:c.height;
|
|
545
|
+
c.width=c.width===2*c.padding?0:c.width;K.push({textBlock:c,id:u.reversed?na:B,isDirty:!1,lineColor:a,lineThickness:C,lineDashType:l,height:c.height<c.maxHeight?c.height:c.maxHeight,width:c.width<c.maxWidth?c.width:c.maxWidth})}}}function e(){var a,b,c,g,e,k=[];e=!1;c=0;for(var h,d=N-T-X/2,d=u.options.indexLabelMaxWidth?u.indexLabelMaxWidth>d?d:u.indexLabelMaxWidth:d,f=K.length-1;0<=f;f--){h=D[K[f].id];c=K[f];g=c.textBlock;b=(a=r(f)<J.length?K[r(f)]:null)?a.textBlock:null;c=c.height;a&&g.y+c+ia>b.y&&
|
|
546
|
+
(e=!0);c=h.indexLabelMaxWidth||d;if(c>d||0>c)c=d;k.push(c)}if(e)for(f=K.length-1;0<=f;f--)a=J[f],K[f].textBlock.maxWidth=k[k.length-(f+1)],K[f].textBlock.measureText(),K[f].textBlock.height=K[f].textBlock.height===2*K[f].textBlock.padding?0:K[f].textBlock.height,K[f].textBlock.width=K[f].textBlock.width===2*K[f].textBlock.padding?0:K[f].textBlock.width,K[f].textBlock.x=N-d,c=K[f].textBlock.height<K[f].textBlock.maxHeight?K[f].textBlock.height:K[f].textBlock.maxHeight,e=K[f].textBlock.width<K[f].textBlock.maxWidth?
|
|
547
|
+
K[f].textBlock.width:K[f].textBlock.maxWidth,K[f].height=c,K[f].width=e,c="undefined"!==typeof a.x5?(a.y2+a.y4)/2:(a.y2+a.y3)/2,K[f].textBlock.y=c-K[f].height/2,u.reversed?(K[f].textBlock.y+K[f].height>Y+A&&(K[f].textBlock.y=Y+A-K[f].height),K[f].textBlock.y<U-A&&(K[f].textBlock.y=U-A)):(K[f].textBlock.y<Y-A&&(K[f].textBlock.y=Y-A),K[f].textBlock.y+K[f].height>U+A&&(K[f].textBlock.y=U+A-K[f].height))}function k(){var a,b,c,g;if("inside"!==u.indexLabelPlacement)for(var e=0;e<J.length;e++)0==K[e].textBlock.text.length?
|
|
548
|
+
K[e].isDirty=!0:(a=J[e],c="undefined"!==typeof a.x5?(a.y2+a.y4)/2:(a.y2+a.y3)/2,b=u.reversed?"undefined"!==typeof a.x5?c>da?h(c).x2+1:(a.x2+a.x3)/2+1:(a.x2+a.x3)/2+1:"undefined"!==typeof a.x5?c<da?h(c).x2+1:(a.x4+a.x3)/2+1:(a.x2+a.x3)/2+1,K[e].textBlock.x=b+X,K[e].textBlock.y=c-K[e].height/2,u.reversed?(K[e].textBlock.y+K[e].height>Y+A&&(K[e].textBlock.y=Y+A-K[e].height),K[e].textBlock.y<U-A&&(K[e].textBlock.y=U-A)):(K[e].textBlock.y<Y-A&&(K[e].textBlock.y=Y-A),K[e].textBlock.y+K[e].height>U+A&&(K[e].textBlock.y=
|
|
549
|
+
U+A-K[e].height)));else for(e=0;e<J.length;e++)0==K[e].textBlock.text.length?K[e].isDirty=!0:(a=J[e],b=a.height,c=K[e].height,g=K[e].width,b>=c?(b=e!=ga?(a.x4+a.x3)/2-g/2:(a.x5+a.x4)/2-g/2,c=e!=ga?(a.y1+a.y3)/2-c/2:(a.y1+a.y4)/2-c/2,K[e].textBlock.x=b,K[e].textBlock.y=c):K[e].isDirty=!0)}function d(){function a(b,c){var g;if(0>b||b>=K.length)return 0;var e,k=K[b].textBlock;if(0>c){c*=-1;e=p(b);g=m(e,b);if(g>=c)return k.y-=c,c;if(0==b)return 0<g&&(k.y-=g),g;g+=a(e,-(c-g));0<g&&(k.y-=g);return g}e=
|
|
550
|
+
r(b);g=m(b,e);if(g>=c)return k.y+=c,c;if(b==J.length-1)return 0<g&&(k.y+=g),g;g+=a(e,c-g);0<g&&(k.y+=g);return g}function b(){var a,g,e,k,h=0,f;k=(Q-M+2*A)/q;f=q;for(var d,n=1;n<f;n++){e=n*k;for(var m=K.length-1;0<=m;m--)!K[m].isDirty&&(K[m].textBlock.y<e&&K[m].textBlock.y+K[m].height>e)&&(d=r(m),!(d>=K.length-1)&&K[m].textBlock.y+K[m].height+ia>K[d].textBlock.y&&(K[m].textBlock.y=K[m].textBlock.y+K[m].height-e>e-K[m].textBlock.y?e+1:e-K[m].height-1))}for(d=J.length-1;0<d;d--)if(!K[d].isDirty){e=
|
|
551
|
+
p(d);if(0>e&&(e=0,K[e].isDirty))break;if(K[d].textBlock.y<K[e].textBlock.y+K[e].height){g=g||d;k=d;for(f=0;K[k].textBlock.y<K[e].textBlock.y+K[e].height+ia;){a=a||K[k].textBlock.y+K[k].height;f+=K[k].height;f+=ia;k=e;if(0>=k){k=0;f+=K[k].height;break}e=p(k);if(0>e){k=0;f+=K[k].height;break}}if(k!=d){h=K[k].textBlock.y;a-=h;a=f-a;h=c(a,g,k);break}}}return h}function c(a,b,g){var e=[],k=0,h=0;for(a=Math.abs(a);g<=b;g++)e.push(J[g]);e.sort(function(a,b){return a.height-b.height});for(g=0;g<e.length;g++)if(b=
|
|
552
|
+
e[g],k<a)h++,k+=K[b.id].height+ia,K[b.id].textBlock.text="",K[b.id].indexLabelText="",K[b.id].isDirty=!0,K[b.id].textBlock.measureText();else break;return h}for(var g,e,k,h,f,n,q=1,C=0;C<2*q;C++){for(var l=K.length-1;0<=l&&!(0<=p(l)&&p(l),k=K[l],h=k.textBlock,n=(f=r(l)<J.length?K[r(l)]:null)?f.textBlock:null,g=+k.height.toFixed(6),e=+h.y.toFixed(6),!k.isDirty&&(f&&e+g+ia>+n.y.toFixed(6))&&(g=h.y+g+ia-n.y,e=a(l,-g),e<g&&(0<e&&(g-=e),e=a(r(l),g),e!=g)));l--);b()}}function m(a,b){return(b<J.length?K[b].textBlock.y:
|
|
553
|
+
u.reversed?Y+A:U+A)-(0>a?u.reversed?U-A:Y-A:K[a].textBlock.y+K[a].height+ia)}function l(a,b,c){var g,e,h,f=[],d=A,p=[];-1!==b&&(0<=V.indexOf(b)?(e=V.indexOf(b),V.splice(e,1)):(V.push(b),V=V.sort(function(a,b){return a-b})));if(0===V.length)f=la;else{e=A*(1!=V.length||0!=V[0]&&V[0]!=J.length-1?2:1)/n();for(var r=0;r<J.length;r++){if(1==V.length&&0==V[0]){if(0===r){f.push(la[r]);g=d;continue}}else 0===r&&(g=-1*d);f.push(la[r]+g);if(0<=V.indexOf(r)||r<J.length&&0<=V.indexOf(r+1))g+=e}}h=function(){for(var a=
|
|
554
|
+
[],b=0;b<J.length;b++)a.push(f[b]-J[b].y1);return a}();var m={startTime:(new Date).getTime(),duration:c||500,easingFunction:function(a,b,c,g){return z.easing.easeOutQuart(a,b,c,g)},changeSection:function(a){for(var b,c,g=0;g<J.length;g++)b=h[g],c=J[g],b*=a,"undefined"===typeof p[g]&&(p[g]=0),0>p&&(p*=-1),c.y1+=b-p[g],c.y2+=b-p[g],c.y3+=b-p[g],c.y4+=b-p[g],c.y5&&(c.y5+=b-p[g],c.y6+=b-p[g]),p[g]=b}};a._animator.animate(0,c,function(c){var g=a.plotArea.ctx||a.ctx;ja=!0;g.clearRect(x.x1,x.y1,x.x2-x.x1,
|
|
555
|
+
x.y2-x.y1);g.fillStyle=a.backgroundColor;g.fillRect(x.x1,x.y1,x.width,x.height);m.changeSection(c,b);var e={};e.dataSeries=u;e.dataPoint=u.reversed?u.dataPoints[D.length-1-b]:u.dataPoints[b];e.index=u.reversed?D.length-1-b:b;a.toolTip.highlightObjects([e]);for(e=0;e<J.length;e++)t(g,J[e],u.fillOpacity);v(g);O&&("inside"!==u.indexLabelPlacement?q(g):k(),s(g));1<=c&&(ja=!1)},null,z.easing.easeOutQuart)}function n(){for(var a=0,b=0;b<J.length-1;b++)(0<=V.indexOf(b)||0<=V.indexOf(b+1))&&a++;return a}
|
|
556
|
+
function q(a){for(var b,c,g,e,k=0;k<J.length;k++)e=1===K[k].lineThickness%2?0.5:0,c=((J[k].y2+J[k].y4)/2<<0)+e,b=h(c).x2-1,isNaN(b)&&(Math.round(J[k].x1)===Math.round(J[k].x4)&&Math.round(J[k].x2)===Math.round(J[k].x3))&&(b=J[k].x2),g=K[k].textBlock.x,e=(K[k].textBlock.y+K[k].height/2<<0)+e,K[k].isDirty||0==K[k].lineThickness||(a.strokeStyle=K[k].lineColor,a.lineWidth=K[k].lineThickness,a.setLineDash&&a.setLineDash(R(K[k].lineDashType,K[k].lineThickness)),a.beginPath(),a.moveTo(b,c),a.lineTo(g,e),
|
|
557
|
+
a.stroke())}function p(a){for(a-=1;-1<=a&&-1!=a&&K[a].isDirty;a--);return a}function r(a){for(a+=1;a<=J.length&&a!=J.length&&K[a].isDirty;a++);return a}function h(a){for(var b,c=0;c<D.length;c++)if(J[c].y1<a&&J[c].y4>a){b=J[c];break}return b?(a=b.y6?a>b.y6?b.x3+(b.x4-b.x3)/(b.y4-b.y3)*(a-b.y3):b.x2+(b.x3-b.x2)/(b.y3-b.y2)*(a-b.y2):b.x2+(b.x3-b.x2)/(b.y3-b.y2)*(a-b.y2),{x1:a,x2:a}):-1}function s(a){for(var b=0;b<J.length;b++)K[b].isDirty||(a&&(K[b].textBlock.ctx=a),K[b].textBlock.y+=K[b].textBlock._lineHeight/
|
|
558
|
+
2,K[b].textBlock.render(!0),K[b].textBlock.y-=K[b].textBlock._lineHeight/2)}function v(a){y.plotArea.layoutManager.reset();a.roundRect||Ba(a);y.title&&(y.title.dockInsidePlotArea||"center"===y.title.horizontalAlign&&"center"===y.title.verticalAlign)&&(y.title.ctx=a,y.title.render());if(y.subtitles)for(var b=0;b<y.subtitles.length;b++){var c=y.subtitles[b];if(c.dockInsidePlotArea||"center"===c.horizontalAlign&&"center"===c.verticalAlign)y.subtitles.ctx=a,c.render()}y.legend&&(y.legend.dockInsidePlotArea||
|
|
559
|
+
"center"===y.legend.horizontalAlign&&"center"===y.legend.verticalAlign)&&(y.legend.ctx=a,y.legend.setLayout(),y.legend.render());za.fNg&&za.fNg(y)}var y=this;if(!(0>=a.dataSeriesIndexes.length)){for(var u=this.data[a.dataSeriesIndexes[0]],D=u.dataPoints,x=this.plotArea,A=0.025*x.width,B=0.01*x.width,G=0,E=x.height-2*A-4,H=Math.min(x.width-2*B,2.8*x.height),O=!1,P=0;P<D.length;P++)if(!O&&("undefined"!==typeof D[P].indexLabel&&null!==D[P].indexLabel&&0<D[P].indexLabel.toString().length)&&(O=!0),!O&&
|
|
560
|
+
("undefined"!==typeof D[P].label&&null!==D[P].label&&0<D[P].label.toString().length)&&(O=!0),!O&&"function"===typeof u.indexLabelFormatter||"function"===typeof D[P].indexLabelFormatter)O=!0;O=O||"undefined"!==typeof u.indexLabel&&null!==u.indexLabel&&0<u.indexLabel.toString().length;"inside"!==u.indexLabelPlacement&&O||(B=(x.width-0.75*H)/2);var P=x.x1+B,N=x.x2-B,M=x.y1+A+2,Q=x.y2-A-2,S=a.targetCanvasCtx||this.plotArea.ctx||this.ctx;if(0!=u.length&&(u.dataPoints&&u.visible)&&0!==D.length){var ea,
|
|
561
|
+
I;a=75*H/100;var X=30*(N-a)/100;"funnel"===u.type?(ea=f(u.options.neckHeight)?0.35*E:u.neckHeight,I=f(u.options.neckWidth)?0.25*a:u.neckWidth,"string"===typeof ea&&ea.match(/%$/)?(ea=parseInt(ea),ea=ea*E/100):ea=parseInt(ea),"string"===typeof I&&I.match(/%$/)?(I=parseInt(I),I=I*a/100):I=parseInt(I),ea>E?ea=E:0>=ea&&(ea=0),I>a?I=a-0.5:0>=I&&(I=0)):"pyramid"===u.type&&(I=ea=0,u.reversed=u.reversed?!1:!0);var B=P+a/2,W=P,T=P+a,Y=u.reversed?Q:M,ba=B-I/2,Z=B+I/2,da=u.reversed?M+ea:Q-ea,U=u.reversed?M:
|
|
562
|
+
Q;I=u.valueRepresents=u.valueRepresents?u.valueRepresents:"height";P=[];a=[];var J=[],B=[],ca=M,ga,fa=(da-Y)/(ba-W),ma=-fa,H="area"===I?b():g();if(-1!==H){if(u.reversed)for(B.push(ca),I=H.length-1;0<I;I--)ca+=H[I],B.push(Math.round(ca));else for(I=0;I<H.length;I++)ca+=H[I],B.push(Math.round(ca));if(u.reversed)for(I=0;I<H.length;I++)B[I]<da?(P.push(ba),a.push(Z),ga=I):(P.push((B[I]-Y+fa*W)/fa),a.push((B[I]-Y+ma*T)/ma));else for(I=0;I<H.length;I++)B[I]<da?(P.push((B[I]-Y+fa*W)/fa),a.push((B[I]-Y+ma*
|
|
563
|
+
T)/ma),ga=I):(P.push(ba),a.push(Z));for(I=0;I<H.length-1;I++)ca=u.reversed?D[D.length-1-I].color?D[D.length-1-I].color:u._colorSet[(D.length-1-I)%u._colorSet.length]:D[I].color?D[I].color:u._colorSet[I%u._colorSet.length],I===ga?J.push({x1:P[I],y1:B[I],x2:a[I],y2:B[I],x3:Z,y3:da,x4:a[I+1],y4:B[I+1],x5:P[I+1],y5:B[I+1],x6:ba,y6:da,id:I,height:B[I+1]-B[I],color:ca}):J.push({x1:P[I],y1:B[I],x2:a[I],y2:B[I],x3:a[I+1],y3:B[I+1],x4:P[I+1],y4:B[I+1],id:I,height:B[I+1]-B[I],color:ca}),u.dataPointEOs[I]&&
|
|
564
|
+
J[I]&&(u.dataPointEOs[I].sectionsofFunnel=J[I]);var ia=2,K=[],ja=!1,V=[],la=[],P=!1;a=a=0;ua(V);for(I=0;I<D.length;I++)D[I].exploded&&(P=!0,u.reversed?V.push(D.length-1-I):V.push(I));S.clearRect(x.x1,x.y1,x.width,x.height);S.fillStyle=y.backgroundColor;S.fillRect(x.x1,x.y1,x.width,x.height);if(O&&u.visible&&(c(),k(),"inside"!==u.indexLabelPlacement)){e();d();for(I=0;I<D.length;I++)K[I].isDirty||(a=K[I].textBlock.x+K[I].width,a=(N-a)/2,0==I&&(G=a),G>a&&(G=a));for(I=0;I<J.length;I++)J[I].x1+=G,J[I].x2+=
|
|
565
|
+
G,J[I].x3+=G,J[I].x4+=G,J[I].x5&&(J[I].x5+=G,J[I].x6+=G),K[I].textBlock.x+=G}for(I=0;I<J.length;I++)G=J[I],t(S,G,u.fillOpacity),la.push(G.y1);v(S);O&&u.visible&&("inside"===u.indexLabelPlacement||y.animationEnabled||q(S),y.animationEnabled||s());if(!O)for(I=0;I<D.length;I++)G=u.dataPointIds[I],a={id:G,objectType:"dataPoint",dataPointIndex:I,dataSeriesIndex:0,funnelSection:J[u.reversed?D.length-1-I:I]},y._eventManager.objectMap[G]=a;!y.animationEnabled&&P?l(y,-1,0):y.animationEnabled&&!y.animatedRender&&
|
|
566
|
+
l(y,-1,0);this.funnelPyramidClickHandler=function(a){var b=-1;if(!ja&&!y.isAnimating&&(f(a.dataSeries.explodeOnClick)||a.dataSeries.explodeOnClick)&&(b=u.reversed?D.length-1-a.dataPointIndex:a.dataPointIndex,0<=b)){a=b;if("funnel"===u.type||"pyramid"===u.type)u.reversed?D[D.length-1-a].exploded=D[D.length-1-a].exploded?!1:!0:D[a].exploded=D[a].exploded?!1:!0;l(y,b,500)}};return{source:S,dest:this.plotArea.ctx,animationCallback:function(a,b){z.fadeInAnimation(a,b);1<=a&&(l(y,-1,500),v(y.plotArea.ctx||
|
|
567
|
+
y.ctx))},easingFunction:z.easing.easeInQuad,animationBase:0}}}}};v.prototype.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){window.setTimeout(a,1E3/60)}}();v.prototype.cancelRequestAnimFrame=window.cancelAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||
|
|
568
|
+
clearTimeout;v.prototype.set=function(a,g,b){b="undefined"===typeof b?!0:b;"options"===a?(this.options=g,b&&this.render()):v.base.set.call(this,a,g,b)};v.prototype.exportChart=function(a){a="undefined"===typeof a?{}:a;var g=a.format?a.format:"png",b=a.fileName?a.fileName:this.exportFileName;if(a.toDataURL)return this.canvas.toDataURL("image/"+g);ab(this.canvas,g,b)};v.prototype.print=function(){var a=this.exportChart({toDataURL:!0}),g=document.createElement("iframe");g.setAttribute("class","canvasjs-chart-print-frame");
|
|
569
|
+
S(g,{position:"absolute",width:"100%",border:"0px",margin:"0px 0px 0px 0px",padding:"0px 0px 0px 0px"});g.style.height=this.height+"px";this._canvasJSContainer.appendChild(g);var b=this,c=g.contentWindow||g.contentDocument.document||g.contentDocument;c.document.open();c.document.write('<!DOCTYPE HTML>\n<html><body><img src="'+a+'"/><body/></html>');c.document.body&&c.document.body.style&&(c.document.body.style.margin="0px 0px 0px 0px",c.document.body.style.padding="0px 0px 0px 0px");c.document.close();
|
|
570
|
+
setTimeout(function(){c.focus();c.print();setTimeout(function(){b._canvasJSContainer.removeChild(g)},1E3)},500)};v.prototype.getPercentAndTotal=function(a,g){var b=null,c=null,e=b=null;if(0<=a.type.indexOf("stacked"))c=0,b=g.x.getTime?g.x.getTime():g.x,b in a.plotUnit.yTotals&&(c=a.plotUnit.yTotals[b],b=a.plotUnit.yAbsTotals[b],e=isNaN(g.y)?0:0===b?0:100*(g.y/b));else if("pie"===a.type||"doughnut"===a.type||"funnel"===a.type||"pyramid"===a.type){for(b=c=0;b<a.dataPoints.length;b++)isNaN(a.dataPoints[b].y)||
|
|
571
|
+
(c+=a.dataPoints[b].y);e=isNaN(g.y)?0:100*(g.y/c)}return{percent:e,total:c}};v.prototype.replaceKeywordsWithValue=function(a,g,b,c,e){var k=this;e="undefined"===typeof e?0:e;if((0<=b.type.indexOf("stacked")||"pie"===b.type||"doughnut"===b.type||"funnel"===b.type||"pyramid"===b.type)&&(0<=a.indexOf("#percent")||0<=a.indexOf("#total"))){var f="#percent",d="#total",m=this.getPercentAndTotal(b,g),d=isNaN(m.total)?d:m.total,f=isNaN(m.percent)?f:m.percent;do{m="";if(b.percentFormatString)m=b.percentFormatString;
|
|
572
|
+
else{var m="#,##0.",n=Math.max(Math.ceil(Math.log(1/Math.abs(f))/Math.LN10),2);if(isNaN(n)||!isFinite(n))n=2;for(var q=0;q<n;q++)m+="#";b.percentFormatString=m}a=a.replace("#percent",da(f,m,k._cultureInfo));a=a.replace("#total",da(d,b.yValueFormatString?b.yValueFormatString:"#,##0.########",k._cultureInfo))}while(0<=a.indexOf("#percent")||0<=a.indexOf("#total"))}return a.replace(/\{.*?\}|"[^"]*"|'[^']*'/g,function(a){if('"'===a[0]&&'"'===a[a.length-1]||"'"===a[0]&&"'"===a[a.length-1])return a.slice(1,
|
|
573
|
+
a.length-1);a=La(a.slice(1,a.length-1));a=a.replace("#index",e);var f=null;try{var h=a.match(/(.*?)\s*\[\s*(.*?)\s*\]/);h&&0<h.length&&(f=La(h[2]),a=La(h[1]))}catch(d){}h=null;if("color"===a)return"waterfall"===b.type?g.color?g.color:0<g.y?b.risingColor:b.fallingColor:"error"===b.type?b.color?b.color:b._colorSet[f%b._colorSet.length]:g.color?g.color:b.color?b.color:b._colorSet[c%b._colorSet.length];if(g.hasOwnProperty(a))h=g;else if(b.hasOwnProperty(a))h=b;else return"";h=h[a];null!==f&&(h=h[f]);
|
|
574
|
+
return"x"===a?(b.axisX&&"dateTime"===b.axisX.valueType||"dateTime"===b.xValueType||g.x&&g.x.getTime)&&!b.axisX.logarithmic?pa(h,g.xValueFormatString?g.xValueFormatString:b.xValueFormatString?b.xValueFormatString:b.xValueFormatString=k.axisX&&k.axisX.autoValueFormatString?k.axisX.autoValueFormatString:"DD MMM YY",k._cultureInfo):da(h,g.xValueFormatString?g.xValueFormatString:b.xValueFormatString?b.xValueFormatString:b.xValueFormatString="#,##0.########",k._cultureInfo):"y"===a?da(h,g.yValueFormatString?
|
|
575
|
+
g.yValueFormatString:b.yValueFormatString?b.yValueFormatString:b.yValueFormatString="#,##0.########",k._cultureInfo):"z"===a?da(h,g.zValueFormatString?g.zValueFormatString:b.zValueFormatString?b.zValueFormatString:b.zValueFormatString="#,##0.########",k._cultureInfo):h})};ga(B,Y);B.prototype.setLayout=function(){var a=this.dockInsidePlotArea?this.chart.plotArea:this.chart,g=a.layoutManager.getFreeSpace(),b=null,c=0,e=0,k=0,d=0,m=this.markerMargin=this.chart.options.legend&&!f(this.chart.options.legend.markerMargin)?
|
|
576
|
+
this.chart.options.legend.markerMargin:0.3*this.fontSize;this.height=0;var l=[],n=[];if("top"===this.verticalAlign||"bottom"===this.verticalAlign)this.orientation="horizontal",b=this.verticalAlign,k=this.maxWidth=null!==this.maxWidth?this.maxWidth:g.width,d=this.maxHeight=null!==this.maxHeight?this.maxHeight:0.5*g.height;else if("center"===this.verticalAlign){this.orientation="vertical";if("left"===this.horizontalAlign||"center"===this.horizontalAlign||"right"===this.horizontalAlign)b=this.horizontalAlign;
|
|
577
|
+
k=this.maxWidth=null!==this.maxWidth?this.maxWidth:0.5*g.width;d=this.maxHeight=null!==this.maxHeight?this.maxHeight:g.height}this.errorMarkerColor=[];for(var q=0;q<this.dataSeries.length;q++){var p=this.dataSeries[q];if(p.dataPoints&&p.dataPoints.length){if("pie"!==p.type&&"doughnut"!==p.type&&"funnel"!==p.type&&"pyramid"!==p.type){var r=p.legendMarkerType=p.legendMarkerType?p.legendMarkerType:"line"!==p.type&&"stepLine"!==p.type&&"spline"!==p.type&&"scatter"!==p.type&&"bubble"!==p.type||!p.markerType?
|
|
578
|
+
"error"===p.type&&p._linkedSeries?p._linkedSeries.legendMarkerType?p._linkedSeries.legendMarkerType:H.getDefaultLegendMarker(p._linkedSeries.type):H.getDefaultLegendMarker(p.type):p.markerType,h=p.legendText?p.legendText:this.itemTextFormatter?this.itemTextFormatter({chart:this.chart,legend:this.options,dataSeries:p,dataPoint:null}):p.name,t=p.legendMarkerColor=p.legendMarkerColor?p.legendMarkerColor:p.markerColor?p.markerColor:"error"===p.type?f(p.whiskerColor)?p._colorSet[0]:p.whiskerColor:p._colorSet[0],
|
|
579
|
+
z=p.markerSize||"line"!==p.type&&"stepLine"!==p.type&&"spline"!==p.type?0.75*this.lineHeight:0,s=p.legendMarkerBorderColor?p.legendMarkerBorderColor:p.markerBorderColor,u=p.legendMarkerBorderThickness?p.legendMarkerBorderThickness:p.markerBorderThickness?Math.max(1,Math.round(0.2*z)):0;"error"===p.type&&this.errorMarkerColor.push(t);h=p.legendText=this.chart.replaceKeywordsWithValue(h,p.dataPoints[0],p,q);r={markerType:r,markerColor:t,text:h,textBlock:null,chartType:p.type,markerSize:z,lineColor:p._colorSet[0],
|
|
580
|
+
dataSeriesIndex:p.index,dataPointIndex:null,markerBorderColor:s,markerBorderThickness:u};l.push(r)}else for(var v=0;v<p.dataPoints.length;v++){var x=p.dataPoints[v],r=x.legendMarkerType?x.legendMarkerType:p.legendMarkerType?p.legendMarkerType:H.getDefaultLegendMarker(p.type),h=x.legendText?x.legendText:x.name?x.name:p.legendText?p.legendText:this.itemTextFormatter?this.itemTextFormatter({chart:this.chart,legend:this.options,dataSeries:p,dataPoint:x}):x.name?x.name:"DataPoint: "+(v+1),t=x.legendMarkerColor?
|
|
581
|
+
x.legendMarkerColor:p.legendMarkerColor?p.legendMarkerColor:x.color?x.color:p.color?p.color:p._colorSet[v%p._colorSet.length],z=0.75*this.lineHeight,s=x.legendMarkerBorderColor?x.legendMarkerBorderColor:p.legendMarkerBorderColor?p.legendMarkerBorderColor:x.markerBorderColor?x.markerBorderColor:p.markerBorderColor,u=x.legendMarkerBorderThickness?x.legendMarkerBorderThickness:p.legendMarkerBorderThickness?p.legendMarkerBorderThickness:x.markerBorderThickness||p.markerBorderThickness?Math.max(1,Math.round(0.2*
|
|
582
|
+
z)):0,h=this.chart.replaceKeywordsWithValue(h,x,p,v),r={markerType:r,markerColor:t,text:h,textBlock:null,chartType:p.type,markerSize:z,dataSeriesIndex:q,dataPointIndex:v,markerBorderColor:s,markerBorderThickness:u};(x.showInLegend||p.showInLegend&&!1!==x.showInLegend)&&l.push(r)}f(p.legendText)&&(p.legendText=p.name)}}!0===this.reversed&&l.reverse();if(0<l.length){p=null;h=x=v=0;x=null!==this.itemWidth?null!==this.itemMaxWidth?Math.min(this.itemWidth,this.itemMaxWidth,k):this.itemMaxWidth=Math.min(this.itemWidth,
|
|
583
|
+
k):null!==this.itemMaxWidth?Math.min(this.itemMaxWidth,k):this.itemMaxWidth=k;z=0===z?0.75*this.lineHeight:z;x=(this.itemMaxWidth?this.itemMaxWidth:x)-(z+m);for(q=0;q<l.length;q++){r=l[q];t=x;if("line"===r.chartType||"spline"===r.chartType||"stepLine"===r.chartType)t-=2*0.1*this.lineHeight;if(!(0>=d||"undefined"===typeof d||0>=t||"undefined"===typeof t))if("horizontal"===this.orientation){r.textBlock=new ka(this.ctx,{x:0,y:0,maxWidth:t,maxHeight:this.itemWrap?d:this.lineHeight,angle:0,text:r.text,
|
|
584
|
+
textAlign:this.itemTextAlign,fontSize:this.fontSize,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontColor:this.fontColor,fontStyle:this.fontStyle,textBaseline:"middle"});r.textBlock.measureText();null!==this.itemWidth&&(r.textBlock.width=this.itemWidth-(z+m+("line"===r.chartType||"spline"===r.chartType||"stepLine"===r.chartType?2*0.1*this.lineHeight:0)));if(!p||p.width+Math.round(r.textBlock.width+z+m+(0===p.width?0:this.horizontalSpacing)+("line"===r.chartType||"spline"===r.chartType||
|
|
585
|
+
"stepLine"===r.chartType?2*0.1*this.lineHeight:0))>k)p={items:[],width:0},n.push(p),this.height+=h,h=0;h=Math.max(h,r.textBlock.height?r.textBlock.height:this.lineHeight);r.textBlock.x=p.width;r.textBlock.y=0;p.width+=Math.round(r.textBlock.width+z+m+(0===p.width?0:this.horizontalSpacing)+("line"===r.chartType||"spline"===r.chartType||"stepLine"===r.chartType?2*0.1*this.lineHeight:0));p.items.push(r);this.width=Math.max(p.width,this.width)}else r.textBlock=new ka(this.ctx,{x:0,y:0,maxWidth:x,maxHeight:!0===
|
|
586
|
+
this.itemWrap?d:1.5*this.fontSize,angle:0,text:r.text,textAlign:this.itemTextAlign,fontSize:this.fontSize,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontColor:this.fontColor,fontStyle:this.fontStyle,textBaseline:"middle"}),r.textBlock.measureText(),null!==this.itemWidth&&(r.textBlock.width=this.itemWidth-(z+m+("line"===r.chartType||"spline"===r.chartType||"stepLine"===r.chartType?2*0.1*this.lineHeight:0))),this.height<d-this.lineHeight?(p={items:[],width:0},n.push(p)):(p=n[v],v=(v+1)%n.length),
|
|
587
|
+
p&&(this.height+=r.textBlock.height?r.textBlock.height:this.lineHeight,r.textBlock.x=p.width,r.textBlock.y=0,p.width+=Math.round(r.textBlock.width+z+m+(0===p.width?0:this.horizontalSpacing)+("line"===r.chartType||"spline"===r.chartType||"stepLine"===r.chartType?2*0.1*this.lineHeight:0)),p.items.push(r),this.width=Math.max(p.width,this.width))}this.height=!1===this.itemWrap?n.length*this.lineHeight:this.height+h;this.height=Math.min(d,this.height);this.width=Math.min(k,this.width)}"top"===this.verticalAlign?
|
|
588
|
+
(e="left"===this.horizontalAlign?g.x1:"right"===this.horizontalAlign?g.x2-this.width:g.x1+g.width/2-this.width/2,c=g.y1):"center"===this.verticalAlign?(e="left"===this.horizontalAlign?g.x1:"right"===this.horizontalAlign?g.x2-this.width:g.x1+g.width/2-this.width/2,c=g.y1+g.height/2-this.height/2):"bottom"===this.verticalAlign&&(e="left"===this.horizontalAlign?g.x1:"right"===this.horizontalAlign?g.x2-this.width:g.x1+g.width/2-this.width/2,c=g.y2-this.height);this.items=l;for(q=0;q<this.items.length;q++)r=
|
|
589
|
+
l[q],r.id=++this.chart._eventManager.lastObjectId,this.chart._eventManager.objectMap[r.id]={id:r.id,objectType:"legendItem",legendItemIndex:q,dataSeriesIndex:r.dataSeriesIndex,dataPointIndex:r.dataPointIndex};this.markerSize=z;this.rows=n;0<l.length&&a.layoutManager.registerSpace(b,{width:this.width+2+2,height:this.height+5+5});this.bounds={x1:e,y1:c,x2:e+this.width,y2:c+this.height}};B.prototype.render=function(){var a=this.bounds.x1,g=this.bounds.y1,b=this.markerMargin,c=this.maxWidth,e=this.maxHeight,
|
|
590
|
+
k=this.markerSize,f=this.rows;(0<this.borderThickness&&this.borderColor||this.backgroundColor)&&this.ctx.roundRect(a,g,this.width,this.height,this.cornerRadius,this.borderThickness,this.backgroundColor,this.borderColor);for(var d=0,l=0;l<f.length;l++){for(var n=f[l],q=0,p=0;p<n.items.length;p++){var r=n.items[p],h=r.textBlock.x+a+(0===p?0.2*k:this.horizontalSpacing),t=g+d,z=h;this.chart.data[r.dataSeriesIndex].visible||(this.ctx.globalAlpha=0.5);this.ctx.save();this.ctx.beginPath();this.ctx.rect(a,
|
|
591
|
+
g,c,Math.max(e-e%this.lineHeight,0));this.ctx.clip();if("line"===r.chartType||"stepLine"===r.chartType||"spline"===r.chartType)this.ctx.strokeStyle=r.lineColor,this.ctx.lineWidth=Math.ceil(this.lineHeight/8),this.ctx.beginPath(),this.ctx.moveTo(h-0.1*this.lineHeight,t+this.lineHeight/2),this.ctx.lineTo(h+0.85*this.lineHeight,t+this.lineHeight/2),this.ctx.stroke(),z-=0.1*this.lineHeight;if("error"===r.chartType){this.ctx.strokeStyle=this.errorMarkerColor[0];this.ctx.lineWidth=k/8;this.ctx.beginPath();
|
|
592
|
+
var s=h-0.08*this.lineHeight+0.1*this.lineHeight,u=t+0.15*this.lineHeight,v=0.7*this.lineHeight,x=v+0.02*this.lineHeight;this.ctx.moveTo(s,u);this.ctx.lineTo(s+v,u);this.ctx.stroke();this.ctx.beginPath();this.ctx.moveTo(s+v/2,u);this.ctx.lineTo(s+v/2,u+x);this.ctx.stroke();this.ctx.beginPath();this.ctx.moveTo(s,u+x);this.ctx.lineTo(s+v,u+x);this.ctx.stroke();this.errorMarkerColor.shift()}m.drawMarker(h+k/2,t+this.lineHeight/2,this.ctx,r.markerType,"error"===r.chartType||"line"===r.chartType||"spline"===
|
|
593
|
+
r.chartType?r.markerSize/2:r.markerSize,r.markerColor,r.markerBorderColor,r.markerBorderThickness);r.textBlock.x=h+b+k;if("line"===r.chartType||"stepLine"===r.chartType||"spline"===r.chartType)r.textBlock.x+=0.1*this.lineHeight;r.textBlock.y=Math.round(t+this.lineHeight/2);r.textBlock.render(!0);this.ctx.restore();q=0<p?Math.max(q,r.textBlock.height?r.textBlock.height:this.lineHeight):r.textBlock.height?r.textBlock.height:this.lineHeight;this.chart.data[r.dataSeriesIndex].visible||(this.ctx.globalAlpha=
|
|
594
|
+
1);h=T(r.id);this.ghostCtx.fillStyle=h;this.ghostCtx.beginPath();this.ghostCtx.fillRect(z,r.textBlock.y-this.lineHeight/2,r.textBlock.x+r.textBlock.width-z,r.textBlock.height?r.textBlock.height:this.lineHeight);r.x1=this.chart._eventManager.objectMap[r.id].x1=z;r.y1=this.chart._eventManager.objectMap[r.id].y1=r.textBlock.y-this.lineHeight/2;r.x2=this.chart._eventManager.objectMap[r.id].x2=r.textBlock.x+r.textBlock.width;r.y2=this.chart._eventManager.objectMap[r.id].y2=r.textBlock.y+(r.textBlock.height?
|
|
595
|
+
r.textBlock.height:this.lineHeight)-this.lineHeight/2}d+=q}};ga(H,Y);H.prototype.getDefaultAxisPlacement=function(){var a=this.type;if("column"===a||"line"===a||"stepLine"===a||"spline"===a||"area"===a||"stepArea"===a||"splineArea"===a||"stackedColumn"===a||"stackedLine"===a||"bubble"===a||"scatter"===a||"stackedArea"===a||"stackedColumn100"===a||"stackedLine100"===a||"stackedArea100"===a||"candlestick"===a||"ohlc"===a||"rangeColumn"===a||"rangeArea"===a||"rangeSplineArea"===a||"boxAndWhisker"===
|
|
596
|
+
a||"waterfall"===a)return"normal";if("bar"===a||"stackedBar"===a||"stackedBar100"===a||"rangeBar"===a)return"xySwapped";if("pie"===a||"doughnut"===a||"funnel"===a||"pyramid"===a)return"none";"error"!==a&&window.console.log("Unknown Chart Type: "+a);return null};H.getDefaultLegendMarker=function(a){if("column"===a||"stackedColumn"===a||"stackedLine"===a||"bar"===a||"stackedBar"===a||"stackedBar100"===a||"bubble"===a||"scatter"===a||"stackedColumn100"===a||"stackedLine100"===a||"stepArea"===a||"candlestick"===
|
|
597
|
+
a||"ohlc"===a||"rangeColumn"===a||"rangeBar"===a||"rangeArea"===a||"rangeSplineArea"===a||"boxAndWhisker"===a||"waterfall"===a)return"square";if("line"===a||"stepLine"===a||"spline"===a||"pie"===a||"doughnut"===a)return"circle";if("area"===a||"splineArea"===a||"stackedArea"===a||"stackedArea100"===a||"funnel"===a||"pyramid"===a)return"triangle";if("error"===a)return"none";window.console.log("Unknown Chart Type: "+a);return null};H.prototype.getDataPointAtX=function(a,g,b){if(!this.dataPoints||0===
|
|
598
|
+
this.dataPoints.length)return null;var c={dataPoint:null,distance:Infinity,index:NaN},e=null,k=0,d=0,m=1,l=Infinity,n=0,q=0,p=0;"none"!==this.chart.plotInfo.axisPlacement&&(this.axisX.logarithmic?(p=Math.log(this.dataPoints[this.dataPoints.length-1].x/this.dataPoints[0].x),p=1<p?Math.min(Math.max((this.dataPoints.length-1)/p*Math.log(a/this.dataPoints[0].x)>>0,0),this.dataPoints.length):0):(p=this.dataPoints[this.dataPoints.length-1].x-this.dataPoints[0].x,p=0<p?Math.min(Math.max((this.dataPoints.length-
|
|
599
|
+
1)/p*(a-this.dataPoints[0].x)>>0,0),this.dataPoints.length):0));for(;;){d=0<m?p+k:p-k;if(0<=d&&d<this.dataPoints.length){var e=this.dataPoints[d],r=this.axisX&&this.axisX.logarithmic?e.x>a?e.x/a:a/e.x:Math.abs(e.x-a);r<c.distance&&(f(b)||b&&!f(e.y))&&(c.dataPoint=e,c.distance=r,c.index=d);e=r;e<=l?l=e:0<m?n++:q++;if(1E3<n&&1E3<q)break}else if(0>p-k&&p+k>=this.dataPoints.length)break;-1===m?(k++,m=1):m=-1}return g||(c.dataPoint.x.getTime?c.dataPoint.x.getTime():c.dataPoint.x)!==(a.getTime?a.getTime():
|
|
600
|
+
a)?g&&null!==c.dataPoint?c:null:c};H.prototype.getDataPointAtXY=function(a,g,b){if(!this.dataPoints||0===this.dataPoints.length||a<this.chart.plotArea.x1||a>this.chart.plotArea.x2||g<this.chart.plotArea.y1||g>this.chart.plotArea.y2)return null;b=b||!1;var c=[],e=0,k=0,d=1,m=!1,l=Infinity,n=0,q=0,p=0;if("none"!==this.chart.plotInfo.axisPlacement)if(p=(this.chart.axisX[0]?this.chart.axisX[0]:this.chart.axisX2[0]).getXValueAt({x:a,y:g}),this.axisX.logarithmic)var r=Math.log(this.dataPoints[this.dataPoints.length-
|
|
601
|
+
1].x/this.dataPoints[0].x),p=1<r?Math.min(Math.max((this.dataPoints.length-1)/r*Math.log(p/this.dataPoints[0].x)>>0,0),this.dataPoints.length):0;else r=this.dataPoints[this.dataPoints.length-1].x-this.dataPoints[0].x,p=0<r?Math.min(Math.max((this.dataPoints.length-1)/r*(p-this.dataPoints[0].x)>>0,0),this.dataPoints.length):0;for(;;){k=0<d?p+e:p-e;if(0<=k&&k<this.dataPoints.length){var r=this.chart._eventManager.objectMap[this.dataPointIds[k]],h=this.dataPoints[k],t=null;if(r){switch(this.type){case "column":case "stackedColumn":case "stackedColumn100":case "bar":case "stackedBar":case "stackedBar100":case "rangeColumn":case "rangeBar":case "waterfall":case "error":a>=
|
|
602
|
+
r.x1&&(a<=r.x2&&g>=r.y1&&g<=r.y2)&&(c.push({dataPoint:h,dataPointIndex:k,dataSeries:this,distance:Math.min(Math.abs(r.x1-a),Math.abs(r.x2-a),Math.abs(r.y1-g),Math.abs(r.y2-g))}),m=!0);break;case "line":case "stepLine":case "spline":case "area":case "stepArea":case "stackedArea":case "stackedArea100":case "splineArea":case "scatter":var z=V("markerSize",h,this)||4,s=b?20:z,t=Math.sqrt(Math.pow(r.x1-a,2)+Math.pow(r.y1-g,2));t<=s&&c.push({dataPoint:h,dataPointIndex:k,dataSeries:this,distance:t});r=Math.abs(r.x1-
|
|
603
|
+
a);r<=l?l=r:0<d?n++:q++;t<=z/2&&(m=!0);break;case "rangeArea":case "rangeSplineArea":z=V("markerSize",h,this)||4;s=b?20:z;t=Math.min(Math.sqrt(Math.pow(r.x1-a,2)+Math.pow(r.y1-g,2)),Math.sqrt(Math.pow(r.x1-a,2)+Math.pow(r.y2-g,2)));t<=s&&c.push({dataPoint:h,dataPointIndex:k,dataSeries:this,distance:t});r=Math.abs(r.x1-a);r<=l?l=r:0<d?n++:q++;t<=z/2&&(m=!0);break;case "bubble":z=r.size;t=Math.sqrt(Math.pow(r.x1-a,2)+Math.pow(r.y1-g,2));t<=z/2&&(c.push({dataPoint:h,dataPointIndex:k,dataSeries:this,
|
|
604
|
+
distance:t}),m=!0);break;case "pie":case "doughnut":z=r.center;s="doughnut"===this.type?r.percentInnerRadius*r.radius:0;t=Math.sqrt(Math.pow(z.x-a,2)+Math.pow(z.y-g,2));t<r.radius&&t>s&&(t=Math.atan2(g-z.y,a-z.x),0>t&&(t+=2*Math.PI),t=Number(((180*(t/Math.PI)%360+360)%360).toFixed(12)),z=Number(((180*(r.startAngle/Math.PI)%360+360)%360).toFixed(12)),s=Number(((180*(r.endAngle/Math.PI)%360+360)%360).toFixed(12)),0===s&&1<r.endAngle&&(s=360),z>=s&&(0!==h.y&&!f(h.y))&&(s+=360,t<z&&(t+=360)),t>z&&t<s&&
|
|
605
|
+
(c.push({dataPoint:h,dataPointIndex:k,dataSeries:this,distance:0}),m=!0));break;case "funnel":case "pyramid":t=r.funnelSection;g>t.y1&&g<t.y4&&(t.y6?g>t.y6?(k=t.x6+(t.x5-t.x6)/(t.y5-t.y6)*(g-t.y6),t=t.x3+(t.x4-t.x3)/(t.y4-t.y3)*(g-t.y3)):(k=t.x1+(t.x6-t.x1)/(t.y6-t.y1)*(g-t.y1),t=t.x2+(t.x3-t.x2)/(t.y3-t.y2)*(g-t.y2)):(k=t.x1+(t.x4-t.x1)/(t.y4-t.y1)*(g-t.y1),t=t.x2+(t.x3-t.x2)/(t.y3-t.y2)*(g-t.y2)),a>k&&a<t&&(c.push({dataPoint:h,dataPointIndex:r.dataPointIndex,dataSeries:this,distance:0}),m=!0));
|
|
606
|
+
break;case "boxAndWhisker":if(a>=r.x1-r.borderThickness/2&&a<=r.x2+r.borderThickness/2&&g>=r.y4-r.borderThickness/2&&g<=r.y1+r.borderThickness/2||Math.abs(r.x2-a+r.x1-a)<r.borderThickness&&g>=r.y1&&g<=r.y4)c.push({dataPoint:h,dataPointIndex:k,dataSeries:this,distance:Math.min(Math.abs(r.x1-a),Math.abs(r.x2-a),Math.abs(r.y2-g),Math.abs(r.y3-g))}),m=!0;break;case "candlestick":if(a>=r.x1-r.borderThickness/2&&a<=r.x2+r.borderThickness/2&&g>=r.y2-r.borderThickness/2&&g<=r.y3+r.borderThickness/2||Math.abs(r.x2-
|
|
607
|
+
a+r.x1-a)<r.borderThickness&&g>=r.y1&&g<=r.y4)c.push({dataPoint:h,dataPointIndex:k,dataSeries:this,distance:Math.min(Math.abs(r.x1-a),Math.abs(r.x2-a),Math.abs(r.y2-g),Math.abs(r.y3-g))}),m=!0;break;case "ohlc":if(Math.abs(r.x2-a+r.x1-a)<r.borderThickness&&g>=r.y2&&g<=r.y3||a>=r.x1&&a<=(r.x2+r.x1)/2&&g>=r.y1-r.borderThickness/2&&g<=r.y1+r.borderThickness/2||a>=(r.x1+r.x2)/2&&a<=r.x2&&g>=r.y4-r.borderThickness/2&&g<=r.y4+r.borderThickness/2)c.push({dataPoint:h,dataPointIndex:k,dataSeries:this,distance:Math.min(Math.abs(r.x1-
|
|
608
|
+
a),Math.abs(r.x2-a),Math.abs(r.y2-g),Math.abs(r.y3-g))}),m=!0}if(m||1E3<n&&1E3<q)break}}else if(0>p-e&&p+e>=this.dataPoints.length)break;-1===d?(e++,d=1):d=-1}a=null;for(g=0;g<c.length;g++)a?c[g].distance<=a.distance&&(a=c[g]):a=c[g];return a};H.prototype.getMarkerProperties=function(a,g,b,c){var e=this.dataPoints,k=e[a].markerColor?e[a].markerColor:this.markerColor?this.markerColor:e[a].color?e[a].color:this.color?this.color:this._colorSet[a%this._colorSet.length],d=e[a].markerBorderColor?e[a].markerBorderColor:
|
|
609
|
+
this.markerBorderColor?this.markerBorderColor:null,m=f(e[a].markerBorderThickness)?this.markerBorderThickness?this.markerBorderThickness:null:e[a].markerBorderThickness,t=e[a].markerType?e[a].markerType:this.markerType;a=f(e[a].markerSize)?this.markerSize:e[a].markerSize;return{x:g,y:b,ctx:c,type:t,size:a,color:k,borderColor:d,borderThickness:m}};ga(y,Y);y.prototype.createExtraLabelsForLog=function(a){a=(a||0)+1;if(!(5<a)){var g=this.logLabelValues[0]||this.intervalStartPosition;if(Math.log(this.range)/
|
|
610
|
+
Math.log(g/this.viewportMinimum)<this.noTicks-1){for(var b=y.getNiceNumber((g-this.viewportMinimum)/Math.min(Math.max(2,this.noTicks-this.logLabelValues.length),3),!0),c=Math.ceil(this.viewportMinimum/b)*b;c<g;c+=b)c<this.viewportMinimum||this.logLabelValues.push(c);this.logLabelValues.sort(Wa);this.createExtraLabelsForLog(a)}}};y.prototype.createLabels=function(){var a,g,b=0,c=0,e,k=0,d=0,c=0,c=this.interval,m=0,t,n=0.6*this.chart.height,q;a=!1;var p=this.scaleBreaks?this.scaleBreaks._appliedBreaks:
|
|
611
|
+
[],r=p.length?f(this.scaleBreaks.firstBreakIndex)?0:this.scaleBreaks.firstBreakIndex:0;if("axisX"!==this.type||"dateTime"!==this.valueType||this.logarithmic){e=this.viewportMaximum;if(this.labels){a=Math.ceil(c);for(var c=Math.ceil(this.intervalStartPosition),h=!1,b=c;b<this.viewportMaximum;b+=a)if(this.labels[b])h=!0;else{h=!1;break}h&&(this.interval=a,this.intervalStartPosition=c)}if(this.logarithmic&&!this.equidistantInterval)for(this.logLabelValues||(this.logLabelValues=[],this.createExtraLabelsForLog()),
|
|
612
|
+
c=0,h=r;c<this.logLabelValues.length;c++)if(b=this.logLabelValues[c],b<this.viewportMinimum)c++;else{for(;h<p.length&&b>p[h].endValue;h++);a=h<p.length&&b>=p[h].startValue&&b<=p[h].endValue;q=b;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,value:q,label:this.labels[q]?this.labels[q]:null}):"axisX"===this.type&&this.labels[q]?this.labels[q]:da(q,this.valueFormatString,this.chart._cultureInfo),a=new ka(this.ctx,{x:0,y:0,maxWidth:k,maxHeight:d,angle:this.labelAngle,
|
|
613
|
+
text:this.prefix+a+this.suffix,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,cornerRadius:this.labelCornerRadius,textAlign:this.labelTextAlign,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,fontWeight:this.labelFontWeight,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle",borderThickness:this.labelBorderThickness,padding:this.labelPadding}),this._labels.push({position:q,textBlock:a,effectiveHeight:null}))}h=r;for(b=this.intervalStartPosition;b<=
|
|
614
|
+
e;b=parseFloat(1E-12>this.interval?this.logarithmic&&this.equidistantInterval?b*Math.pow(this.logarithmBase,this.interval):b+this.interval:(this.logarithmic&&this.equidistantInterval?b*Math.pow(this.logarithmBase,this.interval):b+this.interval).toFixed(12))){for(;h<p.length&&b>p[h].endValue;h++);a=h<p.length&&b>=p[h].startValue&&b<=p[h].endValue;q=b;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,value:q,label:this.labels[q]?this.labels[q]:null}):"axisX"===this.type&&
|
|
615
|
+
this.labels[q]?this.labels[q]:da(q,this.valueFormatString,this.chart._cultureInfo),a=new ka(this.ctx,{x:0,y:0,maxWidth:k,maxHeight:d,angle:this.labelAngle,text:this.prefix+a+this.suffix,textAlign:this.labelTextAlign,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,borderThickness:this.labelBorderThickness,cornerRadius:this.labelCornerRadius,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,fontWeight:this.labelFontWeight,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,
|
|
616
|
+
textBaseline:"middle",padding:this.labelPadding}),this._labels.push({position:q,textBlock:a,effectiveHeight:null}))}}else for(this.intervalStartPosition=this.getLabelStartPoint(new Date(this.viewportMinimum),this.intervalType,this.interval),e=$a(new Date(this.viewportMaximum),this.interval,this.intervalType),h=r,b=this.intervalStartPosition;b<e;$a(b,c,this.intervalType)){for(a=b.getTime();h<p.length&&a>p[h].endValue;h++);q=a;a=h<p.length&&a>=p[h].startValue&&a<=p[h].endValue;a||(a=this.labelFormatter?
|
|
617
|
+
this.labelFormatter({chart:this.chart,axis:this.options,value:new Date(q),label:this.labels[q]?this.labels[q]:null}):"axisX"===this.type&&this.labels[q]?this.labels[q]:pa(q,this.valueFormatString,this.chart._cultureInfo),a=new ka(this.ctx,{x:0,y:0,maxWidth:k,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,borderThickness:this.labelBorderThickness,cornerRadius:this.labelCornerRadius,maxHeight:d,angle:this.labelAngle,text:this.prefix+a+this.suffix,textAlign:this.labelTextAlign,
|
|
618
|
+
fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,fontWeight:this.labelFontWeight,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle",padding:this.labelPadding}),this._labels.push({position:q,textBlock:a,effectiveHeight:null,breaksLabelType:void 0}))}if("bottom"===this._position||"top"===this._position)m=this.logarithmic&&!this.equidistantInterval&&2<=this._labels.length?this.lineCoordinates.width*Math.log(Math.min(this._labels[this._labels.length-1].position/
|
|
619
|
+
this._labels[this._labels.length-2].position,this._labels[1].position/this._labels[0].position))/Math.log(this.range):this.lineCoordinates.width/(this.logarithmic&&this.equidistantInterval?Math.log(this.range)/Math.log(this.logarithmBase):Math.abs(this.range))*W[this.intervalType+"Duration"]*this.interval,k="undefined"===typeof this.options.labelMaxWidth?0.5*this.chart.width>>0:this.options.labelMaxWidth,this.chart.panEnabled||(d="undefined"===typeof this.options.labelWrap||this.labelWrap?0.8*this.chart.height>>
|
|
620
|
+
0:1.5*this.labelFontSize+("object"===typeof this.labelPadding?(this.labelPadding.top||0)+(this.labelPadding.bottom||0):2*this.labelPadding));else if("left"===this._position||"right"===this._position)m=this.logarithmic&&!this.equidistantInterval&&2<=this._labels.length?this.lineCoordinates.height*Math.log(Math.min(this._labels[this._labels.length-1].position/this._labels[this._labels.length-2].position,this._labels[1].position/this._labels[0].position))/Math.log(this.range):this.lineCoordinates.height/
|
|
621
|
+
(this.logarithmic&&this.equidistantInterval?Math.log(this.range)/Math.log(this.logarithmBase):Math.abs(this.range))*W[this.intervalType+"Duration"]*this.interval,this.chart.panEnabled||(k="undefined"===typeof this.options.labelMaxWidth?0.3*this.chart.width>>0:this.options.labelMaxWidth),d="undefined"===typeof this.options.labelWrap||this.labelWrap?0.3*this.chart.height>>0:1.5*this.labelFontSize;for(c=0;c<this._labels.length;c++){a=this._labels[c].textBlock;a.maxWidth=k;a.maxHeight=d;var l=a.measureText();
|
|
622
|
+
t=l.height}e=[];r=p=0;if(this.labelAutoFit||this.options.labelAutoFit)if(f(this.labelAngle)||(this.labelAngle=(this.labelAngle%360+360)%360,90<this.labelAngle&&270>this.labelAngle?this.labelAngle-=180:270<=this.labelAngle&&360>=this.labelAngle&&(this.labelAngle-=360)),"bottom"===this._position||"top"===this._position)if(k=Math.floor(0.9*m),r=0,!this.chart.panEnabled&&1<=this._labels.length){this.sessionVariables.labelFontSize=this.labelFontSize;this.sessionVariables.labelMaxWidth=k;this.sessionVariables.labelMaxHeight=
|
|
623
|
+
d;this.sessionVariables.labelAngle=this.labelAngle;this.sessionVariables.labelWrap=this.labelWrap;for(b=0;b<this._labels.length;b++)if(!this._labels[b].breaksLabelType){a=this._labels[b].textBlock;for(var z,h=a.text.split(" "),c=0;c<h.length;c++)q=h[c],this.ctx.font=a.fontStyle+" "+a.fontWeight+" "+a.fontSize+"px "+a.fontFamily,q=this.ctx.measureText(q),q.width>r&&(z=b,r=q.width)}b=0;for(b=this.intervalStartPosition<this.viewportMinimum?1:0;b<this._labels.length;b++)if(!this._labels[b].breaksLabelType){a=
|
|
624
|
+
this._labels[b].textBlock;l=a.measureText();for(h=b+1;h<this._labels.length;h++)if(!this._labels[h].breaksLabelType){g=this._labels[h].textBlock;g=g.measureText();break}e.push(a.height);this.sessionVariables.labelMaxHeight=Math.max.apply(Math,e);Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.sin(Math.PI/180*Math.abs(this.labelAngle));c=k*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(d-a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));if(f(this.options.labelAngle)&&isNaN(this.options.labelAngle)&&
|
|
625
|
+
0!==this.options.labelAngle)if(this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:Math.min((c-k*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)),c),q=(n-(t+a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(-25)))/Math.sin(Math.PI/180*Math.abs(-25)),!f(this.options.labelWrap))this.labelWrap?f(this.options.labelMaxWidth)?(this.sessionVariables.labelMaxWidth=Math.min(Math.max(k,r),q),this.sessionVariables.labelWrap=this.labelWrap,g&&l.width+g.width>>
|
|
626
|
+
0>2*k&&(this.sessionVariables.labelAngle=-25)):(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelAngle=this.sessionVariables.labelMaxWidth>k?-25:this.sessionVariables.labelAngle):f(this.options.labelMaxWidth)?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelMaxWidth=k,g&&l.width+g.width>>0>2*k&&(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=
|
|
627
|
+
q)):(this.sessionVariables.labelAngle=this.sessionVariables.labelMaxWidth>k?-25:this.sessionVariables.labelAngle,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelWrap=this.labelWrap);else{if(f(this.options.labelWrap))if(!f(this.options.labelMaxWidth))this.options.labelMaxWidth<k?(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=c):(this.sessionVariables.labelAngle=-25,
|
|
628
|
+
this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=d);else if(!f(g))if(c=l.width+g.width>>0,h=this.labelFontSize,r<k)c-2*k>p&&(p=c-2*k,c>=2*k&&c<2.2*k?(this.sessionVariables.labelMaxWidth=k,f(this.options.labelFontSize)&&12<h&&(h=Math.floor(12/13*h),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?h:this.options.labelFontSize,this.sessionVariables.labelAngle=this.labelAngle):c>=2.2*k&&c<2.8*k?(this.sessionVariables.labelAngle=
|
|
629
|
+
-25,this.sessionVariables.labelMaxWidth=q,this.sessionVariables.labelFontSize=h):c>=2.8*k&&c<3.2*k?(this.sessionVariables.labelMaxWidth=Math.max(k,r),this.sessionVariables.labelWrap=!0,f(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?h:this.options.labelFontSize,this.sessionVariables.labelAngle=this.labelAngle):c>=3.2*k&&c<3.6*k?(this.sessionVariables.labelAngle=
|
|
630
|
+
-25,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelMaxWidth=q,this.sessionVariables.labelFontSize=this.labelFontSize):c>3.6*k&&c<5*k?(f(this.options.labelFontSize)&&12<h&&(h=Math.floor(12/13*h),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?h:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=q):c>5*k&&(this.sessionVariables.labelWrap=!0,this.sessionVariables.labelMaxWidth=
|
|
631
|
+
k,this.sessionVariables.labelFontSize=h,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelAngle=this.labelAngle));else if(z===b&&(0===z&&r+this._labels[z+1].textBlock.measureText().width-2*k>p||z===this._labels.length-1&&r+this._labels[z-1].textBlock.measureText().width-2*k>p||0<z&&z<this._labels.length-1&&r+this._labels[z+1].textBlock.measureText().width-2*k>p&&r+this._labels[z-1].textBlock.measureText().width-2*k>p))p=0===z?r+this._labels[z+1].textBlock.measureText().width-2*k:r+
|
|
632
|
+
this._labels[z-1].textBlock.measureText().width-2*k,this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?h:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=q;else if(0===p)for(this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?h:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,c=0;c<this._labels.length;c++)a=this._labels[c].textBlock,a.maxWidth=this.sessionVariables.labelMaxWidth=
|
|
633
|
+
Math.min(Math.max(k,r),q),l=a.measureText(),c<this._labels.length-1&&(h=c+1,g=this._labels[h].textBlock,g.maxWidth=this.sessionVariables.labelMaxWidth=Math.min(Math.max(k,r),q),g=g.measureText(),l.width+g.width>>0>2*k&&(this.sessionVariables.labelAngle=-25))}else(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:Math.min((c-k*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)),c),q=0!=this.labelAngle?
|
|
634
|
+
(n-(t+a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)):k,this.sessionVariables.labelMaxHeight=this.labelWrap?(n-q*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/Math.cos(Math.PI/180*Math.abs(this.labelAngle)):1.5*this.labelFontSize,f(this.options.labelWrap))?f(this.options.labelWrap)&&(this.labelWrap&&!f(this.options.labelMaxWidth)?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?
|
|
635
|
+
this.options.labelMaxWidth:q,this.sessionVariables.labelMaxHeight=d):(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxWidth=q,this.sessionVariables.labelMaxHeight=Math.max(c,0.9*m),this.sessionVariables.labelWrap=this.labelWrap)):(this.options.labelWrap?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:q):(f(this.options.labelMaxWidth),this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?
|
|
636
|
+
this.options.labelMaxWidth:q,this.sessionVariables.labelWrap=this.labelWrap),this.sessionVariables.labelMaxHeight=d)}this.sessionVariables.labelMaxHeight=Math.max(this.sessionVariables.labelMaxHeight,1.5*this.labelFontSize);for(c=0;c<this._labels.length;c++)a=this._labels[c].textBlock,a.maxWidth=this.labelMaxWidth=this.sessionVariables.labelMaxWidth,a.fontSize=this.sessionVariables.labelFontSize,a.angle=this.labelAngle=this.sessionVariables.labelAngle,a.wrap=this.labelWrap=this.sessionVariables.labelWrap,
|
|
637
|
+
a.maxHeight=this.sessionVariables.labelMaxHeight,a.measureText()}else for(b=0;b<this._labels.length;b++)a=this._labels[b].textBlock,a.maxWidth=this.labelMaxWidth=f(this.options.labelMaxWidth)?f(this.sessionVariables.labelMaxWidth)?this.sessionVariables.labelMaxWidth=k:this.sessionVariables.labelMaxWidth:this.options.labelMaxWidth,a.fontSize=this.labelFontSize=f(this.options.labelFontSize)?f(this.sessionVariables.labelFontSize)?this.sessionVariables.labelFontSize=this.labelFontSize:this.sessionVariables.labelFontSize:
|
|
648
638
|
this.options.labelFontSize,a.angle=this.labelAngle=f(this.options.labelAngle)?f(this.sessionVariables.labelAngle)?this.sessionVariables.labelAngle=this.labelAngle:this.sessionVariables.labelAngle:this.labelAngle,a.wrap=this.labelWrap=f(this.options.labelWrap)?f(this.sessionVariables.labelWrap)?this.sessionVariables.labelWrap=this.labelWrap:this.sessionVariables.labelWrap:this.options.labelWrap,a.maxHeight=f(this.sessionVariables.labelMaxHeight)?this.sessionVariables.labelMaxHeight=d:this.sessionVariables.labelMaxHeight,
|
|
649
|
-
a.measureText();
|
|
650
|
-
|
|
651
|
-
this.
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
this.
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
0
|
|
664
|
-
(
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
a[0].
|
|
688
|
-
|
|
689
|
-
0
|
|
690
|
-
0
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
(q.isNavigator?0:5):0)+("inside"===
|
|
700
|
-
g
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
(
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
0;
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
this.
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
this.
|
|
728
|
-
|
|
729
|
-
0
|
|
730
|
-
|
|
731
|
-
this.labelAngle)
|
|
732
|
-
|
|
733
|
-
p.position>
|
|
734
|
-
|
|
735
|
-
("inside"
|
|
736
|
-
("inside"===this.tickPlacement?this.tickLength
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
this.
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
180*this.labelAngle)
|
|
748
|
-
Math.
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
b.
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
this.
|
|
757
|
-
this.ctx.
|
|
758
|
-
this.
|
|
759
|
-
|
|
760
|
-
(
|
|
761
|
-
this.
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
this.
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
g
|
|
780
|
-
|
|
781
|
-
(e[
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
b
|
|
785
|
-
|
|
786
|
-
b
|
|
787
|
-
b-
|
|
788
|
-
this.
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
(
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
a
|
|
799
|
-
a
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
null!==this.
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
this.
|
|
814
|
-
|
|
815
|
-
this.
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
(this.
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
this.
|
|
824
|
-
isNaN(this.
|
|
825
|
-
this.
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
0
|
|
834
|
-
this.
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
(
|
|
839
|
-
this.
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
639
|
+
a.measureText();else if("left"===this._position||"right"===this._position)if(k=f(this.options.labelMaxWidth)?0.3*this.chart.width>>0:this.options.labelMaxWidth,d="undefined"===typeof this.options.labelWrap||this.labelWrap?0.3*this.chart.height>>0:1.5*this.labelFontSize,!this.chart.panEnabled&&1<=this._labels.length){this.sessionVariables.labelFontSize=this.labelFontSize;this.sessionVariables.labelMaxWidth=k;this.sessionVariables.labelMaxHeight=d;this.sessionVariables.labelAngle=f(this.sessionVariables.labelAngle)?
|
|
640
|
+
0:this.sessionVariables.labelAngle;this.sessionVariables.labelWrap=this.labelWrap;for(b=0;b<this._labels.length;b++)if(!this._labels[b].breaksLabelType){a=this._labels[b].textBlock;l=a.measureText();for(h=b+1;h<this._labels.length;h++)if(!this._labels[h].breaksLabelType){g=this._labels[h].textBlock;g=g.measureText();break}e.push(a.height);this.sessionVariables.labelMaxHeight=Math.max.apply(Math,e);c=k*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(d-a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));
|
|
641
|
+
Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.sin(Math.PI/180*Math.abs(this.labelAngle));f(this.options.labelAngle)&&isNaN(this.options.labelAngle)&&0!==this.options.labelAngle?f(this.options.labelWrap)?f(this.options.labelWrap)&&(f(this.options.labelMaxWidth)?f(g)||(m=l.height+g.height>>0,m-2*d>r&&(r=m-2*d,m>=2*d&&m<2.4*d?(f(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelFontSize=
|
|
642
|
+
f(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize):m>=2.4*d&&m<2.8*d?(this.sessionVariables.labelMaxHeight=c,this.sessionVariables.labelFontSize=this.labelFontSize,this.sessionVariables.labelWrap=!0):m>=2.8*d&&m<3.2*d?(this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelWrap=!0,f(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?
|
|
643
|
+
this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelAngle=f(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle):m>=3.2*d&&m<3.6*d?(this.sessionVariables.labelMaxHeight=c,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelFontSize=this.labelFontSize):m>3.6*d&&m<10*d?(f(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?
|
|
644
|
+
this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelMaxWidth=k,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelAngle=f(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle):m>10*d&&m<50*d&&(f(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelMaxHeight=
|
|
645
|
+
d,this.sessionVariables.labelMaxWidth=k,this.sessionVariables.labelAngle=f(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle))):(this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth)):(this.sessionVariables.labelMaxWidth=this.labelWrap?this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth:this.labelMaxWidth?this.options.labelMaxWidth?
|
|
646
|
+
this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth:k,this.sessionVariables.labelMaxHeight=d):(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxWidth=0===this.labelAngle?k:Math.min((c-d*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/Math.cos(Math.PI/180*Math.abs(this.labelAngle)),d),f(this.options.labelWrap))?f(this.options.labelWrap)&&(this.labelWrap&&!f(this.options.labelMaxWidth)?(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:
|
|
647
|
+
this.sessionVariables.labelMaxWidth,this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxHeight=c):(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:k,this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:c,f(this.options.labelMaxWidth)&&(this.sessionVariables.labelAngle=this.labelAngle))):this.options.labelWrap?(this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:c,this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=
|
|
648
|
+
k):(this.sessionVariables.labelMaxHeight=d,f(this.options.labelMaxWidth),this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth,this.sessionVariables.labelWrap=this.labelWrap)}for(c=0;c<this._labels.length;c++)a=this._labels[c].textBlock,a.maxWidth=this.labelMaxWidth=this.sessionVariables.labelMaxWidth,a.fontSize=this.labelFontSize=this.sessionVariables.labelFontSize,a.angle=this.labelAngle=this.sessionVariables.labelAngle,a.wrap=
|
|
649
|
+
this.labelWrap=this.sessionVariables.labelWrap,a.maxHeight=this.sessionVariables.labelMaxHeight,a.measureText()}else for(f(this.chart.stockChart)||this.chart.isNavigator||(this.sessionVariables.labelMaxHeight=d),b=0;b<this._labels.length;b++)a=this._labels[b].textBlock,a.maxWidth=this.labelMaxWidth=f(this.options.labelMaxWidth)?f(this.sessionVariables.labelMaxWidth)?this.sessionVariables.labelMaxWidth=k:this.sessionVariables.labelMaxWidth:this.options.labelMaxWidth,a.fontSize=this.labelFontSize=f(this.options.labelFontSize)?
|
|
650
|
+
f(this.sessionVariables.labelFontSize)?this.sessionVariables.labelFontSize=this.labelFontSize:this.sessionVariables.labelFontSize:this.options.labelFontSize,a.angle=this.labelAngle=f(this.options.labelAngle)?f(this.sessionVariables.labelAngle)?this.sessionVariables.labelAngle=this.labelAngle:this.sessionVariables.labelAngle:this.labelAngle,a.wrap=this.labelWrap=f(this.options.labelWrap)?f(this.sessionVariables.labelWrap)?this.sessionVariables.labelWrap=this.labelWrap:this.sessionVariables.labelWrap:
|
|
651
|
+
this.options.labelWrap,a.maxHeight=f(this.sessionVariables.labelMaxHeight)?this.sessionVariables.labelMaxHeight=d:this.sessionVariables.labelMaxHeight,a.measureText();for(b=0;b<this.stripLines.length;b++){var k=this.stripLines[b],s;k.labelFontSize="outside"===k.labelPlacement&&f(k.options.labelFontSize)?this.labelFontSize:k.labelFontSize;k.labelFontFamily="outside"===k.labelPlacement&&f(k.options.labelFontFamily)?this.labelFontFamily:k.labelFontFamily;k.labelFontWeight="outside"===k.labelPlacement&&
|
|
652
|
+
f(k.options.labelFontWeight)?this.labelFontWeight:k.labelFontWeight;k.labelFontStyle="outside"===k.labelPlacement&&f(k.options.labelFontStyle)?this.labelFontStyle:k.labelFontStyle;if("outside"===k.labelPlacement){d=this.sessionVariables.labelMaxWidth;if("bottom"===this._position||"top"===this._position)f(k.options.labelWrap)&&!f(this.sessionVariables.stripLineLabelMaxHeight)?s=this.sessionVariables.stripLineLabelMaxHeight:this.sessionVariables.stripLineLabelMaxHeight=s=k.labelWrap?0.8*this.chart.height>>
|
|
653
|
+
0:1.5*k.labelFontSize+("object"===typeof k.labelPadding?(k.labelPadding.top||0)+(k.labelPadding.bottom||0):2*k.labelPadding);if("left"===this._position||"right"===this._position)f(k.options.labelWrap)&&!f(this.sessionVariables.stripLineLabelMaxHeight)?s=this.sessionVariables.stripLineLabelMaxHeight:this.sessionVariables.stripLineLabelMaxHeight=s=k.labelWrap?0.8*this.chart.width>>0:1.5*k.labelFontSize+("object"===typeof k.labelPadding?(k.labelPadding.top||0)+(k.labelPadding.bottom||0):2*k.labelPadding);
|
|
654
|
+
f(k.labelBackgroundColor)&&(k.labelBackgroundColor="#EEEEEE")}else d="bottom"===this._position||"top"===this._position?0.9*this.chart.width>>0:0.9*this.chart.height>>0,s=f(k.options.labelWrap)||k.labelWrap?"bottom"===this._position||"top"===this._position?0.8*this.chart.width>>0:0.8*this.chart.height>>0:1.5*k.labelFontSize+("object"===typeof k.labelPadding?(k.labelPadding.top||0)+(k.labelPadding.bottom||0):2*k.labelPadding),f(k.labelBackgroundColor)&&(f(k.startValue)&&0!==k.startValue?k.labelBackgroundColor=
|
|
655
|
+
w?"transparent":null:k.labelBackgroundColor="#EEEEEE");a=new ka(this.ctx,{x:0,y:0,backgroundColor:k.labelBackgroundColor,borderColor:k.labelBorderColor,borderThickness:k.labelBorderThickness,cornerRadius:k.labelCornerRadius,maxWidth:k.options.labelMaxWidth?k.options.labelMaxWidth:d,maxHeight:s,angle:this.labelAngle,text:k.labelFormatter?k.labelFormatter({chart:this.chart,axis:this,stripLine:k}):k.label,textAlign:k.labelTextAlign,fontSize:k.labelFontSize,fontFamily:k.labelFontFamily,fontWeight:k.labelFontWeight,
|
|
656
|
+
fontColor:k.labelFontColor||k.color,fontStyle:k.labelFontStyle,textBaseline:"middle",padding:k.labelPadding});this._stripLineLabels.push({position:k.value,textBlock:a,effectiveHeight:null,stripLine:k})}};y.prototype.createLabelsAndCalculateWidth=function(){var a=0,g=0;this._labels=[];this._stripLineLabels=[];var b=this.chart.isNavigator?0:5;this.labelEffectiveWidth=f(this.labelEffectiveWidth)?0:this.labelEffectiveWidth;if("left"===this._position||"right"===this._position){this.createLabels();for(g=
|
|
657
|
+
0;g<this._labels.length;g++){var c=this._labels[g].textBlock,c=c.measureText(),e=0,e=0===this.labelAngle?c.width:c.width*Math.cos(Math.PI/180*Math.abs(this.labelAngle))+c.height*Math.sin(Math.PI/180*Math.abs(this.labelAngle));a<=e&&(this.labelEffectiveWidth=a=e);this._labels[g].effectiveWidth=e}for(g=0;g<this._stripLineLabels.length;g++)"outside"===this._stripLineLabels[g].stripLine.labelPlacement&&(this._stripLineLabels[g].stripLine.value>=this.viewportMinimum&&this._stripLineLabels[g].stripLine.value<=
|
|
658
|
+
this.viewportMaximum)&&(c=this._stripLineLabels[g].textBlock,c=c.measureText(),e=0===this.labelAngle?c.width:c.width*Math.cos(Math.PI/180*Math.abs(this.labelAngle))+c.height*Math.sin(Math.PI/180*Math.abs(this.labelAngle)),"inside"===this.tickPlacement&&(e+=this.tickLength),"inside"===this.labelPlacement&&(a+=e+b),a<=e&&(a=e),this.stripLineLabelEffectiveWidth=this._stripLineLabels[g].effectiveWidth=e)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+this.tickLength+b};y.prototype.createLabelsAndCalculateHeight=
|
|
659
|
+
function(){var a=0;this._labels=[];this._stripLineLabels=[];var g,b=0,c=this.chart.isNavigator?0:5;this.labelEffectiveHeight=f(this.labelEffectiveHeight)?0:this.labelEffectiveHeight;if("bottom"===this._position||"top"===this._position){this.createLabels();for(b=0;b<this._labels.length;b++){g=this._labels[b].textBlock;g=g.measureText();var e=0,e=0===this.labelAngle?g.height:g.width*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+g.height*Math.cos(Math.PI/180*Math.abs(this.labelAngle));a<=e&&(this.labelEffectiveHeight=
|
|
660
|
+
a=e);this._labels[b].effectiveHeight=e}for(b=0;b<this._stripLineLabels.length;b++)"outside"===this._stripLineLabels[b].stripLine.labelPlacement&&(this._stripLineLabels[b].stripLine.value>=this.viewportMinimum&&this._stripLineLabels[b].stripLine.value<=this.viewportMaximum)&&(g=this._stripLineLabels[b].textBlock,g=g.measureText(),e=0===this.labelAngle?g.height:g.width*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+g.height*Math.cos(Math.PI/180*Math.abs(this.labelAngle)),"inside"===this.tickPlacement&&
|
|
661
|
+
(e+=this.tickLength),"inside"===this.labelPlacement&&(a+=e+c),a<=e&&(a=e),this.stripLineLabelEffectiveHeight=this._stripLineLabels[b].effectiveHeight=e)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+this.tickLength+c};y.setLayout=function(a,g,b,c,e,k){var d,m,t,n,q=a[0]?a[0].chart:g[0].chart,p=q.isNavigator?0:10,r=q._axes;if(a&&0<a.length)for(var h=0;h<a.length;h++)a[h]&&a[h].calculateAxisParameters();if(g&&0<g.length)for(h=0;h<g.length;h++)g[h].calculateAxisParameters();if(b&&
|
|
662
|
+
0<b.length)for(h=0;h<b.length;h++)b[h].calculateAxisParameters();if(c&&0<c.length)for(h=0;h<c.length;h++)c[h].calculateAxisParameters();for(h=0;h<r.length;h++)if(r[h]&&r[h].scaleBreaks&&r[h].scaleBreaks._appliedBreaks.length)for(var l=r[h].scaleBreaks._appliedBreaks,z=0;z<l.length&&!(l[z].startValue>r[h].viewportMaximum);z++)l[z].endValue<r[h].viewportMinimum||(f(r[h].scaleBreaks.firstBreakIndex)&&(r[h].scaleBreaks.firstBreakIndex=z),l[z].startValue>=r[h].viewPortMinimum&&(r[h].scaleBreaks.lastBreakIndex=
|
|
663
|
+
z));for(var s=z=0,u=0,v=0,x=0,w=0,y=0,A,B,E=m=0,H,P,N,l=H=P=N=!1,h=0;h<r.length;h++)r[h]&&r[h].title&&(r[h]._titleTextBlock=new ka(r[h].ctx,{text:r[h].title,fontSize:r[h].titleFontSize,fontFamily:r[h].titleFontFamily,fontWeight:r[h].titleFontWeight,fontColor:r[h].titleFontColor,fontStyle:r[h].titleFontStyle,borderColor:r[h].titleBorderColor,borderThickness:r[h].titleBorderThickness,backgroundColor:r[h].titleBackgroundColor,cornerRadius:r[h].titleCornerRadius,textBaseline:"middle",textAlign:r[h].titleTextAlign,
|
|
664
|
+
padding:r[h].titlePadding}));for(h=0;h<r.length;h++)if(r[h].title){var M=1.5*r[h].titleFontSize+("object"===typeof r[h].titlePadding?(r[h].titlePadding.top||0)+(r[h].titlePadding.bottom||0):2*r[h].titlePadding);r[h]._titleTextBlock.maxWidth=r[h].titleMaxWidth||k.height;r[h]._titleTextBlock.maxHeight=r[h].titleWrap?0.8*k.width:Math.min(M,0.8*k.width);switch(r[h]._position){case "left":r[h]._titleTextBlock.angle=-90;break;case "right":r[h]._titleTextBlock.angle=90;break;default:r[h]._titleTextBlock.maxWidth=
|
|
665
|
+
r[h].titleMaxWidth||k.width,r[h]._titleTextBlock.maxHeight=r[h].titleWrap?0.8*k.height:Math.min(M,0.8*k.height),r[h]._titleTextBlock.angle=0}}if("normal"===e){for(var v=[],x=[],w=[],y=[],Q=[],S=[],R=[],I=[];4>z;){var X=0,Y=0,W=0,T=0,ba=M=e=0,U=m=0,V=0,Z=d=0;if(b&&0<b.length)for(w=[],h=d=0;h<b.length;h++)w.push(Math.ceil(b[h]?b[h].createLabelsAndCalculateWidth():0)),d+=w[h],ba+=b[h]&&!q.isNavigator?b[h].margin:0;else w.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateWidth():0));R.push(w);if(c&&0<
|
|
666
|
+
c.length)for(y=[],h=Z=0;h<c.length;h++)y.push(Math.ceil(c[h]?c[h].createLabelsAndCalculateWidth():0)),Z+=y[h],m+=c[h]?c[h].margin:0;else y.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateWidth():0));I.push(y);d=Math.round(k.x1+d+ba-(b[0]?("inside"===b[0].labelPlacement?b[0].labelEffectiveWidth+(q.isNavigator?0:5):0)+("inside"===b[0].tickPlacement?b[0].tickLength:0):0));t=Math.round(Math.min(k.x2-Z-m+(c[0]?("inside"===c[0].labelPlacement?c[0].labelEffectiveWidth+(q.isNavigator?0:5):0)+("inside"===
|
|
667
|
+
c[0].tickPlacement?c[0].tickLength:0):0),q.width-p));if(a&&0<a.length)for(v=[],h=U=0;h<a.length;h++)a[h]&&(a[h].lineCoordinates={}),a[h].lineCoordinates.width=Math.abs(t-d),a[h].title&&(a[h]._titleTextBlock.maxWidth=0<a[h].titleMaxWidth&&a[h].titleMaxWidth<a[h].lineCoordinates.width?a[h].titleMaxWidth:a[h].lineCoordinates.width),v.push(Math.ceil(a[h]?a[h].createLabelsAndCalculateHeight():0)),U+=v[h],e+=a[h]&&!q.isNavigator?a[h].margin:0;else v.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateHeight():
|
|
668
|
+
0));Q.push(v);if(g&&0<g.length)for(x=[],h=V=0;h<g.length;h++)g[h]&&(g[h].lineCoordinates={}),g[h].lineCoordinates.width=Math.abs(t-d),g[h].title&&(g[h]._titleTextBlock.maxWidth=0<g[h].titleMaxWidth&&g[h].titleMaxWidth<g[h].lineCoordinates.width?g[h].titleMaxWidth:g[h].lineCoordinates.width),x.push(Math.ceil(g[h]?g[h].createLabelsAndCalculateHeight():0)),V+=x[h],M+=g[h]&&!q.isNavigator?g[h].margin:0;else x.push(Math.ceil(g[0]?g[0].createLabelsAndCalculateHeight():0));S.push(x);if(a&&0<a.length)for(h=
|
|
669
|
+
0;h<a.length;h++){if(a[h]){a[h].lineCoordinates.x1=d;a[h].lineCoordinates.x2=t;if(a[h]._labels&&1<a[h]._labels.length){var J=m=0;m=a[h]._labels[1];J="dateTime"===a[h].valueType?a[h]._labels[a[h]._labels.length-2]:a[h]._labels[a[h]._labels.length-1];s=m.textBlock.width*Math.cos(Math.PI/180*Math.abs(m.textBlock.angle))+(m.textBlock.height-m.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(m.textBlock.angle));u=J.textBlock.width*Math.cos(Math.PI/180*Math.abs(J.textBlock.angle))+J.textBlock.height*
|
|
670
|
+
Math.sin(Math.PI/180*Math.abs(J.textBlock.angle))}!a[h]||(!a[h].labelAutoFit||f(A)||f(B)||q.isNavigator||q.stockChart)||(m=0,0<a[h].labelAngle?(n=u-(J.textBlock.height-J.textBlock._lineHeight/2)*Math.sin(Math.PI/180*J.textBlock.angle),B+n>t&&(a[h].convertPixelToValue(B)>=a[h].viewportMinimum&&a[h].convertPixelToValue(B)<=a[h].viewportMaximum)&&(m+=B+n-t-Z)):0>a[h].labelAngle?A-s<d&&A-s<a[h].viewportMinimum&&(E=d-(ba+a[h].tickLength+w+A-s+a[h].labelFontSize/2)):0===a[h].labelAngle&&(B+u>t&&(a[h].convertPixelToValue(B)>=
|
|
671
|
+
a[h].viewportMinimum&&a[h].convertPixelToValue(B)<=a[h].viewportMaximum)&&(m=B+u/2-t-Z),A-s<d&&A-s<a[h].viewportMinimum&&(E=d-ba-a[h].tickLength-w-A+s/2)),a[h].viewportMaximum===a[h].maximum&&a[h].viewportMinimum===a[h].minimum&&0<a[h].labelAngle&&0<m?t-=m:a[h].viewportMaximum===a[h].maximum&&a[h].viewportMinimum===a[h].minimum&&0>a[h].labelAngle&&0<E?d+=E:a[h].viewportMaximum===a[h].maximum&&a[h].viewportMinimum===a[h].minimum&&0===a[h].labelAngle&&(0<E&&(d+=E),0<m&&(t-=m)));q.panEnabled?U=f(q.sessionVariables.axisX.height)||
|
|
672
|
+
q.stockChart?q.sessionVariables.axisX.height=U:q.sessionVariables.axisX.height:q.sessionVariables.axisX.height=U;m=Math.round(k.y2-U-e+X);n=Math.round(k.y2);a[h].lineCoordinates.width=t-d;a[h].lineCoordinates.y1=m;a[h].lineCoordinates.y2=m;a[h].bounds={x1:d,y1:m,x2:t,y2:n-(U+e-v[h]-X),width:t-d};a[h].bounds.height=a[h].bounds.y2-a[h].bounds.y1;"inside"===a[h].labelPlacement&&(a[h].lineCoordinates.y1=a[0].bounds.y1+X+(a[h].labelEffectiveHeight||0)+(q.isNavigator?0:5),a[h].lineCoordinates.y2=a[h].lineCoordinates.y1+
|
|
673
|
+
a[h].lineThickness/2);"inside"===a[h].tickPlacement&&(a[h].lineCoordinates.y1+=a[h].tickLength,a[h].lineCoordinates.y2=a[h].lineCoordinates.y1+a[h].lineThickness/2)}X+=v[h]+a[h].margin}if(g&&0<g.length)for(h=0;h<g.length;h++)g[h].lineCoordinates.x1=d,g[h].lineCoordinates.x2=t,g[h].lineCoordinates.width=Math.abs(t-d),g[h]._labels&&1<g[h]._labels.length&&(m=g[h]._labels[1],J="dateTime"===g[h].valueType?g[h]._labels[g[h]._labels.length-2]:g[h]._labels[g[h]._labels.length-1],s=m.textBlock.width*Math.cos(Math.PI/
|
|
674
|
+
180*Math.abs(m.textBlock.angle))+(m.textBlock.height-J.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(m.textBlock.angle)),u=J.textBlock.width*Math.cos(Math.PI/180*Math.abs(J.textBlock.angle))+(J.textBlock.height-J.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(J.textBlock.angle))),q.panEnabled?V=f(q.sessionVariables.axisX2.height)||q.stockChart?q.sessionVariables.axisX2.height=V:q.sessionVariables.axisX2.height:q.sessionVariables.axisX2.height=V,m=Math.round(k.y1),n=g[h].lineCoordinates.y1=
|
|
675
|
+
m+V+M-Y,g[h].lineCoordinates.y2=m,g[h].bounds={x1:d,y1:m+(V+M-x[h]-Y),x2:t,y2:n,width:t-d},g[h].bounds.height=g[h].bounds.y2-g[h].bounds.y1,"inside"===g[h].labelPlacement&&(g[h].lineCoordinates.y1=g[0].bounds.y2-Y-(g[h].labelEffectiveHeight||0)-5),"inside"===g[h].tickPlacement&&(g[h].lineCoordinates.y1-=g[h].tickLength),Y+=x[h]+g[h].margin;if(b&&0<b.length)for(h=0;h<b.length;h++)ba=q.isNavigator?0:10,b[h]&&(d=t=Math.round((a[0]?a[0].lineCoordinates.x1:g[0].lineCoordinates.x1)+(b[0]?("inside"===b[0].labelPlacement?
|
|
676
|
+
b[0].labelEffectiveWidth+(q.isNavigator?0:5):0)+("inside"===b[0].tickPlacement?b[0].tickLength:0):0)),ba=b[h]._labels&&0<b[h]._labels.length?b[h]._labels[b[h]._labels.length-1].textBlock._lineHeight/2:p,m=Math.round(Math.max(k.y1+V+M-(g[0]?("inside"===g[0].labelPlacement?g[0].labelEffectiveHeight+5:0)+("inside"===g[0].tickPlacement?g[0].tickLength:0):0),Math.max(ba,p))),ba=0<a.length?0:b[h]._labels&&0<b[h]._labels.length?b[h]._labels[0].textBlock.height/2:p,n=Math.round(k.y2-U+(a[0]?("inside"===a[0].labelPlacement?
|
|
677
|
+
a[0].labelEffectiveHeight+(q.isNavigator?0:5):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0)-e-ba),b[h].lineCoordinates={x1:d-W,y1:m,x2:t-W,y2:n,height:Math.abs(n-m)},b[h].bounds={x1:d-(w[h]+W),y1:m,x2:t-W,y2:n,height:n-m},b[h].bounds.width=b[h].bounds.x2-b[h].bounds.x1,"inside"===b[h].labelPlacement&&(b[h].lineCoordinates.x1=b[0].bounds.x1+w[0]-W-(b[h].labelEffectiveWidth||0)-5,b[h].lineCoordinates.x2=b[h].lineCoordinates.x1+b[h].lineThickness/2),"inside"===b[h].tickPlacement&&(b[h].lineCoordinates.x1-=
|
|
678
|
+
b[h].tickLength,b[h].lineCoordinates.x2=b[h].lineCoordinates.x1+b[h].lineThickness/2),b[h].title&&(b[h]._titleTextBlock.maxWidth=0<b[h].titleMaxWidth&&b[h].titleMaxWidth<b[h].lineCoordinates.height?b[h].titleMaxWidth:b[h].lineCoordinates.height),W+=w[h]+b[h].margin);if(c&&0<c.length)for(h=0;h<c.length;h++)c[h]&&(d=t=Math.round((a[0]?a[0].lineCoordinates.x2:g[0].lineCoordinates.x2)-(c[0]?("inside"===c[0].labelPlacement?c[0].labelEffectiveWidth+(q.isNavigator?0:5):0)+("inside"===c[0].tickPlacement?
|
|
679
|
+
c[0].tickLength:0):0)),ba=c[h]._labels&&0<c[h]._labels.length?c[h]._labels[c[h]._labels.length-1].textBlock.height/2:0,m=Math.round(Math.max(k.y1+V+M-(g[0]?("inside"===g[0].labelPlacement?g[0].labelEffectiveHeight+(q.isNavigator?0:5):0)+("inside"===g[0].tickPlacement?g[0].tickLength:0):0),Math.max(ba,p))),ba=0<a.length?0:c[h]._labels&&0<c[h]._labels.length?c[h]._labels[0].textBlock.height/2:0,n=Math.round(k.y2-(U+e+ba)+(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveHeight+(q.isNavigator?
|
|
680
|
+
0:5):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0)),c[h].lineCoordinates={x1:d+T,y1:m,x2:d+T,y2:n,height:Math.abs(n-m)},c[h].bounds={x1:d+T,y1:m,x2:t+y[h]+T,y2:n,height:n-m},c[h].bounds.width=c[h].bounds.x2-c[h].bounds.x1,"inside"===c[h].labelPlacement&&(c[h].lineCoordinates.x1=c[0].bounds.x1+T+(c[h].labelEffectiveWidth||0)+(q.isNavigator?0:5),c[h].lineCoordinates.x2=c[h].lineCoordinates.x1+c[h].lineThickness/2),"inside"===c[h].tickPlacement&&(c[h].lineCoordinates.x1+=c[h].tickLength,c[h].lineCoordinates.x2=
|
|
681
|
+
c[h].lineCoordinates.x1+c[h].lineThickness/2),c[h].title&&(c[h]._titleTextBlock.maxWidth=0<c[h].titleMaxWidth&&c[h].titleMaxWidth<c[h].lineCoordinates.height?c[h].titleMaxWidth:c[h].lineCoordinates.height),T+=y[h]+c[h].margin);if(a&&0<a.length)for(h=0;h<a.length;h++)a[h]&&(a[h].calculateValueToPixelConversionParameters(),a[h].calculateBreaksSizeInValues(),a[h]._labels&&1<a[h]._labels.length&&(A=(a[h].logarithmic?Math.log(a[h]._labels[1].position/a[h].viewportMinimum)/a[h].conversionParameters.lnLogarithmBase:
|
|
682
|
+
a[h]._labels[1].position-a[h].viewportMinimum)*Math.abs(a[h].conversionParameters.pixelPerUnit)+a[h].lineCoordinates.x1,d=a[h]._labels[a[h]._labels.length-("dateTime"===a[h].valueType?2:1)].position,d=a[h].getApparentDifference(a[h].viewportMinimum,d),B=a[h].logarithmic?(1<d?Math.log(d)/a[h].conversionParameters.lnLogarithmBase*Math.abs(a[h].conversionParameters.pixelPerUnit):0)+a[h].lineCoordinates.x1:(0<d?d*Math.abs(a[h].conversionParameters.pixelPerUnit):0)+a[h].lineCoordinates.x1));if(g&&0<g.length)for(h=
|
|
683
|
+
0;h<g.length;h++)g[h].calculateValueToPixelConversionParameters(),g[h].calculateBreaksSizeInValues(),g[h]._labels&&1<g[h]._labels.length&&(A=(g[h].logarithmic?Math.log(g[h]._labels[1].position/g[h].viewportMinimum)/g[h].conversionParameters.lnLogarithmBase:g[h]._labels[1].position-g[h].viewportMinimum)*Math.abs(g[h].conversionParameters.pixelPerUnit)+g[h].lineCoordinates.x1,d=g[h]._labels[g[h]._labels.length-("dateTime"===g[h].valueType?2:1)].position,d=g[h].getApparentDifference(g[h].viewportMinimum,
|
|
684
|
+
d),B=g[h].logarithmic?(1<d?Math.log(d)/g[h].conversionParameters.lnLogarithmBase*Math.abs(g[h].conversionParameters.pixelPerUnit):0)+g[h].lineCoordinates.x1:(0<d?d*Math.abs(g[h].conversionParameters.pixelPerUnit):0)+g[h].lineCoordinates.x1);for(h=0;h<r.length;h++)"axisY"===r[h].type&&(r[h].calculateValueToPixelConversionParameters(),r[h].calculateBreaksSizeInValues());if(0<z){if(a&&0<a.length)for(h=0;h<a.length;h++)l=Q[z-1][h]===Q[z][h]?!0:!1;else l=!0;if(g&&0<g.length)for(h=0;h<g.length;h++)H=S[z-
|
|
685
|
+
1][h]===S[z][h]?!0:!1;else H=!0;if(b&&0<b.length)for(h=0;h<b.length;h++)P=R[z-1][h]===R[z][h]?!0:!1;else P=!0;if(c&&0<c.length)for(h=0;h<c.length;h++)N=I[z-1][h]===I[z][h]?!0:!1;else N=!0}if(l&&H&&P&&N)break;z++}if(a&&0<a.length)for(h=0;h<a.length;h++)a[h].calculateStripLinesThicknessInValues(),a[h].calculateBreaksInPixels();if(g&&0<g.length)for(h=0;h<g.length;h++)g[h].calculateStripLinesThicknessInValues(),g[h].calculateBreaksInPixels();if(b&&0<b.length)for(h=0;h<b.length;h++)b[h].calculateStripLinesThicknessInValues(),
|
|
686
|
+
b[h].calculateBreaksInPixels();if(c&&0<c.length)for(h=0;h<c.length;h++)c[h].calculateStripLinesThicknessInValues(),c[h].calculateBreaksInPixels()}else{p=[];A=[];E=[];s=[];u=[];B=[];Q=[];for(S=[];4>z;){U=T=W=m=ba=M=e=I=R=X=V=0;if(a&&0<a.length)for(E=[],h=T=0;h<a.length;h++)E.push(Math.ceil(a[h]?a[h].createLabelsAndCalculateWidth():0)),T+=E[h],e+=a[h]&&!q.isNavigator?a[h].margin:0;else E.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateWidth():0));Q.push(E);if(g&&0<g.length)for(s=[],h=U=0;h<g.length;h++)s.push(Math.ceil(g[h]?
|
|
687
|
+
g[h].createLabelsAndCalculateWidth():0)),U+=s[h],M+=g[h]?g[h].margin:0;else s.push(Math.ceil(g[0]?g[0].createLabelsAndCalculateWidth():0));S.push(s);if(b&&0<b.length)for(h=0;h<b.length;h++)b[h].lineCoordinates={},d=Math.round(k.x1+T+e-(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveWidth+(q.isNavigator?0:5):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0)),t=Math.round(Math.min(k.x2-U-M+(g[0]?("inside"===g[0].labelPlacement?g[0].labelEffectiveWidth+(q.isNavigator?0:5):0)+("inside"===
|
|
688
|
+
g[0].tickPlacement?g[0].tickLength:0):0),q.width-10)),b[h].labelAutoFit&&!f(v)&&(0<!a.length&&(d=0>b[h].labelAngle?Math.max(d,v):0===b[h].labelAngle?Math.max(d,v/2):d),0<!g.length&&(t=0<b[h].labelAngle?t-x/2:0===b[h].labelAngle?t-x/2:t)),b[h].lineCoordinates.x1=d,b[h].lineCoordinates.x2=t,b[h].lineCoordinates.width=Math.abs(t-d),b[h].title&&(b[h]._titleTextBlock.maxWidth=0<b[h].titleMaxWidth&&b[h].titleMaxWidth<b[h].lineCoordinates.width?b[h].titleMaxWidth:b[h].lineCoordinates.width);if(c&&0<c.length)for(h=
|
|
689
|
+
0;h<c.length;h++)c[h].lineCoordinates={},d=Math.round(k.x1+T+e-(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveWidth+(q.isNavigator?0:5):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0)),t=Math.round(Math.min(k.x2-U-M+(g[0]?("inside"===g[0].labelPlacement?g[0].labelEffectiveWidth+(q.isNavigator?0:5):0)+("inside"===g[0].tickPlacement?g[0].tickLength:0):0),c[h].chart.width-10)),c[h]&&c[h].labelAutoFit&&!f(w)&&(0<!a.length&&(d=0<c[h].labelAngle?Math.max(d,w):0===c[h].labelAngle?Math.max(d,
|
|
690
|
+
w/2):d),0<!g.length&&(t-=y/2)),c[h].lineCoordinates.x1=d,c[h].lineCoordinates.x2=t,c[h].lineCoordinates.width=Math.abs(t-d),c[h].title&&(c[h]._titleTextBlock.maxWidth=0<c[h].titleMaxWidth&&c[h].titleMaxWidth<c[h].lineCoordinates.width?c[h].titleMaxWidth:c[h].lineCoordinates.width);if(b&&0<b.length)for(p=[],h=W=0;h<b.length;h++)p.push(Math.ceil(b[h]?b[h].createLabelsAndCalculateHeight():0)),W+=p[h]+b[h].margin,ba+=b[h].margin;else p.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateHeight():0));u.push(p);
|
|
691
|
+
if(c&&0<c.length)for(A=[],h=0;h<c.length;h++)A.push(Math.ceil(c[h]?c[h].createLabelsAndCalculateHeight():0)),m+=c[h].margin;else A.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateHeight():0));B.push(A);if(b&&0<b.length)for(h=0;h<b.length;h++)0<b[h]._labels.length&&(m=b[h]._labels[0],J=b[h]._labels[b[h]._labels.length-1],v=m.textBlock.width*Math.cos(Math.PI/180*Math.abs(m.textBlock.angle))+(m.textBlock.height-J.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(m.textBlock.angle)),x=J.textBlock.width*
|
|
692
|
+
Math.cos(Math.PI/180*Math.abs(J.textBlock.angle))+(J.textBlock.height-J.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(J.textBlock.angle)));if(c&&0<c.length)for(h=0;h<c.length;h++)c[h]&&0<c[h]._labels.length&&(m=c[h]._labels[0],J=c[h]._labels[c[h]._labels.length-1],w=m.textBlock.width*Math.cos(Math.PI/180*Math.abs(m.textBlock.angle))+(m.textBlock.height-J.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(m.textBlock.angle)),y=J.textBlock.width*Math.cos(Math.PI/180*Math.abs(J.textBlock.angle))+
|
|
693
|
+
(J.textBlock.height-J.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(J.textBlock.angle)));if(q.panEnabled)for(h=0;h<b.length;h++)p[h]=f(q.sessionVariables.axisY[h].height)?q.sessionVariables.axisY[h].height=p[h]:q.sessionVariables.axisY[h].height;else for(h=0;h<b.length;h++)q.sessionVariables.axisY[h].height=p[h];if(b&&0<b.length)for(h=b.length-1;0<=h;h--)m=Math.round(k.y2),n=Math.round(k.y2>b[h].chart.height?b[h].chart.height:k.y2),b[h].lineCoordinates.y1=m-(p[h]+b[h].margin+V),b[h].lineCoordinates.y2=
|
|
694
|
+
m-(p[h]+b[h].margin+V),"inside"===b[h].labelPlacement&&(b[h].lineCoordinates.y1=b[h].lineCoordinates.y1+b[h].labelEffectiveHeight+(q.isNavigator?0:5),b[h].lineCoordinates.y2=b[h].lineCoordinates.y1+b[h].lineThickness/2),"inside"===b[h].tickPlacement&&(b[h].lineCoordinates.y1+=b[h].tickLength,b[h].lineCoordinates.y2=b[h].lineCoordinates.y1+b[h].lineThickness/2),b[h].bounds={x1:d,y1:m-(p[h]+V+b[h].margin),x2:t,y2:n-(V+b[h].margin),width:t-d,height:p[h]},b[h].title&&(b[h]._titleTextBlock.maxWidth=0<
|
|
695
|
+
b[h].titleMaxWidth&&b[h].titleMaxWidth<b[h].lineCoordinates.width?b[h].titleMaxWidth:b[h].lineCoordinates.width),V+=p[h]+b[h].margin;if(c&&0<c.length)for(h=c.length-1;0<=h;h--)c[h]&&(m=Math.round(k.y1),n=Math.round(k.y1+(A[h]+c[h].margin+X)),c[h].lineCoordinates.y1=n,c[h].lineCoordinates.y2=n,"inside"===c[h].labelPlacement&&(c[h].lineCoordinates.y1=n-c[h].labelEffectiveHeight-5,c[h].lineCoordinates.y2=c[h].lineCoordinates.y1-c[h].lineThickness/2),"inside"===c[h].tickPlacement&&(c[h].lineCoordinates.y1-=
|
|
696
|
+
c[h].tickLength,c[h].lineCoordinates.y2=c[h].lineCoordinates.y1-c[h].lineThickness/2),c[h].bounds={x1:d,y1:m+(c[h].margin+X),x2:t,y2:n,width:t-d},c[h].bounds.height=c[h].bounds.y2-c[h].bounds.y1,c[h].title&&(c[h]._titleTextBlock.maxWidth=0<c[h].titleMaxWidth&&c[h].titleMaxWidth<c[h].lineCoordinates.width?c[h].titleMaxWidth:c[h].lineCoordinates.width),X+=A[h]+c[h].margin);if(a&&0<a.length)for(h=0;h<a.length;h++){ba=a[h]._labels&&0<a[h]._labels.length?a[h]._labels[0].textBlock.fontSize/2:0;d=Math.round(k.x1+
|
|
697
|
+
e);m=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y2:k.y1<Math.max(ba,10)?Math.max(ba,10):k.y1):k.y1<Math.max(ba,10)?Math.max(ba,10):k.y1;t=Math.round(k.x1+T+e);n=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y1:k.y2-W>q.height-Math.max(ba,10)?q.height-Math.max(ba,10):k.y2-W):k.y2>q.height-Math.max(ba,10)?q.height-Math.max(ba,10):k.y2;if(b&&0<b.length)for(J=0;J<b.length;J++)b[J]&&b[J].labelAutoFit&&(t=b[J].lineCoordinates.x1+(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveWidth+
|
|
698
|
+
(q.isNavigator?0:5):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0),d=0>b[J].labelAngle||0===b[J].labelAngle?t-T:d);if(c&&0<c.length)for(J=0;J<c.length;J++)c[J]&&c[J].labelAutoFit&&(t=c[J].lineCoordinates.x1+(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveWidth+(q.isNavigator?0:5):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0),d=t-T);a[h].lineCoordinates={x1:t-R,y1:m,x2:t-R,y2:n,height:Math.abs(n-m)};"inside"===a[h].labelPlacement&&(a[h].lineCoordinates.x1=a[h].lineCoordinates.x1-
|
|
699
|
+
a[h].labelEffectiveWidth-5,a[h].lineCoordinates.x2=a[h].lineCoordinates.x1+a[h].lineThickness/2);"inside"===a[h].tickPlacement&&(a[h].lineCoordinates.x1-=a[h].tickLength,a[h].lineCoordinates.x2=a[h].lineCoordinates.x1+a[h].lineThickness/2);a[h].bounds={x1:t-(E[h]+R),y1:m,x2:t-R,y2:n,height:n-m};a[h].bounds.width=a[h].bounds.x2-a[h].bounds.x1;a[h].title&&(a[h]._titleTextBlock.maxWidth=0<a[h].titleMaxWidth&&a[h].titleMaxWidth<a[h].lineCoordinates.height?a[h].titleMaxWidth:a[h].lineCoordinates.height);
|
|
700
|
+
a[h].calculateValueToPixelConversionParameters();a[h].calculateBreaksSizeInValues();R+=E[h]+a[h].margin}if(g&&0<g.length)for(h=0;h<g.length;h++){ba=g[h]._labels&&0<g[h]._labels.length?g[h]._labels[0].textBlock.fontSize/2:0;t=Math.round(k.x1-M);m=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y2:k.y1<Math.max(ba,10)?Math.max(ba,10):k.y1):k.y1<Math.max(ba,10)?Math.max(ba,10):k.y1;d=Math.round(k.x2-U-M);n=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y1:k.y2-W>q.height-Math.max(ba,10)?q.height-
|
|
701
|
+
Math.max(ba,10):k.y2-W):k.y2>q.height-Math.max(ba,10)?q.height-Math.max(ba,10):k.y2;if(b&&0<b.length)for(J=0;J<b.length;J++)b[J]&&b[J].labelAutoFit&&(d=b[J].lineCoordinates.x2-(g[0]?("inside"===g[0].labelPlacement?g[0].labelEffectiveWidth+(q.isNavigator?0:5):0)+("inside"===g[0].tickPlacement?g[0].tickLength:0):0),t=0>b[J].labelAngle||0===b[J].labelAngle?d+U:d);if(c&&0<c.length)for(J=0;J<c.length;J++)c[J]&&c[J].labelAutoFit&&(d=c[J].lineCoordinates.x2-(g[0]?("inside"===g[0].labelPlacement?g[0].labelEffectiveWidth+
|
|
702
|
+
(q.isNavigator?0:5):0)+("inside"===g[0].tickPlacement?g[0].tickLength:0):0),t=d+U);g[h].lineCoordinates={x1:d+I,y1:m,x2:d+I,y2:n,height:Math.abs(n-m)};"inside"===g[h].labelPlacement&&(g[h].lineCoordinates.x1=g[h].lineCoordinates.x1+g[h].labelEffectiveWidth+(q.isNavigator?0:5),g[h].lineCoordinates.x2=g[h].lineCoordinates.x1+g[h].lineThickness/2);"inside"===g[h].tickPlacement&&(g[h].lineCoordinates.x1+=g[h].tickLength,g[h].lineCoordinates.x2=g[h].lineCoordinates.x1+g[h].lineThickness/2);g[h].bounds=
|
|
703
|
+
{x1:d+I,y1:m,x2:d+s[h]+I,y2:n,height:n-m};g[h].bounds.width=g[h].bounds.x2-g[h].bounds.x1;g[h].title&&(g[h]._titleTextBlock.maxWidth=0<g[h].titleMaxWidth&&g[h].titleMaxWidth<g[h].lineCoordinates.height?g[h].titleMaxWidth:g[h].lineCoordinates.height);g[h].calculateValueToPixelConversionParameters();g[h].calculateBreaksSizeInValues();I+=s[h]+g[h].margin}for(h=0;h<r.length;h++)"axisY"===r[h].type&&(r[h].calculateValueToPixelConversionParameters(),r[h].calculateBreaksSizeInValues());if(0<z){if(a&&0<a.length)for(h=
|
|
704
|
+
0;h<a.length;h++)l=Q[z-1][h]===Q[z][h]?!0:!1;else l=!0;if(g&&0<g.length)for(h=0;h<g.length;h++)H=S[z-1][h]===S[z][h]?!0:!1;else H=!0;if(b&&0<b.length)for(h=0;h<b.length;h++)P=u[z-1][h]===u[z][h]?!0:!1;else P=!0;if(c&&0<c.length)for(h=0;h<c.length;h++)N=B[z-1][h]===B[z][h]?!0:!1;else N=!0}if(l&&H&&P&&N)break;z++}if(b&&0<b.length)for(h=0;h<b.length;h++)b[h].calculateStripLinesThicknessInValues(),b[h].calculateBreaksInPixels();if(c&&0<c.length)for(h=0;h<c.length;h++)c[h].calculateStripLinesThicknessInValues(),
|
|
705
|
+
c[h].calculateBreaksInPixels();if(a&&0<a.length)for(h=0;h<a.length;h++)a[h].calculateStripLinesThicknessInValues(),a[h].calculateBreaksInPixels();if(g&&0<g.length)for(h=0;h<g.length;h++)g[h].calculateStripLinesThicknessInValues(),g[h].calculateBreaksInPixels()}};y.render=function(a,g,b,c,e){e=a[0]?a[0].chart:g[0].chart;var k=e.ctx;e.alignVerticalAxes&&e.alignVerticalAxes();k.save();k.beginPath();a&&a.length&&k.rect(2,a[0].bounds.y1,a[0].chart.width-4,a[a.length-1].bounds.y2);g&&g.length&&k.rect(2,
|
|
706
|
+
g[g.length-1].bounds.y1,g[0].chart.width-4,g[0].bounds.y2);k.clip();if(a&&0<a.length)for(var d=0;d<a.length;d++)a[d].renderLabelsTicksAndTitle();if(g&&0<g.length)for(d=0;d<g.length;d++)g[d].renderLabelsTicksAndTitle();k.restore();if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderLabelsTicksAndTitle();if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderLabelsTicksAndTitle();e.preparePlotArea();d=e.plotArea;k.save();k.beginPath();k.rect(d.x1,d.y1,Math.abs(d.x2-d.x1),Math.abs(d.y2-d.y1));k.clip();if(a&&
|
|
707
|
+
0<a.length)for(d=0;d<a.length;d++)a[d].renderStripLinesOfThicknessType("value");if(g&&0<g.length)for(d=0;d<g.length;d++)g[d].renderStripLinesOfThicknessType("value");if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderStripLinesOfThicknessType("value");if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderStripLinesOfThicknessType("value");if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderInterlacedColors();if(g&&0<g.length)for(d=0;d<g.length;d++)g[d].renderInterlacedColors();if(b&&0<b.length)for(d=
|
|
708
|
+
0;d<b.length;d++)b[d].renderInterlacedColors();if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderInterlacedColors();k.restore();if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderGrid(),w&&(a[d].createMask(),a[d].renderBreaksBackground());if(g&&0<g.length)for(d=0;d<g.length;d++)g[d].renderGrid(),w&&(g[d].createMask(),g[d].renderBreaksBackground());if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderGrid(),w&&(b[d].createMask(),b[d].renderBreaksBackground());if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderGrid(),
|
|
709
|
+
w&&(c[d].createMask(),c[d].renderBreaksBackground());if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderAxisLine();if(g&&0<g.length)for(d=0;d<g.length;d++)g[d].renderAxisLine();if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderAxisLine();if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderAxisLine();k=!1;if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderStripLinesOfThicknessType("pixel"),a[d].crosshair&&a[d].crosshair.enabled&&(k=!0,e.clearedOverlayedCanvas=a[d].type);if(g&&0<g.length)for(d=0;d<
|
|
710
|
+
g.length;d++)g[d].renderStripLinesOfThicknessType("pixel"),g[d].crosshair&&g[d].crosshair.enabled&&(k=!0,e.clearedOverlayedCanvas=g[d].type);if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderStripLinesOfThicknessType("pixel"),b[d].crosshair&&b[d].crosshair.enabled&&(k=!0,e.clearedOverlayedCanvas=b[d].type);if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderStripLinesOfThicknessType("pixel"),c[d].crosshair&&c[d].crosshair.enabled&&(k=!0,e.clearedOverlayedCanvas=c[d].type);if(k||!k&&e.clearedOverlayedCanvas&&
|
|
711
|
+
0<=e.clearedOverlayedCanvas.indexOf("axis"))e.resetOverlayedCanvas(),e.renderCrosshairs(null,f(e.sessionVariables.crosshairShownByPixel)||e.sessionVariables.crosshairShownByPixel?!0:e.sessionVariables.crosshairShownByPixel)};y.prototype.calculateStripLinesThicknessInValues=function(){for(var a=0;a<this.stripLines.length;a++)if(null!==this.stripLines[a].startValue&&null!==this.stripLines[a].endValue){var g=Math.min(this.stripLines[a].startValue,this.stripLines[a].endValue),b=Math.max(this.stripLines[a].startValue,
|
|
712
|
+
this.stripLines[a].endValue),c=this.getApparentDifference(g,b);this.stripLines[a].value=this.convertPixelToValue((this.convertValueToPixel(g)+this.convertValueToPixel(b))/2);this.stripLines[a].thickness=c;this.stripLines[a]._thicknessType="value"}};y.prototype.calculateBreaksSizeInValues=function(){for(var a="left"===this._position||"right"===this._position?this.lineCoordinates.height||this.chart.height:this.lineCoordinates.width||this.chart.width,g=this.scaleBreaks?this.scaleBreaks._appliedBreaks:
|
|
713
|
+
[],b=this.conversionParameters.pixelPerUnit||a/(this.logarithmic?this.conversionParameters.maximum/this.conversionParameters.minimum:this.conversionParameters.maximum-this.conversionParameters.minimum),c=this.scaleBreaks&&!f(this.scaleBreaks.options.spacing),e,d=0;d<g.length;d++)e=c||!f(g[d].options.spacing),g[d].spacing=Ta(g[d].spacing,a,8,e?0.1*a:8,e?0:3)<<0,g[d].size=0>g[d].spacing?0:Math.abs(g[d].spacing/b),this.logarithmic&&(g[d].size=Math.pow(this.logarithmBase,g[d].size))};y.prototype.calculateBreaksInPixels=
|
|
714
|
+
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 g=0;g<a.length&&!(a[g].startValue>this.conversionParameters.maximum);g++)a[g].endValue<this.conversionParameters.minimum||(f(this.scaleBreaks.firstBreakIndex)&&(this.scaleBreaks.firstBreakIndex=g),a[g].startValue>=this.conversionParameters.minimum&&(a[g].startPixel=this.convertValueToPixel(a[g].startValue),
|
|
715
|
+
this.scaleBreaks.lastBreakIndex=g),a[g].endValue<=this.conversionParameters.maximum&&(a[g].endPixel=this.convertValueToPixel(a[g].endValue)))}};y.prototype.renderLabelsTicksAndTitle=function(){var a=this,g=!1,b=0,c=0,e=1,d=0;0!==this.labelAngle&&360!==this.labelAngle&&(e=1.2);if("undefined"===typeof this.options.interval){if("bottom"===this._position||"top"===this._position)if(this.logarithmic&&!this.equidistantInterval&&this.labelAutoFit){for(var b=[],e=0!==this.labelAngle&&360!==this.labelAngle?
|
|
716
|
+
1:1.2,f,m=this.viewportMaximum,t=this.lineCoordinates.width/Math.log(this.range),n=this._labels.length-1;0<=n;n--){p=this._labels[n];if(p.position<this.viewportMinimum)break;p.position>this.viewportMaximum||!(n===this._labels.length-1||f<Math.log(m/p.position)*t/e)||(b.push(p),m=p.position,f=p.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.height*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=b}else{for(n=0;n<this._labels.length;n++)p=this._labels[n],p.position<
|
|
717
|
+
this.viewportMinimum||(f=p.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.height*Math.abs(Math.sin(Math.PI/180*this.labelAngle)),b+=f);b>this.lineCoordinates.width*e&&this.labelAutoFit&&(g=!0)}if("left"===this._position||"right"===this._position)if(this.logarithmic&&!this.equidistantInterval&&this.labelAutoFit){for(var b=[],q,m=this.viewportMaximum,t=this.lineCoordinates.height/Math.log(this.range),n=this._labels.length-1;0<=n;n--){p=this._labels[n];if(p.position<this.viewportMinimum)break;
|
|
718
|
+
p.position>this.viewportMaximum||!(n===this._labels.length-1||q<Math.log(m/p.position)*t)||(b.push(p),m=p.position,q=p.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=b}else{for(n=0;n<this._labels.length;n++)p=this._labels[n],p.position<this.viewportMinimum||(q=p.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)),c+=q);c>this.lineCoordinates.height*
|
|
719
|
+
e&&this.labelAutoFit&&(g=!0)}}this.logarithmic&&(!this.equidistantInterval&&this.labelAutoFit)&&this._labels.sort(function(a,b){return a.position-b.position});var n=0,p,r;if("bottom"===this._position){for(n=0;n<this._labels.length;n++)p=this._labels[n],p.position<this.viewportMinimum||p.position>this.viewportMaximum||(r=this.getPixelCoordinatesOnAxis(p.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,c=1===this.ctx.lineWidth%
|
|
720
|
+
2?(r.x<<0)+0.5:r.x<<0,this.ctx.beginPath(),this.ctx.moveTo(c,r.y<<0),this.ctx.lineTo(c,r.y+this.tickLength<<0),this.ctx.stroke()),g&&0!==d++%2&&this.labelAutoFit||(0===p.textBlock.angle?(r.x-=p.textBlock.width/2,r.y="inside"===this.labelPlacement?r.y-(("inside"===this.tickPlacement?this.tickLength:0)+p.textBlock.height-p.textBlock._lineHeight/2+5):r.y+("inside"===this.tickPlacement?0:this.tickLength)+p.textBlock._lineHeight/2+5):0>this.labelAngle?(r.x=r.x-("inside"===this.labelPlacement?0:p.textBlock.width*
|
|
721
|
+
Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),r.y="inside"===this.labelPlacement?r.y-("inside"===this.tickPlacement?this.tickLength:0)-5-(p.textBlock.height-p.textBlock._lineHeight/2)*Math.cos(Math.PI/180*this.labelAngle):r.y+("inside"===this.tickPlacement?0:this.tickLength)+5+Math.abs(p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)-p.textBlock._lineHeight/2*Math.cos(Math.PI/180*this.labelAngle))):(r.x=r.x-("inside"===this.labelPlacement?
|
|
722
|
+
p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0)+p.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),r.y="inside"===this.labelPlacement?r.y-("inside"===this.tickPlacement?this.tickLength:0)-5-p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)-(p.textBlock.height-p.textBlock._lineHeight/2)*Math.cos(Math.PI/180*this.labelAngle):r.y+("inside"===this.tickPlacement?0:this.tickLength)+5+Math.abs(p.textBlock._lineHeight/2*Math.cos(Math.PI/180*this.labelAngle))),p.textBlock.x=r.x,
|
|
723
|
+
p.textBlock.y=r.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(n=0;n<a._labels.length;n++)if(p=a._labels[n],!(p.position<a.viewportMinimum||p.position>a.viewportMaximum)&&(r=a.getPixelCoordinatesOnAxis(p.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(r.x<<0)+0.5:r.x<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(b,r.y<<0);a.ctx.lineTo(b,r.y-a.tickLength<<0);a.ctx.stroke();
|
|
724
|
+
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/2-1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("top"===this._position){for(n=0;n<this._labels.length;n++)p=this._labels[n],p.position<this.viewportMinimum||p.position>this.viewportMaximum||
|
|
725
|
+
(r=this.getPixelCoordinatesOnAxis(p.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,c=1===this.ctx.lineWidth%2?(r.x<<0)+0.5:r.x<<0,this.ctx.beginPath(),this.ctx.moveTo(c,r.y<<0),this.ctx.lineTo(c,r.y-this.tickLength<<0),this.ctx.stroke()),g&&0!==d++%2&&this.labelAutoFit||(0===p.textBlock.angle?(r.x-=p.textBlock.width/2,r.y="inside"===this.labelPlacement?r.y+p.textBlock._lineHeight/2+("inside"===this.tickPlacement?
|
|
726
|
+
this.tickLength:0)+5:r.y-(("inside"===this.tickPlacement?0:this.tickLength)+p.textBlock.height-p.textBlock._lineHeight/2)-5):0>this.labelAngle?(r.x=r.x-("inside"===this.labelPlacement?p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0)+p.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),r.y="inside"===this.labelPlacement?r.y+("inside"===this.tickPlacement?this.tickLength:0)+5-p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+p.textBlock._lineHeight/2*Math.cos(Math.PI/180*this.labelAngle):
|
|
727
|
+
r.y-("inside"===this.tickPlacement?0:this.tickLength)-5-(p.textBlock.height-p.textBlock._lineHeight/2)*Math.cos(Math.PI/180*this.labelAngle)):(r.x=r.x-("inside"===this.labelPlacement?0:p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),r.y="inside"===this.labelPlacement?r.y+("inside"===this.tickPlacement?this.tickLength:0)+5+p.textBlock._lineHeight/2*Math.cos(Math.PI/180*this.labelAngle):r.y-("inside"===this.tickPlacement?0:this.tickLength)-
|
|
728
|
+
5-((p.textBlock.height-p.textBlock._lineHeight/2)*Math.cos(Math.PI/180*this.labelAngle)+p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle))),p.textBlock.x=r.x,p.textBlock.y=r.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(n=0;n<a._labels.length;n++)if(p=a._labels[n],!(p.position<a.viewportMinimum||p.position>a.viewportMaximum)&&(r=a.getPixelCoordinatesOnAxis(p.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=
|
|
729
|
+
a.tickColor;var b=1===a.ctx.lineWidth%2?(r.x<<0)+0.5:r.x<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(b,r.y<<0);a.ctx.lineTo(b,r.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.y1+this._titleTextBlock._lineHeight/2+1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("left"===
|
|
730
|
+
this._position){for(n=0;n<this._labels.length;n++)p=this._labels[n],p.position<this.viewportMinimum||p.position>this.viewportMaximum||(r=this.getPixelCoordinatesOnAxis(p.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,c=1===this.ctx.lineWidth%2?(r.y<<0)+0.5:r.y<<0,this.ctx.beginPath(),this.ctx.moveTo(r.x<<0,c),this.ctx.lineTo(r.x-this.tickLength<<0,c),this.ctx.stroke()),g&&0!==d++%2&&this.labelAutoFit||(0===this.labelAngle?
|
|
731
|
+
(p.textBlock.y=r.y-p.textBlock.topPadding,p.textBlock.x="inside"===this.labelPlacement?r.x+("inside"===this.tickPlacement?this.tickLength:0)+5:r.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength)-5):0>this.labelAngle?(p.textBlock.y=("inside"===this.labelPlacement?r.y:r.y-p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle))-p.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),p.textBlock.x="inside"===this.labelPlacement?r.x-p.textBlock.fontSize/
|
|
732
|
+
2*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?this.tickLength:0)+5:r.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+(p.textBlock.height-p.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength)-5):(p.textBlock.y=("inside"===this.labelPlacement?r.y:r.y-p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle))-p.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),p.textBlock.x="inside"===this.labelPlacement?
|
|
733
|
+
r.x+(p.textBlock.height-p.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?this.tickLength:0)+5:r.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-p.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(n=0;n<a._labels.length;n++)if(p=a._labels[n],!(p.position<a.viewportMinimum||p.position>
|
|
734
|
+
a.viewportMaximum)&&(r=a.getPixelCoordinatesOnAxis(p.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(r.y<<0)+0.5:r.y<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(r.x<<0,b);a.ctx.lineTo(r.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/
|
|
735
|
+
2+this.lineCoordinates.y1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("right"===this._position){for(n=0;n<this._labels.length;n++)p=this._labels[n],p.position<this.viewportMinimum||p.position>this.viewportMaximum||(r=this.getPixelCoordinatesOnAxis(p.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,c=1===this.ctx.lineWidth%2?(r.y<<0)+0.5:r.y<<0,this.ctx.beginPath(),this.ctx.moveTo(r.x<<
|
|
736
|
+
0,c),this.ctx.lineTo(r.x+this.tickLength<<0,c),this.ctx.stroke()),g&&0!==d++%2&&this.labelAutoFit||(0===this.labelAngle?(p.textBlock.y=r.y-p.textBlock.topPadding,p.textBlock.x="inside"===this.labelPlacement?r.x-p.textBlock.width-("inside"===this.tickPlacement?this.tickLength:0)-5:r.x+("inside"===this.tickPlacement?0:this.tickLength)+5):0>this.labelAngle?(p.textBlock.y=("inside"===this.labelPlacement?r.y-p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):r.y)-p.textBlock.topPadding*Math.cos(Math.PI/
|
|
737
|
+
180*this.labelAngle),p.textBlock.x="inside"===this.labelPlacement?r.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+(p.textBlock.height-p.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?this.tickLength:0)-5:r.x-p.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?0:this.tickLength)+5):(p.textBlock.y=("inside"===this.labelPlacement?r.y-p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):r.y)-p.textBlock.topPadding*
|
|
738
|
+
Math.cos(Math.PI/180*this.labelAngle),p.textBlock.x="inside"===this.labelPlacement?r.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-p.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?this.tickLength:0)-5:r.x+(p.textBlock.height-p.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(n=
|
|
739
|
+
0;n<a._labels.length;n++)if(p=a._labels[n],!(p.position<a.viewportMinimum||p.position>a.viewportMaximum)&&(r=a.getPixelCoordinatesOnAxis(p.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(r.y<<0)+0.5:r.y<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(r.x<<0,b);a.ctx.lineTo(r.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/
|
|
740
|
+
2,this._titleTextBlock.y=this.lineCoordinates.height/2-this._titleTextBlock.width/2+this.lineCoordinates.y1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}d=0;if("inside"===this.labelPlacement)this.chart.addEventListener("dataAnimationIterationEnd",function(){for(n=0;n<a._labels.length;n++)p=a._labels[n],p.position<a.viewportMinimum||(p.position>a.viewportMaximum||g&&0!==d++%2&&a.labelAutoFit)||(a.ctx.save(),a.ctx.beginPath(),p.textBlock.render(!0),a.ctx.restore())},
|
|
741
|
+
this);else for(n=0;n<this._labels.length;n++)p=this._labels[n],p.position<this.viewportMinimum||(p.position>this.viewportMaximum||g&&0!==d++%2&&this.labelAutoFit)||p.textBlock.render(!0)};y.prototype.renderInterlacedColors=function(){var a=this.chart.plotArea.ctx,g,b,c=this.chart.plotArea,e=0;g=!0;if(("bottom"===this._position||"top"===this._position)&&this.interlacedColor)for(a.fillStyle=this.interlacedColor,e=0;e<this._labels.length;e++)g?(g=this.getPixelCoordinatesOnAxis(this._labels[e].position),
|
|
742
|
+
b=e+1>this._labels.length-1?this.getPixelCoordinatesOnAxis(this.viewportMaximum):this.getPixelCoordinatesOnAxis(this._labels[e+1].position),a.fillRect(Math.min(b.x,g.x),c.y1,Math.abs(b.x-g.x),Math.abs(c.y1-c.y2)),g=!1):g=!0;else if(("left"===this._position||"right"===this._position)&&this.interlacedColor)for(a.fillStyle=this.interlacedColor,e=0;e<this._labels.length;e++)g?(b=this.getPixelCoordinatesOnAxis(this._labels[e].position),g=e+1>this._labels.length-1?this.getPixelCoordinatesOnAxis(this.viewportMaximum):
|
|
743
|
+
this.getPixelCoordinatesOnAxis(this._labels[e+1].position),a.fillRect(c.x1,Math.min(b.y,g.y),Math.abs(c.x1-c.x2),Math.abs(g.y-b.y)),g=!1):g=!0;a.beginPath()};y.prototype.renderStripLinesOfThicknessType=function(a){if(this.stripLines&&0<this.stripLines.length&&a){var g=this,b,c,e=0,d=0,m=!1;c=!1;for(var t=[],l=[],n=!1,q,e=0;e<this.stripLines.length;e++){var p=this.stripLines[e];p._thicknessType===a&&("pixel"===a&&(p.value<this.viewportMinimum||p.value>this.viewportMaximum||f(p.value)||isNaN(this.range))||
|
|
744
|
+
"value"===a&&(p.startValue<=this.viewportMinimum&&p.endValue<=this.viewportMinimum||p.startValue>=this.viewportMaximum&&p.endValue>=this.viewportMaximum||f(p.startValue)||f(p.endValue)||isNaN(this.range))||t.push(p))}for(e=0;e<this._stripLineLabels.length;e++)if(p=this.stripLines[e],b=this._stripLineLabels[e],!(b.position<this.viewportMinimum||b.position>this.viewportMaximum||isNaN(this.range)))if(c=this.getPixelCoordinatesOnAxis(b.position),"outside"===b.stripLine.labelPlacement){p&&(this.ctx.strokeStyle=
|
|
745
|
+
p.color,this.ctx.lineWidth="pixel"===p._thicknessType?p.thickness:this.tickThickness,f(p.opacity)||"pixel"!==p._thicknessType||(q=p.ctx.globalAlpha,p.ctx.globalAlpha=p.opacity));if("bottom"===this._position){var r=1===this.ctx.lineWidth%2?(c.x<<0)+0.5:c.x<<0;this.ctx.beginPath();this.ctx.moveTo(r,c.y<<0);this.ctx.lineTo(r,c.y+this.tickLength<<0);this.ctx.stroke();0===this.labelAngle?(c.x-=b.textBlock.width/2,c.y+=this.tickLength+b.textBlock.fontSize/2+5):(c.x-=(0>this.labelAngle?b.textBlock.width*
|
|
746
|
+
Math.cos(Math.PI/180*this.labelAngle):0)-b.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),c.y+=this.tickLength+5+(0>this.labelAngle?Math.abs(b.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)-b.textBlock.fontSize/2*Math.cos(Math.PI/180*this.labelAngle)):Math.abs(b.textBlock.fontSize/2*Math.cos(Math.PI/180*this.labelAngle))))}else"top"===this._position?(r=1===this.ctx.lineWidth%2?(c.x<<0)+0.5:c.x<<0,this.ctx.beginPath(),this.ctx.moveTo(r,c.y<<0),this.ctx.lineTo(r,c.y-this.tickLength<<
|
|
747
|
+
0),this.ctx.stroke(),0===this.labelAngle?(c.x-=b.textBlock.width/2,c.y-=this.tickLength+b.textBlock.height-b.textBlock.fontSize/2):(c.x-=(0<this.labelAngle?b.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0)-b.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),c.y-=this.tickLength+2+(0<this.labelAngle?(b.textBlock.height-b.textBlock.fontSize/2)*Math.cos(Math.PI/180*this.labelAngle)+b.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):(b.textBlock.height-b.textBlock.fontSize/2)*Math.cos(Math.PI/
|
|
748
|
+
180*this.labelAngle)))):"left"===this._position?(r=1===this.ctx.lineWidth%2?(c.y<<0)+0.5:c.y<<0,this.ctx.beginPath(),this.ctx.moveTo(c.x<<0,r),this.ctx.lineTo(c.x-this.tickLength<<0,r),this.ctx.stroke(),0===this.labelAngle?(c.x=c.x-b.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-this.tickLength-5,c.y-=b.textBlock.topPadding):(c.y-=b.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+b.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),c.x-=this.tickLength+5+(0<this.labelAngle?b.textBlock.width*
|
|
749
|
+
Math.cos(Math.PI/180*this.labelAngle)+b.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle):b.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-(b.textBlock.height-b.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)))):"right"===this._position&&(r=1===this.ctx.lineWidth%2?(c.y<<0)+0.5:c.y<<0,this.ctx.beginPath(),this.ctx.moveTo(c.x<<0,r),this.ctx.lineTo(c.x+this.tickLength<<0,r),this.ctx.stroke(),0===this.labelAngle?(c.x=c.x+this.tickLength+5,c.y-=b.textBlock.topPadding):(c.y-=
|
|
750
|
+
b.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),c.x=this.tickLength+5+(0<this.labelAngle?c.x+(b.textBlock.height-b.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle):c.x-b.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle))));q&&(p.ctx.globalAlpha=q);b.textBlock.x=c.x;b.textBlock.y=c.y;l.push(b)}else p._thicknessType===a&&(b.textBlock.angle=-90,"bottom"===this._position?(b.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:
|
|
751
|
+
this.chart.plotArea.height-3,b.textBlock.measureText(),c.x-b.textBlock.height-p.thickness/2>this.chart.plotArea.x1?f(p.startValue)?c.x-=b.textBlock.height-b.textBlock.fontSize/2+p.thickness/2:c.x-=b.textBlock.height/2-b.textBlock.fontSize/2:(b.textBlock.angle=90,f(p.startValue)?c.x+=b.textBlock.height-b.textBlock.fontSize/2+p.thickness/2:c.x+=b.textBlock.height/2-b.textBlock.fontSize/2),c.y=-90===b.textBlock.angle?"near"===b.stripLine.labelAlign?this.chart.plotArea.y2-3:"center"===b.stripLine.labelAlign?
|
|
752
|
+
(this.chart.plotArea.y2+this.chart.plotArea.y1+b.textBlock.width)/2:this.chart.plotArea.y1+b.textBlock.width+3:"near"===b.stripLine.labelAlign?this.chart.plotArea.y2-b.textBlock.width-3:"center"===b.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1-b.textBlock.width)/2:this.chart.plotArea.y1+3):"top"===this._position?(b.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.height-3,b.textBlock.measureText(),c.x-b.textBlock.height-
|
|
753
|
+
p.thickness/2>this.chart.plotArea.x1?f(p.startValue)?c.x-=b.textBlock.height-b.textBlock.fontSize/2+p.thickness/2:c.x-=b.textBlock.height/2-b.textBlock.fontSize/2:(b.textBlock.angle=90,f(p.startValue)?c.x+=b.textBlock.height-b.textBlock.fontSize/2+p.thickness/2:c.x+=b.textBlock.height/2-b.textBlock.fontSize/2),c.y=-90===b.textBlock.angle?"near"===b.stripLine.labelAlign?this.chart.plotArea.y1+b.textBlock.width+3:"center"===b.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1+b.textBlock.width)/
|
|
754
|
+
2:this.chart.plotArea.y2-3:"near"===b.stripLine.labelAlign?this.chart.plotArea.y1+3:"center"===b.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1-b.textBlock.width)/2:this.chart.plotArea.y2-b.textBlock.width-3):"left"===this._position?(b.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.width-3,b.textBlock.angle=0,b.textBlock.measureText(),c.y-b.textBlock.height-p.thickness/2>this.chart.plotArea.y1?f(p.startValue)?
|
|
755
|
+
c.y-=b.textBlock.height-b.textBlock.fontSize/2+p.thickness/2:c.y-=b.textBlock.height/2-b.textBlock.fontSize/2:f(p.startValue)?c.y+=b.textBlock.height-b.textBlock.fontSize/2+p.thickness/2:c.y+=b.textBlock.height/2-b.textBlock.fontSize+3,c.x="near"===b.stripLine.labelAlign?this.chart.plotArea.x1+3:"center"===b.stripLine.labelAlign?(this.chart.plotArea.x2+this.chart.plotArea.x1)/2-b.textBlock.width/2:this.chart.plotArea.x2-b.textBlock.width-3):"right"===this._position&&(b.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?
|
|
756
|
+
this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.width-3,b.textBlock.angle=0,b.textBlock.measureText(),c.y-b.textBlock.height-p.thickness/2>this.chart.plotArea.y1?f(p.startValue)?c.y-=b.textBlock.height-b.textBlock.fontSize/2+p.thickness/2:c.y-=b.textBlock.height/2-b.textBlock.fontSize/2:f(p.startValue)?c.y+=b.textBlock.height-b.textBlock.fontSize/2+p.thickness/2:c.y-=b.textBlock.height/2-b.textBlock.fontSize/2+3,c.x="near"===b.stripLine.labelAlign?this.chart.plotArea.x2-b.textBlock.width-
|
|
757
|
+
3:"center"===b.stripLine.labelAlign?(this.chart.plotArea.x2+this.chart.plotArea.x1)/2-b.textBlock.width/2:this.chart.plotArea.x1+3),b.textBlock.x=c.x,b.textBlock.y=c.y,l.push(b));if(!n){c=!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<t.length;e++)p=t[e],p.showOnTop?m||(m=!0,this.chart.addEventListener("dataAnimationIterationEnd",function(){this.ctx.save();this.ctx.beginPath();
|
|
758
|
+
this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.ctx.clip();for(d=0;d<t.length;d++)p=t[d],p.showOnTop&&p.render();this.ctx.restore()},p)):p.render();for(e=0;e<l.length;e++)b=l[e],b.stripLine.showOnTop?c||(c=!0,this.chart.addEventListener("dataAnimationIterationEnd",function(){for(d=0;d<l.length;d++)b=l[d],"inside"===b.stripLine.labelPlacement&&b.stripLine.showOnTop&&(g.ctx.save(),g.ctx.beginPath(),g.ctx.rect(g.chart.plotArea.x1,
|
|
759
|
+
g.chart.plotArea.y1,g.chart.plotArea.width,g.chart.plotArea.height),g.ctx.clip(),b.textBlock.render(!0),g.ctx.restore())},b.textBlock)):"inside"===b.stripLine.labelPlacement&&b.textBlock.render(!0);this.ctx.restore();n=!0}if(n)for(c=!1,e=0;e<l.length;e++)b=l[e],"outside"===b.stripLine.labelPlacement&&b.textBlock.render(!0)}};y.prototype.renderBreaksBackground=function(){this.chart._breaksCanvas&&(this.scaleBreaks&&0<this.scaleBreaks._appliedBreaks.length&&this.maskCanvas)&&(this.chart._breaksCanvasCtx.save(),
|
|
760
|
+
this.chart._breaksCanvasCtx.beginPath(),this.chart._breaksCanvasCtx.rect(this.chart.plotArea.x1,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;w?(this.maskCanvas=qa(this.chart.width,
|
|
761
|
+
this.chart.height),this.maskCtx=this.maskCanvas.getContext("2d")):(this.maskCanvas=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 g=0;g<a.length;g++)a[g].endValue<this.viewportMinimum||(a[g].startValue>this.viewportMaximum||isNaN(this.range))||a[g].render(this.maskCtx);this.maskCtx.restore()}};
|
|
762
|
+
y.prototype.renderCrosshair=function(a,g){isFinite(this.minimum)&&isFinite(this.maximum)&&this.crosshair.render(a,g)};y.prototype.showCrosshair=function(a){f(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 g,b=this.chart.plotArea;
|
|
763
|
+
a.lineWidth=this.gridThickness;a.strokeStyle=this.gridColor;a.setLineDash&&a.setLineDash(R(this.gridDashType,this.gridThickness));if("bottom"===this._position||"top"===this._position)for(c=0;c<this._labels.length;c++)this._labels[c].position<this.viewportMinimum||(this._labels[c].position>this.viewportMaximum||this._labels[c].breaksLabelType)||(a.beginPath(),g=this.getPixelCoordinatesOnAxis(this._labels[c].position),g=1===a.lineWidth%2?(g.x<<0)+0.5:g.x<<0,a.moveTo(g,b.y1<<0),a.lineTo(g,b.y2<<0),a.stroke());
|
|
764
|
+
else if("left"===this._position||"right"===this._position)for(var c=0;c<this._labels.length;c++)this._labels[c].position<this.viewportMinimum||(this._labels[c].position>this.viewportMaximum||this._labels[c].breaksLabelType)||(a.beginPath(),g=this.getPixelCoordinatesOnAxis(this._labels[c].position),g=1===a.lineWidth%2?(g.y<<0)+0.5:g.y<<0,a.moveTo(b.x1<<0,g),a.lineTo(b.x2<<0,g),a.stroke());a.restore()}};y.prototype.renderAxisLine=function(){var a=this.chart.ctx,g=w?this.chart._preRenderCtx:a,b=Math.ceil(this.tickThickness/
|
|
765
|
+
(this.reversed?-2:2)),c=Math.ceil(this.tickThickness/(this.reversed?2:-2)),e,d;g.save();if("bottom"===this._position||"top"===this._position){if(this.lineThickness){this.reversed?(e=this.lineCoordinates.x2,d=this.lineCoordinates.x1):(e=this.lineCoordinates.x1,d=this.lineCoordinates.x2);g.lineWidth=this.lineThickness;g.strokeStyle=this.lineColor?this.lineColor:"black";g.setLineDash&&g.setLineDash(R(this.lineDashType,this.lineThickness));var m=1===this.lineThickness%2?(this.lineCoordinates.y1<<0)+0.5:
|
|
766
|
+
this.lineCoordinates.y1<<0;g.beginPath();if(this.scaleBreaks&&!f(this.scaleBreaks.firstBreakIndex))if(f(this.scaleBreaks.lastBreakIndex))e=this.scaleBreaks._appliedBreaks[this.scaleBreaks.firstBreakIndex].endPixel+c;else for(var t=this.scaleBreaks.firstBreakIndex;t<=this.scaleBreaks.lastBreakIndex;t++)g.moveTo(e,m),g.lineTo(this.scaleBreaks._appliedBreaks[t].startPixel+b,m),e=this.scaleBreaks._appliedBreaks[t].endPixel+c;e&&(g.moveTo(e,m),g.lineTo(d,m));g.stroke()}}else if(("left"===this._position||
|
|
767
|
+
"right"===this._position)&&this.lineThickness){this.reversed?(e=this.lineCoordinates.y1,d=this.lineCoordinates.y2):(e=this.lineCoordinates.y2,d=this.lineCoordinates.y1);g.lineWidth=this.lineThickness;g.strokeStyle=this.lineColor;g.setLineDash&&g.setLineDash(R(this.lineDashType,this.lineThickness));m=1===this.lineThickness%2?(this.lineCoordinates.x1<<0)+0.5:this.lineCoordinates.x1<<0;g.beginPath();if(this.scaleBreaks&&!f(this.scaleBreaks.firstBreakIndex))if(f(this.scaleBreaks.lastBreakIndex))e=this.scaleBreaks._appliedBreaks[this.scaleBreaks.firstBreakIndex].endPixel+
|
|
768
|
+
b;else for(t=this.scaleBreaks.firstBreakIndex;t<=this.scaleBreaks.lastBreakIndex;t++)g.moveTo(m,e),g.lineTo(m,this.scaleBreaks._appliedBreaks[t].startPixel+c),e=this.scaleBreaks._appliedBreaks[t].endPixel+b;e&&(g.moveTo(m,e),g.lineTo(m,d));g.stroke()}w&&(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),g.clearRect(0,0,this.chart.width,
|
|
769
|
+
this.chart.height));g.restore()};y.prototype.getPixelCoordinatesOnAxis=function(a){var g={};if("bottom"===this._position||"top"===this._position)g.x=this.convertValueToPixel(a),g.y=this.lineCoordinates.y1;if("left"===this._position||"right"===this._position)g.y=this.convertValueToPixel(a),g.x=this.lineCoordinates.x2;return g};y.prototype.convertPixelToValue=function(a){if("undefined"===typeof a)return null;var g=0,b=0,c,g=!0,e=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],b="number"===typeof a?
|
|
770
|
+
a:"left"===this._position||"right"===this._position?a.y:a.x;if(this.logarithmic){a=c=Math.pow(this.logarithmBase,(b-this.conversionParameters.reference)/this.conversionParameters.pixelPerUnit);if(b<=this.conversionParameters.reference===("left"===this._position||"right"===this._position)!==this.reversed)for(b=0;b<e.length;b++){if(!(e[b].endValue<this.conversionParameters.minimum))if(g)if(e[b].startValue<this.conversionParameters.minimum){if(1<e[b].size&&this.conversionParameters.minimum*Math.pow(e[b].endValue/
|
|
771
|
+
e[b].startValue,Math.log(c)/Math.log(e[b].size))<e[b].endValue){a=Math.pow(e[b].endValue/e[b].startValue,Math.log(c)/Math.log(e[b].size));break}else a*=e[b].endValue/this.conversionParameters.minimum/Math.pow(e[b].size,Math.log(e[b].endValue/this.conversionParameters.minimum)/Math.log(e[b].endValue/e[b].startValue)),c/=Math.pow(e[b].size,Math.log(e[b].endValue/this.conversionParameters.minimum)/Math.log(e[b].endValue/e[b].startValue));g=!1}else if(c>e[b].startValue/this.conversionParameters.minimum){c/=
|
|
772
|
+
e[b].startValue/this.conversionParameters.minimum;if(c<e[b].size){a*=Math.pow(e[b].endValue/e[b].startValue,1===e[b].size?1:Math.log(c)/Math.log(e[b].size))/c;break}else a*=e[b].endValue/e[b].startValue/e[b].size;c/=e[b].size;g=!1}else break;else if(c>e[b].startValue/e[b-1].endValue){c/=e[b].startValue/e[b-1].endValue;if(c<e[b].size){a*=Math.pow(e[b].endValue/e[b].startValue,1===e[b].size?1:Math.log(c)/Math.log(e[b].size))/c;break}else a*=e[b].endValue/e[b].startValue/e[b].size;c/=e[b].size}else break}else for(b=
|
|
773
|
+
e.length-1;0<=b;b--)if(!(e[b].startValue>this.conversionParameters.minimum))if(g)if(e[b].endValue>this.conversionParameters.minimum){if(1<e[b].size&&this.conversionParameters.minimum*Math.pow(e[b].endValue/e[b].startValue,Math.log(c)/Math.log(e[b].size))>e[b].startValue){a=Math.pow(e[b].endValue/e[b].startValue,Math.log(c)/Math.log(e[b].size));break}else a*=e[b].startValue/this.conversionParameters.minimum*Math.pow(e[b].size,Math.log(e[b].startValue/this.conversionParameters.minimum)/Math.log(e[b].endValue/
|
|
774
|
+
e[b].startValue))*c,c*=Math.pow(e[b].size,Math.log(this.conversionParameters.minimum/e[b].startValue)/Math.log(e[b].endValue/e[b].startValue));g=!1}else if(c<e[b].endValue/this.conversionParameters.minimum){c/=e[b].endValue/this.conversionParameters.minimum;if(c>1/e[b].size){a*=Math.pow(e[b].endValue/e[b].startValue,1>=e[b].size?1:Math.log(c)/Math.log(e[b].size))*c;break}else a/=e[b].endValue/e[b].startValue/e[b].size;c*=e[b].size;g=!1}else break;else if(c<e[b].endValue/e[b+1].startValue){c/=e[b].endValue/
|
|
775
|
+
e[b+1].startValue;if(c>1/e[b].size){a*=Math.pow(e[b].endValue/e[b].startValue,1>=e[b].size?1:Math.log(c)/Math.log(e[b].size))*c;break}else a/=e[b].endValue/e[b].startValue/e[b].size;c*=e[b].size}else break;g=a*this.viewportMinimum}else{a=c=(b-this.conversionParameters.reference)/this.conversionParameters.pixelPerUnit;if(b<=this.conversionParameters.reference===("left"===this._position||"right"===this._position)!==this.reversed)for(b=0;b<e.length;b++){if(!(e[b].endValue<this.conversionParameters.minimum))if(g)if(e[b].startValue<
|
|
776
|
+
this.conversionParameters.minimum){if(e[b].size&&this.conversionParameters.minimum+c*(e[b].endValue-e[b].startValue)/e[b].size<e[b].endValue){a=0>=e[b].size?0:c*(e[b].endValue-e[b].startValue)/e[b].size;break}else a+=e[b].endValue-this.conversionParameters.minimum-e[b].size*(e[b].endValue-this.conversionParameters.minimum)/(e[b].endValue-e[b].startValue),c-=e[b].size*(e[b].endValue-this.conversionParameters.minimum)/(e[b].endValue-e[b].startValue);g=!1}else if(c>e[b].startValue-this.conversionParameters.minimum){c-=
|
|
777
|
+
e[b].startValue-this.conversionParameters.minimum;if(c<e[b].size){a+=(e[b].endValue-e[b].startValue)*(0===e[b].size?1:c/e[b].size)-c;break}else a+=e[b].endValue-e[b].startValue-e[b].size;c-=e[b].size;g=!1}else break;else if(c>e[b].startValue-e[b-1].endValue){c-=e[b].startValue-e[b-1].endValue;if(c<e[b].size){a+=(e[b].endValue-e[b].startValue)*(0===e[b].size?1:c/e[b].size)-c;break}else a+=e[b].endValue-e[b].startValue-e[b].size;c-=e[b].size}else break}else for(b=e.length-1;0<=b;b--)if(!(e[b].startValue>
|
|
778
|
+
this.conversionParameters.minimum))if(g)if(e[b].endValue>this.conversionParameters.minimum)if(e[b].size&&this.conversionParameters.minimum+c*(e[b].endValue-e[b].startValue)/e[b].size>e[b].startValue){a=0>=e[b].size?0:c*(e[b].endValue-e[b].startValue)/e[b].size;break}else a+=e[b].startValue-this.conversionParameters.minimum+e[b].size*(this.conversionParameters.minimum-e[b].startValue)/(e[b].endValue-e[b].startValue),c+=e[b].size*(this.conversionParameters.minimum-e[b].startValue)/(e[b].endValue-e[b].startValue),
|
|
779
|
+
g=!1;else if(c<e[b].endValue-this.conversionParameters.minimum){c-=e[b].endValue-this.conversionParameters.minimum;if(c>-1*e[b].size){a+=(e[b].endValue-e[b].startValue)*(0===e[b].size?1:c/e[b].size)+c;break}else a-=e[b].endValue-e[b].startValue-e[b].size;c+=e[b].size;g=!1}else break;else if(c<e[b].endValue-e[b+1].startValue){c-=e[b].endValue-e[b+1].startValue;if(c>-1*e[b].size){a+=(e[b].endValue-e[b].startValue)*(0===e[b].size?1:c/e[b].size)+c;break}else a-=e[b].endValue-e[b].startValue-e[b].size;
|
|
780
|
+
c+=e[b].size}else break;g=this.conversionParameters.minimum+a}return g};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)+
|
|
781
|
+
0.5<<0:this.conversionParameters.reference+this.conversionParameters.pixelPerUnit*(a-this.conversionParameters.minimum)+0.5};y.prototype.getApparentDifference=function(a,g,b,c){var e=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];if(this.logarithmic){b=f(b)?g/a:b;for(var d=0;d<e.length&&!(g<e[d].startValue);d++)a>e[d].endValue||(a<=e[d].startValue&&g>=e[d].endValue?b=b/e[d].endValue*e[d].startValue*e[d].size:a>=e[d].startValue&&g>=e[d].endValue?b=b/e[d].endValue*a*Math.pow(e[d].size,Math.log(e[d].endValue/
|
|
782
|
+
a)/Math.log(e[d].endValue/e[d].startValue)):a<=e[d].startValue&&g<=e[d].endValue?b=b/g*e[d].startValue*Math.pow(e[d].size,Math.log(g/e[d].startValue)/Math.log(e[d].endValue/e[d].startValue)):!c&&(a>e[d].startValue&&g<e[d].endValue)&&(b=a*Math.pow(e[d].size,Math.log(g/a)/Math.log(e[d].endValue/e[d].startValue))))}else for(b=f(b)?Math.abs(g-a):b,d=0;d<e.length&&!(g<e[d].startValue);d++)a>e[d].endValue||(a<=e[d].startValue&&g>=e[d].endValue?b=b-e[d].endValue+e[d].startValue+e[d].size:a>e[d].startValue&&
|
|
783
|
+
g>=e[d].endValue?b=b-e[d].endValue+a+e[d].size*(e[d].endValue-a)/(e[d].endValue-e[d].startValue):a<=e[d].startValue&&g<e[d].endValue?b=b-g+e[d].startValue+e[d].size*(g-e[d].startValue)/(e[d].endValue-e[d].startValue):!c&&(a>e[d].startValue&&g<e[d].endValue)&&(b=a+e[d].size*(g-a)/(e[d].endValue-e[d].startValue)));return b};y.prototype.setViewPortRange=function(a,g){this.sessionVariables.newViewportMinimum=this.viewportMinimum=Math.min(a,g);this.sessionVariables.newViewportMaximum=this.viewportMaximum=
|
|
784
|
+
Math.max(a,g)};y.prototype.getXValueAt=function(a){if(!a)return null;var g=null;"left"===this._position?g=this.convertPixelToValue(a.y):"bottom"===this._position&&(g=this.convertPixelToValue(a.x));return g};y.prototype.calculateValueToPixelConversionParameters=function(a){a=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];var g={pixelPerUnit:null,minimum:null,reference:null},b=this.lineCoordinates.width,c=this.lineCoordinates.height,b="bottom"===this._position||"top"===this._position?b:c,c=Math.abs(this.range);
|
|
785
|
+
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?b=0:this.viewportMinimum<=a[e].startValue&&this.viewportMaximum>=a[e].endValue?(c=c/a[e].endValue*a[e].startValue,b=0<a[e].spacing.toString().indexOf("%")?b*(1-parseFloat(a[e].spacing)/100):b-Math.min(a[e].spacing,0.1*b)):this.viewportMinimum>a[e].startValue&&this.viewportMaximum>=a[e].endValue?(c=c/
|
|
786
|
+
a[e].endValue*this.viewportMinimum,b=0<a[e].spacing.toString().indexOf("%")?b*(1-parseFloat(a[e].spacing)/100*Math.log(a[e].endValue/this.viewportMinimum)/Math.log(a[e].endValue/a[e].startValue)):b-Math.min(a[e].spacing,0.1*b)*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&&(c=c/this.viewportMaximum*a[e].startValue,b=0<a[e].spacing.toString().indexOf("%")?b*(1-parseFloat(a[e].spacing)/
|
|
787
|
+
100*Math.log(this.viewportMaximum/a[e].startValue)/Math.log(a[e].endValue/a[e].startValue)):b-Math.min(a[e].spacing,0.1*b)*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?b=0:this.viewportMinimum<=a[e].startValue&&this.viewportMaximum>=a[e].endValue?(c=c-a[e].endValue+a[e].startValue,
|
|
788
|
+
b=0<a[e].spacing.toString().indexOf("%")?b*(1-parseFloat(a[e].spacing)/100):b-Math.min(a[e].spacing,0.1*b)):this.viewportMinimum>a[e].startValue&&this.viewportMaximum>=a[e].endValue?(c=c-a[e].endValue+this.viewportMinimum,b=0<a[e].spacing.toString().indexOf("%")?b*(1-parseFloat(a[e].spacing)/100*(a[e].endValue-this.viewportMinimum)/(a[e].endValue-a[e].startValue)):b-Math.min(a[e].spacing,0.1*b)*(a[e].endValue-this.viewportMinimum)/(a[e].endValue-a[e].startValue)):this.viewportMinimum<=a[e].startValue&&
|
|
789
|
+
this.viewportMaximum<a[e].endValue&&(c=c-this.viewportMaximum+a[e].startValue,b=0<a[e].spacing.toString().indexOf("%")?b*(1-parseFloat(a[e].spacing)/100*(this.viewportMaximum-a[e].startValue)/(a[e].endValue-a[e].startValue)):b-Math.min(a[e].spacing,0.1*b)*(this.viewportMaximum-a[e].startValue)/(a[e].endValue-a[e].startValue)));g.minimum=this.viewportMinimum;g.maximum=this.viewportMaximum;g.range=c;if("bottom"===this._position||"top"===this._position)this.logarithmic?(g.lnLogarithmBase=Math.log(this.logarithmBase),
|
|
790
|
+
g.pixelPerUnit=(this.reversed?-1:1)*b*g.lnLogarithmBase/Math.log(Math.abs(c))):g.pixelPerUnit=(this.reversed?-1:1)*b/Math.abs(c),g.reference=this.reversed?this.lineCoordinates.x2:this.lineCoordinates.x1;if("left"===this._position||"right"===this._position)this.logarithmic?(g.lnLogarithmBase=Math.log(this.logarithmBase),g.pixelPerUnit=(this.reversed?1:-1)*b*g.lnLogarithmBase/Math.log(Math.abs(c))):g.pixelPerUnit=(this.reversed?1:-1)*b/Math.abs(c),g.reference=this.reversed?this.lineCoordinates.y1:this.lineCoordinates.y2;
|
|
791
|
+
this.conversionParameters=g};y.prototype.calculateAxisParameters=function(){if(this.logarithmic)this.calculateLogarithmicAxisParameters();else{var a=this.chart.layoutManager.getFreeSpace(),g=!1,b=!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,c=4;"axisX"===this.type&&
|
|
792
|
+
(c=600>this.maxWidth?8:6);var a=Math.max(c,Math.floor(this.maxWidth/a)),e,d,m,c=0;!f(this.options.viewportMinimum)&&(!f(this.options.viewportMaximum)&&this.options.viewportMinimum>=this.options.viewportMaximum)&&(this.viewportMinimum=this.viewportMaximum=null);if(f(this.options.viewportMinimum)&&!f(this.sessionVariables.newViewportMinimum)&&!isNaN(this.sessionVariables.newViewportMinimum))this.viewportMinimum=this.sessionVariables.newViewportMinimum;else if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum=
|
|
793
|
+
this.minimum;if(f(this.options.viewportMaximum)&&!f(this.sessionVariables.newViewportMaximum)&&!isNaN(this.sessionVariables.newViewportMaximum))this.viewportMaximum=this.sessionVariables.newViewportMaximum;else if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum=this.maximum;if(this.scaleBreaks)for(c=0;c<this.scaleBreaks._appliedBreaks.length;c++)if((!f(this.sessionVariables.newViewportMinimum)&&this.sessionVariables.newViewportMinimum>=this.scaleBreaks._appliedBreaks[c].startValue||
|
|
794
|
+
!f(this.options.minimum)&&this.options.minimum>=this.scaleBreaks._appliedBreaks[c].startValue||!f(this.options.viewportMinimum)&&this.viewportMinimum>=this.scaleBreaks._appliedBreaks[c].startValue)&&(!f(this.sessionVariables.newViewportMaximum)&&this.sessionVariables.newViewportMaximum<=this.scaleBreaks._appliedBreaks[c].endValue||!f(this.options.maximum)&&this.options.maximum<=this.scaleBreaks._appliedBreaks[c].endValue||!f(this.options.viewportMaximum)&&this.viewportMaximum<=this.scaleBreaks._appliedBreaks[c].endValue)){this.scaleBreaks._appliedBreaks.splice(c,
|
|
795
|
+
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&&(b=!0);e=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin;d=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax;0===d-e&&(c="undefined"===typeof this.options.interval?0.4:this.options.interval,d+=c,e-=c);Infinity!==this.dataInfo.minDiff?m=this.dataInfo.minDiff:1<d-e?m=0.5*Math.abs(d-e):(m=1,b&&
|
|
796
|
+
(g=!0))}else"axisY"===this.type&&(e=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,d=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax,isFinite(e)||isFinite(d)?isFinite(e)?isFinite(d)||(d=e):e=d:(d="undefined"===typeof this.options.interval?-Infinity:this.options.interval,e="undefined"!==typeof this.options.interval||isFinite(this.dataInfo.minDiff)?0:Infinity),0===e&&0===d?(d+=9,e=0):0===d-e?(c=Math.min(Math.abs(0.01*Math.abs(d)),5),d+=c,e-=c):
|
|
797
|
+
e>d?(c=Math.min(0.01*Math.abs(this.getApparentDifference(d,e,null,!0)),5),0<=d?e=d-c:d=isFinite(e)?e+c:0):(c=Math.min(0.01*Math.abs(this.getApparentDifference(e,d,null,!0)),0.05),0!==d&&(d+=c),0!==e&&(e-=c)),m=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:1<d-e?0.5*Math.abs(d-e):1,this.includeZero&&(null===this.viewportMinimum||isNaN(this.viewportMinimum))&&0<e&&(e=0),this.includeZero&&(null===this.viewportMaximum||isNaN(this.viewportMaximum))&&0>d&&(d=0));c=this.getApparentDifference(isNaN(this.viewportMinimum)||
|
|
798
|
+
null===this.viewportMinimum?e:this.viewportMinimum,isNaN(this.viewportMaximum)||null===this.viewportMaximum?d:this.viewportMaximum,null,!0);if("axisX"===this.type&&b){this.valueType="dateTime";this.intervalType||(c/1<=a?(this.interval=1,this.intervalType="millisecond"):c/2<=a?(this.interval=2,this.intervalType="millisecond"):c/5<=a?(this.interval=5,this.intervalType="millisecond"):c/10<=a?(this.interval=10,this.intervalType="millisecond"):c/20<=a?(this.interval=20,this.intervalType="millisecond"):
|
|
799
|
+
c/50<=a?(this.interval=50,this.intervalType="millisecond"):c/100<=a?(this.interval=100,this.intervalType="millisecond"):c/200<=a?(this.interval=200,this.intervalType="millisecond"):c/250<=a?(this.interval=250,this.intervalType="millisecond"):c/300<=a?(this.interval=300,this.intervalType="millisecond"):c/400<=a?(this.interval=400,this.intervalType="millisecond"):c/500<=a?(this.interval=500,this.intervalType="millisecond"):c/(1*W.secondDuration)<=a?(this.interval=1,this.intervalType="second"):c/(2*
|
|
800
|
+
W.secondDuration)<=a?(this.interval=2,this.intervalType="second"):c/(5*W.secondDuration)<=a?(this.interval=5,this.intervalType="second"):c/(10*W.secondDuration)<=a?(this.interval=10,this.intervalType="second"):c/(15*W.secondDuration)<=a?(this.interval=15,this.intervalType="second"):c/(20*W.secondDuration)<=a?(this.interval=20,this.intervalType="second"):c/(30*W.secondDuration)<=a?(this.interval=30,this.intervalType="second"):c/(1*W.minuteDuration)<=a?(this.interval=1,this.intervalType="minute"):c/
|
|
801
|
+
(2*W.minuteDuration)<=a?(this.interval=2,this.intervalType="minute"):c/(5*W.minuteDuration)<=a?(this.interval=5,this.intervalType="minute"):c/(10*W.minuteDuration)<=a?(this.interval=10,this.intervalType="minute"):c/(15*W.minuteDuration)<=a?(this.interval=15,this.intervalType="minute"):c/(20*W.minuteDuration)<=a?(this.interval=20,this.intervalType="minute"):c/(30*W.minuteDuration)<=a?(this.interval=30,this.intervalType="minute"):c/(1*W.hourDuration)<=a?(this.interval=1,this.intervalType="hour"):c/
|
|
802
|
+
(2*W.hourDuration)<=a?(this.interval=2,this.intervalType="hour"):c/(3*W.hourDuration)<=a?(this.interval=3,this.intervalType="hour"):c/(6*W.hourDuration)<=a?(this.interval=6,this.intervalType="hour"):c/(1*W.dayDuration)<=a?(this.interval=1,this.intervalType="day"):c/(2*W.dayDuration)<=a?(this.interval=2,this.intervalType="day"):c/(4*W.dayDuration)<=a?(this.interval=4,this.intervalType="day"):c/(1*W.weekDuration)<=a?(this.interval=1,this.intervalType="week"):c/(2*W.weekDuration)<=a?(this.interval=2,
|
|
803
|
+
this.intervalType="week"):c/(3*W.weekDuration)<=a?(this.interval=3,this.intervalType="week"):c/(1*W.monthDuration)<=a?(this.interval=1,this.intervalType="month"):c/(2*W.monthDuration)<=a?(this.interval=2,this.intervalType="month"):c/(3*W.monthDuration)<=a?(this.interval=3,this.intervalType="month"):c/(6*W.monthDuration)<=a?(this.interval=6,this.intervalType="month"):(this.interval=c/(1*W.yearDuration)<=a?1:c/(2*W.yearDuration)<=a?2:c/(4*W.yearDuration)<=a?4:Math.floor(y.getNiceNumber(c/(a-1),!0)/
|
|
804
|
+
W.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=d+m/2;g?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=
|
|
805
|
+
"MMM DD YYYY":"hour"===this.intervalType?this.autoValueFormatString="hh:mm TT":"minute"===this.intervalType?this.autoValueFormatString="hh:mm TT":"second"===this.intervalType?this.autoValueFormatString="hh:mm:ss TT":"millisecond"===this.intervalType&&(this.autoValueFormatString="fff'ms'");this.valueFormatString||(this.valueFormatString=this.autoValueFormatString)}else{this.intervalType="number";c=y.getNiceNumber(c,!1);this.interval=this.options&&0<this.options.interval?this.options.interval:y.getNiceNumber(c/
|
|
806
|
+
(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||isNaN(this.viewportMaximum))this.viewportMaximum="axisX"===this.type?d+m/2:Math.ceil(d/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"===
|
|
807
|
+
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=null!==this.minimum?this.minimum:this.dataInfo.min,d=null!==this.maximum?this.maximum:this.dataInfo.max,0===d-e&&(c="undefined"===typeof this.options.interval?0.4:this.options.interval,d+=c,e-=c),m=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:1<d-e?0.5*Math.abs(d-e):1):"axisY"===this.type&&(e=null!==this.minimum?
|
|
808
|
+
this.minimum:this.dataInfo.min,d=null!==this.maximum?this.maximum:this.dataInfo.max,isFinite(e)||isFinite(d)?0===e&&0===d?(d+=9,e=0):0===d-e?(c=Math.min(Math.abs(0.01*Math.abs(d)),5),d+=c,e-=c):e>d?(c=Math.min(0.01*Math.abs(this.getApparentDifference(d,e,null,!0)),5),0<=d?e=d-c:d=isFinite(e)?e+c:0):(c=Math.min(0.01*Math.abs(this.getApparentDifference(e,d,null,!0)),0.05),0!==d&&(d+=c),0!==e&&(e-=c)):(d="undefined"===typeof this.options.interval?-Infinity:this.options.interval,e="undefined"!==typeof this.options.interval||
|
|
809
|
+
isFinite(this.dataInfo.minDiff)?0:Infinity),m=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:1<d-e?0.5*Math.abs(d-e):1,this.includeZero&&(null===this.minimum||isNaN(this.minimum))&&0<e&&(e=0),this.includeZero&&(null===this.maximum||isNaN(this.maximum))&&0>d&&(d=0)),Math.abs(this.getApparentDifference(e,d,null,!0)),"axisX"===this.type&&b){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||
|
|
810
|
+
isNaN(this.sessionVariables.viewportMinimum)?Infinity:this.sessionVariables.viewportMinimum);if(null===this.maximum||isNaN(this.maximum))this.maximum=d+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,
|
|
811
|
+
null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?Infinity:this.sessionVariables.viewportMinimum)),null===this.maximum&&(this.maximum="axisX"===this.type?d+m/2:Math.ceil(d/this.interval)*this.interval,this.maximum=Math.max(this.maximum,null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?-Infinity:this.sessionVariables.viewportMaximum)),0===this.maximum&&0===this.minimum&&(0===this.options.minimum?this.maximum+=10:0===
|
|
812
|
+
this.options.maximum&&(this.minimum-=10));f(this.sessionVariables.newViewportMinimum)&&(this.viewportMinimum=Math.max(this.viewportMinimum,this.minimum));f(this.sessionVariables.newViewportMaximum)&&(this.viewportMaximum=Math.min(this.viewportMaximum,this.maximum));this.range=this.viewportMaximum-this.viewportMinimum;this.intervalStartPosition="axisX"===this.type&&b?this.getLabelStartPoint(new Date(this.viewportMinimum),this.intervalType,this.interval):Math.floor((this.viewportMinimum+0.2*this.interval)/
|
|
813
|
+
this.interval)*this.interval;this.valueFormatString||(this.valueFormatString=y.generateValueFormatString(this.range,2))}};y.prototype.calculateLogarithmicAxisParameters=function(){var a=this.chart.layoutManager.getFreeSpace(),g=Math.log(this.logarithmBase),b;"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?500>this.maxWidth?7:Math.max(7,Math.floor(this.maxWidth/100)):Math.max(Math.floor(this.maxWidth/
|
|
814
|
+
50),3),c,d,k,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((!f(this.sessionVariables.newViewportMinimum)&&this.sessionVariables.newViewportMinimum>=this.scaleBreaks._appliedBreaks[m].startValue||!f(this.options.minimum)&&this.options.minimum>=this.scaleBreaks._appliedBreaks[m].startValue||
|
|
815
|
+
!f(this.options.viewportMinimum)&&this.viewportMinimum>=this.scaleBreaks._appliedBreaks[m].startValue)&&(!f(this.sessionVariables.newViewportMaximum)&&this.sessionVariables.newViewportMaximum<=this.scaleBreaks._appliedBreaks[m].endValue||!f(this.options.maximum)&&this.options.maximum<=this.scaleBreaks._appliedBreaks[m].endValue||!f(this.options.viewportMaximum)&&this.viewportMaximum<=this.scaleBreaks._appliedBreaks[m].endValue)){this.scaleBreaks._appliedBreaks.splice(m,1);break}"axisX"===this.type?
|
|
816
|
+
(c=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,d=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax,1===d/c&&(m=Math.pow(this.logarithmBase,"undefined"===typeof this.options.interval?0.4:this.options.interval),d*=m,c/=m),k=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:d/c>this.logarithmBase?d/c*Math.pow(this.logarithmBase,0.5):this.logarithmBase):"axisY"===this.type&&(c=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,
|
|
817
|
+
d=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax,0>=c&&!isFinite(d)?(d="undefined"===typeof this.options.interval?0:this.options.interval,c=1):0>=c?c=d:isFinite(d)||(d=c),1===c&&1===d?(d*=this.logarithmBase-1/this.logarithmBase,c=1):1===d/c?(m=Math.min(d*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,5)),d*=m,c/=m):c>d?(m=Math.min(c/d*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,5)),1<=d?c=d/m:d=c*m):(m=Math.min(d/c*Math.pow(this.logarithmBase,
|
|
818
|
+
0.01),Math.pow(this.logarithmBase,0.04)),1!==d&&(d*=m),1!==c&&(c/=m)),k=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:d/c>this.logarithmBase?d/c*Math.pow(this.logarithmBase,0.5):this.logarithmBase,this.includeZero&&(null===this.viewportMinimum||isNaN(this.viewportMinimum))&&1<c&&(c=1),this.includeZero&&(null===this.viewportMaximum||isNaN(this.viewportMaximum))&&1>d&&(d=1));m=(isNaN(this.viewportMaximum)||null===this.viewportMaximum?d:this.viewportMaximum)/(isNaN(this.viewportMinimum)||null===
|
|
819
|
+
this.viewportMinimum?c:this.viewportMinimum);var t=(isNaN(this.viewportMaximum)||null===this.viewportMaximum?d:this.viewportMaximum)-(isNaN(this.viewportMinimum)||null===this.viewportMinimum?c:this.viewportMinimum);this.intervalType="number";m=Math.pow(this.logarithmBase,y.getNiceNumber(Math.abs(Math.log(m)/g),!1));this.options&&0<this.options.interval?this.interval=this.options.interval:(this.interval=y.getNiceExponent(Math.log(m)/g/(a-1),!0),b=y.getNiceNumber(t/(a-1),!0));if(null===this.viewportMinimum||
|
|
820
|
+
isNaN(this.viewportMinimum))this.viewportMinimum="axisX"===this.type?c/Math.sqrt(k):Math.pow(this.logarithmBase,this.interval*Math.floor(Math.log(c)/g/this.interval));if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum="axisX"===this.type?d*Math.sqrt(k):Math.pow(this.logarithmBase,this.interval*Math.ceil(Math.log(d)/g/this.interval));1===this.viewportMaximum&&1===this.viewportMinimum&&(1===this.options.viewportMinimum?this.viewportMaximum*=this.logarithmBase-1/this.logarithmBase:
|
|
821
|
+
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)/g)/(a-1)),b=y.getNiceNumber((this.viewportMaximum-this.viewportMinimum)/(a-1),!0)));if(null===this.minimum||null===this.maximum)"axisX"===this.type?(c=null!==this.minimum?this.minimum:this.dataInfo.min,d=null!==this.maximum?this.maximum:this.dataInfo.max,1===d/c&&(m=Math.pow(this.logarithmBase,
|
|
822
|
+
"undefined"===typeof this.options.interval?0.4:this.options.interval),d*=m,c/=m),k=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:d/c>this.logarithmBase?d/c*Math.pow(this.logarithmBase,0.5):this.logarithmBase):"axisY"===this.type&&(c=null!==this.minimum?this.minimum:this.dataInfo.min,d=null!==this.maximum?this.maximum:this.dataInfo.max,isFinite(c)||isFinite(d)?1===c&&1===d?(d*=this.logarithmBase,c/=this.logarithmBase):1===d/c?(m=Math.pow(this.logarithmBase,this.interval),d*=m,c/=m):c>d?(m=
|
|
823
|
+
Math.min(0.01*(c/d),5),1<=d?c=d/m:d=c*m):(m=Math.min(d/c*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,0.04)),1!==d&&(d*=m),1!==c&&(c/=m)):(d="undefined"===typeof this.options.interval?0:this.options.interval,c=1),k=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:d/c>this.logarithmBase?d/c*Math.pow(this.logarithmBase,0.5):this.logarithmBase,this.includeZero&&(null===this.minimum||isNaN(this.minimum))&&1<c&&(c=1),this.includeZero&&(null===this.maximum||isNaN(this.maximum))&&
|
|
824
|
+
1>d&&(d=1)),this.intervalType="number",null===this.minimum&&(this.minimum="axisX"===this.type?c/Math.sqrt(k):Math.pow(this.logarithmBase,this.interval*Math.floor(Math.log(c)/g/this.interval)),f(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||
|
|
825
|
+
isNaN(this.sessionVariables.viewportMinimum)?"undefined"===typeof this.sessionVariables.newViewportMinimum?Infinity:this.sessionVariables.newViewportMinimum:this.sessionVariables.viewportMinimum))),null===this.maximum&&(this.maximum="axisX"===this.type?d*Math.sqrt(k):Math.pow(this.logarithmBase,this.interval*Math.ceil(Math.log(d)/g/this.interval)),f(null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?"undefined"===typeof this.sessionVariables.newViewportMaximum?
|
|
826
|
+
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/=
|
|
827
|
+
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)/
|
|
828
|
+
Math.pow(this.logarithmBase,2*Math.ceil(this.interval))):this.viewportMaximum=this.maximum=this.options.viewportMinimum||this.options.minimum);c=Math.pow(this.logarithmBase,Math.floor(Math.log(this.viewportMinimum)/(g*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(g=Math.floor(this.viewportMinimum/b+0.5)*b;g<this.viewportMinimum;)g+=b;this.equidistantInterval=
|
|
829
|
+
!1;this.intervalStartPosition=g;this.interval=b}else this.options.interval||(b=Math.ceil(this.interval),this.range>this.interval&&(this.interval=b,c=Math.pow(this.logarithmBase,Math.floor(Math.log(this.viewportMinimum)/(g*this.interval)+0.2)*this.interval))),this.equidistantInterval=!0,this.intervalStartPosition=c;if(!this.valueFormatString&&(this.valueFormatString="#,##0.##",1>this.viewportMinimum)){g=Math.floor(Math.abs(Math.log(this.viewportMinimum)/Math.LN10))+2;if(isNaN(g)||!isFinite(g))g=2;
|
|
830
|
+
if(2<g)for(m=0;m<g-2;m++)this.valueFormatString+="#"}};y.generateValueFormatString=function(a,d){var b="#,##0.",c=d;1>a&&(c+=Math.floor(Math.abs(Math.log(a)/Math.LN10)),isNaN(c)||!isFinite(c))&&(c=d);for(var e=0;e<c;e++)b+="#";return b};y.getNiceExponent=function(a,d){var b=Math.floor(Math.log(a)/Math.LN10),c=a/Math.pow(10,b),c=0>b?1>=c?1:5>=c?5:10:Math.max(Math.floor(c),1);return-20>b?Number(c*Math.pow(10,b)):Number((c*Math.pow(10,b)).toFixed(20))};y.getNiceNumber=function(a,d){var b=Math.floor(Math.log(a)/
|
|
831
|
+
Math.LN10),c=a/Math.pow(10,b),c=d?1.5>c?1:3>c?2:7>c?5:10:1>=c?1:2>=c?2:5>=c?5:10;return-20>b?Number(c*Math.pow(10,b)):Number((c*Math.pow(10,b)).toFixed(20))};y.prototype.getLabelStartPoint=function(){var a=W[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()||
|
|
832
|
+
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<
|
|
833
|
+
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()||
|
|
834
|
+
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};ga(N,Y);ga(M,Y);M.prototype.createUserOptions=function(a){if("undefined"!==typeof a||this.options._isPlaceholder){var d=0;this.parent.options._isPlaceholder&&this.parent.createUserOptions();this.options._isPlaceholder||(ua(this.parent[this.optionsName]),d=this.parent.options[this.optionsName].indexOf(this.options));
|
|
835
|
+
this.options="undefined"===typeof a?{}:a;this.parent.options[this.optionsName][d]=this.options}};M.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,b=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 c=this.scaleBreaks.parent.getPixelCoordinatesOnAxis(this.startValue),
|
|
836
|
+
e=this.scaleBreaks.parent.getPixelCoordinatesOnAxis(this.endValue);this.ctx.strokeStyle=this.lineColor;this.ctx.fillStyle=this.color;this.ctx.beginPath();this.ctx.globalAlpha=1;T(this.id);var k,f,m,t,n,q;a=Math.max(this.spacing,3);var p=Math.max(0,this.lineThickness);this.ctx.lineWidth=p;this.ctx.setLineDash&&this.ctx.setLineDash(R(this.lineDashType,p));if("bottom"===this.scaleBreaks.parent._position||"top"===this.scaleBreaks.parent._position)if(c=1===p%2?(c.x<<0)+0.5:c.x<<0,f=1===p%2?(e.x<<0)+0.5:
|
|
837
|
+
e.x<<0,"top"===this.scaleBreaks.parent._position?(e=this.chart.plotArea.y1,m=this.chart.plotArea.y2+p/2+0.5<<0):(e=this.chart.plotArea.y2,m=this.chart.plotArea.y1-p/2+0.5<<0,a*=-1),this.bounds={x1:c-p/2,y1:e,x2:f+p/2,y2:m},this.ctx.moveTo(c,e),"straight"===this.type||"top"===this.scaleBreaks.parent._position&&0>=a||"bottom"===this.scaleBreaks.parent._position&&0<=a)this.ctx.lineTo(c,m),this.ctx.lineTo(f,m),this.ctx.lineTo(f,e);else if("wavy"===this.type){t=c;n=e;k=0.5;q=(m-n)/a/3;for(var r=0;r<q;r++)this.ctx.bezierCurveTo(t+
|
|
838
|
+
k*a,n+a,t+k*a,n+2*a,t,n+3*a),n+=3*a,k*=-1;this.ctx.bezierCurveTo(t+k*a,n+a,t+k*a,n+2*a,t,n+3*a);t=f;k*=-1;this.ctx.lineTo(t,n);for(r=0;r<q;r++)this.ctx.bezierCurveTo(t+k*a,n-a,t+k*a,n-2*a,t,n-3*a),n-=3*a,k*=-1}else{if("zigzag"===this.type){k=-1;n=e+a;t=c+a;q=(m-n)/a/2;for(r=0;r<q;r++)this.ctx.lineTo(t,n),t+=2*k*a,n+=2*a,k*=-1;this.ctx.lineTo(t,n);t+=f-c;for(r=0;r<q+1;r++)this.ctx.lineTo(t,n),t+=2*k*a,n-=2*a,k*=-1;this.ctx.lineTo(t+k*a,n+a)}}else if("left"===this.scaleBreaks.parent._position||"right"===
|
|
839
|
+
this.scaleBreaks.parent._position)if(e=1===p%2?(e.y<<0)+0.5:e.y<<0,m=1===p%2?(c.y<<0)+0.5:c.y<<0,"left"===this.scaleBreaks.parent._position?(c=this.chart.plotArea.x1,f=this.chart.plotArea.x2+p/2+0.5<<0):(c=this.chart.plotArea.x2,f=this.chart.plotArea.x1-p/2+0.5<<0,a*=-1),this.bounds={x1:c,y1:e-p/2,x2:f,y2:m+p/2},this.ctx.moveTo(c,e),"straight"===this.type||"left"===this.scaleBreaks.parent._position&&0>=a||"right"===this.scaleBreaks.parent._position&&0<=a)this.ctx.lineTo(f,e),this.ctx.lineTo(f,m),
|
|
840
|
+
this.ctx.lineTo(c,m);else if("wavy"===this.type){t=c;n=e;k=0.5;q=(f-t)/a/3;for(r=0;r<q;r++)this.ctx.bezierCurveTo(t+a,n+k*a,t+2*a,n+k*a,t+3*a,n),t+=3*a,k*=-1;this.ctx.bezierCurveTo(t+a,n+k*a,t+2*a,n+k*a,t+3*a,n);n=m;k*=-1;this.ctx.lineTo(t,n);for(r=0;r<q;r++)this.ctx.bezierCurveTo(t-a,n+k*a,t-2*a,n+k*a,t-3*a,n),t-=3*a,k*=-1}else if("zigzag"===this.type){k=1;n=e-a;t=c+a;q=(f-t)/a/2;for(r=0;r<q;r++)this.ctx.lineTo(t,n),n+=2*k*a,t+=2*a,k*=-1;this.ctx.lineTo(t,n);n+=m-e;for(r=0;r<q+1;r++)this.ctx.lineTo(t,
|
|
841
|
+
n),n+=2*k*a,t-=2*a,k*=-1;this.ctx.lineTo(t+a,n+k*a)}0<p&&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=b;this.ctx=d}};ga(Z,Y);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||(ua(this.parent.stripLines),d=this.parent.options.stripLines.indexOf(this.options));
|
|
842
|
+
this.options="undefined"===typeof a?{}:a;this.parent.options.stripLines[d]=this.options}};Z.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 b=null===this.opacity?1:this.opacity;this.ctx.strokeStyle=this.color;this.ctx.beginPath();var c=this.ctx.globalAlpha;this.ctx.globalAlpha=
|
|
843
|
+
b;T(this.id);var e,k,f,m;this.ctx.lineWidth=d;this.ctx.setLineDash&&this.ctx.setLineDash(R(this.lineDashType,d));if("bottom"===this.parent._position||"top"===this.parent._position)e=k=1===this.ctx.lineWidth%2?(a.x<<0)+0.5:a.x<<0,f=this.chart.plotArea.y1,m=this.chart.plotArea.y2,this.bounds={x1:e-d/2,y1:f,x2:k+d/2,y2:m};else if("left"===this.parent._position||"right"===this.parent._position)f=m=1===this.ctx.lineWidth%2?(a.y<<0)+0.5:a.y<<0,e=this.chart.plotArea.x1,k=this.chart.plotArea.x2,this.bounds=
|
|
844
|
+
{x1:e,y1:f-d/2,x2:k,y2:m+d/2};this.ctx.moveTo(e,f);this.ctx.lineTo(k,m);this.ctx.stroke();this.ctx.globalAlpha=c}this.ctx.restore()};ga(U,Y);U.prototype.showAt=function(a){if(!this.enabled)return!1;var d=this.chart,b=!1;d.resetOverlayedCanvas();d.clearedOverlayedCanvas=this.parent.type;this.chart.renderCrosshairs(this.parent);if("xySwapped"===d.plotInfo.axisPlacement)if("bottom"===this.parent._position)for(var c=0;c<d.axisY.length;c++)this.parent===d.axisY[c]&&(d.axisY[c]._crosshairValue=a>=d.axisY[c].viewportMinimum&&
|
|
843
845
|
a<=d.axisY[c].viewportMaximum?a:null);else if("top"===this.parent._position)for(c=0;c<d.axisY2.length;c++)this.parent===d.axisY2[c]&&(d.axisY2[c]._crosshairValue=a>=d.axisY2[c].viewportMinimum&&a<=d.axisY2[c].viewportMaximum?a:null);else if("left"===this.parent._position)for(c=0;c<d.axisX.length;c++)this.parent===d.axisX[c]&&(d.axisX[c]._crosshairValue=a>=d.axisX[c].viewportMinimum&&a<=d.axisX[c].viewportMaximum?a:null);else{if("right"===this.parent._position)for(c=0;c<d.axisX2.length;c++)this.parent===
|
|
844
846
|
d.axisX2[c]&&(d.axisX2[c]._crosshairValue=a>=d.axisX2[c].viewportMinimum&&a<=d.axisX2[c].viewportMaximum?a:null)}else if("bottom"===this.parent._position)for(c=0;c<d.axisX.length;c++)this.parent===d.axisX[c]&&(d.axisX[c]._crosshairValue=a>=d.axisX[c].viewportMinimum&&a<=d.axisX[c].viewportMaximum?a:null);else if("top"===this.parent._position)for(c=0;c<d.axisX2.length;c++)this.parent===d.axisX2[c]&&(d.axisX2[c]._crosshairValue=a>=d.axisX2[c].viewportMinimum&&a<=d.axisX2[c].viewportMaximum?a:null);
|
|
845
847
|
else if("left"===this.parent._position)for(c=0;c<d.axisY.length;c++)this.parent===d.axisY[c]&&(d.axisY[c]._crosshairValue=a>=d.axisY[c].viewportMinimum&&a<=d.axisY[c].viewportMaximum?a:null);else if("right"===this.parent._position)for(c=0;c<d.axisY2.length;c++)this.parent===d.axisY2[c]&&(d.axisY2[c]._crosshairValue=a>=d.axisY2[c].viewportMinimum&&a<=d.axisY2[c].viewportMaximum?a:null);for(c=0;c<d.axisX.length;c++)a=d.axisX[c]._crosshairValue,d.axisX[c].crosshair&&d.axisX[c].crosshair.enabled&&(!f(a)&&
|
|
@@ -964,7 +966,7 @@ function(){f.animate.call(f)}):this.chart.isAnimating=!1};fa.prototype.cancelAll
|
|
|
964
966
|
c=d.source.canvas,e=d.animationBase;b.drawImage(c,0,0,c.width,c.height,e-e*a,0,a*b.canvas.width/ja,b.canvas.height/ja)}},xClipAnimation:function(a,d){if(0!==a){var b=d.dest,c=d.source.canvas;b.save();0<a&&b.drawImage(c,0,0,c.width*a,c.height,0,0,c.width*a/ja,c.height/ja);b.restore()}},fadeInAnimation:function(a,d){if(0!==a){var b=d.dest,c=d.source.canvas;b.save();b.globalAlpha=a;b.drawImage(c,0,0,c.width,c.height,0,0,b.canvas.width/ja,b.canvas.height/ja);b.restore()}},easing:{linear:function(a,d,
|
|
965
967
|
b,c){return b*a/c+d},easeOutQuad:function(a,d,b,c){return-b*(a/=c)*(a-2)+d},easeOutQuart:function(a,d,b,c){return-b*((a=a/c-1)*a*a*a-1)+d},easeInQuad:function(a,d,b,c){return b*(a/=c)*a+d},easeInQuart:function(a,d,b,c){return b*(a/=c)*a*a*a+d}}},m={drawMarker:function(a,d,b,c,e,f,m,t){if(b){var l=1;b.fillStyle=f?f:"#000000";b.strokeStyle=m?m:"#000000";b.lineWidth=t?t:0;b.setLineDash&&b.setLineDash(R("solid",t));"circle"===c?(b.moveTo(a,d),b.beginPath(),b.arc(a,d,e/2,0,2*Math.PI,!1),f&&b.fill(),t&&
|
|
966
968
|
(m?b.stroke():(l=b.globalAlpha,b.globalAlpha=0.15,b.strokeStyle="black",b.stroke(),b.globalAlpha=l))):"square"===c?(b.beginPath(),b.rect(a-e/2,d-e/2,e,e),f&&b.fill(),t&&(m?b.stroke():(l=b.globalAlpha,b.globalAlpha=0.15,b.strokeStyle="black",b.stroke(),b.globalAlpha=l))):"triangle"===c?(b.beginPath(),b.moveTo(a-e/2,d+e/2),b.lineTo(a+e/2,d+e/2),b.lineTo(a,d-e/2),b.closePath(),f&&b.fill(),t&&(m?b.stroke():(l=b.globalAlpha,b.globalAlpha=0.15,b.strokeStyle="black",b.stroke(),b.globalAlpha=l)),b.beginPath()):
|
|
967
|
-
"cross"===c&&(b.strokeStyle=f,b.lineWidth=e/4,b.beginPath(),b.moveTo(a-e/2,d-e/2),b.lineTo(a+e/2,d+e/2),b.stroke(),b.moveTo(a+e/2,d-e/2),b.lineTo(a-e/2,d+e/2),b.stroke())}},drawMarkers:function(a){for(var d=0;d<a.length;d++){var b=a[d];m.drawMarker(b.x,b.y,b.ctx,b.type,b.size,b.color,b.borderColor,b.borderThickness)}}};return v}();Ga.version="v3.12.
|
|
969
|
+
"cross"===c&&(b.strokeStyle=f,b.lineWidth=e/4,b.beginPath(),b.moveTo(a-e/2,d-e/2),b.lineTo(a+e/2,d+e/2),b.stroke(),b.moveTo(a+e/2,d-e/2),b.lineTo(a-e/2,d+e/2),b.stroke())}},drawMarkers:function(a){for(var d=0;d<a.length;d++){var b=a[d];m.drawMarker(b.x,b.y,b.ctx,b.type,b.size,b.color,b.borderColor,b.borderThickness)}}};return v}();Ga.version="v3.12.10 GA";window.CanvasJS&&(Ga&&!window.CanvasJS.Chart)&&(window.CanvasJS.Chart=Ga);ca.StockChart={width:500,height:600,backgroundColor:"white",theme:"light1",
|
|
968
970
|
animationEnabled:!1,animationDuration:1200,culture:"en",creditHref:"",creditText:"CanvasJS",exportEnabled:!1,exportFileName:"StockChart",colorSet:"colorSet1",rangeChanging:null,rangeChanged:null,publicProperties:{title:"readWrite",subtitles:"readWrite",toolbar:"readWrite",navigator:"readWrite",rangeSelector:"readWrite",charts:"readWrite",options:"readWrite",bounds:"readOnly",container:"readOnly",selectedColorSet:"readOnly"}};ca.Navigator={enabled:!0,width:500,height:70,verticalAlign:"bottom",horizontalAlign:"left",
|
|
969
971
|
dynamicUpdate:!0,backgroundColor:"#fff",animationEnabled:!1,animationDuration:1200,theme:"light1",colorSet:"colorSet1",publicProperties:{slider:"readWrite",backgroundColor:"readWrite",animationEnabled:"readWrite",animationDuration:"readWrite",theme:"readWrite",axisX:"readWrite",axisY:"readWrite",axisX2:"readWrite",axisY2:"readWrite",data:"readWrite",colorSet:"readWrite",options:"readWrite",bounds:"readOnly"}};ca.RangeSelector={enabled:!0,width:500,height:35,label:"Range",verticalAlign:"top",horizontalAlign:"center",
|
|
970
972
|
selectedRangeButtonIndex:null,publicProperties:{options:"readWrite",buttons:"readWrite",inputFields:"readWrite",buttonStyle:"readWrite",bounds:"readOnly"}};ca.RangeButton={range:null,rangeType:null,label:null,style:"position: inline; margin: 5px 0;text-align:center;cursor: pointer;",backgroundColorDisabled:"#ddd",publicProperties:{options:"readWrite",bounds:"readOnly"}};ca.ButtonStyle={backgroundColor:"#fff",backgroundColorOnHover:"#2196f3",backgroundColorOnSelect:"#2196f3",borderColor:"#2196f3",
|
|
@@ -1187,7 +1189,7 @@ this.range:f(s[d])?null:s[d];this.rangeType="undefined"!==typeof this.options.ra
|
|
|
1187
1189
|
0)+"px",this.elements[d].style.paddingRight=(this.style.padding.right||0)+"px",this.elements[d].style.paddingBottom=(this.style.padding.bottom||0)+"px",this.elements[d].style.paddingLeft=(this.style.padding.left||0)+"px"):this.elements[d].style.padding=this.style.padding+"px",this.elements[d].style.mozAppearance=this.elements[d].style.webkitAppearance=this.elements[d].style.appearance="none",this.elements[d].style.webkitBorderRadius=0,this.elements[d].style.mozBorderRadius=0,this.elements[d].style.borderRadius=
|
|
1188
1190
|
0,this.elements[d].style.boxSizing="content-box";this.parent=this.rangeSelector=this.stockChart.rangeSelector}};ga(V,Y);V.prototype._updateOptions=function(){this.updateOption("backgroundColor");this.updateOption("backgroundColorOnHover");this.updateOption("backgroundColorOnSelect");this.updateOption("borderColor");this.updateOption("borderThickness");this.updateOption("labelFontColor");this.updateOption("labelFontColorOnHover");this.updateOption("labelFontSize");this.updateOption("labelFontStyle");
|
|
1189
1191
|
this.updateOption("labelFontFamily");this.updateOption("labelFontWeight");this.updateOption("width");this.updateOption("maxWidth");this.updateOption("padding");this.updateOption("spacing");this.updateOption("cursor")};ga(Z,Y);Z.prototype._updateOptions=function(){this.updateOption("backgroundColor");this.updateOption("borderColor");this.updateOption("borderThickness");this.updateOption("borderColorOnFocus");this.updateOption("fontColor");this.updateOption("fontSize");this.updateOption("fontStyle");
|
|
1190
|
-
this.updateOption("fontFamily");this.updateOption("fontWeight");this.updateOption("width");this.updateOption("maxWidth");this.updateOption("padding");this.updateOption("spacing");this.updateOption("cursor")};return s}();Z.version="v1.12.
|
|
1192
|
+
this.updateOption("fontFamily");this.updateOption("fontWeight");this.updateOption("width");this.updateOption("maxWidth");this.updateOption("padding");this.updateOption("spacing");this.updateOption("cursor")};return s}();Z.version="v1.12.10 GA";window.CanvasJS&&(Z&&(!window.CanvasJS.StockChart&&window.CanvasJS.Chart)&&(window.CanvasJS.StockChart=Z),Z&&!window.CanvasJS.Chart&&(window.CanvasJS.Chart=Ga,window.CanvasJS.StockChart=Z))})();
|
|
1191
1193
|
|
|
1192
1194
|
/*
|
|
1193
1195
|
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.
|