Chart.js/Chart.min.js

12 lines
80 KiB
JavaScript
Raw Normal View History

2014-06-29 19:36:25 +02:00
/*!
* Chart.js
* http://chartjs.org/
2015-03-10 12:04:30 +01:00
* Version: 1.0.2
2014-06-29 19:36:25 +02:00
*
2015-01-07 23:49:33 +01:00
* Copyright 2015 Nick Downie
2014-06-29 19:36:25 +02:00
* Released under the MIT license
* https://github.com/nnnick/Chart.js/blob/master/LICENSE.md
*/
2015-05-15 07:18:47 +02:00
(function(){"use strict";var t=this,e=t.Chart,i=function(t){this.canvas=t.canvas,this.ctx=t;var e=function(t,e){return t["offset"+e]?t["offset"+e]:document.defaultView.getComputedStyle(t).getPropertyValue(e)},i=this.width=e(t.canvas,"Width")||t.canvas.width,s=this.height=e(t.canvas,"Height")||t.canvas.height;return t.canvas.width=i,t.canvas.height=s,i=this.width=t.canvas.width,s=this.height=t.canvas.height,this.aspectRatio=this.width/this.height,n.retinaScale(this),this};i.defaults={global:{animation:!0,animationDuration:1e3,animationEasing:"easeOutQuart",showScale:!0,scaleOverride:!1,scaleSteps:null,scaleStepWidth:null,scaleStartValue:null,scaleLineColor:"rgba(0,0,0,.1)",scaleLineWidth:1,scaleShowLabels:!0,scaleLabel:"<%=value%>",scaleIntegersOnly:!0,scaleBeginAtZero:!1,scaleFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",scaleFontSize:12,scaleFontStyle:"normal",scaleFontColor:"#666",responsive:!1,maintainAspectRatio:!0,showTooltips:!0,customTooltips:!1,tooltipEvents:["mousemove","touchstart","touchmove","mouseout"],tooltipBackgroundColor:"rgba(0,0,0,0.8)",tooltipFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",tooltipFontSize:14,tooltipFontStyle:"normal",tooltipFontColor:"#fff",tooltipTitleFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",tooltipTitleFontSize:14,tooltipTitleFontStyle:"bold",tooltipTitleFontColor:"#fff",tooltipYPadding:6,tooltipXPadding:6,tooltipCaretSize:8,tooltipCornerRadius:6,tooltipXOffset:10,tooltipTemplate:"<%if (label){%><%=label%>: <%}%><%= value %>",multiTooltipTemplate:"<%if (datasetLabel){%><%=datasetLabel%>: <%}%><%= value %>",multiTooltipKeyBackground:"#fff",onAnimationProgress:function(){},onAnimationComplete:function(){}}},i.types={};var n=i.helpers={},s=n.each=function(t,e,i){var n=Array.prototype.slice.call(arguments,3);if(t)if(t.length===+t.length){var s;for(s=0;s<t.length;s++)e.apply(i,[t[s],s].concat(n))}else for(var a in t)e.apply(i,[t[a],a].concat(n))},a=n.clone=function(t){var e={};return s(t,function(i,n){t.hasOwnProperty(n)&&(e[n]=i)}),e},o=n.extend=function(t){return s(Array.prototype.slice.call(arguments,1),function(e){s(e,function(i,n){e.hasOwnProperty(n)&&(t[n]=i)})}),t},r=n.merge=function(t,e){var i=Array.prototype.slice.call(arguments,0);return i.unshift({}),o.apply(null,i)},h=n.indexOf=function(t,e){if(Array.prototype.indexOf)return t.indexOf(e);for(var i=0;i<t.length;i++)if(t[i]===e)return i;return-1},l=(n.where=function(t,e){var i=[];return n.each(t,function(t){e(t)&&i.push(t)}),i},n.findNextWhere=function(t,e,i){i||(i=-1);for(var n=i+1;n<t.length;n++){var s=t[n];if(e(s))return s}},n.findPreviousWhere=function(t,e,i){i||(i=t.length);for(var n=i-1;n>=0;n--){var s=t[n];if(e(s))return s}},n.inherits=function(t){var e=this,i=t&&t.hasOwnProperty("constructor")?t.constructor:function(){return e.apply(this,arguments)},n=function(){this.constructor=i};return n.prototype=e.prototype,i.prototype=new n,i.extend=l,t&&o(i.prototype,t),i.__super__=e.prototype,i}),c=n.noop=function(){},u=n.uid=function(){var t=0;return function(){return"chart-"+t++}}(),d=n.warn=function(t){window.console&&"function"==typeof window.console.warn&&console.warn(t)},p=n.amd="function"==typeof define&&define.amd,g=n.isNumber=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},f=n.max=function(t){return Math.max.apply(Math,t)},v=n.min=function(t){return Math.min.apply(Math,t)},m=(n.cap=function(t,e,i){if(g(e)){if(t>e)return e}else if(g(i)&&i>t)return i;return t},n.getDecimalPlaces=function(t){if(t%1!==0&&g(t)){var e=t.toString();if(e.indexOf("e-")<0)return e.split(".")[1].length;if(e.indexOf(".")<0)return parseInt(e.split("e-")[1]);var i=e.split(".")[1].split("e-");return i[0].length+parseInt(i[1])}return 0}),b=n.radians=function(t){return t*(Math.PI/180)},y=(n.getAngleFromPoint=function(t,e){var i=e.x-t.x,n=e.y-t.y,s=Math.sqrt(i*i+n*n),a=2*Math.PI+Math.atan2(n,i);return 0>i&&0>n&&(a+=2*Math.PI),{angle:a,distance:s}},n.aliasPixel=function(t){return t%2===0?0:.5}),w=(n.splineCurve=function(t,e,i,n){var s=Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2)),a=Math.
this.lastActive[0].borderWidth=0;break;case"label":for(var e=0;e<this.lastActive.length;e++)this.lastActive[e].backgroundColor=this.data.datasets[this.lastActive[e]._datasetIndex].backgroundColor,this.lastActive[e].borderColor=this.data.datasets[this.lastActive[e]._datasetIndex].borderColor,this.lastActive[e].borderWidth=0;break;case"dataset":}if(this.active.length&&this.options.hoverMode)switch(this.options.hoverMode){case"single":this.active[0].backgroundColor=this.data.datasets[this.active[0]._datasetIndex].hoverBackgroundColor||i.color(this.active[0].backgroundColor).saturate(.5).darken(.35).rgbString(),this.active[0].borderColor=this.data.datasets[this.active[0]._datasetIndex].hoverBorderColor||i.color(this.active[0].borderColor).saturate(.5).darken(.35).rgbString();break;case"label":for(var e=0;e<this.active.length;e++)this.active[e].backgroundColor=this.data.datasets[this.active[e]._datasetIndex].hoverBackgroundColor||i.color(this.active[e].backgroundColor).saturate(.5).darken(.35).rgbString(),this.active[e].borderColor=this.data.datasets[this.active[e]._datasetIndex].hoverBorderColor||i.color(this.active[e].borderColor).saturate(.5).darken(.35).rgbString();break;case"dataset":}if(this.options.showTooltips&&(this.tooltip.initialize(),this.active.length?(i.extend(this.tooltip,{opacity:1,_active:this.active}),this.tooltip.update()):i.extend(this.tooltip,{opacity:0})),!this.animating){!this.lastActive.length&&this.active.length&&(console.log("entering"),this.tooltip.pivot(),this.stop(),this.render(!1,this.options.hoverAnimationDuration));var n;i.each(this.active,function(t,e){t!==this.lastActive[e]&&(n=!0)},this),this.lastActive.length&&this.active.length&&n&&(console.log("changing"),this.tooltip.pivot(),this.stop(),this.render(!1,this.options.hoverAnimationDuration)),this.lastActive.length&&!this.active.length&&(console.log("leaving"),this.tooltip.pivot(),this.stop(),this.render(!1,this.options.hoverAnimationDuration))}this.lastActive=this.active},calculateBarBase:function(){var t=this.scale.endPoint;return this.scale.beginAtZero||this.scale.min<=0&&this.scale.max>=0||this.scale.min>=0&&this.scale.max<=0?(t=this.scale.calculateY(0),t+=this.options.scaleGridLineWidth):this.scale.min<0&&this.scale.max<0&&(t=this.scale.startPoint),t},update:function(){this.scale.update(),this.eachBars(function(t,e,n){i.extend(t,{width:this.scale.calculateBarWidth(this.data.datasets.length),x:this.scale.calculateBarX(this.data.datasets.length,n,e),y:this.scale.calculateY(this.data.datasets[n].data[e]),value:this.data.datasets[n].data[e],label:this.data.labels[e],datasetLabel:this.data.datasets[n].label,borderColor:this.data.datasets[n].borderColor,borderWidth:this.data.datasets[n].borderWidth,backgroundColor:this.data.datasets[n].backgroundColor,_datasetIndex:n,_index:e,_start:void 0})},this),this.render()},eachBars:function(t){i.each(this.data.datasets,function(e,n){i.each(e.metaData,t,this,n)},this)},eachValue:function(t){i.each(this.data.datasets,function(e,n){i.each(e.data,t,this,n)},this)},getBarsAtEvent:function(t){for(var e,n=[],s=i.getRelativePosition(t),a=function(t){n.push(t.metaData[e])},o=0;o<this.data.datasets.length;o++)for(e=0;e<this.data.datasets[o].metaData.length;e++)this.data.datasets[o].metaData[e].inRange(s.x,s.y)&&i.each(this.data.datasets,a);return n.length?n:[]},getBarAtEvent:function(t){for(var e=[],n=i.getRelativePosition(t),s=0;s<this.data.datasets.length;++s)for(var a=0;a<this.data.datasets[s].metaData.length;++a)if(this.data.datasets[s].metaData[a].inRange(n.x,n.y))return e.push(this.data.datasets[s].metaData[a]),e;return[]},buildScale:function(t){var e=this,n=function(){var t=[];return e.eachValue(function(e){t.push(e)}),t},s={templateString:this.options.scaleLabel,height:this.chart.height,width:this.chart.width,ctx:this.chart.ctx,textColor:this.options.scaleFontColor,fontSize:this.options.scaleFontSize,fontStyle:this.options.scaleFontStyle,fontFamily:this.options.scaleFontFamily,valuesCount:t.length,beginAtZero:this.options.scaleBeginAtZero,integersOnly:this.options.scaleIntegersOnly,calculateYRange:funct
}},s.prototype.getValues=function(t){for(var e={},i=0;i<t.length;i++)e[t.charAt(i)]=this.values[t][i];return 1!=this.values.alpha&&(e.a=this.values.alpha),e},s.prototype.setValues=function(t,e){var n={rgb:["red","green","blue"],hsl:["hue","saturation","lightness"],hsv:["hue","saturation","value"],hwb:["hue","whiteness","blackness"],cmyk:["cyan","magenta","yellow","black"]},s={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},a=1;if("alpha"==t)a=e;else if(e.length)this.values[t]=e.slice(0,t.length),a=e[t.length];else if(void 0!==e[t.charAt(0)]){for(var o=0;o<t.length;o++)this.values[t][o]=e[t.charAt(o)];a=e.a}else if(void 0!==e[n[t][0]]){for(var r=n[t],o=0;o<t.length;o++)this.values[t][o]=e[r[o]];a=e.alpha}if(this.values.alpha=Math.max(0,Math.min(1,void 0!==a?a:this.values.alpha)),"alpha"!=t){for(var o=0;o<t.length;o++){var h=Math.max(0,Math.min(s[t][o],this.values[t][o]));this.values[t][o]=Math.round(h)}for(var l in n){l!=t&&(this.values[l]=i[t][l](this.values[t]));for(var o=0;o<l.length;o++){var h=Math.max(0,Math.min(s[l][o],this.values[l][o]));this.values[l][o]=Math.round(h)}}return!0}},s.prototype.setSpace=function(t,e){var i=e[0];return void 0===i?this.getValues(t):("number"==typeof i&&(i=Array.prototype.slice.call(e)),this.setValues(t,i),this)},s.prototype.setChannel=function(t,e,i){return void 0===i?this.values[t][e]:(this.values[t][e]=i,this.setValues(t,this.values[t]),this)},window.Color=e.exports=s}()},{"color-convert":3,"color-string":4}],2:[function(t,e,i){function n(t){var e,i,n,s=t[0]/255,a=t[1]/255,o=t[2]/255,r=Math.min(s,a,o),h=Math.max(s,a,o),l=h-r;return h==r?e=0:s==h?e=(a-o)/l:a==h?e=2+(o-s)/l:o==h&&(e=4+(s-a)/l),e=Math.min(60*e,360),0>e&&(e+=360),n=(r+h)/2,i=h==r?0:.5>=n?l/(h+r):l/(2-h-r),[e,100*i,100*n]}function s(t){var e,i,n,s=t[0],a=t[1],o=t[2],r=Math.min(s,a,o),h=Math.max(s,a,o),l=h-r;return i=0==h?0:l/h*1e3/10,h==r?e=0:s==h?e=(a-o)/l:a==h?e=2+(o-s)/l:o==h&&(e=4+(s-a)/l),e=Math.min(60*e,360),0>e&&(e+=360),n=h/255*1e3/10,[e,i,n]}function a(t){var e=t[0],i=t[1],s=t[2],a=n(t)[0],o=1/255*Math.min(e,Math.min(i,s)),s=1-1/255*Math.max(e,Math.max(i,s));return[a,100*o,100*s]}function o(t){var e,i,n,s,a=t[0]/255,o=t[1]/255,r=t[2]/255;return s=Math.min(1-a,1-o,1-r),e=(1-a-s)/(1-s)||0,i=(1-o-s)/(1-s)||0,n=(1-r-s)/(1-s)||0,[100*e,100*i,100*n,100*s]}function h(t){return $[JSON.stringify(t)]}function l(t){var e=t[0]/255,i=t[1]/255,n=t[2]/255;e=e>.04045?Math.pow((e+.055)/1.055,2.4):e/12.92,i=i>.04045?Math.pow((i+.055)/1.055,2.4):i/12.92,n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92;var s=.4124*e+.3576*i+.1805*n,a=.2126*e+.7152*i+.0722*n,o=.0193*e+.1192*i+.9505*n;return[100*s,100*a,100*o]}function c(t){var e,i,n,s=l(t),a=s[0],o=s[1],r=s[2];return a/=95.047,o/=100,r/=108.883,a=a>.008856?Math.pow(a,1/3):7.787*a+16/116,o=o>.008856?Math.pow(o,1/3):7.787*o+16/116,r=r>.008856?Math.pow(r,1/3):7.787*r+16/116,e=116*o-16,i=500*(a-o),n=200*(o-r),[e,i,n]}function u(t){return V(c(t))}function d(t){var e,i,n,s,a,o=t[0]/360,r=t[1]/100,h=t[2]/100;if(0==r)return a=255*h,[a,a,a];i=.5>h?h*(1+r):h+r-h*r,e=2*h-i,s=[0,0,0];for(var l=0;3>l;l++)n=o+1/3*-(l-1),0>n&&n++,n>1&&n--,a=1>6*n?e+6*(i-e)*n:1>2*n?i:2>3*n?e+(i-e)*(2/3-n)*6:e,s[l]=255*a;return s}function p(t){var e,i,n=t[0],s=t[1]/100,a=t[2]/100;return a*=2,s*=1>=a?a:2-a,i=(a+s)/2,e=2*s/(a+s),[n,100*e,100*i]}function f(t){return a(d(t))}function v(t){return o(d(t))}function m(t){return h(d(t))}function y(t){var e=t[0]/60,i=t[1]/100,n=t[2]/100,s=Math.floor(e)%6,a=e-Math.floor(e),o=255*n*(1-i),r=255*n*(1-i*a),h=255*n*(1-i*(1-a)),n=255*n;switch(s){case 0:return[n,h,o];case 1:return[r,n,o];case 2:return[o,n,h];case 3:return[o,r,n];case 4:return[h,o,n];case 5:return[n,o,r]}}function w(t){var e,i,n=t[0],s=t[1]/100,a=t[2]/100;return i=(2-s)*a,e=s*a,e/=1>=i?i:2-i,e=e||0,i/=2,[n,100*e,100*i]}function S(t){return a(y(t))}function x(t){return o(y(t))}function C(t){return h(y(t))}function k(t){var e,i,n,s,a=t[0]/360,o=t[1]/100,h=t[2]/100,l=o+h;switch(l>1&&(o/=l,h/=l),e=Math.floor(6*a),i=1-h,n=6*a-e,0!=(1&e)&&(n=1-n),s=o+n*(i-o),e){default:case 6:c