Chart.js/Chart.min.js

12 lines
79 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-12 18:34: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,n=this.height=e(t.canvas,"Height")||t.canvas.height;return t.canvas.width=i,t.canvas.height=n,i=this.width=t.canvas.width,n=this.height=t.canvas.height,this.aspectRatio=this.width/this.height,s.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:"<%= value %>",multiTooltipKeyBackground:"#fff",onAnimationProgress:function(){},onAnimationComplete:function(){}}},i.types={};var s=i.helpers={},n=s.each=function(t,e,i){var s=Array.prototype.slice.call(arguments,3);if(t)if(t.length===+t.length){var n;for(n=0;n<t.length;n++)e.apply(i,[t[n],n].concat(s))}else for(var a in t)e.apply(i,[t[a],a].concat(s))},a=s.clone=function(t){var e={};return n(t,function(i,s){t.hasOwnProperty(s)&&(e[s]=i)}),e},o=s.extend=function(t){return n(Array.prototype.slice.call(arguments,1),function(e){n(e,function(i,s){e.hasOwnProperty(s)&&(t[s]=i)})}),t},r=s.merge=function(t,e){var i=Array.prototype.slice.call(arguments,0);return i.unshift({}),o.apply(null,i)},h=s.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=(s.where=function(t,e){var i=[];return s.each(t,function(t){e(t)&&i.push(t)}),i},s.findNextWhere=function(t,e,i){i||(i=-1);for(var s=i+1;s<t.length;s++){var n=t[s];if(e(n))return n}},s.findPreviousWhere=function(t,e,i){i||(i=t.length);for(var s=i-1;s>=0;s--){var n=t[s];if(e(n))return n}},s.inherits=function(t){var e=this,i=t&&t.hasOwnProperty("constructor")?t.constructor:function(){return e.apply(this,arguments)},s=function(){this.constructor=i};return s.prototype=e.prototype,i.prototype=new s,i.extend=l,t&&o(i.prototype,t),i.__super__=e.prototype,i}),c=s.noop=function(){},u=s.uid=function(){var t=0;return function(){return"chart-"+t++}}(),d=s.warn=function(t){window.console&&"function"==typeof window.console.warn&&console.warn(t)},p=s.amd="function"==typeof define&&define.amd,g=s.isNumber=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},f=s.max=function(t){return Math.max.apply(Math,t)},v=s.min=function(t){return Math.min.apply(Math,t)},m=(s.cap=function(t,e,i){if(g(e)){if(t>e)return e}else if(g(i)&&i>t)return i;return t},s.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=s.radians=function(t){return t*(Math.PI/180)},y=(s.getAngleFromPoint=function(t,e){var i=e.x-t.x,s=e.y-t.y,n=Math.sqrt(i*i+s*s),a=2*Math.PI+Math.atan2(s,i);return 0>i&&0>s&&(a+=2*Math.PI),{angle:a,distance:n}},s.aliasPixel=function(t){return t%2===0?0:.5}),w=(s.splineCurve=function(t,e,i,s){var n=Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2)),a=Math.sqrt(Math.pow(i.x-e.x,2)+Math.pow(i.y-e.y,2)),
this.lastActive.rectangle.borderWidth=0):"bars"==this.options.hoverMode),this.options.onHover?this.options.onHover.call(this,e):e&&("bar"==this.options.hoverMode?(e.rectangle.backgroundColor=this.data.datasets[e.datasetIndex].hoverBackgroundColor||Color(e.rectangle.backgroundColor).saturate(.5).darken(.25).rgbString(),e.rectangle.borderColor=this.data.datasets[e.datasetIndex].hoverBorderColor||Color(e.rectangle.borderColor).saturate(.5).darken(.25).rgbString()):"bars"==this.options.hoverMode),this.animating||(!this.lastActive&&e&&this.render(!1,this.options.hoverDuration),this.lastActive&&e&&this.lastActive.rectangle!==e.rectangle&&this.render(!1,this.options.hoverDuration),this.lastActive&&!e&&this.render(!1,this.options.hoverDuration)),this.lastActive=e,void(this.options.showTooltips&&this.showTooltip(e)))},update:function(){this.scale.update(),this.eachBars(function(t,e,s){i.extend(t,{width:this.scale.calculateBarWidth(this.data.datasets.length),x:this.scale.calculateBarX(this.data.datasets.length,s,e),y:this.scale.calculateY(this.data.datasets[s].data[e]),value:this.data.datasets[s].data[e],label:this.data.labels[e],datasetLabel:this.data.datasets[s].label,borderColor:this.data.datasets[s].borderColor,borderWidth:this.data.datasets[s].borderWidth,backgroundColor:this.data.datasets[s].backgroundColor,_start:void 0})},this),this.render()},eachBars:function(t){i.each(this.data.datasets,function(e,s){i.each(e.metaData,t,this,s)},this)},eachValue:function(t){i.each(this.data.datasets,function(e,s){i.each(e.data,t,this,s)},this)},getBarsAtEvent:function(t){for(var e,s=[],n=i.getRelativePosition(t),a=function(t){s.push(t.metaData[e])},o=0;o<this.data.datasets.length;o++)for(e=0;e<this.data.datasets[o].metaData.length;e++)if(this.data.datasets[o].metaData[e].inRange(n.x,n.y))return i.each(this.data.datasets,a),s;return s},getBarAtEvent:function(t){for(var e,s=i.getRelativePosition(t),n=0;n<this.data.datasets.length;++n)for(var a=0;a<this.data.datasets[n].metaData.length;++a)if(this.data.datasets[n].metaData[a].inRange(s.x,s.y))return e={rectangle:this.data.datasets[n].metaData[a],datasetIndex:n,barIndex:a};return e},buildScale:function(t){var e=this,s=function(){var t=[];return e.eachValue(function(e){t.push(e)}),t},n={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:function(t){var e=i.calculateScaleRange(s(),t,this.fontSize,this.beginAtZero,this.integersOnly);i.extend(this,e)},xLabels:t,font:i.fontString(this.options.scaleFontSize,this.options.scaleFontStyle,this.options.scaleFontFamily),lineWidth:this.options.scaleLineWidth,lineColor:this.options.scaleLineColor,showHorizontalLines:this.options.scaleShowHorizontalLines,showVerticalLines:this.options.scaleShowVerticalLines,gridLineWidth:this.options.scaleShowGridLines?this.options.scaleGridLineWidth:0,gridLineColor:this.options.scaleShowGridLines?this.options.scaleGridLineColor:"rgba(0,0,0,0)",padding:this.options.showScale?0:this.options.borderWidth,showLabels:this.options.scaleShowLabels,display:this.options.showScale};this.options.scaleOverride&&i.extend(n,{calculateYRange:i.noop,steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth}),this.scale=new this.ScaleClass(n)},addData:function(t,e){i.each(t,function(t,i){this.data.datasets[i].bars.push(new this.BarClass({value:t,label:e,datasetLabel:this.data.datasets[i].label,x:this.scale.calculateBarX(this.data.datasets.length,i,this.scale.valuesCount+1),y:this.scale.endPoint,width:this.scale.calculateBarWidth(this.data.datasets.length),base:this.scale.endPoint,borderColor:this.data.datasets[i].borderColor,backgroundColor:this.data.datasets[i].backgroundColor}))},this),t
a=e.a}else if(void 0!==e[s[t][0]]){for(var r=s[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(n[t][o],this.values[t][o]));this.values[t][o]=Math.round(h)}for(var l in s){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(n[l][o],this.values[l][o]));this.values[l][o]=Math.round(h)}}return!0}},n.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)},n.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=n}()},{"color-convert":3,"color-string":4}],2:[function(t,e,i){function s(t){var e,i,s,n=t[0]/255,a=t[1]/255,o=t[2]/255,r=Math.min(n,a,o),h=Math.max(n,a,o),l=h-r;return h==r?e=0:n==h?e=(a-o)/l:a==h?e=2+(o-n)/l:o==h&&(e=4+(n-a)/l),e=Math.min(60*e,360),0>e&&(e+=360),s=(r+h)/2,i=h==r?0:.5>=s?l/(h+r):l/(2-h-r),[e,100*i,100*s]}function n(t){var e,i,s,n=t[0],a=t[1],o=t[2],r=Math.min(n,a,o),h=Math.max(n,a,o),l=h-r;return i=0==h?0:l/h*1e3/10,h==r?e=0:n==h?e=(a-o)/l:a==h?e=2+(o-n)/l:o==h&&(e=4+(n-a)/l),e=Math.min(60*e,360),0>e&&(e+=360),s=h/255*1e3/10,[e,i,s]}function a(t){var e=t[0],i=t[1],n=t[2],a=s(t)[0],o=1/255*Math.min(e,Math.min(i,n)),n=1-1/255*Math.max(e,Math.max(i,n));return[a,100*o,100*n]}function o(t){var e,i,s,n,a=t[0]/255,o=t[1]/255,r=t[2]/255;return n=Math.min(1-a,1-o,1-r),e=(1-a-n)/(1-n)||0,i=(1-o-n)/(1-n)||0,s=(1-r-n)/(1-n)||0,[100*e,100*i,100*s,100*n]}function h(t){return $[JSON.stringify(t)]}function l(t){var e=t[0]/255,i=t[1]/255,s=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,s=s>.04045?Math.pow((s+.055)/1.055,2.4):s/12.92;var n=.4124*e+.3576*i+.1805*s,a=.2126*e+.7152*i+.0722*s,o=.0193*e+.1192*i+.9505*s;return[100*n,100*a,100*o]}function c(t){var e,i,s,n=l(t),a=n[0],o=n[1],r=n[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),s=200*(o-r),[e,i,s]}function u(t){return V(c(t))}function d(t){var e,i,s,n,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,n=[0,0,0];for(var l=0;3>l;l++)s=o+1/3*-(l-1),0>s&&s++,s>1&&s--,a=1>6*s?e+6*(i-e)*s:1>2*s?i:2>3*s?e+(i-e)*(2/3-s)*6:e,n[l]=255*a;return n}function p(t){var e,i,s=t[0],n=t[1]/100,a=t[2]/100;return a*=2,n*=1>=a?a:2-a,i=(a+n)/2,e=2*n/(a+n),[s,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,s=t[2]/100,n=Math.floor(e)%6,a=e-Math.floor(e),o=255*s*(1-i),r=255*s*(1-i*a),h=255*s*(1-i*(1-a)),s=255*s;switch(n){case 0:return[s,h,o];case 1:return[r,s,o];case 2:return[o,s,h];case 3:return[o,r,s];case 4:return[h,o,s];case 5:return[s,o,r]}}function w(t){var e,i,s=t[0],n=t[1]/100,a=t[2]/100;return i=(2-n)*a,e=n*a,e/=1>=i?i:2-i,e=e||0,i/=2,[s,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,s,n,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,s=6*a-e,0!=(1&e)&&(s=1-s),n=o+s*(i-o),e){default:case 6:case 0:r=i,g=n,b=o;break;case 1:r=n,g=i,b=o;break;case 2:r=o,g=i,b=n;break;case 3:r=o,g=n,b=i;break;case 4:r=n,g=o,b=i;break;case 5:r=i,g=o,b=n}return[255*r,255*g,255*b]}function P(t){return s(k(t))}function L(t){return n(k(t))}function M(t){return o(k(t))}function A(t){return h(k(t))}function F(t){var e,i,s,n=t[0]/100,a=t[1]/100,o=t[2]/100,r=t[3]/100;return e=1-Math.min(1,n*(1-r)+r),i=1-Math.min(1,a*(1-r)+r),s=1-Math.min(1,o*(1-r)+r),[255*e,255*i,255*s]}function R(t){return s(F(t))}function T(t){return n(F(t))}function W(t){return a(F(t))}function z(t){return h(F(t))}function O(t){var e,i,s,n=t[0]/100,a=t[1]/100,o=t[2]/100;return e=3.2406*n+-1.5372