Quite good looking graph derived from d3.js http://c3js.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

86 lines
43 KiB

(function(P){function kd(){function r(d,f){d.attr("transform",function(d){return"translate("+(f(d)+ca)+", 0)"})}function x(d,f){d.attr("transform",function(d){return"translate(0,"+f(d)+")"})}function P(d){var f=d[0];d=d[d.length-1];return f<d?[f,d]:[d,f]}function Da(d){for(var f=[],r=Math.ceil(d[0]);r<d[1];r++)f.push(r);0<f.length&&0<f[0]&&f.unshift(f[0]-(f[1]-f[0]));return f}function Ea(d){d=d<da.length?da[d]:d;return N?N(d):d}function p(p){p.each(function(){var p=d.select(this),ia=Da(u.domain()),
R=p.selectAll(".tick.major").data(ia,String),S=R.enter().insert("g","path").attr("class","tick major").style("opacity",1E-6),T=d.transition(R.exit()).style("opacity",1E-6).remove(),w=d.transition(R).style("opacity",1),F,N=u.rangeExtent?u.rangeExtent():P(u.range()),p=p.selectAll(".domain").data([0]);p.enter().append("path").attr("class","domain");var p=d.transition(p),y=u.copy(),da=this.__chart__||y;this.__chart__=y;S.append("line");S.append("text");var ja=S.select("line"),Va=w.select("line"),ka=R.select("text"),
Wa=S.select("text"),Xa=w.select("text");ca=(y(1)-y(0))/2;R=qa?0:ca;switch(A){case "bottom":F=r;ja.attr("y2",O);Wa.attr("y",Math.max(O,0)+f);Va.attr("x1",R).attr("x2",R).attr("y2",O);Xa.attr("x",0).attr("y",Math.max(O,0)+f);ka.attr("dy",".71em").style("text-anchor","middle");ka.text(function(d){return ia.length<X||0===d%Math.ceil(ia.length/X)?Ea(d):""});p.attr("d","M"+N[0]+","+Y+"V0H"+N[1]+"V"+Y);break;case "left":F=x,ja.attr("x2",-O),Wa.attr("x",-(Math.max(O,0)+f)),Va.attr("x2",-O).attr("y2",0),Xa.attr("x",
-(Math.max(O,0)+f)).attr("y",ca),ka.attr("dy",".32em").style("text-anchor","end"),ka.text(function(d){return ia.length<X||0===d%Math.ceil(ia.length/X)?Ea(d):""}),p.attr("d","M"+-Y+","+N[0]+"H0V"+N[1]+"H"+-Y)}if(u.ticks)S.call(F,da),w.call(F,y),T.call(F,y);else{var Ya=y.rangeBand()/2,T=function(d){return y(d)+Ya};S.call(F,T);w.call(F,T)}})}var u=d.scale.linear(),A="bottom",O=6,Y=6,f=3,qa=!1,X=10,ca=0,N=null,da=[];p.scale=function(d){if(!arguments.length)return u;u=d;return p};p.orient=function(d){if(!arguments.length)return A;
A=d in{top:1,right:1,bottom:1,left:1}?d+"":"bottom";return p};p.categories=function(d){if(!arguments.length)return da;da=d;return p};p.tickCentered=function(d){if(!arguments.length)return qa;qa=d;return p};p.tickTextNum=function(d){if(!arguments.length)return X;X=d;return p};p.tickFormat=function(d){if(!arguments.length)return N;N=d;return p};p.tickOffset=function(){return ca};p.ticks=function(){};return p}function x(d){return"undefined"===typeof d}function r(d){return"undefined"!==typeof d}var yb=
P.c3={},d=P.d3;yb.generate=function(ba){var fc,gc,Da,Ea,p,u,A,O,Y;function f(a,b){for(var c=ba,e=0;e<a.length;e++){if(!(a[e]in c))return b;c=c[a[e]]}return c}function qa(){zb=null===Za?ca():Za;ra=X();u=0;A=(g?Ab+jc:0)+($a?$a:ab?1:40);O=20+(g?0:Ab)+la;Y=bb?bb:Bb?cb||g?1:40:20;q=zb-A-Y;s=ra-u-O;Da=g?0:ra-Ab-la;Ea=g?kc:A;p=20+la;Cb=g?A-kc-jc:q;db=g?s:ra-Da-p;fc=ra-la;gc=A;Db=s/2;eb=0.95*Db}function X(){var a=null===lc?+d.select(sa).style("height").replace("px",""):lc;return 0<a?a:320}function ca(){return+d.select(sa).style("width").replace("px",
"")}function N(){return q+2+A+Y}function da(){return 40}function ia(){return A+20}function yb(){return s-u+42}function ld(){var a=g?s:q,b=ta(U)/ta(m.domain()),c=fb();return 1<c?a*b/(c-1):a}function R(){Eb=g?10:0;Fb=g?s:q;Gb=g?0:s;Hb=g?q:1;Ib=g?0:db;Jb=g?Cb:10;m=S(Eb,Fb,r(m)?m.domain():void 0,function(){return J.tickOffset()});z=T(Gb,Hb,r(z)?z.domain():void 0);Z=T(Gb,Hb,r(Z)?Z.domain():void 0);V=S(Eb,Fb,r(U)?U:void 0,function(a){return 0===a%1?gb.tickOffset():0});hb=T(Ib,Jb);ib=T(Ib,Jb);J=hc(m,md);
ua=d.svg.axis().scale(z).orient(nd);jb=d.svg.axis().scale(Z).orient(od);gb=hc(V,pd);kb=Va();mc=ka();nc=ka(0.98)}function S(a,b,c,e){var k=(B?d.time.scale():d.scale.linear()).range([a,b]);k.orgDomain=function(){return k.domain()};r(c)&&k.domain(c);x(e)&&(e=function(){return 0});if(ea){var G=k,f,k=function(a){return G(a)+e(a)};for(f in G)k[f]=G[f];k.orgDomain=function(){return G.domain()};k.domain=function(a){if(!arguments.length)return a=G.domain(),[a[0],a[1]+1];G.domain(a);return k}}return k}function T(a,
b){return d.scale.linear().range([a,b])}function w(a){return"y2"===y(a)?Z:z}function F(a){return"y2"===y(a)?ib:hb}function hc(a,b){var c=(ea?kd():d.svg.axis()).scale(a).orient(b);c.tickFormat(ic());ea?c.categories(Fa).tickCentered(qd):c.tickOffset=function(){return 0};return c}function y(a){return a in oc?oc[a]:"y"}function ic(){var a=B?rd:ea?sd:function(a){return a};lb&&(a="function"===typeof lb?lb:B?function(a){return d.time.format(lb)(a)}:a);return a}function ja(a){var b=!1;Kb(h.data.targets).forEach(function(c){b||
c.data.id!==a.data.id||(b=!0,a=c)});return b?a:null}function Va(){var a=d.svg.arc().outerRadius(eb).innerRadius(0),b=function(b,e){var k;return e?a(b):(k=ja(b))?a(k):"M 0 0"};b.centroid=a.centroid;return b}function ka(a){var b=d.svg.arc().outerRadius(Db*(a?a:1)).innerRadius(0);return function(a){return(a=ja(a))?b(a):"M 0 0"}}function Wa(a){a=ja(a);var b,c;b="";a&&(b=kb.centroid(a),a=b[0],b=b[1],c=Math.sqrt(a*a+b*b),b="translate("+0.8*(a/c)*eb+","+0.8*(b/c)*eb+")");return b}function Xa(a){return(100*
(a.endAngle-a.startAngle)/(2*Math.PI)).toFixed(1)+"%"}function Ya(a,b){var c=n.selectAll(".chart-arc.target"+(a?"-"+a:"")),e=n.selectAll(".-arc").filter(function(b){return b.data.id!==a});c.selectAll("path").transition().duration(50).attr("d",mc).transition().duration(100).attr("d",nc);b||e.style("opacity",0.3)}function xb(a){n.selectAll(".chart-arc.target"+(a?"-"+a:"")).selectAll("path").transition().duration(50).attr("d",kb);n.selectAll(".-arc").style("opacity",1)}function td(a){var b=pc(a),c,e,
k,G;if(0<t.length)for(G=qc(a),a=0;a<t.length;a++)for(e=t[a][0],G&&b[e]&&b[e].forEach(function(a,c){b[e][c]=0>a?a:0}),c=1;c<t[a].length;c++)k=t[a][c],b[k]&&b[k].forEach(function(a,c){y(k)!==y(e)||!b[e]||G&&0<+a||(b[e][c]+=+a)});return d.min(Object.keys(b).map(function(a){return d.min(b[a])}))}function ud(a){var b=pc(a),c,e,k,G;if(0<t.length)for(G=vd(a),a=0;a<t.length;a++)for(e=t[a][0],G&&b[e]&&b[e].forEach(function(a,c){b[e][c]=0<a?a:0}),c=1;c<t[a].length;c++)k=t[a][c],b[k]&&b[k].forEach(function(a,
c){y(k)!==y(e)||!b[e]||G&&0>+a||(b[e][c]+=+a)});return d.max(Object.keys(b).map(function(a){return d.max(b[a])}))}function mb(a){var b=nb(function(b){return y(b.id)===a}),c="y2"===a?wd:xd,e="y2"===a?yd:zd,c=c?c:td(b),e=e?e:ud(b),k=0.1*Math.abs(e-c),d=k,f=k,g="y2"===a?Ad:Bd;g&&(c=Math.max(Math.abs(c),Math.abs(e)),e=c-g,c=g-c);"y"===a&&Ga&&(d=Ga.top?Ga.top:k,f=Ga.bottom?Ga.bottom:k);"y2"===a&&Ha&&(d=Ha.top?Ha.top:k,f=Ha.bottom?Ha.bottom:k);Ia(b,"bar")&&!qc(b)&&(f=c);return[c-f,e+d]}function Cd(a){return d.min(a,
function(a){return d.min(a.values,function(a){return a.x})})}function Dd(a){return d.max(a,function(a){return d.max(a.values,function(a){return a.x})})}function ob(a){var b=[Cd(a),Dd(a)];a=b[0];var b=b[1],c=ea?0:0.01*Math.abs(a-b);a=B?new Date(a.getTime()-c):a-c;b=B?new Date(b.getTime()+c):b+c;return[a,b]}function ta(a){return a[1]-a[0]}function Ed(a){for(var b=0;b<a.length;b++)if(!(a[b]in pb))return!1;return!0}function Fd(a){for(var b=[],c=0;c<a.length;c++)a[c]in pb&&b.push(rc(pb[a[c]]));return b}
function Lb(a){return"start"in a?m(B?ma(a.start):a.start):0}function sc(a){var b=Lb(a);a=("end"in a?m(B?ma(a.end):a.end):q)-b;return 0>a?0:a}function tc(a){return na&&a===na||$&&Gd($,a)}function Hd(a){return!tc(a)}function Id(a){Object.keys(a).forEach(function(b){$[b]=a[b]})}function qb(a){var b;a&&(b=Ja[a.id],a.name=b?b:a.id);return a}function uc(a){var b=a[0],c={},e=[],k,d;for(k=1;k<a.length;k++){c={};for(d=0;d<a[k].length;d++)c[b[d]]=a[k][d];e.push(c)}return e}function vc(a){var b=[],c,e,k;for(c=
0;c<a.length;c++)for(k=a[c][0],e=1;e<a[c].length;e++)x(b[e-1])&&(b[e-1]={}),b[e-1][k]=a[c][e];return b}function Ka(a){var b=d.keys(a[0]).filter(Hd),c=d.keys(a[0]).filter(tc);if(B&&0===c.length)return P.alert('data.x or data.xs must be specified when axis.x.type == "timeseries"'),[];Mb&&b.forEach(function(b){var k=na?na:$?$[b]:null;0<=c.indexOf(k)?h.data.x[b]=a.map(function(a){return a[k]}):h.data.x[b]=h.data.x[Object.keys(h.data.x)[0]]});b=b.map(function(b){var c=Jd(b);return{id:c,id_org:b,values:a.map(function(a,
d){var f;f=na?na:$?$[b]:null;f=B?ma(a[f]):Mb?a[f]?a[f]:b in h.data.x&&h.data.x[b]&&h.data.x[b][d]?h.data.x[b][d]:d:d;a.x=f;return{x:f,value:null===a[b]||isNaN(a[b])?null:+a[b],id:c}})}});b.forEach(function(a){var b;a.values=a.values.sort(function(a,b){return(a.x||0===a.x?a.x:Infinity)-(b.x||0===b.x?b.x:Infinity)});b=0;a.values.forEach(function(a){a.index=b++})});b.forEach(function(a){pb[a.id_org]=rc(a)});return b}function rc(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 wc(a){return 0<a&&h.data.targets[0].values[a-1]?h.data.targets[0].values[a-1].x:void 0}function fb(){return d.max(h.data.targets,function(a){return a.values.length})}function Kd(){var a=h.data.targets.length,b=0,c;1<a?h.data.targets.forEach(function(a){a.values.length>b&&(c=a,b=a.values.length)}):c=a?h.data.targets[0]:null;return c}function rb(a){a=x(a)?h.data.targets:a;return a.map(function(a){return a.id})}function xc(a){var b=rb(),c;for(c=0;c<b.length;c++)if(b[c]===
a)return!0;return!1}function nb(a){return r(a)?h.data.targets.filter(a):h.data.targets}function pc(a){var b={};a.forEach(function(a){b[a.id]=[];a.values.forEach(function(e){b[a.id].push(e.value)})});return b}function yc(a,b){var c=Object.keys(a),e,k,d;for(e=0;e<c.length;e++)for(d=a[c[e]].values,k=0;k<d.length;k++)if(b(d[k].value))return!0;return!1}function qc(a){return yc(a,function(a){return 0>a})}function vd(a){return yc(a,function(a){return 0<a})}function sd(a){return a<Fa.length?Fa[a]:a}function La(a){return"-shapes -shapes-"+
a.id}function zc(a){return La(a)+" -line -line-"+a.id}function Ld(a){return La(a)+" -circles -circles-"+a.id}function Ac(a){return La(a)+" -bars -bars-"+a.id}function Md(a){return La(a.data)+" -arc -arc-"+a.data.id}function Nd(a){return La(a)+" -area -area-"+a.id}function Od(a,b){return"-shape -shape-"+b+" -circle -circle-"+b}function Bc(a,b){return"-shape -shape-"+b+" -bar -bar-"+b}function Pd(a,b){return"region region-"+b+" "+("classes"in a?[].concat(a.classes).join(" "):"")}function Cc(a,b){return"event-rect event-rect-"+
b}function Qd(a){return a.value?Dc(a)?0.5:1:0}function va(a){return m(a.x)}function Ma(a){return m(B?ma(a.value):a.value)}function Na(a){return z(a.value)}function Ec(a){return V(a.x)}function Fc(a,b){var c,e=a[b].x,k=[];for(c=b-1;0<=c&&e===a[c].x;c--)k.push(a[c]);for(c=b;c<a.length&&e===a[c].x;c++)k.push(a[c]);return k}function Gc(a,b,c,e){c=c?c:0;e=e?e:a.length-1;var k=Math.floor((e-c)/2)+c;0<m(a[k].x)-b[0]?e=k:c=k;return 1===e-c?(k=[],a[c].x&&(k=k.concat(Fc(a,c))),a[e].x&&(k=k.concat(Fc(a,e))),
Hc(k,b)):Gc(a,b,c,e)}function Ic(a,b){var c;c=a.map(function(a){return Gc(a.values,b)});return Hc(c,b)}function Hc(a,b){var c,e;a.forEach(function(a){var d=Nb(a,b);if(d<c||!c)c=d,e=a});return e}function Jc(a,b){var c,e,k,d,f;0!==a.filter(function(a){return a.value}).length&&(W.html(Kc(a)).style("visibility","hidden").style("display","block"),c=W.property("offsetWidth"),e=W.property("offsetHeight"),g?d=b[0]:(k=n.property("offsetLeft"),d=k+($a?$a:ab?1:40)+m(a[0].x)+20,f=d+c,k=k+(null===Za?ca():Za)-
(bb?bb:Bb?cb||g?1:40:20),f>k&&(d-=c+30)),c=b[1]+15+e<X()?b[1]+15:b[1]-e,W.style("top",c+"px").style("left",d+"px").style("visibility","visible"))}function Lc(a){Ia(h.data.targets,"scatter")||C(h.data.targets)||l.selectAll("line.xgrid-focus").style("visibility","visible").data([a]).attr(g?"y1":"x1",va).attr(g?"y2":"x2",va)}function Mc(){l.select("line.xgrid-focus").style("visibility","hidden")}function wa(a){return a.x||0===a.x?m(a.x):null}function xa(a){return w(a.id)(a.value)}function Rd(){var a=
{},b=0,c,e;nb(sb).forEach(function(k){for(c=0;c<t.length;c++)if(!(0>t[c].indexOf(k.id)))for(e=0;e<t[c].length;e++)if(t[c][e]in a){a[k.id]=a[t[c][e]];break}x(a[k.id])&&(a[k.id]=b++)});a.__max__=b-1;return a}function Sd(a,b,c,e){var k=e?V:m;return b?function(e){var d=e.id in c?c[e.id]:0;return e.x||0===e.x?k(e.x)-a*(b/2-d):0}:function(){return 0}}function Td(a){return function(b){return(a?F(b.id):w(b.id))(b.value)}}function Ud(a,b){var c=Object.keys(a);return function(e,k){var d=b?F(e.id):w(e.id),f=
d(0),g=f;nb(sb).forEach(function(b){b.id!==e.id&&a[b.id]===a[e.id]&&c.indexOf(b.id)<c.indexOf(e.id)&&0<b.values[k].value*e.value&&(g+=d(b.values[k].value)-f)});return g}}function Oa(a,b){var c=x(a)?rb():a;"string"===typeof c&&(c=[c]);for(var e=0;e<c.length;e++)H[c[e]]=b}function Ia(a,b){var c=!1;a.forEach(function(a){H[a.id]===b&&(c=!0);a.id in H||"line"!==b||(c=!0)});return c}function C(a){return Ia(a,"pie")}function Ob(a){a="string"===typeof a?a:a.id;return!(a in H)||"line"===H[a]||"spline"===H[a]||
"area"===H[a]||"area-spline"===H[a]}function Nc(a){a="string"===typeof a?a:a.id;return"spline"===H[a]||"area-spline"===H[a]}function sb(a){return"bar"===H["string"===typeof a?a:a.id]}function Dc(a){return"scatter"===H["string"===typeof a?a:a.id]}function Oc(a){return"pie"===H["string"===typeof a?a:a.id]}function Pc(a){return sb(a)?a.values:[]}function Vd(a){return Ob(a)||Dc(a)?a.values:[]}function ma(a){var b;if(!a)throw Error(a+" can not be parsed as d3.time with format "+Pb+". Maybe 'x' of this data is not defined. See data.x or data.xs option.");
b=d.time.format(Pb).parse(a);if(!b)throw Error("Failed to parse '"+a+"' with format "+Pb);return b}function Qc(a,b){var c=d.mouse(a),e=d.select(a),k=1*e.attr("cx"),e=1*e.attr("cy");return Math.sqrt(Math.pow(k-c[0],2)+Math.pow(e-c[1],2))<b}function Rc(a){var b=d.mouse(a),c=d.select(a);a=1*c.attr("x");var e=1*c.attr("y"),c=1*c.attr("width");return a-10<b[0]&&b[0]<a+c+10&&e-10<b[1]}function Wd(a,b){var c;for(c=0;c<b.length;c++)if(b[c].start<a&&a<=b[c].end)return!0;return!1}function Gd(a,b){var c=!1;
Object.keys(a).forEach(function(e){a[e]===b&&(c=!0)});return c}function Nb(a,b){return Math.pow(m(a.x)-b[0],2)+Math.pow(z(a.value)-b[1],2)}function Sc(a,b,c){Xd(a,b);l.select(".selected-circles-"+b.id).selectAll(".selected-circle-"+c).data([b]).enter().append("circle").attr("class",function(){return"selected-circle selected-circle-"+c}).attr("cx",g?xa:wa).attr("cy",g?wa:xa).attr("stroke",function(){return K(b.id)}).attr("r",1.4*Pa).transition().duration(100).attr("r",Pa)}function Qb(a,b,c){Yd(a,b);
l.select(".selected-circles-"+b.id).selectAll(".selected-circle-"+c).transition().duration(100).attr("r",0).remove()}function Tc(a,b,c,e){a?Sc(b,c,e):Qb(b,c,e)}function Zd(){}function Uc(){}function Vc(a,b,c,e){}function Rb(a){return a.filter(function(a){return null!==a.value})}function Sb(a,b){return(b?l.selectAll(".-circles-"+b):l).selectAll(".-circle"+(a||0===a?"-"+a:""))}function Tb(a){Sb(a).filter(function(){return d.select(this).classed(aa)}).classed(aa,!1).attr("r",Ub)}function Wc(a){return l.selectAll(".-bar"+
(a||0===a?"-"+a:""))}function $d(a,b,c,e){var d,f,h="M",l,m,ya,p,q,n=[];if(r(e))for(d=0;d<e.length;d++)n[d]={},x(e[d].start)?n[d].start=a[0].x:n[d].start=B?ma(e[d].start):e[d].start,x(e[d].end)?n[d].end=a[a.length-1].x:n[d].end=B?ma(e[d].end):e[d].end;p=g?function(a){return c(a.value)}:function(a){return b(a.x)};q=g?function(a){return b(a.x)}:function(a){return c(a.value)};e=B?function(a,e,d,k){var f=a.x.getTime();a=e.x-a.x;e=new Date(f+a*(d+k));return"M"+b(new Date(f+a*d))+" "+c(m(d))+" "+b(e)+" "+
c(m(d+k))}:function(a,e,d,k){return"M"+b(l(d))+" "+c(m(d))+" "+b(l(d+k))+" "+c(m(d+k))};for(d=0;d<a.length;d++)if(x(n)||!Wd(a[d].x,n))h+=" "+p(a[d])+" "+q(a[d]);else{l=S(a[d-1].x,a[d].x);m=T(a[d-1].value,a[d].value);f=b(a[d].x)-b(a[d-1].x);ya=c(a[d].value)-c(a[d-1].value);f=Math.sqrt(Math.pow(f,2)+Math.pow(ya,2));ya=2/f;var s=2*ya;for(f=ya;1>=f;f+=s)h+=e(a[d-1],a[d],f,ya)}return h}function Vb(a){var b;tb=d.select(sa);if(tb.empty())P.alert('No bind element found. Check the selector specified by "bindto" and existance of that element. Default "bindto" is "#chart".');
else{tb.html("");h.data.x={};h.data.targets=Ka(a);qa();R();m.domain(d.extent(ob(h.data.targets)));z.domain(mb("y"));Z.domain(mb("y2"));V.domain(m.domain());hb.domain(z.domain());ib.domain(Z.domain());J.ticks(10>a.length?a.length:10);ua.ticks(ae).outerTickSize(0).tickFormat(be);jb.ticks(ce).outerTickSize(0).tickFormat(de);U=m.domain();L.scale(V);oa&&D.scale(m);n=d.select(sa).append("svg").attr("width",q+A+Y).attr("height",s+u+O).on("mouseenter",ee).on("mouseleave",fe);ub=n.append("defs");ub.append("clipPath").attr("id",
Wb).append("rect").attr("y",u).attr("width",q).attr("height",s-u);ub.append("clipPath").attr("id","xaxis-clip").append("rect").attr("x",-1-A).attr("y",-20).attr("width",N).attr("height",da);ub.append("clipPath").attr("id","yaxis-clip").append("rect").attr("x",-A+1).attr("y",u-1).attr("width",ia).attr("height",yb);l=n.append("g").attr("transform",M.main);E=za?n.append("g").attr("transform",M.context):null;Aa=Ba?n.append("g").attr("transform",M.legend):null;W=d.select(sa).style("position","relative").append("div").style("position",
"absolute").style("z-index","10").style("display","none");l.append("g").attr("class","x axis").attr("clip-path",g?"":"url(#xaxis-clip)").attr("transform",M.x).call(g?ua:J).append("text").attr("class","-axis-x-label").attr("x",q).attr("dy","-.5em").style("text-anchor","end").text(ge);l.append("g").attr("class","y axis").attr("clip-path",g?"url(#yaxis-clip)":"").call(g?J:ua).append("text").attr("transform","rotate(-90)").attr("dy","1.2em").attr("dx","-.5em").style("text-anchor","end").text(he);Bb&&
l.append("g").attr("class","y2 axis").attr("transform",M.y2).call(jb);a=l.append("g").attr("clip-path",Qa).attr("class","grid");Xc&&a.append("g").attr("class","xgrids");Xb&&(b=a.append("g").attr("class","xgrid-lines").selectAll(".xgrid-line").data(Xb).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",g?"":"rotate(-90)").attr("dx",g?
0:-u).attr("dy",-5).text(function(a){return a.text}));ie&&a.append("g").attr("class","xgrid-focus").append("line").attr("class","xgrid-focus").attr("x1",g?0:-10).attr("x2",g?q:-10).attr("y1",g?-10:u).attr("y2",g?-10:s);Yc&&a.append("g").attr("class","ygrids");Yb&&(a=a.append("g").attr("class","ygrid-lines").selectAll("ygrid-line").data(Yb).enter().append("g").attr("class","ygrid-line"),a.append("line").attr("class",function(a){return""+a["class"]}),a.append("text").attr("class",function(a){return""+
a["class"]}).attr("text-anchor","end").attr("transform",g?"rotate(-90)":"").attr("dx",g?0:-u).attr("dy",-5).text(function(a){return a.text}));l.append("g").attr("clip-path",Qa).attr("class","regions");l.append("g").attr("clip-path",Qa).attr("class","chart");l.select(".chart").append("g").attr("class","event-rects").style("fill-opacity",0).style("cursor",oa?"ew-resize":null);l.select(".chart").append("g").attr("class","chart-bars");l.select(".chart").append("g").attr("class","chart-lines");l.select(".chart").append("g").attr("class",
"chart-arcs").attr("transform",M.arc);if(oa)l.insert("rect",je?null:"g.grid").attr("class","zoom-rect").attr("width",q).attr("height",s).style("opacity",0).style("cursor","ew-resize").call(D).on("dblclick.zoom",null);null!==vb&&L.extent("function"!==typeof vb?vb:vb(ob()));za&&(E.append("g").attr("clip-path",Qa).attr("class","chart"),E.select(".chart").append("g").attr("class","chart-bars"),E.select(".chart").append("g").attr("class","chart-lines"),E.append("g").attr("clip-path",Qa).attr("class","x brush").call(L).selectAll("rect").attr(g?
"width":"height",g?Cb:db),E.append("g").attr("class","x axis").attr("transform",M.subx).call(gb));Ba&&wb(h.data.targets);Zc(h.data.targets);I({withTransition:!1,withUpdateXDomain:!0});if(ke){if(B&&"string"===typeof Ca){Ca=ma(Ca);for(a=0;a<h.data.targets[0].values.length&&0!==h.data.targets[0].values[a].x-Ca;a++);Ca=a}W.html(Kc(h.data.targets.map(function(a){return qb(a.values[Ca])})));W.style("top",$c.top).style("left",$c.left).style("display","block")}null==P.onresize&&(P.onresize=le());P.onresize.add&&
P.onresize.add(me)}}function ne(a){a.append("rect").attr("class",Cc).style("cursor",fa&&pa?"pointer":null).on("mouseover",function(a,c){if(!Ra&&!C(h.data.targets)){var e=h.data.targets.map(function(a){return qb(a.values[c])}),d,f;if(0<Object.keys(Ja).length){f=[];for(var g in Ja)for(d=0;d<e.length;d++)if(e[d].id===g){f.push(e[d]);e.shift(d);break}e=f.concat(e)}Zb&&Sb(c,void 0).classed(aa,!0).attr("r",$b);Wc(c).classed(aa,!1);Lc(e[0])}}).on("mouseout",function(a,c){C(h.data.targets)||(Mc(),W.style("display",
"none"),Tb(c),Wc(void 0).classed(aa,!1))}).on("mousemove",function(a,c){var e;Ra||C(h.data.targets)||(e=h.data.targets.map(function(a){return qb(a.values[c])}),Jc(e,d.mouse(this)),fa&&(pa||l.selectAll(".-shape-"+c).filter(function(a){return ga(a)}).each(function(){var a=d.select(this).classed(aa,!0);"circle"===this.nodeName&&a.attr("r",$b);n.select(".event-rect-"+c).style("cursor",null)}).filter(function(){var a=d.select(this);if("circle"===this.nodeName)return Qc(this,Pa);if("rect"===this.nodeName)return Rc(this,
a.attr("x"),a.attr("y"))}).each(function(){var a=d.select(this);a.classed(aa)||(a.classed(aa,!0),"circle"===this.nodeName&&a.attr("r",Pa));n.select(".event-rect-"+c).style("cursor","pointer")})))}).on("click",function(a,c){C(h.data.targets)||(ac?ac=!1:l.selectAll(".-shape-"+c).each(function(a){ad(this,a,c)}))}).call(d.behavior.drag().origin(Object).on("drag",function(){bd(d.mouse(this))}).on("dragstart",function(){cd(d.mouse(this))}).on("dragend",function(){dd()})).call(D).on("dblclick.zoom",null)}
function oe(a){a.append("rect").attr("x",0).attr("y",0).attr("width",q).attr("height",s).attr("class","event-rect").on("mouseout",function(){C(h.data.targets)||(Mc(),W.style("display","none"),Tb())}).on("mousemove",function(){var a,c,e;Ra||C(h.data.targets)||(a=d.mouse(this),c=Ic(h.data.targets,a),e=[qb(c)],Jc(e,a),Zb&&(Tb(),Sb(c.index,c.id).classed(aa,!0).attr("r",$b)),Lc(e[0]),100>Nb(c,a)?n.select(".event-rect").style("cursor","pointer"):n.select(".event-rect").style("cursor",null))}).on("click",
function(){var a,c;C(h.data.targets)||(a=d.mouse(this),c=Ic(h.data.targets,a),100>Nb(c,a)&&l.select(".-circles-"+c.id).select(".-circle-"+c.index).each(function(){ad(this,c,c.index)}))}).call(d.behavior.drag().origin(Object).on("drag",function(){bd(d.mouse(this))}).on("dragstart",function(){cd(d.mouse(this))}).on("dragend",function(){dd()})).call(D).on("dblclick.zoom",null)}function ad(a,b,c){var e=d.select(a),f=e.classed(ha),g=!1,h;"circle"===a.nodeName?(g=Qc(a,1.5*Pa),h=Tc):"rect"===a.nodeName&&
(g=Rc(a),h=Vc);if(pa||g)fa&&ga(b)&&(e.classed(ha,!f),h(!f,e,b,c)),pe(b,e)}function bd(a){var b,c,e,f,g,m,n;C(h.data.targets)||!fa||oa&&!D.altDomain||(b=bc[0],c=bc[1],e=a[0],a=a[1],f=Math.min(b,e),g=Math.max(b,e),m=pa?u:Math.min(c,a),n=pa?s:Math.max(c,a),l.select(".dragarea").attr("x",f).attr("y",m).attr("width",g-f).attr("height",n-m),l.selectAll(".-shapes").selectAll(".-shape").filter(function(a){return ga(a)}).each(function(a,b){var c=d.select(this),e=c.classed(ha),h=c.classed(cc),l,p,q,r;l=!1;
"circle"===this.nodeName?(l=1*c.attr("cx"),p=1*c.attr("cy"),r=Tc,l=f<l&&l<g&&m<p&&p<n):"rect"===this.nodeName&&(l=1*c.attr("x"),p=1*c.attr("y"),q=1*c.attr("width"),r=Vc,l=f<l+q&&l<g&&p<n);l^h&&(c.classed(cc,!h),c.classed(ha,!e),r(!e,c,a,b))}))}function cd(a){!C(h.data.targets)&&fa&&(bc=a,l.select(".chart").append("rect").attr("class","dragarea").style("opacity",0.1),Ra=!0)}function dd(){!C(h.data.targets)&&fa&&(l.select(".dragarea").transition().duration(100).style("opacity",0).remove(),l.selectAll(".-shape").classed(cc,
!1),Ra=!1)}function I(a){var b,c,e,f=Rd(),n=f.__max__+1,p,v,t;a=r(a)?a:{};c=r(a.withY)?a.withY:!0;e=r(a.withSubchart)?a.withSubchart:!0;v=r(a.withTransition)?a.withTransition:!0;b=r(a.withUpdateXDomain)?a.withUpdateXDomain:!1;a=r(a.withUpdateOrgXDomain)?a.withUpdateOrgXDomain:!1;t=C(h.data.targets);v=v?250:0;a&&(m.domain(d.extent(ob(h.data.targets))),U=m.domain(),D.scale(m).updateScaleExtent(),V.domain(m.domain()),L.scale(V));b&&(m.domain(L.empty()?U:L.extent()),oa&&D.scale(m).updateScaleExtent());
z.domain(mb("y"));Z.domain(mb("y2"));l.select(".x.axis").transition().duration(g?v:0).call(g?ua:J).style("opacity",t?0:1);l.select(".y.axis").transition().duration(g?0:v).call(g?J:ua).style("opacity",t?0:1);l.select(".y2.axis").transition().call(jb).style("opacity",t?0:1);l.select(".x.axis .-axis-x-label").attr("x",q);hb.domain(z.domain());ib.domain(Z.domain());W.style("display","none");l.select("line.xgrid-focus").style("visibility","hidden").attr("y2",s);if(Xc){if("year"===qe)for(b=[],t=ob(),a=
t[0].getFullYear(),t=t[1].getFullYear();a<=t;a++)b.push(new Date(a+"-01-01 00:00:00"));else b=m.ticks(10);b=l.select(".xgrids").selectAll(".xgrid").data(b);b.enter().append("line").attr("class","xgrid");b.attr("x1",g?0:function(a){return m(a)-J.tickOffset()}).attr("x2",g?q:function(a){return m(a)-J.tickOffset()}).attr("y1",g?function(a){return m(a)-J.tickOffset()}:u).attr("y2",g?function(a){return m(a)-J.tickOffset()}:s).style("opacity",function(){return+d.select(this).attr(g?"y1":"x1")===(g?s:0)?
0:1});b.exit().remove()}Xb&&(b=l.selectAll(".xgrid-lines"),b.selectAll("line").transition().duration(v).attr("x1",g?0:Ma).attr("x2",g?q:Ma).attr("y1",g?Ma:u).attr("y2",g?Ma:s),b.selectAll("text").attr("x",g?q:0).attr("y",Ma));c&&Yc&&(b=l.select(".ygrids").selectAll(".ygrid").data(z.ticks(10)),b.enter().append("line").attr("class","ygrid"),b.attr("x1",g?z:0).attr("x2",g?z:q).attr("y1",g?0:z).attr("y2",g?s:z),b.exit().remove());c&&Yb&&(c=l.select(".ygrid-lines"),c.selectAll("line").transition().duration(v).attr("x1",
g?Na:0).attr("x2",g?Na:q).attr("y1",g?0:Na).attr("y2",g?s:Na),c.selectAll("text").attr("x",g?0:q).attr("y",Na));c=function(a){var b=ea?n?1.2*J.tickOffset()/n:0:0.6*((g?s:q)*(a?1:ta(U)/ta(m.domain()))/(fb()-1)),c=Sd(b,n,f,!!a),e=Td(!!a),d=Ud(f,!!a),h=a?F:w;return function(f,k){var l=h(f.id)(0),m=d(f,k)||l,l=[[c(f),m],[c(f),e(f)-(l-m)],[c(f)+b,e(f)-(l-m)],[c(f)+b,m]],m=a||!g?0:1,n=a||!g?1:0;return"M "+l[0][m]+","+l[0][n]+" L"+l[1][m]+","+l[1][n]+" L"+l[2][m]+","+l[2][n]+" L"+l[3][m]+","+l[3][n]+" z"}};
b=l.selectAll(".-bars").selectAll(".-bar").data(Pc);b.enter().append("path").attr("d",c(!1)).style("stroke","none").style("opacity",0).style("fill",function(a){return K(a.id)}).attr("class",Bc);b.transition().duration(v).attr("d",c(!1)).style("opacity",1);b.exit().transition().duration(v).style("opacity",0).remove();l.selectAll(".chart-line").select(".-line").transition().duration(v).attr("d",re);l.selectAll(".-area").transition().duration(v).attr("d",se);b=l.selectAll(".-circles").selectAll(".-circle").data(Vd);
b.enter().append("circle").attr("class",Od).attr("r",Ub);b.transition().duration(v).style("opacity",Qd).attr("cx",g?xa:wa).attr("cy",g?wa:xa);b.exit().remove();l.selectAll(".chart-arc").select(".-arc").style("opacity",function(a){return a===this._current?0:1}).transition().duration(v).attrTween("d",function(a){a=ja(a);if(!a)return function(){return"M 0 0"};var b=d.interpolate(this._current,a);this._current=b(0);return function(a){a=b(a);return Oc(a.data)?kb(a,!0):"M 0 0"}}).style("opacity",1);l.selectAll(".chart-arc").select("text").attr("transform",
Wa).attr("opacity",0).transition().duration(v).text(Xa).attr("opacity",function(a){return Oc(a.data)?1:0});za&&(null!==d.event&&"zoom"===d.event.type&&L.extent(m.orgDomain()).update(),e&&(E.select(".x.axis").transition().duration(g?v:0).call(gb),L.empty()||L.extent(m.orgDomain()).update(),e=E.selectAll(".-bars").selectAll(".-bar").data(Pc),e.enter().append("path").attr("d",c(!0)).style("stroke","none").style("fill",function(a){return K(a.id)}).attr("class",Bc),e.style("opacity",0).transition().duration(v).attr("d",
c(!0)).style("opacity",1),e.exit().transition().duration(v).style("opacity",0).remove(),E.selectAll(".-line").transition().duration(v).attr("d",te)));l.selectAll(".selected-circles").filter(function(a){return sb(a)}).selectAll("circle").remove();l.selectAll(".selected-circle").transition().duration(v).attr("cx",g?xa:wa).attr("cy",g?wa:xa);$?(c=l.select(".event-rects").selectAll(".event-rect").data([0]),oe(c.enter()),c.attr("x",0).attr("y",0).attr("width",q).attr("height",s)):(Mb?(p=function(a,b){var c=
wc(b),e=b<fb()-1?h.data.targets[0].values[b+1].x:void 0;return(m(e?e:a.x+50)-m(c?c:a.x-50))/2},e=function(a,b){var c=wc(b);return(m(a.x)+m(c?c:a.x-50))/2}):(p=ld(),e=function(a){return m(a.x)-p/2}),c=Kd(),l.select(".event-rects").datum(c?c.values:[]),c=l.select(".event-rects").selectAll(".event-rect").data(function(a){return a}),ne(c.enter()),c.attr("class",Cc).attr("x",g?0:e).attr("y",g?e:0).attr("width",g?q:p).attr("height",g?p:s),c.exit().remove());e=l.select(".regions").selectAll("rect.region").data(Q);
e.enter().append("rect");e.attr("class",Pd).attr("x",g?0:Lb).attr("y",g?Lb:u).attr("width",g?q:sc).attr("height",g?sc:s).style("fill-opacity",function(a){return r(a.opacity)?a.opacity:0.1});e.exit().transition().duration(v).style("fill-opacity",0).remove()}function ue(){"mousemove"===d.event.sourceEvent.type&&D.altDomain?(m.domain(D.altDomain),D.scale(m).updateScaleExtent()):(ea&&m.orgDomain()[0]===U[0]&&m.domain([U[0]-1E-10,m.orgDomain()[1]]),I({withTransition:!1,withY:!1,withSubchart:!1}),"mousemove"===
d.event.sourceEvent.type&&(ac=!0))}function le(){function a(){b.forEach(function(a){a()})}var b=[];a.add=function(a){b.push(a)};return a}function me(){qa();R();L.scale(V);oa&&D.scale(m);n.attr("width",zb).attr("height",ra);n.select("#"+Wb).select("rect").attr("width",q).attr("height",s);n.select("#xaxis-clip").select("rect").attr("width",N);n.select(".zoom-rect").attr("width",q).attr("height",s);l.select(".x.axis").attr("transform",M.x);l.select(".y2.axis").attr("transform",M.y2);l.select(".chart-arcs").attr("transform",
M.arc);za&&(E.attr("transform",M.context),E.select(".x.axis").attr("transform",M.subx));Ba&&(Aa.attr("transform",M.legend),wb(h.data.targets,{withTransition:!1}));I({withTransition:!1,withUpdateXDomain:!0})}function Zc(a){var b;ed&&Oa(rb(a).filter(function(a){return!(a in H)}),ed);l.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",Ac).style("fill",
function(a){return K(a.id)}).style("stroke",function(a){return K(a.id)}).style("stroke-width",0).style("cursor",function(a){return ga(a)?"pointer":null});b=l.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",zc).style("stroke",function(a){return K(a.id)});b.append("path").attr("class",Nd).style("fill",function(a){return K(a.id)});
b.append("g").attr("class",function(a){return"selected-circles selected-circles-"+a.id});b.append("g").attr("class",Ld).style("fill",function(a){return K(a.id)}).style("cursor",function(a){return ga(a)?"pointer":null});a.forEach(function(a){l.selectAll(".selected-circles-"+a.id).selectAll(".selected-circle").each(function(b){b.value=a.values[b.x].value})});b=l.select(".chart-arcs").selectAll(".chart-arc").data(Kb(a)).enter().append("g").attr("class",function(a){return"chart-arc target target-"+a.data.id}).style("opacity",
0);b.append("path").attr("class",Md).style("fill",function(a){return K(a.data.id)}).style("cursor",function(a){return ga(a)?"pointer":null}).each(function(a){this._current=a}).on("mouseover",function(a){Ya(a.data.id);fd(a.data.id)}).on("mouseout",function(a){xb(a.data.id);gd()});b.append("text").attr("dy",".35em").style("text-anchor","middle").style("pointer-events","none");za&&(b=E.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",Ac).style("fill",function(a){return K(a.id)}),b=E.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",zc).style("stroke",function(a){return K(a.id)}));Ba&&wb(a);n.selectAll(".target").transition().style("opacity",1)}function Sa(a,b){h.data.targets.forEach(function(b){for(var e=0;e<a.length;e++)if(b.id===
a[e].id){b.values=a[e].values;a.splice(e,1);break}});h.data.targets=h.data.targets.concat(a);Zc(h.data.targets);I({withUpdateOrgXDomain:!0,withUpdateXDomain:!0});b()}function fd(a){n.selectAll(".legend-item").filter(function(b){return b!==a}).transition().duration(100).style("opacity",0.3)}function gd(){n.selectAll(".legend-item").transition().duration(100).style("opacity",1)}function wb(a,b){var c=rb(a),e,d=q/2-Ta*Object.keys(a).length/2,f;b=x(b)?{}:b;f=r(b.withTransition)?b.withTransition:!0;e=
Aa.selectAll(".legend-item").data(c).enter().append("g").attr("class",function(a){return"legend-item legend-item-"+a}).style("cursor","pointer").on("click",function(a){ve(a)}).on("mouseover",function(a){fd(a);h.focus(a)}).on("mouseout",function(){gd();h.revert()});e.append("rect").attr("class","legend-item-event").style("fill-opacity",0).attr("x",-200).attr("y",function(){return la/2-16}).attr("width",Ta).attr("height",24);e.append("rect").attr("class","legend-item-tile").style("pointer-events","none").style("fill",
function(a){return K(a)}).attr("x",-200).attr("y",function(){return la/2-9}).attr("width",10).attr("height",10);e.append("text").text(function(a){return r(Ja[a])?Ja[a]:a}).style("pointer-events","none").attr("x",-200).attr("y",function(){return la/2});Aa.selectAll("rect.legend-item-event").data(c).transition().duration(f?250:0).attr("x",function(a,b){return d+Ta*b});Aa.selectAll("rect.legend-item-tile").data(c).transition().duration(f?250:0).attr("x",function(a,b){return d+Ta*b});Aa.selectAll("text").data(c).transition().duration(f?
250:0).attr("x",function(a,b){return d+Ta*b+14})}function Ua(a){return r(a)?".target-"+a:".target"}function dc(a){return xc(a.id)}function ec(a){return"data"in a&&xc(a.data.id)}var h={data:{}},pb={},aa="_expanded_",ha="_selected_",cc="_included_",sa=f(["bindto"],"#chart"),Za=f(["size","width"],null),lc=f(["size","height"],null),$a=f(["padding","left"],null),bb=f(["padding","right"],null),oa=f(["zoom","enabled"],!1),hd=f(["zoom","extent"],null),je=f(["zoom","privileged"],!1),ee=f(["onenter"],function(){}),
fe=f(["onleave"],function(){});if(!("data"in ba))throw Error("data is required in config");var na=f(["data","x"],null),$=f(["data","xs"],null),Pb=f(["data","x_format"],"%Y-%m-%d"),Jd=f(["data","id_converter"],function(a){return a}),Ja=f(["data","names"],{}),t=f(["data","groups"],[]),oc=f(["data","axes"],{}),ed=f(["data","type"],null),H=f(["data","types"],{}),id=f(["data","regions"],{}),we=f(["data","colors"],{}),fa=f(["data","selection","enabled"],!1),pa=f(["data","selection","grouped"],!1),ga=f(["data",
"selection","isselectable"],function(){return!0}),za=f(["subchart","show"],!1),Ab=za?f(["subchart","size","height"],60):0,xe=f(["color","pattern"],null),Ba=f(["legend","show"],!0),Ta=f(["legend","item","width"],80),ve=f(["legend","item","onclick"],function(){}),jd=f(["axis","x","type"],"indexed"),Fa=f(["axis","x","categories"],[]),qd=f(["axis","x","tick","centered"],!1),lb=f(["axis","x","tick","format"],null),vb=f(["axis","x","default"],null),ge=f(["axis","x","label"],null),zd=f(["axis","y","max"],
null),xd=f(["axis","y","min"],null),Bd=f(["axis","y","center"],null),he=f(["axis","y","label"],null),ab=f(["axis","y","inner"],!1),be=f(["axis","y","tick","format"],function(a){return a}),Ga=f(["axis","y","padding"],null),ae=f(["axis","y","ticks"],10),Bb=f(["axis","y2","show"],!1),yd=f(["axis","y2","max"],null),wd=f(["axis","y2","min"],null),Ad=f(["axis","y2","center"],null),cb=f(["axis","y2","inner"],!1),de=f(["axis","y2","tick","format"],function(a){return a}),Ha=f(["axis","y2","padding"],null),
ce=f(["axis","y2","ticks"],10),g=f(["axis","rotated"],!1),Xc=f(["grid","x","show"],!1),qe=f(["grid","x","type"],"tick"),Xb=f(["grid","x","lines"],null),Yc=f(["grid","y","show"],!1),Yb=f(["grid","y","lines"],null),Ub=f(["point","show"],!0)?f(["point","r"],2.5):0,ie=f(["point","focus","line","enabled"],!0),Zb=f(["point","focus","expand","enabled"],!0),$b=f(["point","focus","expand","r"],Zb?4:Ub),Pa=f(["point","focus","select","r"],8),pe=f(["point","onclick"],function(){}),Xd=f(["point","onselected"],
function(){}),Yd=f(["point","onunselected"],function(){}),Q=f(["regions"],[]),Kc=f(["tooltip","contents"],function(a){var b="<table class='-tooltip'><tr><th colspan='2'>"+ic()(a[0].x)+"</th></tr>",c,d,f;for(c=0;c<a.length;c++)a[c]&&(a[c].value||0===a[c].value)&&(d=r(a[c].value)?(Math.round(100*a[c].value)/100).toFixed(2):"-",f=a[c].name,b+="<tr class='-tooltip-name-"+a[c].id+"'><td class='name'><span style='background-color:"+K(a[c].id)+"'></span>"+f+"</td><td class='value'>"+d+"</td></tr>");return b+
"</table>"}),ke=f(["tooltip","init","show"],!1),Ca=f(["tooltip","init","x"],0),$c=f(["tooltip","init","position"],{top:"0px",left:"50px"}),Wb=sa.replace("#","")+"-clip",Qa="url(#"+Wb+")",B="timeseries"===jd,ea="categorized"===jd,Mb=!B&&(na||$),bc=null,Ra=!1,ac=!1,la=Ba?40:0,K=function(a,b){var c=[],d=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===c.indexOf(b)&&c.push(b);return d[c.indexOf(b)%d.length]}}(we,
xe),rd=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)}}(),q,Cb,s,db,zb,ra,eb,Db,kb,mc,nc,Kb,Eb,Fb,Gb,Hb,Ib,Jb,m,z,Z,V,hb,ib,J,ua,jb,gb,md=g?"left":"bottom",nd=g?ab?"top":"bottom":ab?"right":"left",od=g?cb?"bottom":"top":cb?"left":"right",pd=g?"left":"bottom",M={main:function(){return"translate("+A+","+u+")"},context:function(){return"translate("+Ea+","+Da+")"},legend:function(){return"translate("+gc+","+fc+")"},y2:function(){return"translate("+(g?0:q)+","+(g?10:0)+")"},
x:function(){return"translate(0,"+s+")"},subx:function(){return"translate(0,"+(g?0:db)+")"},arc:function(){return"translate("+q/2+","+s/2+")"}},kc=40,jc=20;Kb=d.layout.pie().value(function(a){return a.values.reduce(function(a,c){return a+c.value},0)});var re=function(){var a=d.svg.line().x(g?function(a){return w(a.id)(a.value)}:va).y(g?va:function(a){return w(a.id)(a.value)});return function(b){var c=Rb(b.values),d;if(Ob(b))return Nc(b)?a.interpolate("cardinal"):a.interpolate("linear"),id[b.id]?$d(c,
m,w(b.id),id[b.id]):a(c);d=m(c[0].x);b=w(b.id)(c[0].value);return g?"M "+b+" "+d:"M "+d+" "+b}}(),se=function(){var a;a=g?d.svg.area().x0(function(a){return w(a.id)(0)}).x1(function(a){return w(a.id)(a.value)}).y(va):d.svg.area().x(va).y0(function(a){return w(a.id)(0)}).y1(function(a){return w(a.id)(a.value)});return function(b){var c=Rb(b.values),d;if(Ia([b],"area")||Ia([b],"area-spline"))return Nc(b)?a.interpolate("cardinal"):a.interpolate("linear"),a(c);d=m(c[0].x);b=w(b.id)(c[0].value);return g?
"M "+b+" "+d:"M "+d+" "+b}}(),te=function(){var a=d.svg.line().x(g?function(a){return F(a.id)(a.value)}:Ec).y(g?Ec:function(a){return F(a.id)(a.value)});return function(b){var c=Rb(b.values);return Ob(b)?a(c):"M "+V(c[0].x)+" "+F(b.id)(c[0].value)}}(),L=d.svg.brush().on("brush",function(){I({withTransition:!1,withY:!1,withSubchart:!1,withUpdateXDomain:!0})}),D=d.behavior.zoom().on("zoomstart",function(){D.altDomain=d.event.sourceEvent.altKey?m.orgDomain():null}).on("zoom",oa?ue:null);L.update=function(){E&&
E.select(".x.brush").call(this);return this};L.scale=function(a){return g?this.y(a):this.x(a)};D.scale=function(a){return g?this.y(a):this.x(a)};D.orgScaleExtent=function(){var a=hd?hd:[1,10];return[a[0],Math.max(fb()/a[1],a[1])]};D.updateScaleExtent=function(){var a=ta(m.orgDomain())/ta(U),b=this.orgScaleExtent();this.scaleExtent([b[0]*a,b[1]*a]);return this};var n,ub,l,E,Aa,W,tb,U;h.focus=function(a){var b=n.selectAll(Ua(a)),c=b.filter(dc),b=b.filter(ec);h.defocus();c.classed("focused",!0).transition().duration(100).style("opacity",
1);b.transition().duration(100).style("opacity",1);C(h.data.targets)&&Ya(a,!0)};h.defocus=function(a){var b=n.selectAll(Ua(a)),c=b.filter(dc),b=b.filter(ec);c.classed("focused",!1).transition().duration(100).style("opacity",0.3);b.transition().duration(100).style("opacity",0.3);C(h.data.targets)&&xb(a)};h.revert=function(a){var b=n.selectAll(Ua(a)),c=b.filter(dc),b=b.filter(ec);c.classed("focused",!1).transition().duration(100).style("opacity",1);b.transition().duration(100).style("opacity",1);C(h.data.targets)&&
xb(a)};h.show=function(a){n.selectAll(Ua(a)).transition().style("opacity",1)};h.hide=function(a){n.selectAll(Ua(a)).transition().style("opacity",0)};h.unzoom=function(){L.clear().update();I({withUpdateXDomain:!0})};h.load=function(a){"function"!==typeof a.done&&(a.done=function(){});a.xs&&Id(a.xs);"categories"in a&&ea&&(Fa=a.categories,J.categories(Fa));if("cacheIds"in a&&Ed(a.cacheIds))Sa(Fd(a.cacheIds),a.done);else if("data"in a)Sa(Ka(a.data),a.done);else if("url"in a)d.csv(a.url,function(b,c){Sa(Ka(c),
a.done)});else if("rows"in a)Sa(Ka(uc(a.rows)),a.done);else if("columns"in a)Sa(Ka(vc(a.columns)),a.done);else throw Error("url or rows or columns is required.");};h.unload=function(a){h.data.targets=h.data.targets.filter(function(b){return b.id!==a});n.selectAll(".target-"+a).transition().style("opacity",0).remove();Ba&&(n.selectAll(".legend-item-"+a).remove(),wb(h.data.targets));0<h.data.targets.length&&I({withUpdateOrgXDomain:!0,withUpdateXDomain:!0})};h.selected=function(a){a=r(a)?"-"+a:"";return d.merge(l.selectAll(".-shapes"+
a).selectAll(".-shape").filter(function(){return d.select(this).classed(ha)}).map(function(a){return a.map(function(a){return a.__data__})}))};h.select=function(a,b,c){fa&&l.selectAll(".-shapes").selectAll(".-shape").each(function(e,f){var g="circle"===this.nodeName?Sc:Zd,h="circle"===this.nodeName?Qb:Uc;0<=b.indexOf(f)?ga(e)&&(pa||x(a)||0<=a.indexOf(e.id))&&g(d.select(this).classed(ha,!0),e,f):r(c)&&c&&h(d.select(this).classed(ha,!1),e,f)})};h.unselect=function(a,b){fa&&l.selectAll(".-shapes").selectAll(".-shape").each(function(c,
e){var f="circle"===this.nodeName?Qb:Uc;(x(b)||0<=b.indexOf(e))&&ga(c)&&(pa||x(a)||0<=a.indexOf(c.id))&&f(d.select(this).classed(ha,!1),c,e)})};h.toLine=function(a){Oa(a,"line");I()};h.toSpline=function(a){Oa(a,"spline");I()};h.toBar=function(a){Oa(a,"bar");I()};h.toScatter=function(a){Oa(a,"scatter");I()};h.groups=function(a){if(x(a))return t;t=a;I();return t};h.regions=function(a){if(x(a))return Q;Q=a;I();return Q};h.regions.add=function(a){if(x(a))return Q;Q=Q.concat(a);I();return Q};h.regions.remove=
function(a,b){var c=[].concat(a);b=r(b)?b:{};c.forEach(function(a){var c=n.selectAll("."+a);r(b.duration)&&(c=c.transition().duration(b.duration).style("fill-opacity",0));c.remove();Q=Q.filter(function(b){return 0>b.classes.indexOf(a)})});return Q};h.data.get=function(a){a=h.data.getAsTarget(a);return r(a)?a.values.map(function(a){return a.value}):void 0};h.data.getAsTarget=function(a){var b=nb(function(b){return b.id===a});return 0<b.length?b[0]:void 0};h.destroy=function(){h.data.targets=void 0;
h.data.x={};tb.html("");P.onresize=null};if("url"in ba.data)d.csv(ba.data.url,function(a,b){Vb(b)});else if("rows"in ba.data)Vb(uc(ba.data.rows));else if("columns"in ba.data)Vb(vc(ba.data.columns));else throw Error("url or rows or columns is required.");return h}})(window);