mirror of https://github.com/masayuki0812/c3.git
Masayuki Tanaka
11 years ago
1 changed files with 65 additions and 65 deletions
@ -1,65 +1,65 @@
|
||||
(function(wb){function jc(){function l(b,h){b.attr("transform",function(b){return"translate("+(h(b)+S)+",0)"})}function u(b,h){b.attr("transform",function(b){return"translate(0,"+h(b)+")"})}function Oa(b){var h=b[0];b=b[b.length-1];return h<b?[h,b]:[b,h]}function ua(b){for(var h=[],l=Math.ceil(b[0]);l<b[1];l++)h.push(l);0<h.length&&0<h[0]&&h.unshift(h[0]-(h[1]-h[0]));return h}function r(y){y.each(function(){var h=d3.select(this),y=ua(G.domain()),r=h.selectAll(".tick.major").data(y,String),A=r.enter().insert("g", |
||||
"path").attr("class","tick major").style("opacity",1E-6),ma=d3.transition(r.exit()).style("opacity",1E-6).remove(),na=d3.transition(r).style("opacity",1),B,T=G.rangeExtent?G.rangeExtent():Oa(G.range()),h=h.selectAll(".domain").data([0]),h=(h.enter().append("path").attr("class","domain"),d3.transition(h)),K=G.copy(),ab=this.__chart__||K;this.__chart__=K;A.append("line");A.append("text");var oa=A.select("line"),va=na.select("line"),ca=r.select("text"),wa=A.select("text"),xa=na.select("text");S=(K(1)- |
||||
K(0))/2;r=b?0:S;switch(v){case "bottom":B=l;oa.attr("y2",C);wa.attr("y",Math.max(C,0)+H);va.attr("x1",r).attr("x2",r).attr("y2",C);xa.attr("x",0).attr("y",Math.max(C,0)+H);ca.attr("dy",".71em").style("text-anchor","middle");ca.text(function(b){return y.length<N||0==b%Math.ceil(y.length/N)?b<L.length?L[b]:b:""});h.attr("d","M"+T[0]+","+U+"V0H"+T[1]+"V"+U);break;case "left":B=u,oa.attr("x2",-C),wa.attr("x",-(Math.max(C,0)+H)),va.attr("x2",-C).attr("y2",0),xa.attr("x",-(Math.max(C,0)+H)).attr("y",S), |
||||
ca.attr("dy",".32em").style("text-anchor","end"),ca.text(function(b){return y.length<N||0==b%Math.ceil(y.length/N)?b<L.length?L[b]:b:""}),h.attr("d","M"+-U+","+T[0]+"H0V"+T[1]+"H"+-U)}if(G.ticks)A.call(B,ab),na.call(B,K),ma.call(B,K);else{var da=K.rangeBand()/2,ma=function(b){return K(b)+da};A.call(B,ma);na.call(B,ma)}})}var G=d3.scale.linear(),v="bottom",C=6,U=6,H=3,b=!1,N=10,S=0,L=[];r.scale=function(b){if(!arguments.length)return G;G=b;return r};r.orient=function(b){if(!arguments.length)return v; |
||||
v=b in{top:1,right:1,bottom:1,left:1}?b+"":"bottom";return r};r.categories=function(b){if(!arguments.length)return L;L=b;return r};r.tickCentered=function(l){if(!arguments.length)return b;b=l;return r};r.tickTextNum=function(b){if(!arguments.length)return N;N=b;return r};r.tickOffset=function(){return S};r.ticks=function(){};return r}function u(l){return"undefined"===typeof l}function l(l){return"undefined"!==typeof l}wb.c3={};c3.generate=function(R){var xb,Oa,ua,r,G,v,C,U,H;function b(a,c){for(var d= |
||||
R,p=0;p<a.length;p++){if(!(a[p]in d))return c;d=d[a[p]]}return d}function N(){bb=null===Ab?+d3.select(ya).style("width").replace("px",""):Ab;var a=null===Bb?+d3.select(ya).style("height").replace("px",""):Bb;pa=0<a?a:320;Cb=20+Db+ea;Eb=!Fb||e||cb?1:50;Pa=db?0:40;Gb=pa-Db-ea;Hb=20+ea;Ib=pa-ea;v=0;C=Eb;U=Cb;H=Pa;ua=Gb;r=Hb;G=Pa;xb=Ib;Oa=Pa;t=bb-H-C;s=pa-v-U;fa=pa-ua-r}function S(){Jb=e?10:0;Kb=e?s:t;eb=e?0:s;fb=e?t:1;m=L(Jb,Kb,l(m)?m.domain():void 0,function(a){return M.tickOffset()});x=y(eb,fb,l(x)? |
||||
x.domain():void 0);O=y(eb,fb,l(O)?O.domain():void 0);V=L(0,t,l(P)?P:void 0,function(a){return 0===a%1?za.tickOffset():0});Qa=y(fa,10);Ra=y(fa,10);M=yb(m,kc);ga=d3.svg.axis().scale(x).orient(lc);Sa=d3.svg.axis().scale(O).orient(mc);za=yb(V,nc)}function L(a,c,d,p){var f=(D?d3.time.scale():d3.scale.linear()).range([a,c]);f.orgDomain=function(){return f.domain()};l(d)&&f.domain(d);u(p)&&(p=function(a){return 0});if(ha){var b=f,n,f=function(a){return b(a)+p(a)};for(n in b)f[n]=b[n];f.orgDomain=function(){return b.domain()}; |
||||
f.domain=function(a){if(!arguments.length)return a=b.domain(),[a[0],a[1]+1];b.domain(a);return f}}return f}function y(a,c){return d3.scale.linear().range([a,c])}function h(a){return"y2"===A(a)?O:x}function Na(a){return"y2"===A(a)?Ra:Qa}function yb(a,c){var d=(ha?jc():d3.svg.axis()).scale(a).orient(c);D&&d.tickFormat(oc);ha?d.categories(gb).tickCentered(pc):d.tickOffset=function(){return 0};return d}function A(a){return a in Lb?Lb[a]:"y"}function ma(a){return d3.min(a,function(a){return d3.min(a.values, |
||||
function(a){return a.value})})}function na(a){var c={},d,p;a.forEach(function(a){c[a.id]=[];a.values.forEach(function(d){c[a.id].push(d.value)})});for(d=0;d<q.length;d++)for(p=1;p<q[d].length;p++)Aa(q[d][p])&&(u(c[q[d][p]])||c[q[d][p]].forEach(function(a,b){A(q[d][p])===A(q[d][0])&&(c[q[d][0]][b]+=1*a)}));return d3.max(Object.keys(c).map(function(a){return d3.max(c[a])}))}function B(a,c){var d=Ta(function(a){return A(a.id)===c}),p="y2"===c?qc:rc,f="y2"===c?sc:tc,p=null!==p?p:ma(d),f=null!==f?f:na(d), |
||||
b=0.1*Math.abs(f-p),n=b,e=b,g="y2"===c?uc:vc;null!==g&&(yDomainAbs=Math.max(Math.abs(p),Math.abs(f)),f=yDomainAbs-g,p=g-yDomainAbs);"y"===c&&null!==Ba&&(n=l(Ba.top)?Ba.top:b,e=l(Ba.bottom)?Ba.bottom:b);"y2"===c&&null!==Ca&&(n=l(Ca.top)?Ca.top:b,e=l(Ca.bottom)?Ca.bottom:b);return[wc(d,"bar")?0:p-e,f+n]}function T(a){var c;a?(a=m.domain(),c=E.extent()):(a=P,c=m.domain());return(a[1]-a[0])/(c[1]-c[0])}function K(a){for(var c=0;c<a.length;c++)if(!(a[c]in Ua))return!1;return!0}function ab(a){for(var c= |
||||
[],d=0;d<a.length;d++)a[d]in Ua&&c.push(zb(Ua[a[d]]));return c}function oa(a){return"start"in a?m(D?ia(a.start):a.start):0}function va(a){var c=oa(a);a=("end"in a?m(D?ia(a.end):a.end):t)-c;return 0>a?0:a}function ca(a){var c=Da[a.id];a.name=l(c)?c:a.id;return a}function wa(a){var c=a[0],d={},b=[],f,e;for(f=1;f<a.length;f++){d={};for(e=0;e<a[f].length;e++)d[c[e]]=a[f][e];b.push(d)}return b}function xa(a){var c=[],d,b,f;for(d=0;d<a.length;d++)for(f=a[d][0],b=1;b<a[d].length;b++)u(c[b-1])&&(c[b-1]={}), |
||||
c[b-1][f]=a[d][b];return c}function da(a){var c=d3.keys(a[0]).filter(function(a){return a!==Va}),d=0,b;a.forEach(function(a){if(D){if(!(Va in a))throw Error("'"+Va+"' must be included in data");b=ia(a[Va]);if(null===b)throw Error("Failed to parse timeseries date in data");a.x=b}else a.x=d++;null===Wa&&(Wa=new Date(a.x));hb=new Date(a.x)});c=c.map(function(c,d){var b=xc(c);return{id:b,id_org:c,values:a.map(function(a){return{x:a.x,value:+a[c],id:b}})}});c.forEach(function(a){Ua[a.id_org]=zb(a)});return c} |
||||
function zb(a){return{id:a.id,id_org:a.id_org,values:a.values.map(function(a){return{x:a.x,value:a.value,id:a.id}})}}function Ea(){return d3.max(k.data.targets,function(a){return a.values.length})}function ib(a){a=u(a)?k.data.targets:a;return a.map(function(a){return a.id})}function jb(a){var c=ib(),d;for(d=0;d<c.length;d++)if(c[d]===a)return!0;return!1}function Ta(a){return l(a)?k.data.targets.filter(a):k.data.targets}function kb(a){return"-shapes -shapes-"+a.id}function Mb(a){return kb(a)+" -line -line-"+ |
||||
a.id}function yc(a){return kb(a)+" -circles -circles-"+a.id}function Nb(a){return kb(a)+" -bars -bars-"+a.id}function zc(a,c){return"-shape -shape-"+c+" -circle -circle-"+c}function Ob(a,c){return"-shape -shape-"+c+" -bar -bar-"+c}function Ac(a,c){return"region region-"+c+" "+("classes"in a?[].concat(a.classes).join(" "):"")}function Xa(a){return m(a.x)}function Fa(a){return m(D?ia(a.value):a.value)}function Pb(a){return x(a.value)}function W(a){return m(a.x)}function X(a){return h(a.id)(a.value)} |
||||
function Bc(){var a={},c=0,d,b;Ta(Aa).forEach(function(f){for(d=0;d<q.length;d++)if(!(0>q[d].indexOf(f.id)))for(b=0;b<q[d].length;b++)if(q[d][b]in a){a[f.id]=a[q[d][b]];break}u(a[f.id])&&(a[f.id]=c++)});a.__max__=c-1;return a}function Qb(a,c,d,b){var f=b?V:m;return function(b){var p=b.id in d?d[b.id]:0;return f(b.x)-a*(c/2-p)}}function Rb(a,c,d,b){var f=Object.keys(c);return function(e,n){var g=0,k=b?Na(e.id):h(e.id);Ta(Aa).forEach(function(d){d.id!==e.id&&c[d.id]===c[e.id]&&f.indexOf(d.id)<f.indexOf(e.id)&& |
||||
(g+=a(d.values[n]))});return d?g:k(e.value)-g}}function Sb(a,c){var d=null===a?function(a){return a}:function(c){return a-c};return function(a){var b=c?Na(a.id):h(a.id);return d(b(a.value))}}function lb(a,c){var d=u(a)?ib():a;"string"===typeof d&&(d=[d]);for(var b=0;b<d.length;b++)Y[d[b]]=c}function wc(a,c){var d=!1;a.forEach(function(a){Y[a.id]===c&&(d=!0);a.id in Y||"line"!==c||(d=!0)});return d}function mb(a){a="string"===typeof a?a:a.id;return!(a in Y)||"line"===Y[a]||"spline"===Y[a]}function Aa(a){return"bar"=== |
||||
Y["string"===typeof a?a:a.id]}function Cc(a){return mb(a)?a.values:[]}function Tb(a){return Aa(a)?a.values:[]}function Ub(a,c){var d=d3.mouse(a),b=d3.select(a),f=1*b.attr("cx"),b=1*b.attr("cy");return Math.sqrt(Math.pow(f-d[0],2)+Math.pow(b-d[1],2))<c}function Vb(a){var c=d3.mouse(a),d=d3.select(a);a=1*d.attr("x");var b=1*d.attr("y"),d=1*d.attr("width");return a-10<c[0]&&c[0]<a+d+10&&b-10<c[1]}function Dc(a,c){var d;for(d=0;d<c.length;d++)if(c[d].start<a&&a<=c[d].end)return!0;return!1}function Wb(a, |
||||
c,d){Ec(a,c);g.select(".selected-circles-"+c.id).selectAll(".selected-circle-"+d).data([c]).enter().append("circle").attr("class",function(a){return"selected-circle selected-circle-"+d}).attr("cx",e?X:W).attr("cy",e?W:X).attr("stroke",function(){return Q(c.id)}).attr("r",1.4*Ga).transition().duration(100).attr("r",Ga)}function nb(a,c,d){Fc(a,c);g.select(".selected-circles-"+c.id).selectAll(".selected-circle-"+d).transition().duration(100).attr("r",0).remove()}function Xb(a,c,d,b){a?Wb(c,d,b):nb(c, |
||||
d,b)}function Gc(a,c,d){}function Yb(a,c,d){}function Zb(a,c,d,b){}function Hc(a,c,d,b){var f,g,n="M",k,m,h,r,t,s=[];if(l(b))for(f=0;f<b.length;f++)s[f]={},u(b[f].start)?s[f].start=a[0].x:D&&(s[f].start=ia(b[f].start)),u(b[f].end)?s[f].end=a[a.length-1].x:D&&(s[f].end=ia(b[f].end));r=e?function(a){return d(a.value)}:function(a){return c(a.x)};t=e?function(a){return c(a.x)}:function(a){return d(a.value)};b=D?function(a,b,f,e){var n=a.x.getTime();a=b.x-a.x;b=new Date(n+a*(f+e));return"M"+c(new Date(n+ |
||||
a*f))+" "+d(m(f))+" "+c(b)+" "+d(m(f+e))}:function(a,b,f,e){return"M"+c(k(f))+" "+d(m(f))+" "+c(k(f+e))+" "+d(m(f+e))};for(f=0;f<a.length;f++)if(u(s)||!Dc(a[f].x,s))n+=" "+r(a[f])+" "+t(a[f]);else for(k=L(a[f-1].x,a[f].x),m=y(a[f-1].value,a[f].value),g=c(a[f].x)-c(a[f-1].x),h=d(a[f].value)-d(a[f-1].value),g=Math.sqrt(Math.pow(g,2)+Math.pow(h,2)),h=2/g,diffx2=2*h,g=h;1>=g;g+=diffx2)n+=b(a[f-1],a[f],g,h);return n}function ob(a){var c=k.data.targets=da(a),d,b;N();S();m.domain(d3.extent(a.map(function(a){return a.x}))); |
||||
x.domain(B(c,"y"));O.domain(B(c,"y2"));V.domain(m.domain());Qa.domain(x.domain());Ra.domain(O.domain());M.ticks(10>a.length?a.length:10);ga.ticks(Ic).outerTickSize(0).tickFormat(Jc);Sa.ticks(Kc).outerTickSize(0).tickFormat(Lc);P=m.domain();E.x(V);ja&&F.x(m);Ha=d3.select(ya).append("svg").attr("width",t+H+C).attr("height",s+v+U).on("mouseenter",Mc).on("mouseleave",Nc);Ya=Ha.append("defs");Ya.append("clipPath").attr("id",pb).append("rect").attr("y",v).attr("width",t).attr("height",s-v);Ya.append("clipPath").attr("id", |
||||
"xaxis-clip").append("rect").attr("x",-1).attr("y",-1).attr("width",t+2).attr("height",40);Ya.append("clipPath").attr("id","yaxis-clip").append("rect").attr("x",-H+1).attr("y",v-1).attr("width",H).attr("height",s-v+2);g=Ha.append("g").attr("transform",I.main);w=qa?Ha.append("g").attr("transform",I.context):null;ra=sa?Ha.append("g").attr("transform",I.legend):null;Z=d3.select(ya).style("position","relative").append("div").style("position","absolute").style("width","30%").style("z-index","10").style("visibility", |
||||
"hidden");g.append("g").attr("class","x axis").attr("clip-path",e?"":"url(#xaxis-clip)").attr("transform",I.x).call(e?ga:M);g.append("g").attr("class","y axis").attr("clip-path",e?"url(#yaxis-clip)":"").call(e?M:ga).append("text").attr("transform","rotate(-90)").attr("dy","1.4em").attr("dx","-.8em").style("text-anchor","end").text(Oc);Fb&&g.append("g").attr("class","y2 axis").attr("transform",I.y2).call(Sa);d=g.append("g").attr("clip-path",Ia).attr("class","grid");$b&&d.append("g").attr("class","xgrids"); |
||||
qb&&(b=d.append("g").attr("class","xgrid-lines").selectAll(".xgrid-line").data(qb).enter().append("g").attr("class","xgrid-line"),b.append("line").attr("class",function(a){return""+a["class"]}),b.append("text").attr("class",function(a){return""+a["class"]}).attr("text-anchor","end").attr("transform",e?"":"rotate(-90)").attr("dx",e?0:-v).attr("dy",-6).text(function(a){return a.text}));Pc&&d.append("g").attr("class","xgrid-focus").append("line").attr("class","xgrid-focus").attr("x1",e?0:-10).attr("x2", |
||||
e?t:-10).attr("y1",e?-10:v).attr("y2",e?-10:s);ac&&d.append("g").attr("class","ygrids");rb&&d.append("g").attr("class","ygrid-lines").selectAll("ygrid-line").data(rb).enter().append("line").attr("class",function(a){return"ygrid-line "+a["class"]});g.append("g").attr("clip-path",Ia).attr("class","regions");g.append("g").attr("clip-path",Ia).attr("class","chart");g.select(".chart").append("g").attr("class","event-rects").style("fill-opacity",0).style("cursor",ja?"ew-resize":null).selectAll(".event-rects").data(a).enter().append("rect").attr("class", |
||||
function(a,c){return"event-rect event-rect-"+c}).style("cursor",$&&ka?"pointer":null).on("mouseover",function(a,c){if(!Za){var d=k.data.targets.map(function(a){return ca(a.values[c])}),b,p;if(0<Object.keys(Da).length){p=[];for(var h in Da)for(b=0;b<d.length;b++)if(d[b].id===h){p.push(d[b]);d.shift(b);break}d=p.concat(d)}bc&&g.selectAll(".-circle-"+c).classed(aa,!0).attr("r",cc);g.selectAll(".-bar-"+c).classed(aa,!0);g.selectAll("line.xgrid-focus").style("visibility","visible").data([d[0]]).attr(e? |
||||
"y1":"x1",Xa).attr(e?"y2":"x2",Xa);Z.style("top",d3.mouse(this)[1]+30+"px").style("left",(e?d3.mouse(this)[0]:m(d[0].x))+60+"px");Z.html(dc(d));Z.style("visibility","visible")}}).on("mouseout",function(a,c){g.select("line.xgrid-focus").style("visibility","hidden");Z.style("visibility","hidden");g.selectAll(".-circle-"+c).filter(function(){return d3.select(this).classed(aa)}).classed(aa,!1).attr("r",sb);g.selectAll(".-bar-"+c).classed(aa,!1)}).on("mousemove",function(a,c){$&&!Za&&(ka||g.selectAll(".-shape-"+ |
||||
c).filter(function(a){return la(a)}).each(function(a){a=d3.select(this).classed(aa,!0);"circle"===this.nodeName&&a.attr("r",cc);d3.select(".event-rect-"+c).style("cursor",null)}).filter(function(a){a=d3.select(this);if("circle"===this.nodeName)return Ub(this,Ga);if("rect"===this.nodeName)return Vb(this,a.attr("x"),a.attr("y"))}).each(function(a){a=d3.select(this);a.classed(aa)||(a.classed(aa,!0),"circle"===this.nodeName&&a.attr("r",Ga));d3.select(".event-rect-"+c).style("cursor","pointer")}))}).on("click", |
||||
function(a,c){tb?tb=!1:g.selectAll(".-shape-"+c).each(function(a){var d=d3.select(this),b=d.classed(ba),f=!1,e;"circle"===this.nodeName?(f=Ub(this,1.5*Ga),e=Xb):"rect"===this.nodeName&&(f=Vb(this),e=Zb);if(ka||f)$&&la(a)&&(d.classed(ba,!b),e(!b,d,a,c)),Qc(a,d)})}).call(d3.behavior.drag().origin(Object).on("drag",function(a){if($&&(!ja||F.altDomain)){a=ub[0];var c=ub[1],d=d3.mouse(this),b=d[0],d=d[1],e=Math.min(a,b),p=Math.max(a,b),k=ka?v:Math.min(c,d),h=ka?s:Math.max(c,d);g.select(".dragarea").attr("x", |
||||
e).attr("y",k).attr("width",p-e).attr("height",h-k);g.selectAll(".-shapes").selectAll(".-shape").filter(function(a){return la(a)}).each(function(a,c){var d=d3.select(this),b=d.classed(ba),f=d.classed(vb),g,n,m,l;g=!1;"circle"===this.nodeName?(g=1*d.attr("cx"),n=1*d.attr("cy"),l=Xb,g=e<g&&g<p&&k<n&&n<h):"rect"===this.nodeName&&(g=1*d.attr("x"),n=1*d.attr("y"),m=1*d.attr("width"),l=Zb,g=e<g+m&&g<p&&n<h);g^f&&(d.classed(vb,!f),d.classed(ba,!b),l(!b,d,a,c))})}}).on("dragstart",function(){$&&(ub=d3.mouse(this), |
||||
g.select(".chart").append("rect").attr("class","dragarea").style("opacity",0.1),Za=!0)}).on("dragend",function(){$&&(g.select(".dragarea").transition().duration(100).style("opacity",0).remove(),g.selectAll(".-shape").classed(vb,!1),Za=!1)})).call(F).on("dblclick.zoom",null);g.select(".chart").append("g").attr("class","chart-bars");g.select(".chart").append("g").attr("class","chart-lines");if(ja)g.insert("rect",Rc?null:"g.grid").attr("class","zoom-rect").attr("width",t).attr("height",s).style("opacity", |
||||
0).style("cursor","ew-resize").call(F).on("dblclick.zoom",null);null!==Ja&&E.extent("function"!==typeof Ja?Ja:D?Ja(Wa,hb):Ja(0,Ea()-1));qa&&(w.append("g").attr("clip-path",Ia).attr("class","chart"),w.select(".chart").append("g").attr("class","chart-bars"),w.select(".chart").append("g").attr("class","chart-lines"),w.append("g").attr("clip-path",Ia).attr("class","x brush").call(E).selectAll("rect").attr("height",fa),w.append("g").attr("class","x axis").attr("transform",I.subx).call(za));sa&&$a(c);ec(c); |
||||
z({withTransition:!1,withUpdateXDomain:!0});if(Sc){if(D&&"string"==typeof ta){ta=ia(ta);for(a=0;a<c[0].values.length&&0!=c[0].values[a].x-ta;a++);ta=a}Z.html(dc(c.map(function(a){return ca(a.values[ta])})));Z.style("top",fc.top).style("left",fc.left).style("visibility","visible")}}function z(a){var c,d=Bc(),b=d.__max__+1,f,h,n,r,u,q;a=l(a)?a:{};c=l(a.withY)?a.withY:!0;u=l(a.withSubchart)?a.withSubchart:!0;q=l(a.withTransition)?a.withTransition:!0;a=l(a.withUpdateXDomain)?a.withUpdateXDomain:!1;q= |
||||
q?250:0;a&&(m.domain(E.empty()?P:E.extent()),ja&&F.x(m).updateScaleExtent());x.domain(B(k.data.targets,"y"));O.domain(B(k.data.targets,"y2"));g.select(".x.axis").transition().duration(e?q:0).call(e?ga:M);g.select(".y.axis").transition().duration(e?0:q).call(e?M:ga);g.select(".y2.axis").transition().call(Sa);Qa.domain(x.domain());Ra.domain(O.domain());Z.style("visibility","hidden");g.select("line.xgrid-focus").style("visibility","hidden").attr("y2",s);if($b){if("year"===Tc)for(a=[],firstYear=Wa.getFullYear(), |
||||
lastYear=hb.getFullYear(),f=firstYear;f<=lastYear;f++)a.push(new Date(f+"-01-01 00:00:00"));else a=m.ticks(10);a=g.select(".xgrids").selectAll(".xgrid").data(a);a.enter().append("line").attr("class","xgrid");a.exit().remove();g.selectAll(".xgrid").attr("x1",function(a){return m(a)-M.tickOffset()}).attr("x2",function(a){return m(a)-M.tickOffset()}).attr("y1",v).attr("y2",s)}qb&&(a=g.selectAll(".xgrid-lines"),a.selectAll("line").attr("x1",e?0:Fa).attr("x2",e?t:Fa).attr("y1",e?Fa:v).attr("y2",e?Fa:s), |
||||
a.selectAll("text").attr("x",e?t:0).attr("y",Fa));c&&ac&&(ygrid=g.select(".ygrids").selectAll(".ygrid").data(x.ticks(10)),ygrid.enter().append("line").attr("class","ygrid"),ygrid.attr("x1",e?x:0).attr("x2",e?x:t).attr("y1",e?0:x).attr("y2",e?s:x).attr("opacity",0).transition().attr("opacity",1),ygrid.exit().remove());c&&rb&&g.select(".ygrid-lines").selectAll(".ygrid-line").attr("y1",Pb).attr("y2",Pb);h=ha?1.2*M.tickOffset()/b:0.6*((e?s:t)*T(!1)/(Ea()-1));n=Sb(e?null:s);a=Qb(h,b,d);f=Rb(n,d,e);c=g.selectAll(".-bars").selectAll(".-bar").data(Tb); |
||||
c.transition().duration(q).attr("x",e?f:a).attr("y",e?a:f).attr("width",e?n:h).attr("height",e?h:n);c.enter().append("rect").attr("class",Ob).attr("x",e?f:a).attr("y",e?a:f).attr("width",e?n:h).attr("height",e?h:n).style("opacity",0).transition().duration(q).style("opacity",1);c.exit().transition().duration(q).style("opacity",0).remove();g.selectAll(".-line").transition().duration(q).attr("d",Uc);c=g.selectAll(".-circles").selectAll(".-circle").data(Cc);c.transition().duration(q).attr("cx",e?X:W).attr("cy", |
||||
e?W:X);c.enter().append("circle").attr("class",zc).attr("cx",e?X:W).attr("cy",e?W:X).attr("r",sb);c.exit().remove();qa&&(null!==d3.event&&"zoom"===d3.event.type&&E.extent(m.orgDomain()).update(),u&&(w.select(".x.axis").transition().duration(e?q:0).call(e?ga:za),E.empty()||E.extent(m.orgDomain()).update(),h=ha?1.2*za.tickOffset()/b:0.6*((e?s:t)*T(!0)/(Ea()-1)),n=Sb(fa,!0),a=Qb(h,b,d,!0),f=Rb(n,d,!1,!0),contextBar=w.selectAll(".-bars").selectAll(".-bar").data(Tb),contextBar.transition().duration(q).attr("x", |
||||
a).attr("y",f).attr("width",h).attr("height",n),contextBar.enter().append("rect").attr("class",Ob).attr("x",a).attr("y",f).attr("width",h).attr("height",n).style("opacity",0).transition().style("opacity",1),contextBar.exit().transition().style("opacity",0).remove(),w.selectAll(".-line").transition().duration(q).attr("d",Vc)));g.selectAll(".selected-circles").filter(function(a){return Aa(a)}).selectAll("circle").remove();g.selectAll(".selected-circle").transition().duration(q).attr("cx",e?X:W).attr("cy", |
||||
e?W:X);r=(e?s:t)*T()/(Ea()-1);d=function(a){return m(a.x)-r/2};g.selectAll(".event-rect").attr("x",e?0:d).attr("y",e?d:0).attr("width",e?t:r).attr("height",e?r:s);mainRegion=g.select(".regions").selectAll("rect.region").data(J);mainRegion.enter().append("rect");mainRegion.attr("class",Ac).attr("x",e?0:oa).attr("y",e?oa:v).attr("width",e?t:va).attr("height",e?va:s).style("fill-opacity",function(a){return l(a.opacity)?a.opacity:0.1});mainRegion.exit().transition().duration(q).style("fill-opacity",0).remove()} |
||||
function Wc(){"mousemove"===d3.event.sourceEvent.type&&F.altDomain?(m.domain(F.altDomain),F.x(m).updateScaleExtent()):(ha&&m.orgDomain()[0]===P[0]&&m.domain([P[0]-1E-10,m.orgDomain()[1]]),z({withTransition:!1,withY:!1,withSubchart:!1}),"mousemove"===d3.event.sourceEvent.type&&(tb=!0))}function ec(a){var c;g.select(".chart-bars").selectAll(".chart-bar").data(a).enter().append("g").attr("class",function(a){return"chart-bar target target-"+a.id}).style("pointer-events","none").style("opacity",0).append("g").attr("class", |
||||
Nb).style("fill",function(a){return Q(a.id)}).style("stroke",function(a){return Q(a.id)}).style("stroke-width",0).style("cursor",function(a){return la(a)?"pointer":null});c=g.select(".chart-lines").selectAll(".chart-line").data(a).enter().append("g").attr("class",function(a){return"chart-line target target-"+a.id}).style("pointer-events","none").style("opacity",0);c.append("path").attr("class",Mb).style("stroke",function(a){return Q(a.id)});c.append("g").attr("class",function(a){return"selected-circles selected-circles-"+ |
||||
a.id});c.append("g").attr("class",yc).style("fill",function(a){return Q(a.id)}).style("cursor",function(a){return la(a)?"pointer":null});a.forEach(function(a){g.selectAll(".selected-circles-"+a.id).selectAll(".selected-circle").each(function(c){c.value=a.values[c.x].value})});qa&&(c=w.select(".chart-bars").selectAll(".chart-bar").data(a),c=c.enter().append("g").attr("class",function(a){return"chart-bar target target-"+a.id}).style("opacity",0),c.append("g").attr("class",Nb).style("fill",function(a){return Q(a.id)}), |
||||
c=w.select(".chart-lines").selectAll(".chart-line").data(a),c=c.enter().append("g").attr("class",function(a){return"chart-line target target-"+a.id}).style("opacity",0),c.append("path").attr("class",Mb).style("stroke",function(a){return Q(a.id)}));sa&&$a(a);d3.selectAll(".target").transition().style("opacity",1)}function Ka(a,c){k.data.targets.forEach(function(c){for(var b=0;b<a.length;b++)if(c.id===a[b].id){c.values=a[b].values;a.splice(b,1);break}});k.data.targets=k.data.targets.concat(a);ec(k.data.targets); |
||||
z();c()}function $a(a,c){var b=ib(a),e,f=t/2-La*Object.keys(a).length/2,g;c=u(c)?{}:c;g=l(c.withTransition)?c.withTransition:!0;e=ra.selectAll(".legend-item").data(b).enter().append("g").attr("class",function(a){return"legend-item legend-item-"+a}).style("cursor","pointer").on("click",function(a){Xc(a)}).on("mouseover",function(a){d3.selectAll(".legend-item").filter(function(c){return c!==a}).transition().duration(100).style("opacity",0.3);k.focus(a)}).on("mouseout",function(a){d3.selectAll(".legend-item").transition().duration(100).style("opacity", |
||||
1);k.revert()});e.append("rect").attr("class","legend-item-event").style("fill-opacity",0).attr("x",-200).attr("y",function(){return ea/2-16}).attr("width",La).attr("height",24);e.append("rect").attr("class","legend-item-tile").style("fill",function(a){return Q(a)}).attr("x",-200).attr("y",function(){return ea/2-9}).attr("width",10).attr("height",10);e.append("text").text(function(a){return l(Da[a])?Da[a]:a}).attr("x",-200).attr("y",function(a,c){return ea/2});ra.selectAll("rect.legend-item-event").data(b).transition().duration(g? |
||||
250:0).attr("x",function(a,c){return f+La*c});ra.selectAll("rect.legend-item-tile").data(b).transition().duration(g?250:0).attr("x",function(a,c){return f+La*c});ra.selectAll("text").data(b).transition().duration(g?250:0).attr("x",function(a,c){return f+La*c+14})}function Ma(a){return l(a)?".target-"+a:".target"}var k={data:{}},Ua={},aa="_expanded_",ba="_selected_",vb="_included_",ya=b(["bindto"],"#chart"),Ab=b(["size","width"],null),Bb=b(["size","height"],null),ja=b(["zoom","enabled"],!1),gc=b(["zoom", |
||||
"extent"],null),Rc=b(["zoom","privileged"],!1),Mc=b(["onenter"],function(){}),Nc=b(["onleave"],function(){});if(!("data"in R))throw Error("data is required in config");var Va=b(["data","x"],"x"),Yc=b(["data","x_format"],"%Y-%m-%d"),xc=b(["data","id_converter"],function(a){return a}),Da=b(["data","names"],{}),q=b(["data","groups"],[]),Lb=b(["data","axes"],{}),Y=b(["data","types"],{}),hc=b(["data","regions"],{}),Zc=b(["data","colors"],{}),$=b(["data","selection","enabled"],!1),ka=b(["data","selection", |
||||
"grouped"],!1),la=b(["data","selection","isselectable"],function(a){return!0}),qa=b(["subchart","show"],!1),Db=qa?b(["subchart","size","height"],60):0,$c=b(["color","pattern"],null),sa=b(["legend","show"],!0),La=b(["legend","item","width"],80),Xc=b(["legend","item","onclick"],function(){}),ic=b(["axis","x","type"],"indexed"),gb=b(["axis","x","categories"],[]),pc=b(["axis","x","tick","centered"],!1),Ja=b(["axis","x","default"],null),tc=b(["axis","y","max"],null),rc=b(["axis","y","min"],null),vc=b(["axis", |
||||
"y","center"],null),Oc=b(["axis","y","text"],null);b(["axis","y","rescale"],!0);var db=b(["axis","y","inner"],!1),Jc=b(["axis","y","format"],function(a){return a}),Ba=b(["axis","y","padding"],null),Ic=b(["axis","y","ticks"],10),Fb=b(["axis","y2","show"],!1),sc=b(["axis","y2","max"],null),qc=b(["axis","y2","min"],null),uc=b(["axis","y2","center"],null);b(["axis","y2","text"],null);b(["axis","y2","rescale"],!0);var cb=b(["axis","y2","inner"],!1),Lc=b(["axis","y2","format"],function(a){return a}),Ca= |
||||
b(["axis","y2","padding"],null),Kc=b(["axis","y2","ticks"],10),e=b(["axis","rotated"],!1),$b=b(["grid","x","show"],!1),Tc=b(["grid","x","type"],"tick"),qb=b(["grid","x","lines"],null),ac=b(["grid","y","show"],!1);b(["grid","y","type"],"tick");var rb=b(["grid","y","lines"],null),sb=b(["point","show"],!0)?b(["point","r"],2.5):0,Pc=b(["point","focus","line","enabled"],!0),bc=b(["point","focus","expand","enabled"],!0),cc=b(["point","focus","expand","r"],bc?4:sb),Ga=b(["point","focus","select","r"],8), |
||||
Qc=b(["point","onclick"],function(){}),Ec=b(["point","onselected"],function(){}),Fc=b(["point","onunselected"],function(){}),J=b(["regions"],[]),dc=b(["tooltip","contents"],function(a){var c="<table class='-tooltip'><tr><th colspan='2'>"+(D?a[0].x.getFullYear()+"."+(a[0].x.getMonth()+1)+"."+a[0].x.getDate():ha?a[0].x<gb.length?gb[a[0].x]:a[0].x:a[0].x)+"</th></tr>",b,e,f;for(b=0;b<a.length;b++)l(a[b])?(e=l(a[b].value)?(Math.round(100*a[b].value)/100).toFixed(2):"-",f=a[b].name):f=e="-",c+="<tr class='-tooltip-name-"+ |
||||
a[b].id+"'><td class='name'><span style='background-color:"+Q(a[b].id)+"'></span>"+f+"</td><td class='value'>"+e+"</td></tr>";return c+"</table>"}),Sc=b(["tooltip","init","show"],!1),ta=b(["tooltip","init","x"],0),fc=b(["tooltip","init","position"],{top:"0px",left:"50px"}),pb=ya.replace("#","")+"-clip",Ia="url(#"+pb+")",D="timeseries"===ic,ha="categorized"===ic,ub=null,Za=!1,tb=!1,ea=sa?40:0,ia=d3.time.format(Yc).parse,Q=function(a,c){var b=[],e=null!==c?c:"#1f77b4 #ff7f0e #2ca02c #d62728 #9467bd #8c564b #e377c2 #7f7f7f #bcbd22 #17becf".split(" "); |
||||
return function(c){if(c in a)return a[c];0<=b.indexOf(c)||b.push(c);return e[b.indexOf(c)%e.length]}}(Zc,$c),oc=function(){var a=[[d3.time.format("%Y/%-m/%-d"),function(){return!0}],[d3.time.format("%-m/%-d"),function(a){return a.getMonth()}],[d3.time.format("%-m/%-d"),function(a){return 1!=a.getDate()}],[d3.time.format("%-m/%-d"),function(a){return a.getDay()&&1!=a.getDate()}],[d3.time.format("%I %p"),function(a){return a.getHours()}],[d3.time.format("%I:%M"),function(a){return a.getMinutes()}], |
||||
[d3.time.format(":%S"),function(a){return a.getSeconds()}],[d3.time.format(".%L"),function(a){return a.getMilliseconds()}]];return function(c){for(var b=a.length-1,e=a[b];!e[1](c);)e=a[--b];return e[0](c)}}(),Cb,Hb,Eb,Pa,Gb,Ib,t,s,fa,bb,pa,Jb,Kb,eb,fb,m,x,O,V,Qa,Ra,M,ga,Sa,za,kc=e?"left":"bottom",lc=e?db?"top":"bottom":db?"right":"left",mc=e?cb?"bottom":"top":cb?"left":"right",nc="bottom",I={main:function(){return"translate("+H+","+v+")"},context:function(){return"translate("+G+","+ua+")"},legend:function(){return"translate("+ |
||||
Oa+","+xb+")"},y2:function(){return"translate("+(e?0:t)+","+(e?10:0)+")"},x:function(){return"translate(0,"+s+")"},subx:function(){return"translate(0,"+fa+")"}},Uc=function(){var a=d3.svg.line().x(e?function(a){return h(a.id)(a.value)}:Xa).y(e?Xa:function(a){return h(a.id)(a.value)});return function(c){var b;if(mb(c))return"spline"===Y["string"===typeof c?c:c.id]?a.interpolate("cardinal"):a.interpolate("linear"),0<Object.keys(hc).length?Hc(c.values,m,h(c.id),hc[c.id]):a(c.values);b=m(c.values[0].x); |
||||
c=h(c.id)(c.values[0].value);return e?"M "+c+" "+b:"M "+b+" "+c}}(),Vc=function(){var a=d3.svg.line().x(function(a){return V(a.x)}).y(function(a){return Na(a.id)(a.value)});return function(c){return mb(c)?a(c.values):"M "+V(c.values[0].x)+" "+Na(c.id)(c.values[0].value)}}(),E=d3.svg.brush().on("brush",function(){z({withTransition:!1,withY:!1,withSubchart:!1,withUpdateXDomain:!0})}),F=d3.behavior.zoom().on("zoomstart",function(){F.altDomain=d3.event.sourceEvent.altKey?m.orgDomain():null}).on("zoom", |
||||
ja?Wc:null);E.update=function(){w&&w.select(".x.brush").call(this);return this};F.orgScaleExtent=function(){var a=gc?gc:[1,10];return[a[0],Math.max(Ea()/a[1],a[1])]};F.updateScaleExtent=function(){var a=m.orgDomain(),a=(a[1]-a[0])/(P[1]-P[0]),c=this.orgScaleExtent();this.scaleExtent([c[0]*a,c[1]*a]);return this};var Ha,Ya,g,w,ra,Z,Wa=null,hb=null,P;k.focus=function(a){k.defocus();d3.selectAll(Ma(a)).filter(function(a){return jb(a.id)}).classed("focused",!0).transition().duration(100).style("opacity", |
||||
1)};k.defocus=function(a){d3.selectAll(Ma(a)).filter(function(a){return jb(a.id)}).classed("focused",!1).transition().duration(100).style("opacity",0.3)};k.revert=function(a){d3.selectAll(Ma(a)).filter(function(a){return jb(a.id)}).classed("focused",!1).transition().duration(100).style("opacity",1)};k.show=function(a){d3.selectAll(Ma(a)).transition().style("opacity",1)};k.hide=function(a){d3.selectAll(Ma(a)).transition().style("opacity",0)};k.unzoom=function(){E.clear().update();z({withUpdateXDomain:!0})}; |
||||
k.load=function(a){u(a.done)&&(a.done=function(){});if("cacheIds"in a&&K(a.cacheIds))Ka(ab(a.cacheIds),a.done);else if("data"in a)Ka(da(data),a.done);else if("url"in a)d3.csv(a.url,function(c,b){Ka(da(b),a.done)});else if("rows"in a)Ka(da(wa(a.rows)),a.done);else if("columns"in a)Ka(da(xa(a.columns)),a.done);else throw Error("url or rows or columns is required.");};k.unload=function(a){k.data.targets=k.data.targets.filter(function(c){return c.id!=a});d3.selectAll(".target-"+a).transition().style("opacity", |
||||
0).remove();sa&&(d3.selectAll(".legend-item-"+a).remove(),$a(k.data.targets));0<k.data.targets.length&&z()};k.selected=function(a){a=l(a)?"-"+a:"";return d3.merge(g.selectAll(".-shapes"+a).selectAll(".-shape").filter(function(){return d3.select(this).classed(ba)}).map(function(a){return a.map(function(a){return a.__data__})}))};k.select=function(a,c,b){$&&g.selectAll(".-shapes").selectAll(".-shape").each(function(e,f){var g="circle"===this.nodeName?Wb:Gc,h="circle"===this.nodeName?nb:Yb;0<=c.indexOf(f)? |
||||
la(e)&&(ka||u(a)||0<=a.indexOf(e.id))&&g(d3.select(this).classed(ba,!0),e,f):l(b)&&b&&h(d3.select(this).classed(ba,!1),e,f)})};k.unselect=function(a,b){$&&g.selectAll(".-shapes").selectAll(".-shape").each(function(d,e){var f="circle"===this.nodeName?nb:Yb;(u(b)||0<=b.indexOf(e))&&la(d)&&(ka||u(a)||0<=a.indexOf(d.id))&&f(d3.select(this).classed(ba,!1),d,e)})};k.toLine=function(a){lb(a,"line");z()};k.toSpline=function(a){lb(a,"spline");z()};k.toBar=function(a){lb(a,"bar");z()};k.groups=function(a){if(u(a))return q; |
||||
q=a;z();return q};k.regions=function(a){if(u(a))return J;J=a;z();return J};k.regions.add=function(a){if(u(a))return J;J=J.concat(a);z();return J};k.regions.remove=function(a,b){var d=[].concat(a);b=l(b)?b:{};d.forEach(function(a){var d=d3.selectAll("."+a);l(b.duration)&&(d=d.transition().duration(b.duration).style("fill-opacity",0));d.remove();J=J.filter(function(b){return 0>b.classes.indexOf(a)})});return J};k.data.get=function(a){a=k.data.getAsTarget(a);return l(a)?a.values.map(function(a){return a.value}): |
||||
void 0};k.data.getAsTarget=function(a){var b=Ta(function(b){return b.id==a});return 0<b.length?b[0]:void 0};if("url"in R.data)d3.csv(R.data.url,function(a,b){ob(b)});else if("rows"in R.data)ob(wa(R.data.rows));else if("columns"in R.data)ob(xa(R.data.columns));else throw Error("url or rows or columns is required.");wb.onresize=function(){N();S();E.x(V);ja&&F.x(m);d3.select("svg").attr("width",bb).attr("height",pa);d3.select("#"+pb).select("rect").attr("width",t).attr("height",s);d3.select("#xaxis-clip").select("rect").attr("width", |
||||
t+2);d3.select(".zoom-rect").attr("width",t).attr("height",s);g.select(".x.axis").attr("transform",I.x);g.select(".y2.axis").attr("transform",I.y2);qa&&(w.select(".x.brush").selectAll("rect").attr("height",fa),w.attr("transform",I.context),w.select(".x.axis").attr("transform",I.subx));sa&&(ra.attr("transform",I.legend),$a(k.data.targets,{withTransition:!1}));z({withTransition:!1,withUpdateXDomain:!0})};return k}})(window); |
||||
(function(ya){function mc(){function n(d,c){d.attr("transform",function(d){return"translate("+(c(d)+V)+", 0)"})}function t(d,c){d.attr("transform",function(d){return"translate(0,"+c(d)+")"})}function Ta(d){var c=d[0];d=d[d.length-1];return c<d?[c,d]:[d,c]}function za(d){for(var c=[],n=Math.ceil(d[0]);n<d[1];n++)c.push(n);0<c.length&&0<c[0]&&c.unshift(c[0]-(c[1]-c[0]));return c}function q(y){y.each(function(){var y=d.select(this),q=za(I.domain()),M=y.selectAll(".tick.major").data(q,String),C=M.enter().insert("g", |
||||
"path").attr("class","tick major").style("opacity",1E-6),qa=d.transition(M.exit()).style("opacity",1E-6).remove(),ra=d.transition(M).style("opacity",1),D,W=I.rangeExtent?I.rangeExtent():Ta(I.range()),y=y.selectAll(".domain").data([0]);y.enter().append("path").attr("class","domain");var y=d.transition(y),N=I.copy(),ya=this.__chart__||N;this.__chart__=N;C.append("line");C.append("text");var sa=C.select("line"),Aa=ra.select("line"),ga=M.select("text"),Ba=C.select("text"),Ca=ra.select("text");V=(N(1)- |
||||
N(0))/2;M=c?0:V;switch(v){case "bottom":D=n;sa.attr("y2",E);Ba.attr("y",Math.max(E,0)+J);Aa.attr("x1",M).attr("x2",M).attr("y2",E);Ca.attr("x",0).attr("y",Math.max(E,0)+J);ga.attr("dy",".71em").style("text-anchor","middle");ga.text(function(d){return q.length<Q||0===d%Math.ceil(q.length/Q)?d<O.length?O[d]:d:""});y.attr("d","M"+W[0]+","+X+"V0H"+W[1]+"V"+X);break;case "left":D=t,sa.attr("x2",-E),Ba.attr("x",-(Math.max(E,0)+J)),Aa.attr("x2",-E).attr("y2",0),Ca.attr("x",-(Math.max(E,0)+J)).attr("y",V), |
||||
ga.attr("dy",".32em").style("text-anchor","end"),ga.text(function(d){return q.length<Q||0===d%Math.ceil(q.length/Q)?d<O.length?O[d]:d:""}),y.attr("d","M"+-X+","+W[0]+"H0V"+W[1]+"H"+-X)}if(I.ticks)C.call(D,ya),ra.call(D,N),qa.call(D,N);else{var ha=N.rangeBand()/2,qa=function(d){return N(d)+ha};C.call(D,qa);ra.call(D,qa)}})}var I=d.scale.linear(),v="bottom",E=6,X=6,J=3,c=!1,Q=10,V=0,O=[];q.scale=function(d){if(!arguments.length)return I;I=d;return q};q.orient=function(d){if(!arguments.length)return v; |
||||
v=d in{top:1,right:1,bottom:1,left:1}?d+"":"bottom";return q};q.categories=function(d){if(!arguments.length)return O;O=d;return q};q.tickCentered=function(d){if(!arguments.length)return c;c=d;return q};q.tickTextNum=function(d){if(!arguments.length)return Q;Q=d;return q};q.tickOffset=function(){return V};q.ticks=function(){};return q}function t(d){return"undefined"===typeof d}function n(d){return"undefined"!==typeof d}var fb=ya.c3={},d=ya.d3;fb.generate=function(U){var Bb,Ta,za,q,I,v,E,X,J;function c(a, |
||||
b){for(var e=U,h=0;h<a.length;h++){if(!(a[h]in e))return b;e=e[a[h]]}return e}function Q(){gb=null===Db?+d.select(Da).style("width").replace("px",""):Db;var a=null===Eb?+d.select(Da).style("height").replace("px",""):Eb;ta=0<a?a:320;Fb=20+Gb+ia;Hb=!Ib||f||hb?1:50;Ua=ib?0:40;Jb=ta-Gb-ia;Kb=20+ia;Lb=ta-ia;v=0;E=Hb;X=Fb;J=Ua;za=Jb;q=Kb;I=Ua;Bb=Lb;Ta=Ua;r=gb-J-E;p=ta-v-X;ja=ta-za-q}function V(){Mb=f?10:0;Nb=f?p:r;jb=f?0:p;kb=f?r:1;l=O(Mb,Nb,n(l)?l.domain():void 0,function(){return P.tickOffset()});A=y(jb, |
||||
kb,n(A)?A.domain():void 0);R=y(jb,kb,n(R)?R.domain():void 0);Y=O(0,r,n(S)?S:void 0,function(a){return 0===a%1?Ea.tickOffset():0});Va=y(ja,10);Wa=y(ja,10);P=M(l,nc);ka=d.svg.axis().scale(A).orient(oc);Xa=d.svg.axis().scale(R).orient(pc);Ea=M(Y,qc)}function O(a,b,e,h){var m=(F?d.time.scale():d.scale.linear()).range([a,b]);m.orgDomain=function(){return m.domain()};n(e)&&m.domain(e);t(h)&&(h=function(){return 0});if(la){var w=m,c,m=function(a){return w(a)+h(a)};for(c in w)m[c]=w[c];m.orgDomain=function(){return w.domain()}; |
||||
m.domain=function(a){if(!arguments.length)return a=w.domain(),[a[0],a[1]+1];w.domain(a);return m}}return m}function y(a,b){return d.scale.linear().range([a,b])}function fa(a){return"y2"===C(a)?R:A}function Sa(a){return"y2"===C(a)?Wa:Va}function M(a,b){var e=(la?mc():d.svg.axis()).scale(a).orient(b);F&&e.tickFormat(rc);la?e.categories(lb).tickCentered(sc):e.tickOffset=function(){return 0};return e}function C(a){return a in Ob?Ob[a]:"y"}function qa(a){return d.min(a,function(a){return d.min(a.values, |
||||
function(a){return a.value})})}function ra(a){var b={},e,h;a.forEach(function(a){b[a.id]=[];a.values.forEach(function(e){b[a.id].push(e.value)})});for(e=0;e<x.length;e++)for(h=1;h<x[e].length;h++)Fa(x[e][h])&&(t(b[x[e][h]])||b[x[e][h]].forEach(function(a,d){C(x[e][h])===C(x[e][0])&&(b[x[e][0]][d]+=1*a)}));return d.max(Object.keys(b).map(function(a){return d.max(b[a])}))}function D(a,b){var e=Ya(function(a){return C(a.id)===b}),h="y2"===b?tc:uc,m="y2"===b?vc:wc,h=null!==h?h:qa(e),m=null!==m?m:ra(e), |
||||
d=0.1*Math.abs(m-h),c=d,f=d,g="y2"===b?xc:yc;null!==g&&(h=Math.max(Math.abs(h),Math.abs(m)),m=h-g,h=g-h);"y"===b&&null!==Ga&&(c=n(Ga.top)?Ga.top:d,f=n(Ga.bottom)?Ga.bottom:d);"y2"===b&&null!==Ha&&(c=n(Ha.top)?Ha.top:d,f=n(Ha.bottom)?Ha.bottom:d);return[zc(e,"bar")?0:h-f,m+c]}function W(a){var b;a?(a=l.domain(),b=G.extent()):(a=S,b=l.domain());return(a[1]-a[0])/(b[1]-b[0])}function N(a){for(var b=0;b<a.length;b++)if(!(a[b]in Za))return!1;return!0}function fb(a){for(var b=[],e=0;e<a.length;e++)a[e]in |
||||
Za&&b.push(Cb(Za[a[e]]));return b}function sa(a){return"start"in a?l(F?ma(a.start):a.start):0}function Aa(a){var b=sa(a);a=("end"in a?l(F?ma(a.end):a.end):r)-b;return 0>a?0:a}function ga(a){var b=Ia[a.id];a.name=n(b)?b:a.id;return a}function Ba(a){var b=a[0],e={},h=[],d,c;for(d=1;d<a.length;d++){e={};for(c=0;c<a[d].length;c++)e[b[c]]=a[d][c];h.push(e)}return h}function Ca(a){var b=[],e,h,d;for(e=0;e<a.length;e++)for(d=a[e][0],h=1;h<a[e].length;h++)t(b[h-1])&&(b[h-1]={}),b[h-1][d]=a[e][h];return b} |
||||
function ha(a){var b=d.keys(a[0]).filter(function(a){return a!==$a}),e=0,h;a.forEach(function(a){if(F){if(!($a in a))throw Error("'"+$a+"' must be included in data");h=ma(a[$a]);if(null===h)throw Error("Failed to parse timeseries date in data");a.x=h}else a.x=e++;null===ab&&(ab=new Date(a.x));mb=new Date(a.x)});b=b.map(function(b){var e=Ac(b);return{id:e,id_org:b,values:a.map(function(a){return{x:a.x,value:+a[b],id:e}})}});b.forEach(function(a){Za[a.id_org]=Cb(a)});return b}function Cb(a){return{id:a.id, |
||||
id_org:a.id_org,values:a.values.map(function(a){return{x:a.x,value:a.value,id:a.id}})}}function Ja(){return d.max(k.data.targets,function(a){return a.values.length})}function nb(a){a=t(a)?k.data.targets:a;return a.map(function(a){return a.id})}function ob(a){var b=nb(),e;for(e=0;e<b.length;e++)if(b[e]===a)return!0;return!1}function Ya(a){return n(a)?k.data.targets.filter(a):k.data.targets}function pb(a){return"-shapes -shapes-"+a.id}function Pb(a){return pb(a)+" -line -line-"+a.id}function Bc(a){return pb(a)+ |
||||
" -circles -circles-"+a.id}function Qb(a){return pb(a)+" -bars -bars-"+a.id}function Cc(a,b){return"-shape -shape-"+b+" -circle -circle-"+b}function Rb(a,b){return"-shape -shape-"+b+" -bar -bar-"+b}function Dc(a,b){return"region region-"+b+" "+("classes"in a?[].concat(a.classes).join(" "):"")}function bb(a){return l(a.x)}function Ka(a){return l(F?ma(a.value):a.value)}function Sb(a){return A(a.value)}function Z(a){return l(a.x)}function $(a){return fa(a.id)(a.value)}function Ec(){var a={},b=0,e,d; |
||||
Ya(Fa).forEach(function(m){for(e=0;e<x.length;e++)if(!(0>x[e].indexOf(m.id)))for(d=0;d<x[e].length;d++)if(x[e][d]in a){a[m.id]=a[x[e][d]];break}t(a[m.id])&&(a[m.id]=b++)});a.__max__=b-1;return a}function Tb(a,b,e,d){var m=d?Y:l;return function(d){var h=d.id in e?e[d.id]:0;return m(d.x)-a*(b/2-h)}}function Ub(a,b,e,d){var m=Object.keys(b);return function(c,f){var g=0,k=d?Sa(c.id):fa(c.id);Ya(Fa).forEach(function(e){e.id!==c.id&&b[e.id]===b[c.id]&&m.indexOf(e.id)<m.indexOf(c.id)&&(g+=a(e.values[f]))}); |
||||
return e?g:k(c.value)-g}}function Vb(a,b){var e=null===a?function(a){return a}:function(b){return a-b};return function(a){var d=b?Sa(a.id):fa(a.id);return e(d(a.value))}}function qb(a,b){var e=t(a)?nb():a;"string"===typeof e&&(e=[e]);for(var d=0;d<e.length;d++)aa[e[d]]=b}function zc(a,b){var e=!1;a.forEach(function(a){aa[a.id]===b&&(e=!0);a.id in aa||"line"!==b||(e=!0)});return e}function rb(a){a="string"===typeof a?a:a.id;return!(a in aa)||"line"===aa[a]||"spline"===aa[a]}function Fa(a){return"bar"=== |
||||
aa["string"===typeof a?a:a.id]}function Fc(a){return rb(a)?a.values:[]}function Wb(a){return Fa(a)?a.values:[]}function Xb(a,b){var e=d.mouse(a),h=d.select(a),c=1*h.attr("cx"),h=1*h.attr("cy");return Math.sqrt(Math.pow(c-e[0],2)+Math.pow(h-e[1],2))<b}function Yb(a){var b=d.mouse(a),e=d.select(a);a=1*e.attr("x");var h=1*e.attr("y"),e=1*e.attr("width");return a-10<b[0]&&b[0]<a+e+10&&h-10<b[1]}function Gc(a,b){var e;for(e=0;e<b.length;e++)if(b[e].start<a&&a<=b[e].end)return!0;return!1}function Zb(a, |
||||
b,e){Hc(a,b);g.select(".selected-circles-"+b.id).selectAll(".selected-circle-"+e).data([b]).enter().append("circle").attr("class",function(){return"selected-circle selected-circle-"+e}).attr("cx",f?$:Z).attr("cy",f?Z:$).attr("stroke",function(){return T(b.id)}).attr("r",1.4*La).transition().duration(100).attr("r",La)}function sb(a,b,e){Ic(a,b);g.select(".selected-circles-"+b.id).selectAll(".selected-circle-"+e).transition().duration(100).attr("r",0).remove()}function $b(a,b,e,d){a?Zb(b,e,d):sb(b, |
||||
e,d)}function Jc(){}function ac(){}function bc(a,b,e,d){}function Kc(a,b,e,d){var c,g,s="M",k,l,u,r,q,p=[];if(n(d))for(c=0;c<d.length;c++)p[c]={},t(d[c].start)?p[c].start=a[0].x:F&&(p[c].start=ma(d[c].start)),t(d[c].end)?p[c].end=a[a.length-1].x:F&&(p[c].end=ma(d[c].end));r=f?function(a){return e(a.value)}:function(a){return b(a.x)};q=f?function(a){return b(a.x)}:function(a){return e(a.value)};d=F?function(a,d,c,h){var f=a.x.getTime();a=d.x-a.x;d=new Date(f+a*(c+h));return"M"+b(new Date(f+a*c))+" "+ |
||||
e(l(c))+" "+b(d)+" "+e(l(c+h))}:function(a,d,c,h){return"M"+b(k(c))+" "+e(l(c))+" "+b(k(c+h))+" "+e(l(c+h))};for(c=0;c<a.length;c++)if(t(p)||!Gc(a[c].x,p))s+=" "+r(a[c])+" "+q(a[c]);else{k=O(a[c-1].x,a[c].x);l=y(a[c-1].value,a[c].value);g=b(a[c].x)-b(a[c-1].x);u=e(a[c].value)-e(a[c-1].value);g=Math.sqrt(Math.pow(g,2)+Math.pow(u,2));u=2/g;var v=2*u;for(g=u;1>=g;g+=v)s+=d(a[c-1],a[c],g,u)}return s}function tb(a){var b=k.data.targets=ha(a),e,c;Q();V();l.domain(d.extent(a.map(function(a){return a.x}))); |
||||
A.domain(D(b,"y"));R.domain(D(b,"y2"));Y.domain(l.domain());Va.domain(A.domain());Wa.domain(R.domain());P.ticks(10>a.length?a.length:10);ka.ticks(Lc).outerTickSize(0).tickFormat(Mc);Xa.ticks(Nc).outerTickSize(0).tickFormat(Oc);S=l.domain();G.x(Y);na&&H.x(l);Ma=d.select(Da).append("svg").attr("width",r+J+E).attr("height",p+v+X).on("mouseenter",Pc).on("mouseleave",Qc);cb=Ma.append("defs");cb.append("clipPath").attr("id",ub).append("rect").attr("y",v).attr("width",r).attr("height",p-v);cb.append("clipPath").attr("id", |
||||
"xaxis-clip").append("rect").attr("x",-1).attr("y",-1).attr("width",r+2).attr("height",40);cb.append("clipPath").attr("id","yaxis-clip").append("rect").attr("x",-J+1).attr("y",v-1).attr("width",J).attr("height",p-v+2);g=Ma.append("g").attr("transform",K.main);z=ua?Ma.append("g").attr("transform",K.context):null;va=wa?Ma.append("g").attr("transform",K.legend):null;ba=d.select(Da).style("position","relative").append("div").style("position","absolute").style("width","30%").style("z-index","10").style("visibility", |
||||
"hidden");g.append("g").attr("class","x axis").attr("clip-path",f?"":"url(#xaxis-clip)").attr("transform",K.x).call(f?ka:P);g.append("g").attr("class","y axis").attr("clip-path",f?"url(#yaxis-clip)":"").call(f?P:ka).append("text").attr("transform","rotate(-90)").attr("dy","1.4em").attr("dx","-.8em").style("text-anchor","end").text(Rc);Ib&&g.append("g").attr("class","y2 axis").attr("transform",K.y2).call(Xa);e=g.append("g").attr("clip-path",Na).attr("class","grid");cc&&e.append("g").attr("class","xgrids"); |
||||
vb&&(c=e.append("g").attr("class","xgrid-lines").selectAll(".xgrid-line").data(vb).enter().append("g").attr("class","xgrid-line"),c.append("line").attr("class",function(a){return""+a["class"]}),c.append("text").attr("class",function(a){return""+a["class"]}).attr("text-anchor","end").attr("transform",f?"":"rotate(-90)").attr("dx",f?0:-v).attr("dy",-6).text(function(a){return a.text}));Sc&&e.append("g").attr("class","xgrid-focus").append("line").attr("class","xgrid-focus").attr("x1",f?0:-10).attr("x2", |
||||
f?r:-10).attr("y1",f?-10:v).attr("y2",f?-10:p);dc&&e.append("g").attr("class","ygrids");wb&&e.append("g").attr("class","ygrid-lines").selectAll("ygrid-line").data(wb).enter().append("line").attr("class",function(a){return"ygrid-line "+a["class"]});g.append("g").attr("clip-path",Na).attr("class","regions");g.append("g").attr("clip-path",Na).attr("class","chart");g.select(".chart").append("g").attr("class","event-rects").style("fill-opacity",0).style("cursor",na?"ew-resize":null).selectAll(".event-rects").data(a).enter().append("rect").attr("class", |
||||
function(a,b){return"event-rect event-rect-"+b}).style("cursor",ca&&oa?"pointer":null).on("mouseover",function(a,b){if(!db){var e=k.data.targets.map(function(a){return ga(a.values[b])}),c,h;if(0<Object.keys(Ia).length){h=[];for(var n in Ia)for(c=0;c<e.length;c++)if(e[c].id===n){h.push(e[c]);e.shift(c);break}e=h.concat(e)}ec&&g.selectAll(".-circle-"+b).classed(da,!0).attr("r",fc);g.selectAll(".-bar-"+b).classed(da,!0);g.selectAll("line.xgrid-focus").style("visibility","visible").data([e[0]]).attr(f? |
||||
"y1":"x1",bb).attr(f?"y2":"x2",bb);ba.style("top",d.mouse(this)[1]+30+"px").style("left",(f?d.mouse(this)[0]:l(e[0].x))+60+"px");ba.html(gc(e));ba.style("visibility","visible")}}).on("mouseout",function(a,b){g.select("line.xgrid-focus").style("visibility","hidden");ba.style("visibility","hidden");g.selectAll(".-circle-"+b).filter(function(){return d.select(this).classed(da)}).classed(da,!1).attr("r",xb);g.selectAll(".-bar-"+b).classed(da,!1)}).on("mousemove",function(a,b){ca&&!db&&(oa||g.selectAll(".-shape-"+ |
||||
b).filter(function(a){return pa(a)}).each(function(){var a=d.select(this).classed(da,!0);"circle"===this.nodeName&&a.attr("r",fc);d.select(".event-rect-"+b).style("cursor",null)}).filter(function(){var a=d.select(this);if("circle"===this.nodeName)return Xb(this,La);if("rect"===this.nodeName)return Yb(this,a.attr("x"),a.attr("y"))}).each(function(){var a=d.select(this);a.classed(da)||(a.classed(da,!0),"circle"===this.nodeName&&a.attr("r",La));d.select(".event-rect-"+b).style("cursor","pointer")}))}).on("click", |
||||
function(a,b){yb?yb=!1:g.selectAll(".-shape-"+b).each(function(a){var e=d.select(this),c=e.classed(ea),h=!1,f;"circle"===this.nodeName?(h=Xb(this,1.5*La),f=$b):"rect"===this.nodeName&&(h=Yb(this),f=bc);if(oa||h)ca&&pa(a)&&(e.classed(ea,!c),f(!c,e,a,b)),Tc(a,e)})}).call(d.behavior.drag().origin(Object).on("drag",function(){if(ca&&(!na||H.altDomain)){var a=zb[0],b=zb[1],e=d.mouse(this),c=e[0],e=e[1],h=Math.min(a,c),f=Math.max(a,c),k=oa?v:Math.min(b,e),l=oa?p:Math.max(b,e);g.select(".dragarea").attr("x", |
||||
h).attr("y",k).attr("width",f-h).attr("height",l-k);g.selectAll(".-shapes").selectAll(".-shape").filter(function(a){return pa(a)}).each(function(a,b){var e=d.select(this),c=e.classed(ea),g=e.classed(Ab),m,s,n,p;m=!1;"circle"===this.nodeName?(m=1*e.attr("cx"),s=1*e.attr("cy"),p=$b,m=h<m&&m<f&&k<s&&s<l):"rect"===this.nodeName&&(m=1*e.attr("x"),s=1*e.attr("y"),n=1*e.attr("width"),p=bc,m=h<m+n&&m<f&&s<l);m^g&&(e.classed(Ab,!g),e.classed(ea,!c),p(!c,e,a,b))})}}).on("dragstart",function(){ca&&(zb=d.mouse(this), |
||||
g.select(".chart").append("rect").attr("class","dragarea").style("opacity",0.1),db=!0)}).on("dragend",function(){ca&&(g.select(".dragarea").transition().duration(100).style("opacity",0).remove(),g.selectAll(".-shape").classed(Ab,!1),db=!1)})).call(H).on("dblclick.zoom",null);g.select(".chart").append("g").attr("class","chart-bars");g.select(".chart").append("g").attr("class","chart-lines");if(na)g.insert("rect",Uc?null:"g.grid").attr("class","zoom-rect").attr("width",r).attr("height",p).style("opacity", |
||||
0).style("cursor","ew-resize").call(H).on("dblclick.zoom",null);null!==Oa&&G.extent("function"!==typeof Oa?Oa:F?Oa(ab,mb):Oa(0,Ja()-1));ua&&(z.append("g").attr("clip-path",Na).attr("class","chart"),z.select(".chart").append("g").attr("class","chart-bars"),z.select(".chart").append("g").attr("class","chart-lines"),z.append("g").attr("clip-path",Na).attr("class","x brush").call(G).selectAll("rect").attr("height",ja),z.append("g").attr("class","x axis").attr("transform",K.subx).call(Ea));wa&&eb(b);hc(b); |
||||
B({withTransition:!1,withUpdateXDomain:!0});if(Vc){if(F&&"string"===typeof xa){xa=ma(xa);for(a=0;a<b[0].values.length&&0!==b[0].values[a].x-xa;a++);xa=a}ba.html(gc(b.map(function(a){return ga(a.values[xa])})));ba.style("top",ic.top).style("left",ic.left).style("visibility","visible")}}function B(a){var b,e,c=Ec(),m=c.__max__+1,w,s,q,t,u;a=n(a)?a:{};b=n(a.withY)?a.withY:!0;t=n(a.withSubchart)?a.withSubchart:!0;u=n(a.withTransition)?a.withTransition:!0;a=n(a.withUpdateXDomain)?a.withUpdateXDomain:!1; |
||||
u=u?250:0;a&&(l.domain(G.empty()?S:G.extent()),na&&H.x(l).updateScaleExtent());A.domain(D(k.data.targets,"y"));R.domain(D(k.data.targets,"y2"));g.select(".x.axis").transition().duration(f?u:0).call(f?ka:P);g.select(".y.axis").transition().duration(f?0:u).call(f?P:ka);g.select(".y2.axis").transition().call(Xa);Va.domain(A.domain());Wa.domain(R.domain());ba.style("visibility","hidden");g.select("line.xgrid-focus").style("visibility","hidden").attr("y2",p);if(cc){if("year"===Wc)for(a=[],s=ab.getFullYear(), |
||||
w=mb.getFullYear();s<=w;s++)a.push(new Date(s+"-01-01 00:00:00"));else a=l.ticks(10);a=g.select(".xgrids").selectAll(".xgrid").data(a);a.enter().append("line").attr("class","xgrid");a.exit().remove();g.selectAll(".xgrid").attr("x1",function(a){return l(a)-P.tickOffset()}).attr("x2",function(a){return l(a)-P.tickOffset()}).attr("y1",v).attr("y2",p)}vb&&(a=g.selectAll(".xgrid-lines"),a.selectAll("line").attr("x1",f?0:Ka).attr("x2",f?r:Ka).attr("y1",f?Ka:v).attr("y2",f?Ka:p),a.selectAll("text").attr("x", |
||||
f?r:0).attr("y",Ka));b&&dc&&(a=g.select(".ygrids").selectAll(".ygrid").data(A.ticks(10)),a.enter().append("line").attr("class","ygrid"),a.attr("x1",f?A:0).attr("x2",f?A:r).attr("y1",f?0:A).attr("y2",f?p:A).attr("opacity",0).transition().attr("opacity",1),a.exit().remove());b&&wb&&g.select(".ygrid-lines").selectAll(".ygrid-line").attr("y1",Sb).attr("y2",Sb);w=la?1.2*P.tickOffset()/m:0.6*((f?p:r)*W(!1)/(Ja()-1));s=Vb(f?null:p);b=Tb(w,m,c);a=Ub(s,c,f);e=g.selectAll(".-bars").selectAll(".-bar").data(Wb); |
||||
e.transition().duration(u).attr("x",f?a:b).attr("y",f?b:a).attr("width",f?s:w).attr("height",f?w:s);e.enter().append("rect").attr("class",Rb).attr("x",f?a:b).attr("y",f?b:a).attr("width",f?s:w).attr("height",f?w:s).style("opacity",0).transition().duration(u).style("opacity",1);e.exit().transition().duration(u).style("opacity",0).remove();g.selectAll(".-line").transition().duration(u).attr("d",Xc);b=g.selectAll(".-circles").selectAll(".-circle").data(Fc);b.transition().duration(u).attr("cx",f?$:Z).attr("cy", |
||||
f?Z:$);b.enter().append("circle").attr("class",Cc).attr("cx",f?$:Z).attr("cy",f?Z:$).attr("r",xb);b.exit().remove();ua&&(null!==d.event&&"zoom"===d.event.type&&G.extent(l.orgDomain()).update(),t&&(z.select(".x.axis").transition().duration(f?u:0).call(f?ka:Ea),G.empty()||G.extent(l.orgDomain()).update(),w=la?1.2*Ea.tickOffset()/m:0.6*((f?p:r)*W(!0)/(Ja()-1)),s=Vb(ja,!0),b=Tb(w,m,c,!0),a=Ub(s,c,!1,!0),c=z.selectAll(".-bars").selectAll(".-bar").data(Wb),c.transition().duration(u).attr("x",b).attr("y", |
||||
a).attr("width",w).attr("height",s),c.enter().append("rect").attr("class",Rb).attr("x",b).attr("y",a).attr("width",w).attr("height",s).style("opacity",0).transition().style("opacity",1),c.exit().transition().style("opacity",0).remove(),z.selectAll(".-line").transition().duration(u).attr("d",Yc)));g.selectAll(".selected-circles").filter(function(a){return Fa(a)}).selectAll("circle").remove();g.selectAll(".selected-circle").transition().duration(u).attr("cx",f?$:Z).attr("cy",f?Z:$);q=(f?p:r)*W()/(Ja()- |
||||
1);c=function(a){return l(a.x)-q/2};g.selectAll(".event-rect").attr("x",f?0:c).attr("y",f?c:0).attr("width",f?r:q).attr("height",f?q:p);c=g.select(".regions").selectAll("rect.region").data(L);c.enter().append("rect");c.attr("class",Dc).attr("x",f?0:sa).attr("y",f?sa:v).attr("width",f?r:Aa).attr("height",f?Aa:p).style("fill-opacity",function(a){return n(a.opacity)?a.opacity:0.1});c.exit().transition().duration(u).style("fill-opacity",0).remove()}function Zc(){"mousemove"===d.event.sourceEvent.type&& |
||||
H.altDomain?(l.domain(H.altDomain),H.x(l).updateScaleExtent()):(la&&l.orgDomain()[0]===S[0]&&l.domain([S[0]-1E-10,l.orgDomain()[1]]),B({withTransition:!1,withY:!1,withSubchart:!1}),"mousemove"===d.event.sourceEvent.type&&(yb=!0))}function hc(a){var b;g.select(".chart-bars").selectAll(".chart-bar").data(a).enter().append("g").attr("class",function(a){return"chart-bar target target-"+a.id}).style("pointer-events","none").style("opacity",0).append("g").attr("class",Qb).style("fill",function(a){return T(a.id)}).style("stroke", |
||||
function(a){return T(a.id)}).style("stroke-width",0).style("cursor",function(a){return pa(a)?"pointer":null});b=g.select(".chart-lines").selectAll(".chart-line").data(a).enter().append("g").attr("class",function(a){return"chart-line target target-"+a.id}).style("pointer-events","none").style("opacity",0);b.append("path").attr("class",Pb).style("stroke",function(a){return T(a.id)});b.append("g").attr("class",function(a){return"selected-circles selected-circles-"+a.id});b.append("g").attr("class",Bc).style("fill", |
||||
function(a){return T(a.id)}).style("cursor",function(a){return pa(a)?"pointer":null});a.forEach(function(a){g.selectAll(".selected-circles-"+a.id).selectAll(".selected-circle").each(function(b){b.value=a.values[b.x].value})});ua&&(b=z.select(".chart-bars").selectAll(".chart-bar").data(a),b=b.enter().append("g").attr("class",function(a){return"chart-bar target target-"+a.id}).style("opacity",0),b.append("g").attr("class",Qb).style("fill",function(a){return T(a.id)}),b=z.select(".chart-lines").selectAll(".chart-line").data(a), |
||||
b=b.enter().append("g").attr("class",function(a){return"chart-line target target-"+a.id}).style("opacity",0),b.append("path").attr("class",Pb).style("stroke",function(a){return T(a.id)}));wa&&eb(a);d.selectAll(".target").transition().style("opacity",1)}function Pa(a,b){k.data.targets.forEach(function(b){for(var c=0;c<a.length;c++)if(b.id===a[c].id){b.values=a[c].values;a.splice(c,1);break}});k.data.targets=k.data.targets.concat(a);hc(k.data.targets);B();b()}function eb(a,b){var e=nb(a),c,f=r/2-Qa* |
||||
Object.keys(a).length/2,g;b=t(b)?{}:b;g=n(b.withTransition)?b.withTransition:!0;c=va.selectAll(".legend-item").data(e).enter().append("g").attr("class",function(a){return"legend-item legend-item-"+a}).style("cursor","pointer").on("click",function(a){$c(a)}).on("mouseover",function(a){d.selectAll(".legend-item").filter(function(b){return b!==a}).transition().duration(100).style("opacity",0.3);k.focus(a)}).on("mouseout",function(){d.selectAll(".legend-item").transition().duration(100).style("opacity", |
||||
1);k.revert()});c.append("rect").attr("class","legend-item-event").style("fill-opacity",0).attr("x",-200).attr("y",function(){return ia/2-16}).attr("width",Qa).attr("height",24);c.append("rect").attr("class","legend-item-tile").style("fill",function(a){return T(a)}).attr("x",-200).attr("y",function(){return ia/2-9}).attr("width",10).attr("height",10);c.append("text").text(function(a){return n(Ia[a])?Ia[a]:a}).attr("x",-200).attr("y",function(){return ia/2});va.selectAll("rect.legend-item-event").data(e).transition().duration(g? |
||||
250:0).attr("x",function(a,b){return f+Qa*b});va.selectAll("rect.legend-item-tile").data(e).transition().duration(g?250:0).attr("x",function(a,b){return f+Qa*b});va.selectAll("text").data(e).transition().duration(g?250:0).attr("x",function(a,b){return f+Qa*b+14})}function Ra(a){return n(a)?".target-"+a:".target"}var k={data:{}},Za={},da="_expanded_",ea="_selected_",Ab="_included_",Da=c(["bindto"],"#chart"),Db=c(["size","width"],null),Eb=c(["size","height"],null),na=c(["zoom","enabled"],!1),jc=c(["zoom", |
||||
"extent"],null),Uc=c(["zoom","privileged"],!1),Pc=c(["onenter"],function(){}),Qc=c(["onleave"],function(){});if(!("data"in U))throw Error("data is required in config");var $a=c(["data","x"],"x"),ad=c(["data","x_format"],"%Y-%m-%d"),Ac=c(["data","id_converter"],function(a){return a}),Ia=c(["data","names"],{}),x=c(["data","groups"],[]),Ob=c(["data","axes"],{}),aa=c(["data","types"],{}),kc=c(["data","regions"],{}),bd=c(["data","colors"],{}),ca=c(["data","selection","enabled"],!1),oa=c(["data","selection", |
||||
"grouped"],!1),pa=c(["data","selection","isselectable"],function(){return!0}),ua=c(["subchart","show"],!1),Gb=ua?c(["subchart","size","height"],60):0,cd=c(["color","pattern"],null),wa=c(["legend","show"],!0),Qa=c(["legend","item","width"],80),$c=c(["legend","item","onclick"],function(){}),lc=c(["axis","x","type"],"indexed"),lb=c(["axis","x","categories"],[]),sc=c(["axis","x","tick","centered"],!1),Oa=c(["axis","x","default"],null),wc=c(["axis","y","max"],null),uc=c(["axis","y","min"],null),yc=c(["axis", |
||||
"y","center"],null),Rc=c(["axis","y","text"],null),ib=c(["axis","y","inner"],!1),Mc=c(["axis","y","format"],function(a){return a}),Ga=c(["axis","y","padding"],null),Lc=c(["axis","y","ticks"],10),Ib=c(["axis","y2","show"],!1),vc=c(["axis","y2","max"],null),tc=c(["axis","y2","min"],null),xc=c(["axis","y2","center"],null),hb=c(["axis","y2","inner"],!1),Oc=c(["axis","y2","format"],function(a){return a}),Ha=c(["axis","y2","padding"],null),Nc=c(["axis","y2","ticks"],10),f=c(["axis","rotated"],!1),cc=c(["grid", |
||||
"x","show"],!1),Wc=c(["grid","x","type"],"tick"),vb=c(["grid","x","lines"],null),dc=c(["grid","y","show"],!1),wb=c(["grid","y","lines"],null),xb=c(["point","show"],!0)?c(["point","r"],2.5):0,Sc=c(["point","focus","line","enabled"],!0),ec=c(["point","focus","expand","enabled"],!0),fc=c(["point","focus","expand","r"],ec?4:xb),La=c(["point","focus","select","r"],8),Tc=c(["point","onclick"],function(){}),Hc=c(["point","onselected"],function(){}),Ic=c(["point","onunselected"],function(){}),L=c(["regions"], |
||||
[]),gc=c(["tooltip","contents"],function(a){var b="<table class='-tooltip'><tr><th colspan='2'>"+(F?a[0].x.getFullYear()+"."+(a[0].x.getMonth()+1)+"."+a[0].x.getDate():la?a[0].x<lb.length?lb[a[0].x]:a[0].x:a[0].x)+"</th></tr>",e,c,d;for(e=0;e<a.length;e++)n(a[e])?(c=n(a[e].value)?(Math.round(100*a[e].value)/100).toFixed(2):"-",d=a[e].name):d=c="-",b+="<tr class='-tooltip-name-"+a[e].id+"'><td class='name'><span style='background-color:"+T(a[e].id)+"'></span>"+d+"</td><td class='value'>"+c+"</td></tr>"; |
||||
return b+"</table>"}),Vc=c(["tooltip","init","show"],!1),xa=c(["tooltip","init","x"],0),ic=c(["tooltip","init","position"],{top:"0px",left:"50px"}),ub=Da.replace("#","")+"-clip",Na="url(#"+ub+")",F="timeseries"===lc,la="categorized"===lc,zb=null,db=!1,yb=!1,ia=wa?40:0,ma=d.time.format(ad).parse,T=function(a,b){var e=[],c=null!==b?b:"#1f77b4 #ff7f0e #2ca02c #d62728 #9467bd #8c564b #e377c2 #7f7f7f #bcbd22 #17becf".split(" ");return function(b){if(b in a)return a[b];-1===e.indexOf(b)&&e.push(b);return c[e.indexOf(b)% |
||||
c.length]}}(bd,cd),rc=function(){var a=[[d.time.format("%Y/%-m/%-d"),function(){return!0}],[d.time.format("%-m/%-d"),function(a){return a.getMonth()}],[d.time.format("%-m/%-d"),function(a){return 1!==a.getDate()}],[d.time.format("%-m/%-d"),function(a){return a.getDay()&&1!==a.getDate()}],[d.time.format("%I %p"),function(a){return a.getHours()}],[d.time.format("%I:%M"),function(a){return a.getMinutes()}],[d.time.format(":%S"),function(a){return a.getSeconds()}],[d.time.format(".%L"),function(a){return a.getMilliseconds()}]]; |
||||
return function(b){for(var c=a.length-1,d=a[c];!d[1](b);)d=a[--c];return d[0](b)}}(),Fb,Kb,Hb,Ua,Jb,Lb,r,p,ja,gb,ta,Mb,Nb,jb,kb,l,A,R,Y,Va,Wa,P,ka,Xa,Ea,nc=f?"left":"bottom",oc=f?ib?"top":"bottom":ib?"right":"left",pc=f?hb?"bottom":"top":hb?"left":"right",qc="bottom",K={main:function(){return"translate("+J+","+v+")"},context:function(){return"translate("+I+","+za+")"},legend:function(){return"translate("+Ta+","+Bb+")"},y2:function(){return"translate("+(f?0:r)+","+(f?10:0)+")"},x:function(){return"translate(0,"+ |
||||
p+")"},subx:function(){return"translate(0,"+ja+")"}},Xc=function(){var a=d.svg.line().x(f?function(a){return fa(a.id)(a.value)}:bb).y(f?bb:function(a){return fa(a.id)(a.value)});return function(b){var c;if(rb(b))return"spline"===aa["string"===typeof b?b:b.id]?a.interpolate("cardinal"):a.interpolate("linear"),0<Object.keys(kc).length?Kc(b.values,l,fa(b.id),kc[b.id]):a(b.values);c=l(b.values[0].x);b=fa(b.id)(b.values[0].value);return f?"M "+b+" "+c:"M "+c+" "+b}}(),Yc=function(){var a=d.svg.line().x(function(a){return Y(a.x)}).y(function(a){return Sa(a.id)(a.value)}); |
||||
return function(b){return rb(b)?a(b.values):"M "+Y(b.values[0].x)+" "+Sa(b.id)(b.values[0].value)}}(),G=d.svg.brush().on("brush",function(){B({withTransition:!1,withY:!1,withSubchart:!1,withUpdateXDomain:!0})}),H=d.behavior.zoom().on("zoomstart",function(){H.altDomain=d.event.sourceEvent.altKey?l.orgDomain():null}).on("zoom",na?Zc:null);G.update=function(){z&&z.select(".x.brush").call(this);return this};H.orgScaleExtent=function(){var a=jc?jc:[1,10];return[a[0],Math.max(Ja()/a[1],a[1])]};H.updateScaleExtent= |
||||
function(){var a=l.orgDomain(),a=(a[1]-a[0])/(S[1]-S[0]),b=this.orgScaleExtent();this.scaleExtent([b[0]*a,b[1]*a]);return this};var Ma,cb,g,z,va,ba,ab=null,mb=null,S;k.focus=function(a){k.defocus();d.selectAll(Ra(a)).filter(function(a){return ob(a.id)}).classed("focused",!0).transition().duration(100).style("opacity",1)};k.defocus=function(a){d.selectAll(Ra(a)).filter(function(a){return ob(a.id)}).classed("focused",!1).transition().duration(100).style("opacity",0.3)};k.revert=function(a){d.selectAll(Ra(a)).filter(function(a){return ob(a.id)}).classed("focused", |
||||
!1).transition().duration(100).style("opacity",1)};k.show=function(a){d.selectAll(Ra(a)).transition().style("opacity",1)};k.hide=function(a){d.selectAll(Ra(a)).transition().style("opacity",0)};k.unzoom=function(){G.clear().update();B({withUpdateXDomain:!0})};k.load=function(a){t(a.done)&&(a.done=function(){});if("cacheIds"in a&&N(a.cacheIds))Pa(fb(a.cacheIds),a.done);else if("data"in a)Pa(ha(a.data),a.done);else if("url"in a)d.csv(a.url,function(b,c){Pa(ha(c),a.done)});else if("rows"in a)Pa(ha(Ba(a.rows)), |
||||
a.done);else if("columns"in a)Pa(ha(Ca(a.columns)),a.done);else throw Error("url or rows or columns is required.");};k.unload=function(a){k.data.targets=k.data.targets.filter(function(b){return b.id!==a});d.selectAll(".target-"+a).transition().style("opacity",0).remove();wa&&(d.selectAll(".legend-item-"+a).remove(),eb(k.data.targets));0<k.data.targets.length&&B()};k.selected=function(a){a=n(a)?"-"+a:"";return d.merge(g.selectAll(".-shapes"+a).selectAll(".-shape").filter(function(){return d.select(this).classed(ea)}).map(function(a){return a.map(function(a){return a.__data__})}))}; |
||||
k.select=function(a,b,c){ca&&g.selectAll(".-shapes").selectAll(".-shape").each(function(f,g){var k="circle"===this.nodeName?Zb:Jc,l="circle"===this.nodeName?sb:ac;0<=b.indexOf(g)?pa(f)&&(oa||t(a)||0<=a.indexOf(f.id))&&k(d.select(this).classed(ea,!0),f,g):n(c)&&c&&l(d.select(this).classed(ea,!1),f,g)})};k.unselect=function(a,b){ca&&g.selectAll(".-shapes").selectAll(".-shape").each(function(c,f){var g="circle"===this.nodeName?sb:ac;(t(b)||0<=b.indexOf(f))&&pa(c)&&(oa||t(a)||0<=a.indexOf(c.id))&&g(d.select(this).classed(ea, |
||||
!1),c,f)})};k.toLine=function(a){qb(a,"line");B()};k.toSpline=function(a){qb(a,"spline");B()};k.toBar=function(a){qb(a,"bar");B()};k.groups=function(a){if(t(a))return x;x=a;B();return x};k.regions=function(a){if(t(a))return L;L=a;B();return L};k.regions.add=function(a){if(t(a))return L;L=L.concat(a);B();return L};k.regions.remove=function(a,b){var c=[].concat(a);b=n(b)?b:{};c.forEach(function(a){var c=d.selectAll("."+a);n(b.duration)&&(c=c.transition().duration(b.duration).style("fill-opacity",0)); |
||||
c.remove();L=L.filter(function(b){return 0>b.classes.indexOf(a)})});return L};k.data.get=function(a){a=k.data.getAsTarget(a);return n(a)?a.values.map(function(a){return a.value}):void 0};k.data.getAsTarget=function(a){var b=Ya(function(b){return b.id===a});return 0<b.length?b[0]:void 0};if("url"in U.data)d.csv(U.data.url,function(a,b){tb(b)});else if("rows"in U.data)tb(Ba(U.data.rows));else if("columns"in U.data)tb(Ca(U.data.columns));else throw Error("url or rows or columns is required.");ya.onresize= |
||||
function(){Q();V();G.x(Y);na&&H.x(l);d.select("svg").attr("width",gb).attr("height",ta);d.select("#"+ub).select("rect").attr("width",r).attr("height",p);d.select("#xaxis-clip").select("rect").attr("width",r+2);d.select(".zoom-rect").attr("width",r).attr("height",p);g.select(".x.axis").attr("transform",K.x);g.select(".y2.axis").attr("transform",K.y2);ua&&(z.select(".x.brush").selectAll("rect").attr("height",ja),z.attr("transform",K.context),z.select(".x.axis").attr("transform",K.subx));wa&&(va.attr("transform", |
||||
K.legend),eb(k.data.targets,{withTransition:!1}));B({withTransition:!1,withUpdateXDomain:!0})};return k}})(window); |
||||
|
Loading…
Reference in new issue