d3/d3.min.js

4 строки
122 KiB
JavaScript
Исходник Обычный вид История

(function(){function t(t,n){try{for(var e in n)Object.defineProperty(t.prototype,e,{value:n[e],enumerable:!1})}catch(r){t.prototype=n}}function n(t){var n=-1,e=t.length,r=[];while(e>++n)r.push(t[n]);return r}function e(t){return Array.prototype.slice.call(t)}function r(){}function i(t){return t}function u(){return!0}function a(t){return typeof t=="function"?t:function(){return t}}function o(t,n,e){return function(){var r=e.apply(n,arguments);return arguments.length?t:r}}function c(t){return t!=null&&!isNaN(t)}function l(t){return t.length}function s(t){return t.trim().replace(/\s+/g," ")}function f(t){var n=1;while(t*n%1)n*=10;return n}function h(t){return t.responseText}function d(t){return JSON.parse(t.responseText)}function g(t){var n=document.createRange();return n.selectNode(document.body),n.createContextualFragment(t.responseText)}function m(t){return t.responseXML}function p(){}function v(t){function n(){var n,r=e,i=-1,u=r.length;while(u>++i)(n=r[i].on)&&n.apply(this,arguments);return t}var e=[],i=new r;return n.on=function(n,r){var u,a=i.get(n);return 2>arguments.length?a&&a.on:(a&&(a.on=null,e=e.slice(0,u=e.indexOf(a)).concat(e.slice(u+1)),i.remove(n)),r&&e.push(i.set(n,{on:r})),t)},n}function y(t,n){return n-(t?1+Math.floor(Math.log(t+Math.pow(10,1+Math.floor(Math.log(t)/Math.LN10)-n))/Math.LN10):1)}function M(t){return t+""}function b(t,n){var e=Math.pow(10,Math.abs(8-n)*3);return{scale:n>8?function(t){return t/e}:function(t){return t*e},symbol:t}}function w(t){return function(n){return 0>=n?0:n>=1?1:t(n)}}function _(t){return function(n){return 1-t(1-n)}}function k(t){return function(n){return.5*(.5>n?t(2*n):2-t(2-2*n))}}function S(t){return t*t}function T(t){return t*t*t}function A(t){if(0>=t)return 0;if(t>=1)return 1;var n=t*t,e=n*t;return 4*(.5>t?e:3*(t-n)+e-.75)}function N(t){return function(n){return Math.pow(n,t)}}function C(t){return 1-Math.cos(t*bu/2)}function q(t){return Math.pow(2,10*(t-1))}function E(t){return 1-Math.sqrt(1-t*t)}function P(t,n){var e;return 2>arguments.length&&(n=.45),arguments.length?e=n/(2*bu)*Math.asin(1/t):(t=1,e=n/4),function(r){return 1+t*Math.pow(2,10*-r)*Math.sin((r-e)*2*bu/n)}}function z(t){return t||(t=1.70158),function(n){return n*n*((t+1)*n-t)}}function D(t){return 1/2.75>t?7.5625*t*t:2/2.75>t?7.5625*(t-=1.5/2.75)*t+.75:2.5/2.75>t?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function L(){d3.event.stopPropagation(),d3.event.preventDefault()}function F(){var t,n=d3.event;while(t=n.sourceEvent)n=t;return n}function H(t){var n=new p,e=0,r=arguments.length;while(r>++e)n[arguments[e]]=v(n);return n.of=function(e,r){return function(i){try{var u=i.sourceEvent=d3.event;i.target=t,d3.event=i,n[i.type].apply(e,r)}finally{d3.event=u}}},n}function j(t){var n=[t.a,t.b],e=[t.c,t.d],r=R(n),i=O(n,e),u=R(Y(e,n,-i))||0;e[0]*n[1]>n[0]*e[1]&&(n[0]*=-1,n[1]*=-1,r*=-1,i*=-1),this.rotate=(r?Math.atan2(n[1],n[0]):Math.atan2(-e[0],e[1]))*ku,this.translate=[t.e,t.f],this.scale=[r,u],this.skew=u?Math.atan2(i,u)*ku:0}function O(t,n){return t[0]*n[0]+t[1]*n[1]}function R(t){var n=Math.sqrt(O(t,t));return n&&(t[0]/=n,t[1]/=n),n}function Y(t,n,e){return t[0]+=e*n[0],t[1]+=e*n[1],t}function U(t){return t=="transform"?d3.interpolateTransform:d3.interpolate}function I(t,n){return n=n-(t=+t)?1/(n-t):0,function(e){return(e-t)*n}}function V(t,n){return n=n-(t=+t)?1/(n-t):0,function(e){return Math.max(0,Math.min(1,(e-t)*n))}}function Z(){}function B(t,n,e){return new X(t,n,e)}function X(t,n,e){this.r=t,this.g=n,this.b=e}function G(t){return 16>t?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function $(t,n,e){var r,i,u,a=0,o=0,c=0;if(r=/([a-z]+)\((.*)\)/i.exec(t))switch(i=r[2].split(","),r[1]){case"hsl":return e(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return n(Q(i[0]),Q(i[1]),Q(i[2]))}return(u=Zu.get(t))?n(u.r,u.g,u.b):(t!=null&&t.charAt(0)==="#"&&(t.length===4?(a=t.charAt(1),a+=a,o=t.charAt(2),o+=o,c=t.charAt(3),c+=c):t.length===7&&(a=t.substring(1,3),o=t.substring(3,5),c=t.substring(5,7)),a=parseInt(a,16),o=parseInt(o,16),c=parseInt(c,16)),n(a,o
return function(t){return r.map(function(n){return[n,t]})}}function fi(t){return t.source}function hi(t){return t.target}function di(){function t(t){var n=Math.sin(t*=d)*g,e=Math.sin(d-t)*g,r=e*u+n*f,o=e*a+n*h,c=e*i+n*s;return[Math.atan2(o,r)/_u,Math.atan2(c,Math.sqrt(r*r+o*o))/_u]}var n,e,r,i,u,a,o,c,l,s,f,h,d,g;return t.distance=function(){return d==null&&(g=1/Math.sin(d=Math.acos(Math.max(-1,Math.min(1,i*s+r*l*Math.cos(o-n)))))),d},t.source=function(o){var c=Math.cos(n=o[0]*_u),l=Math.sin(n);return r=Math.cos(e=o[1]*_u),i=Math.sin(e),u=r*c,a=r*l,d=null,t},t.target=function(n){var e=Math.cos(o=n[0]*_u),r=Math.sin(o);return l=Math.cos(c=n[1]*_u),s=Math.sin(c),f=l*e,h=l*r,d=null,t},t}function gi(t,n){return[t/(2*bu),Math.max(-.5,Math.min(.5,Math.log(Math.tan(bu/4+n/2))/(2*bu)))]}function mi(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function pi(t){return vi(function(){return t})()}function vi(t){function n(t){return t=l(t[0]*_u,t[1]*_u),[t[0]*s+y,M-t[1]*s]}function e(t){return t=l.invert((t[0]-y)/s,(M-t[1])/s),[t[0]*ku,t[1]*ku]}function r(t){function n(n,e){var r=u(n,e);t.point(r[0],r[1])}function e(n,e){var r=u(o=l=n,c=e);s=Math.sin(e),f=Math.cos(e),t.moveTo(h=r[0],d=r[1])}function r(n,e){var r=u(n,e);i(h,d,l,s,f,h=r[0],d=r[1],l=n,s=Math.sin(e),f=Math.cos(e),g),t.lineTo(h,d)}function i(n,e,r,a,o,c,l,s,f,h,d){var g=c-n,m=l-e,p=g*g+m*m;if(p>4*b&&d--){var v=a*f+o*h*Math.cos(s-r),y=1/(Math.SQRT2*Math.sqrt(1+v)),M=y*(o*Math.cos(r)+h*Math.cos(s)),x=y*(o*Math.sin(r)+h*Math.sin(s)),w=Math.max(-1,Math.min(1,y*(a+f))),_=Math.asin(w),k=Math.abs(Math.abs(w)-1),S=xu>k||wu>k&&(wu>Math.abs(o)||wu>Math.abs(h))?(r+s)/2:Math.atan2(x,M),T=u(S,_),A=T[0],N=T[1],C=n-A,q=e-N,E=g*q-m*C;if(E*E/p>b){var P=Math.cos(_);i(n,e,r,a,o,A,N,S,w,P,d),t.lineTo(A,N),i(A,N,S,w,P,c,l,s,f,h,d)}}}function a(){var n=u(o,c);i(h,d,l,s,f,n[0],n[1],o,Math.sin(c),Math.cos(c),g),t.closePath()}var o,c,l,s,f,h,d,g=b>0&&16;return{point:n,moveTo:e,lineTo:r,closePath:a}}function i(t){return c(t[0]*_u,t[1]*_u)}function u(t,n){var e=o(t,n);return[e[0]*s+y,M-e[1]*s]}function a(){l=oi(c=wi(m,p,v),o);var t=o(d,g);return y=f-t[0]*s,M=h+t[1]*s,n}var o,c,l,s=150,f=480,h=250,d=0,g=0,m=0,p=0,v=0,y=f,M=h,b=.5,x=Mi(i),w=null;return n.point=function(t,n){x.point(t,r(n))},n.line=function(t,n){x.line(t,r(n))},n.polygon=function(t,n){x.polygon(t,r(n))},n.clipAngle=function(t){return arguments.length?(x=t==null?(w=t,Mi(i)):Xr(w=+t,i),n):w},n.scale=function(t){return arguments.length?(s=+t,a()):s},n.translate=function(t){return arguments.length?(f=+t[0],h=+t[1],a()):[f,h]},n.center=function(t){return arguments.length?(d=t[0]%360*_u,g=t[1]%360*_u,a()):[d*ku,g*ku]},n.rotate=function(t){return arguments.length?(m=t[0]%360*_u,p=t[1]%360*_u,v=t.length>2?t[2]%360*_u:0,a()):[m*ku,p*ku,v*ku]},n.precision=function(t){return arguments.length?(b=t*t,n):Math.sqrt(b)},function(){return o=t.apply(this,arguments),n.invert=o.invert&&e,a()}}function yi(t,n,e,r){var i,u,a=Math.sin(t-e);return Math.abs(a)>xu?Math.atan((Math.sin(n)*(u=Math.cos(r))*Math.sin(e)-Math.sin(r)*(i=Math.cos(n))*Math.sin(t))/(i*u*a)):(n+r)/2}function Mi(t){var n={point:function(n,e){var r=t(n);e.point(r[0],r[1])},line:function(n,e){if(o=n.length){var r,i,u,a,o,c=t(n[0]),l=c[0],s=c[1],f=l>0?bu:-bu,h=0;e.moveTo(l,s);while(o>++h)c=t(n[h]),r=c[0],i=c[1],u=r>0?bu:-bu,a=Math.abs(r-l),xu>Math.abs(a-bu)?(e.lineTo(l,s=(s+i)/2>0?bu/2:-bu/2),e.lineTo(f,s),e.moveTo(u,s),e.lineTo(r,s),e.lineTo(l=r,s=i)):f!==u&&a>=bu?(s=yi(l,s,r,i),Math.abs(l-f)>xu&&e.lineTo(f,s),Math.abs(r-u)>xu?(e.moveTo(u,s),e.lineTo(l=r,s=i)):e.moveTo(l=r,s=i)):e.lineTo(l=r,s=i),f=u}},polygon:function(t,e){$r(t,e,n.line,xi,bi)}};return n}function bi(t){return-(0>t[0]?t[1]-bu/2:bu/2-t[1])}function xi(t,n,e){if(t=t.point,n=n.point,Math.abs(t[0]-n[0])>xu){var r=n[0]>t[0]?bu:-bu,i=r/2;e.lineTo(-r,i),e.lineTo(0,i),e.lineTo(r,i)}else e.lineTo(n[0],n[1])}function wi(t,n,e){return t?n||e?oi(Si(t),Ti(n,e)):Si(t):n||e?Ti(n,e):_i}function _i(t,n){return[t>bu?t-2*bu:-bu>t?t+2*bu:t,n]}function ki(t){return function(n,e){return[(n+=t)>bu?n-2*bu:-bu>n?n+2*b
};typeof Sizzle=="function"&&(Qu=function(t,n){return Sizzle(t,n)[0]||null},ta=function(t,n){return Sizzle.uniqueSort(Sizzle(t,n))},ra=Sizzle.matchesSelector);var ia=[];d3.selection=function(){return ua},d3.selection.prototype=ia,ia.select=function(t){var n,e,r,i,u=[];typeof t!="function"&&(t=mn(t));for(var a=-1,o=this.length;o>++a;){u.push(n=[]),n.parentNode=(r=this[a]).parentNode;for(var c=-1,l=r.length;l>++c;)(i=r[c])?(n.push(e=t.call(i,i.__data__,c)),e&&"__data__"in i&&(e.__data__=i.__data__)):n.push(null)}return gn(u)},ia.selectAll=function(t){var n,e,r=[];typeof t!="function"&&(t=pn(t));for(var i=-1,u=this.length;u>++i;)for(var a=this[i],o=-1,c=a.length;c>++o;)(e=a[o])&&(r.push(n=Tu(t.call(e,e.__data__,o))),n.parentNode=e);return gn(r)},ia.attr=function(t,n){if(2>arguments.length){if(typeof t=="string"){var e=this.node();return t=d3.ns.qualify(t),t.local?e.getAttributeNS(t.space,t.local):e.getAttribute(t)}for(n in t)this.each(vn(n,t[n]));return this}return this.each(vn(t,n))},ia.classed=function(t,n){if(2>arguments.length){if(typeof t=="string"){var e=this.node(),r=(t=t.trim().split(/^|\s+/g)).length,i=-1;if(n=e.classList){while(r>++i)if(!n.contains(t[i]))return!1}else{n=e.className,n.baseVal!=null&&(n=n.baseVal);while(r>++i)if(!yn(t[i]).test(n))return!1}return!0}for(n in t)this.each(Mn(n,t[n]));return this}return this.each(Mn(t,n))},ia.style=function(t,n,e){var r=arguments.length;if(3>r){if(typeof t!="string"){2>r&&(n="");for(e in t)this.each(xn(e,t[e],n));return this}if(2>r)return getComputedStyle(this.node(),null).getPropertyValue(t);e=""}return this.each(xn(t,n,e))},ia.property=function(t,n){if(2>arguments.length){if(typeof t=="string")return this.node()[t];for(n in t)this.each(wn(n,t[n]));return this}return this.each(wn(t,n))},ia.text=function(t){return arguments.length?this.each(typeof t=="function"?function(){var n=t.apply(this,arguments);this.textContent=n==null?"":n}:t==null?function(){this.textContent=""}:function(){this.textContent=t}):this.node().textContent},ia.html=function(t){return arguments.length?this.each(typeof t=="function"?function(){var n=t.apply(this,arguments);this.innerHTML=n==null?"":n}:t==null?function(){this.innerHTML=""}:function(){this.innerHTML=t}):this.node().innerHTML},ia.append=function(t){function n(){return this.appendChild(document.createElementNS(this.namespaceURI,t))}function e(){return this.appendChild(document.createElementNS(t.space,t.local))}return t=d3.ns.qualify(t),this.select(t.local?e:n)},ia.insert=function(t,n){function e(){return this.insertBefore(document.createElementNS(this.namespaceURI,t),Qu(n,this))}function r(){return this.insertBefore(document.createElementNS(t.space,t.local),Qu(n,this))}return t=d3.ns.qualify(t),this.select(t.local?r:e)},ia.remove=function(){return this.each(function(){var t=this.parentNode;t&&t.removeChild(this)})},ia.data=function(t,n){function e(t,e){var i,u,a,o=t.length,f=e.length,h=Math.min(o,f),d=Math.max(o,f),g=[],m=[],p=[];if(n){var v,y=new r,M=[],b=e.length;for(i=-1;o>++i;)v=n.call(u=t[i],u.__data__,i),y.has(v)?p[b++]=u:y.set(v,u),M.push(v);for(i=-1;f>++i;)v=n.call(e,a=e[i],i),y.has(v)?(g[i]=u=y.get(v),u.__data__=a,m[i]=p[i]=null):(m[i]=_n(a),g[i]=p[i]=null),y.remove(v);for(i=-1;o>++i;)y.has(M[i])&&(p[i]=t[i])}else{for(i=-1;h>++i;)u=t[i],a=e[i],u?(u.__data__=a,g[i]=u,m[i]=p[i]=null):(m[i]=_n(a),g[i]=p[i]=null);for(;f>i;++i)m[i]=_n(e[i]),g[i]=p[i]=null;for(;d>i;++i)p[i]=t[i],m[i]=g[i]=null}m.update=g,m.parentNode=g.parentNode=p.parentNode=t.parentNode,c.push(m),l.push(g),s.push(p)}var i,u,a=-1,o=this.length;if(!arguments.length){t=Array(o=(i=this[0]).length);while(o>++a)(u=i[a])&&(t[a]=u.__data__);return t}var c=Nn([]),l=gn([]),s=gn([]);if(typeof t=="function")while(o>++a)e(i=this[a],t.call(i,i.parentNode.__data__,a));else while(o>++a)e(i=this[a],t);return l.enter=function(){return c},l.exit=function(){return s},l},ia.datum=function(t){return arguments.length?this.property("__data__",t):this.property("__data__")},ia.filter=function(t){var n,e,r,i=[];typeof t!="function"&&(t=kn(t));for(var u=0,a=this.length;a>u;u++){i.push(n=[]),n.pa
return l.forEach(function(t){var n;s[t]={data:u[t],value:n=a[t],startAngle:o,endAngle:o+=n*c}}),s}var n=Number,e=Fa,r=0,i=2*bu;return t.value=function(e){return arguments.length?(n=e,t):n},t.sort=function(n){return arguments.length?(e=n,t):e},t.startAngle=function(n){return arguments.length?(r=n,t):r},t.endAngle=function(n){return arguments.length?(i=n,t):i},t};var Fa={};d3.layout.stack=function(){function t(i,c){var l=i.map(function(e,r){return n.call(t,e,r)}),s=l.map(function(n){return n.map(function(n,e){return[a.call(t,n,e),o.call(t,n,e)]})}),f=e.call(t,s,c);l=d3.permute(l,f),s=d3.permute(s,f);var h,d,g,m=r.call(t,s,c),p=l.length,v=l[0].length;for(d=0;v>d;++d)for(u.call(t,l[0][d],g=m[d],s[0][d][1]),h=1;p>h;++h)u.call(t,l[h][d],g+=s[h-1][d][1],s[h][d][1]);return i}var n=i,e=ir,r=ur,u=rr,a=nr,o=er;return t.values=function(e){return arguments.length?(n=e,t):n},t.order=function(n){return arguments.length?(e=typeof n=="function"?n:Ha.get(n)||ir,t):e},t.offset=function(n){return arguments.length?(r=typeof n=="function"?n:ja.get(n)||ur,t):r},t.x=function(n){return arguments.length?(a=n,t):a},t.y=function(n){return arguments.length?(o=n,t):o},t.out=function(n){return arguments.length?(u=n,t):u},t};var Ha=d3.map({"inside-out":function(t){var n,e,r=t.length,i=t.map(ar),u=t.map(or),a=d3.range(r).sort(function(t,n){return i[t]-i[n]}),o=0,c=0,l=[],s=[];for(n=0;r>n;++n)e=a[n],c>o?(o+=u[e],l.push(e)):(c+=u[e],s.push(e));return s.reverse().concat(l)},reverse:function(t){return d3.range(t.length).reverse()},"default":ir}),ja=d3.map({silhouette:function(t){var n,e,r,i=t.length,u=t[0].length,a=[],o=0,c=[];for(e=0;u>e;++e){for(n=0,r=0;i>n;n++)r+=t[n][e][1];r>o&&(o=r),a.push(r)}for(e=0;u>e;++e)c[e]=(o-a[e])/2;return c},wiggle:function(t){var n,e,r,i,u,a,o,c,l,s=t.length,f=t[0],h=f.length,d=[];for(d[0]=c=l=0,e=1;h>e;++e){for(n=0,i=0;s>n;++n)i+=t[n][e][1];for(n=0,u=0,o=f[e][0]-f[e-1][0];s>n;++n){for(r=0,a=(t[n][e][1]-t[n][e-1][1])/(2*o);n>r;++r)a+=(t[r][e][1]-t[r][e-1][1])/o;u+=a*t[n][e][1]}d[e]=c-=i?u/i*o:0,l>c&&(l=c)}for(e=0;h>e;++e)d[e]-=l;return d},expand:function(t){var n,e,r,i=t.length,u=t[0].length,a=1/i,o=[];for(e=0;u>e;++e){for(n=0,r=0;i>n;n++)r+=t[n][e][1];if(r)for(n=0;i>n;n++)t[n][e][1]/=r;else for(n=0;i>n;n++)t[n][e][1]=a}for(e=0;u>e;++e)o[e]=0;return o},zero:ur});d3.layout.histogram=function(){function t(t,u){var a,o,c=[],l=t.map(e,this),s=r.call(this,l,u),f=i.call(this,s,l,u),u=-1,h=l.length,d=f.length-1,g=n?1:1/h;while(d>++u)a=c[u]=[],a.dx=f[u+1]-(a.x=f[u]),a.y=0;if(d>0){u=-1;while(h>++u)o=l[u],o>=s[0]&&s[1]>=o&&(a=c[d3.bisect(f,o,1,d)-1],a.y+=g,a.push(t[u]))}return c}var n=!0,e=Number,r=fr,i=lr;return t.value=function(n){return arguments.length?(e=n,t):e},t.range=function(n){return arguments.length?(r=a(n),t):r},t.bins=function(n){return arguments.length?(i=typeof n=="number"?function(t){return sr(t,n)}:a(n),t):i},t.frequency=function(e){return arguments.length?(n=!!e,t):n},t},d3.layout.hierarchy=function(){function t(n,a,o){var c=i.call(e,n,a),l=Oa?n:{data:n};if(l.depth=a,o.push(l),c&&(s=c.length)){var s,f,h=-1,d=l.children=[],g=0,m=a+1;while(s>++h)f=t(c[h],m,o),f.parent=l,d.push(f),g+=f.value;r&&d.sort(r),u&&(l.value=g)}else u&&(l.value=+u.call(e,n,a)||0);return l}function n(t,r){var i=t.children,a=0;if(i&&(o=i.length)){var o,c=-1,l=r+1;while(o>++c)a+=n(i[c],l)}else u&&(a=+u.call(e,Oa?t:t.data,r)||0);return u&&(t.value=a),a}function e(n){var e=[];return t(n,0,e),e}var r=mr,i=dr,u=gr;return e.sort=function(t){return arguments.length?(r=t,e):r},e.children=function(t){return arguments.length?(i=t,e):i},e.value=function(t){return arguments.length?(u=t,e):u},e.revalue=function(t){return n(t,0),t},e};var Oa=!1;d3.layout.pack=function(){function t(t,i){var u=n.call(this,t,i),a=u[0];a.x=0,a.y=0,Hr(a,function(t){t.r=Math.sqrt(t.value)}),Hr(a,xr);var o=r[0],c=r[1],l=Math.max(2*a.r/o,2*a.r/c);if(e>0){var s=e*l/2;Hr(a,function(t){t.r+=s}),Hr(a,xr),Hr(a,function(t){t.r-=s}),l=Math.max(2*a.r/o,2*a.r/c)}return kr(a,o/2,c/2,1/l),u}var n=d3.layout.hierarchy().sort(vr),e=0,r=[1,1];return t.size=function(n){return arguments.length?(r=n,t):