(function(n,t){typeof define=="function"&&define.amd?define(["Chart"],t):typeof exports=="object"?t(require("Chart")):t(n.Chart)})(this,function(n){"use strict";var t=n.helpers,i={formatDateValue:function(n,t,i,u){var f,e;return(n=new Date(+n),f=u?n.getUTCMilliseconds():n.getMilliseconds(),f)?("000"+f).slice(-3):(e=u?n.getUTCHours()+n.getUTCMinutes()+n.getUTCSeconds():n.getHours()+n.getMinutes()+n.getSeconds(),e?r(n,t||"h:MM",u):r(n,i||"mmm d",u))},getElementOrDefault:function(n,t,i){return t>=0&&ti?i:n0){var n=this.ctx;n.beginPath();n.arc(this.x,this.y,this.size*this.radius,0,Math.PI*2);n.closePath();n.strokeStyle=this.strokeColor;n.lineWidth=this.strokeWidth;n.fillStyle=this.fillColor;n.fill();n.stroke()}}})},r=function(){var r=/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,u=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,f=/[^-+\dA-Z]/g,n=function(n,t){for(n=String(n),t=t||2;n.length99?Math.round(v/10):v),t:c<12?"a":"p",tt:c<12?"am":"pm",T:c<12?"A":"P",TT:c<12?"AM":"PM",Z:s?"UTC":(String(e).match(u)||[""]).pop().replace(f,""),o:(y>0?"-":"+")+n(Math.floor(Math.abs(y)/60)*100+Math.abs(y)%60,4),S:["th","st","nd","rd"][l%10>3?0:(l%100-l%10!=10)*l%10]};return o.replace(r,function(n){return n in d?d[n]:n.slice(1,n.length-1)})}}();n.ScatterNumberScale=n.Element.extend({initialize:function(){this.font=t.fontString(this.fontSize,this.fontStyle,this.fontFamily);this.padding=this.fontSize/2},setDataRange:function(n){this.dataRange=n},api:{calculateControlPoints:function(n,t,r,u,f){var l=!n?0:f,a=!r?0:f,o=t,h=n?n:t,v=r?r:t,y={xx:o.arg-h.arg,yy:o.value-h.value},e={xx:v.arg-h.arg,yy:v.value-h.value},w=y.xx*e.xx+y.yy*e.yy,p=Math.sqrt(e.xx*e.xx+e.yy*e.yy),c=Math.min(Math.max(w/(p*p),.3),.7),s={before:{x:o.arg-e.xx*c*l,y:o.value-e.yy*c*l},after:{x:o.arg+e.xx*(1-c)*a,y:o.value+e.yy*(1-c)*a}};return s.before.y=i.applyRange(s.before.y,u.ymin,u.ymax),s.after.y=i.applyRange(s.after.y,u.ymin,u.ymax),s},generateLabels:function(n,i,r,u){var f=new Array(i+1);return n&&t.each(f,function(i,e){f[e]=t.template(n,{value:r+u*e})}),f}},calculateYscaleRange:function(){this.yScaleRange=this.scaleOverride?{steps:this.scaleSteps,stepValue:this.scaleStepWidth,min:this.scaleStartValue,max:this.scaleStartValue+this.scaleSteps*this.scaleStepWidth}:t.calculateScaleRange([this.dataRange.ymin,this.dataRange.ymax],this.chart.height,this.fontSize,this.beginAtZero,this.integersOnly)},calculateXscaleRange:function(){this.xScaleRange=t.calculateScaleRange([this.dataRange.xmin,this.dataRange.xmax],this.chart.width,this.fontSize,!1,!0)},generateYLabels:function(){this.yLabels=this.api.generateLabels(this.labelTemplate,this.yScaleRange.steps,this.yScaleRange.min,this.yScaleRange.stepValue)},generateXLabels:function(){this.xLabels=this.api.generateLabels(this.argLabelTemplate,this.xScaleRange.steps,this.xScaleRange.min,this.xScaleRange.stepValue)},argToString:function(n){return+n+""},fit:function(){var n,i,r,u;this.calculateYscaleRange();this.calculateXscaleRange();this.generateYLabels();this.generateXLabels();n=t.longestText(this.chart.ctx,this.font,this.xLabels);i=t.longestText(this.chart.ctx,this.font,this.yLabels);this.xPadding=this.display&&this.showLabels?i+this.padding*2:this.padding;r=Math.floor((this.chart.width-this.xPadding)/this.xScaleRange.steps);u=this.fontSize*1.5;this.xLabelRotation=n>r;this.xPaddingRight=this.display&&this.showLabels&&!this.xLabelRotation?n/2:this.padding;this.yPadding=this.display&&this.showLabels?(this.xLabelRotation?n:u)+this.padding*2:this.padding},updateBezierControlPoints:function(n,t,r){for(var u=0;uv;)if(h++,h==u.length)for(f=u[u.length-1],e=0;e=0&&n",scaleSizeLabel:"<%=value%>",emptyDataMessage:"chart has no data",scaleShowGridLines:!0,scaleGridLineWidth:1,scaleGridLineColor:"rgba(0,0,0,.05)",scaleShowHorizontalLines:!0,scaleShowVerticalLines:!0,scaleType:"number",useUtc:!0,scaleDateFormat:"mmm d",scaleTimeFormat:"h:MM",scaleDateTimeFormat:"mmm d, yyyy, hh:MM",datasetStroke:!0,datasetStrokeWidth:2,datasetStrokeColor:"#007ACC",datasetPointStrokeColor:"white",bezierCurve:!0,bezierCurveTension:.4,pointDot:!0,pointDotStrokeWidth:1,pointDotRadius:4,pointHitDetectionRadius:4,multiTooltipTemplate:"<%=argLabel%>; <%=valueLabel%>",tooltipTemplate:"<%if (datasetLabel){%><%=datasetLabel%>: <%}%><%=argLabel%>; <%=valueLabel%>",legendTemplate:'
    <%for(var i=0;i
  • <\/span><%=datasets[i].label%><\/li><%}%><\/ul>'},initialize:function(i){this.hasData=!1;this.datasets=[];this.scale=this._initScale();i.datasets&&(i=i.datasets);t.each(i,function(i){var r=new n.ScatterDataSet(i,this.options,this.chart,this.scale);this.datasets.push(r);this.hasData|=!!i.data.length;t.each(i.data,function(n){r.addPoint(n.x,n.y,n.r||1)})},this);this.options.showTooltips&&t.bindEvents(this,this.options.tooltipEvents,function(n){var i=n.type!=="mouseout"?this.getPointsAtEvent(n):[];this._forEachPoint(function(n){n.restore(["fillColor","strokeColor"])});t.each(i,function(n){n.fillColor=n.highlightFill;n.strokeColor=n.highlightStroke});this.showTooltip(i)});var r=this._calculateRange();this.scale.setDataRange(r);this.update()},_initScale:function(){var t={chart:this.chart,textColor:this.options.scaleFontColor,fontSize:this.options.scaleFontSize,fontStyle:this.options.scaleFontStyle,fontFamily:this.options.scaleFontFamily,labelTemplate:this.options.scaleLabel,argLabelTemplate:this.options.scaleArgLabel,showLabels:this.options.scaleShowLabels,beginAtZero:this.options.scaleBeginAtZero,integersOnly:this.options.scaleIntegersOnly,gridLineWidth:this.options.scaleShowGridLines?this.options.scaleGridLineWidth:0,gridLineColor:this.options.scaleShowGridLines?this.options.scaleGridLineColor:"rgba(0,0,0,0)",showHorizontalLines:this.options.scaleShowHorizontalLines,showVerticalLines:this.options.scaleShowVerticalLines,lineWidth:this.options.scaleLineWidth,lineColor:this.options.scaleLineColor,display:this.options.showScale,scaleOverride:this.options.scaleOverride,scaleSteps:this.options.scaleSteps,scaleStepWidth:this.options.scaleStepWidth,scaleStartValue:this.options.scaleStartValue,useUtc:this.options.useUtc,dateFormat:this.options.scaleDateFormat,timeFormat:this.options.scaleTimeFormat,dateTimeFormat:this.options.scaleDateTimeFormat};return this.options.scaleType==="date"?new n.ScatterDateScale(t):new n.ScatterNumberScale(t)},getPointsAtEvent:function(n){var i=[],r=t.getRelativePosition(n);return t.each(this.datasets,function(n){t.each(n.points,function(n){n.inRange(r.x,r.y)&&i.push(n)})},this),i},showTooltip:function(i){var u,r,f,e;return this.draw(),i.length>0&&(u=i[0],r=u.tooltipPosition(),i.length==1?new n.Tooltip({x:Math.round(r.x),y:Math.round(r.y),xPadding:this.options.tooltipXPadding,yPadding:this.options.tooltipYPadding,fillColor:this.options.tooltipFillColor,textColor:this.options.tooltipFontColor,fontFamily:this.options.tooltipFontFamily,fontStyle:this.options.tooltipFontStyle,fontSize:this.options.tooltipFontSize,caretHeight:this.options.tooltipCaretSize,cornerRadius:this.options.tooltipCornerRadius,text:t.template(this.options.tooltipTemplate,u),chart:this.chart,custom:this.options.customTooltips}).draw():(f=[],e=[],t.each(i,function(n){f.push(t.template(this.options.multiTooltipTemplate,n));e.push({fill:n._saved.fillColor||n.fillColor,stroke:n._saved.strokeColor||n.strokeColor})},this),new Chart.MultiTooltip({x:Math.round(r.x),y:Math.round(r.y),xPadding:this.options.tooltipXPadding,yPadding:this.options.tooltipYPadding,xOffset:this.options.tooltipXOffset,fillColor:this.options.tooltipFillColor,textColor:this.options.tooltipFontColor,fontFamily:this.options.tooltipFontFamily,fontStyle:this.options.tooltipFontStyle,fontSize:this.options.tooltipFontSize,titleTextColor:this.options.tooltipTitleFontColor,titleFontFamily:this.options.tooltipTitleFontFamily,titleFontStyle:this.options.tooltipTitleFontStyle,titleFontSize:this.options.tooltipTitleFontSize,cornerRadius:this.options.tooltipCornerRadius,labels:f,legendColors:e,legendColorBackground:this.options.multiTooltipKeyBackground,title:"",chart:this.chart,ctx:this.chart.ctx,custom:this.options.customTooltips}).draw())),this},_forEachPoint:function(n){t.each(this.datasets,function(i){t.each(i.points,n,this)},this)},_forEachDataset:function(n){t.each(this.datasets,n,this)},_calculateRange:function(){var n=undefined,t=undefined,i=undefined,r=undefined;return this._forEachPoint(function(u){(n===undefined||u.argt)&&(t=u.arg);(i===undefined||u.valuer)&&(r=u.value)}),{xmin:n,xmax:t,ymin:i,ymax:r}},_drawMessage:function(n){var i=this.chart.ctx,r=this.chart.width,u=this.chart.height,f=this.options.scaleFontSize,e=this.options.scaleFontStyle,o=this.options.scaleFontFamily,s=t.fontString(f,e,o);i.save();i.translate(r/2,u/2);i.textAlign="center";i.textBaseline="middle";i.font=s;i.fillStyle=this.options.scaleFontColor;i.fillText(n,0,0);i.restore()},_drawLine:function(n){var i=this.chart.ctx,r=undefined;i.lineJoin="round";i.lineWidth=this.options.datasetStrokeWidth;i.strokeStyle=n.strokeColor||this.options.datasetStrokeColor;i.beginPath();t.each(n.points,function(n,t){t===0?i.moveTo(n.x,n.y):this.options.bezierCurve?i.bezierCurveTo(r.controlPoints.x2,r.controlPoints.y2,n.controlPoints.x1,n.controlPoints.y1,n.x,n.y):i.lineTo(n.x,n.y);r=n},this);i.stroke()},update:function(){var n=this._calculateRange();this.scale.setDataRange(n);this.render()},draw:function(n){this.hasData?(this.scale.fit(),this._forEachDataset(function(t){this.scale.updatePoints(t.points,n);this.options.bezierCurve&&this.scale.updateBezierControlPoints(t.points,n,this.options.bezierCurveTension)}),this.clear(),this.scale.draw(),this.options.datasetStroke&&t.each(this.datasets,this._drawLine,this),this.options.pointDot&&this._forEachPoint(function(n){n.draw()})):(this.clear(),this._drawMessage(this.options.emptyDataMessage))}})}); /* //# sourceMappingURL=Chart.Scatter.min.js.map */