StackGenVis: Alignment of Data, Algorithms, and Models for Stacking Ensemble Learning Using Performance Metrics https://doi.org/10.1109/TVCG.2020.3030352
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.
 
 
 
 
StackGenVis/frontend/node_modules/d3-hierarchy/dist/d3-hierarchy.min.js

2 lines
13 KiB

// https://d3js.org/d3-hierarchy/ v1.1.8 Copyright 2018 Mike Bostock
!function(n,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r(n.d3=n.d3||{})}(this,function(n){"use strict";function r(n,r){return n.parent===r.parent?1:2}function e(n,r){return n+r.x}function t(n,r){return Math.max(n,r.y)}function u(n){var r=0,e=n.children,t=e&&e.length;if(t)for(;--t>=0;)r+=e[t].value;else r=1;n.value=r}function i(n,r){var e,t,u,i,a,h=new c(n),l=+n.value&&(h.value=n.value),p=[h];for(null==r&&(r=o);e=p.pop();)if(l&&(e.value=+e.data.value),(u=r(e.data))&&(a=u.length))for(e.children=new Array(a),i=a-1;i>=0;--i)p.push(t=e.children[i]=new c(u[i])),t.parent=e,t.depth=e.depth+1;return h.eachBefore(f)}function o(n){return n.children}function a(n){n.data=n.data.data}function f(n){var r=0;do{n.height=r}while((n=n.parent)&&n.height<++r)}function c(n){this.data=n,this.depth=this.height=0,this.parent=null}c.prototype=i.prototype={constructor:c,count:function(){return this.eachAfter(u)},each:function(n){var r,e,t,u,i=this,o=[i];do{for(r=o.reverse(),o=[];i=r.pop();)if(n(i),e=i.children)for(t=0,u=e.length;t<u;++t)o.push(e[t])}while(o.length);return this},eachAfter:function(n){for(var r,e,t,u=this,i=[u],o=[];u=i.pop();)if(o.push(u),r=u.children)for(e=0,t=r.length;e<t;++e)i.push(r[e]);for(;u=o.pop();)n(u);return this},eachBefore:function(n){for(var r,e,t=this,u=[t];t=u.pop();)if(n(t),r=t.children)for(e=r.length-1;e>=0;--e)u.push(r[e]);return this},sum:function(n){return this.eachAfter(function(r){for(var e=+n(r.data)||0,t=r.children,u=t&&t.length;--u>=0;)e+=t[u].value;r.value=e})},sort:function(n){return this.eachBefore(function(r){r.children&&r.children.sort(n)})},path:function(n){for(var r=this,e=function(n,r){if(n===r)return n;var e=n.ancestors(),t=r.ancestors(),u=null;for(n=e.pop(),r=t.pop();n===r;)u=n,n=e.pop(),r=t.pop();return u}(r,n),t=[r];r!==e;)r=r.parent,t.push(r);for(var u=t.length;n!==e;)t.splice(u,0,n),n=n.parent;return t},ancestors:function(){for(var n=this,r=[n];n=n.parent;)r.push(n);return r},descendants:function(){var n=[];return this.each(function(r){n.push(r)}),n},leaves:function(){var n=[];return this.eachBefore(function(r){r.children||n.push(r)}),n},links:function(){var n=this,r=[];return n.each(function(e){e!==n&&r.push({source:e.parent,target:e})}),r},copy:function(){return i(this).eachBefore(a)}};var h=Array.prototype.slice;function l(n){for(var r,e,t=0,u=(n=function(n){for(var r,e,t=n.length;t;)e=Math.random()*t--|0,r=n[t],n[t]=n[e],n[e]=r;return n}(h.call(n))).length,i=[];t<u;)r=n[t],e&&s(e,r)?++t:(e=x(i=p(i,r)),t=0);return e}function p(n,r){var e,t;if(v(r,n))return[r];for(e=0;e<n.length;++e)if(d(r,n[e])&&v(y(n[e],r),n))return[n[e],r];for(e=0;e<n.length-1;++e)for(t=e+1;t<n.length;++t)if(d(y(n[e],n[t]),r)&&d(y(n[e],r),n[t])&&d(y(n[t],r),n[e])&&v(g(n[e],n[t],r),n))return[n[e],n[t],r];throw new Error}function d(n,r){var e=n.r-r.r,t=r.x-n.x,u=r.y-n.y;return e<0||e*e<t*t+u*u}function s(n,r){var e=n.r-r.r+1e-6,t=r.x-n.x,u=r.y-n.y;return e>0&&e*e>t*t+u*u}function v(n,r){for(var e=0;e<r.length;++e)if(!s(n,r[e]))return!1;return!0}function x(n){switch(n.length){case 1:return{x:(r=n[0]).x,y:r.y,r:r.r};case 2:return y(n[0],n[1]);case 3:return g(n[0],n[1],n[2])}var r}function y(n,r){var e=n.x,t=n.y,u=n.r,i=r.x,o=r.y,a=r.r,f=i-e,c=o-t,h=a-u,l=Math.sqrt(f*f+c*c);return{x:(e+i+f/l*h)/2,y:(t+o+c/l*h)/2,r:(l+u+a)/2}}function g(n,r,e){var t=n.x,u=n.y,i=n.r,o=r.x,a=r.y,f=r.r,c=e.x,h=e.y,l=e.r,p=t-o,d=t-c,s=u-a,v=u-h,x=f-i,y=l-i,g=t*t+u*u-i*i,m=g-o*o-a*a+f*f,w=g-c*c-h*h+l*l,_=d*s-p*v,z=(s*w-v*m)/(2*_)-t,B=(v*x-s*y)/_,M=(d*m-p*w)/(2*_)-u,A=(p*y-d*x)/_,q=B*B+A*A-1,E=2*(i+z*B+M*A),b=z*z+M*M-i*i,S=-(q?(E+Math.sqrt(E*E-4*q*b))/(2*q):b/E);return{x:t+z+B*S,y:u+M+A*S,r:S}}function m(n,r,e){var t,u,i,o,a=n.x-r.x,f=n.y-r.y,c=a*a+f*f;c?(u=r.r+e.r,u*=u,o=n.r+e.r,u>(o*=o)?(t=(c+o-u)/(2*c),i=Math.sqrt(Math.max(0,o/c-t*t)),e.x=n.x-t*a-i*f,e.y=n.y-t*f+i*a):(t=(c+u-o)/(2*c),i=Math.sqrt(Math.max(0,u/c-t*t)),e.x=r.x+t*a-i*f,e.y=r.y+t*f+i*a)):(e.x=r.x+e.r,e.y=r.y)}function w(n,r){var e=n.r+r.r-1e-6,t=r.x-n.x,u=r.y-n.y;return e>0&&e*e>t*t+u*u}function _(n){var r=n._,e=n.next._,t=r.r+e.r,u=(r.x*e.r+e.x*r.r)/t,i=(r.y*e.r+e.y*r.r)/t;return u*u+i*i}function z(n){this._=n,this.next=null,this.previous=null}function B(n){if(!(u=n.length))return 0;var r,e,t,u,i,o,a,f,c,h,p;if((r=n[0]).x=0,r.y=0,!(u>1))return r.r;if(e=n[1],r.x=-e.r,e.x=r.r,e.y=0,!(u>2))return r.r+e.r;m(e,r,t=n[2]),r=new z(r),e=new z(e),t=new z(t),r.next=t.previous=e,e.next=r.previous=t,t.next=e.previous=r;n:for(a=3;a<u;++a){m(r._,e._,t=n[a]),t=new z(t),f=e.next,c=r.previous,h=e._.r,p=r._.r;do{if(h<=p){if(w(f._,t._)){e=f,r.next=e,e.previous=r,--a;continue n}h+=f._.r,f=f.next}else{if(w(c._,t._)){(r=c).next=e,e.previous=r,--a;continue n}p+=c._.r,c=c.previous}}while(f!==c.next);for(t.previous=r,t.next=e,r.next=e.previous=e=t,i=_(r);(t=t.next)!==e;)(o=_(t))<i&&(r=t,i=o);e=r.next}for(r=[e._],t=e;(t=t.next)!==e;)r.push(t._);for(t=l(r),a=0;a<u;++a)(r=n[a]).x-=t.x,r.y-=t.y;return t.r}function M(n){if("function"!=typeof n)throw new Error;return n}function A(){return 0}function q(n){return function(){return n}}function E(n){return Math.sqrt(n.value)}function b(n){return function(r){r.children||(r.r=Math.max(0,+n(r)||0))}}function S(n,r){return function(e){if(t=e.children){var t,u,i,o=t.length,a=n(e)*r||0;if(a)for(u=0;u<o;++u)t[u].r+=a;if(i=B(t),a)for(u=0;u<o;++u)t[u].r-=a;e.r=i+a}}}function k(n){return function(r){var e=r.parent;r.r*=n,e&&(r.x=e.x+n*r.x,r.y=e.y+n*r.y)}}function I(n){n.x0=Math.round(n.x0),n.y0=Math.round(n.y0),n.x1=Math.round(n.x1),n.y1=Math.round(n.y1)}function O(n,r,e,t,u){for(var i,o=n.children,a=-1,f=o.length,c=n.value&&(t-r)/n.value;++a<f;)(i=o[a]).y0=e,i.y1=u,i.x0=r,i.x1=r+=i.value*c}var j="$",R={depth:-1},T={};function D(n){return n.id}function L(n){return n.parentId}function P(n,r){return n.parent===r.parent?1:2}function $(n){var r=n.children;return r?r[0]:n.t}function C(n){var r=n.children;return r?r[r.length-1]:n.t}function F(n,r,e){var t=e/(r.i-n.i);r.c-=t,r.s+=e,n.c+=t,r.z+=e,r.m+=e}function G(n,r,e){return n.a.parent===r.parent?n.a:e}function H(n,r){this._=n,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=r}function J(n,r,e,t,u){for(var i,o=n.children,a=-1,f=o.length,c=n.value&&(u-e)/n.value;++a<f;)(i=o[a]).x0=r,i.x1=t,i.y0=e,i.y1=e+=i.value*c}H.prototype=Object.create(c.prototype);var K=(1+Math.sqrt(5))/2;function N(n,r,e,t,u,i){for(var o,a,f,c,h,l,p,d,s,v,x,y=[],g=r.children,m=0,w=0,_=g.length,z=r.value;m<_;){f=u-e,c=i-t;do{h=g[w++].value}while(!h&&w<_);for(l=p=h,x=h*h*(v=Math.max(c/f,f/c)/(z*n)),s=Math.max(p/x,x/l);w<_;++w){if(h+=a=g[w].value,a<l&&(l=a),a>p&&(p=a),x=h*h*v,(d=Math.max(p/x,x/l))>s){h-=a;break}s=d}y.push(o={value:h,dice:f<c,children:g.slice(m,w)}),o.dice?O(o,e,t,u,z?t+=c*h/z:i):J(o,e,t,z?e+=f*h/z:u,i),z-=h,m=w}return y}var Q=function n(r){function e(n,e,t,u,i){N(r,n,e,t,u,i)}return e.ratio=function(r){return n((r=+r)>1?r:1)},e}(K);var U=function n(r){function e(n,e,t,u,i){if((o=n._squarify)&&o.ratio===r)for(var o,a,f,c,h,l=-1,p=o.length,d=n.value;++l<p;){for(f=(a=o[l]).children,c=a.value=0,h=f.length;c<h;++c)a.value+=f[c].value;a.dice?O(a,e,t,u,t+=(i-t)*a.value/d):J(a,e,t,e+=(u-e)*a.value/d,i),d-=a.value}else n._squarify=o=N(r,n,e,t,u,i),o.ratio=r}return e.ratio=function(r){return n((r=+r)>1?r:1)},e}(K);n.cluster=function(){var n=r,u=1,i=1,o=!1;function a(r){var a,f=0;r.eachAfter(function(r){var u=r.children;u?(r.x=function(n){return n.reduce(e,0)/n.length}(u),r.y=function(n){return 1+n.reduce(t,0)}(u)):(r.x=a?f+=n(r,a):0,r.y=0,a=r)});var c=function(n){for(var r;r=n.children;)n=r[0];return n}(r),h=function(n){for(var r;r=n.children;)n=r[r.length-1];return n}(r),l=c.x-n(c,h)/2,p=h.x+n(h,c)/2;return r.eachAfter(o?function(n){n.x=(n.x-r.x)*u,n.y=(r.y-n.y)*i}:function(n){n.x=(n.x-l)/(p-l)*u,n.y=(1-(r.y?n.y/r.y:1))*i})}return a.separation=function(r){return arguments.length?(n=r,a):n},a.size=function(n){return arguments.length?(o=!1,u=+n[0],i=+n[1],a):o?null:[u,i]},a.nodeSize=function(n){return arguments.length?(o=!0,u=+n[0],i=+n[1],a):o?[u,i]:null},a},n.hierarchy=i,n.pack=function(){var n=null,r=1,e=1,t=A;function u(u){return u.x=r/2,u.y=e/2,n?u.eachBefore(b(n)).eachAfter(S(t,.5)).eachBefore(k(1)):u.eachBefore(b(E)).eachAfter(S(A,1)).eachAfter(S(t,u.r/Math.min(r,e))).eachBefore(k(Math.min(r,e)/(2*u.r))),u}return u.radius=function(r){return arguments.length?(n=null==(e=r)?null:M(e),u):n;var e},u.size=function(n){return arguments.length?(r=+n[0],e=+n[1],u):[r,e]},u.padding=function(n){return arguments.length?(t="function"==typeof n?n:q(+n),u):t},u},n.packSiblings=function(n){return B(n),n},n.packEnclose=l,n.partition=function(){var n=1,r=1,e=0,t=!1;function u(u){var i=u.height+1;return u.x0=u.y0=e,u.x1=n,u.y1=r/i,u.eachBefore(function(n,r){return function(t){t.children&&O(t,t.x0,n*(t.depth+1)/r,t.x1,n*(t.depth+2)/r);var u=t.x0,i=t.y0,o=t.x1-e,a=t.y1-e;o<u&&(u=o=(u+o)/2),a<i&&(i=a=(i+a)/2),t.x0=u,t.y0=i,t.x1=o,t.y1=a}}(r,i)),t&&u.eachBefore(I),u}return u.round=function(n){return arguments.length?(t=!!n,u):t},u.size=function(e){return arguments.length?(n=+e[0],r=+e[1],u):[n,r]},u.padding=function(n){return arguments.length?(e=+n,u):e},u},n.stratify=function(){var n=D,r=L;function e(e){var t,u,i,o,a,h,l,p=e.length,d=new Array(p),s={};for(u=0;u<p;++u)t=e[u],a=d[u]=new c(t),null!=(h=n(t,u,e))&&(h+="")&&(s[l=j+(a.id=h)]=l in s?T:a);for(u=0;u<p;++u)if(a=d[u],null!=(h=r(e[u],u,e))&&(h+="")){if(!(o=s[j+h]))throw new Error("missing: "+h);if(o===T)throw new Error("ambiguous: "+h);o.children?o.children.push(a):o.children=[a],a.parent=o}else{if(i)throw new Error("multiple roots");i=a}if(!i)throw new Error("no root");if(i.parent=R,i.eachBefore(function(n){n.depth=n.parent.depth+1,--p}).eachBefore(f),i.parent=null,p>0)throw new Error("cycle");return i}return e.id=function(r){return arguments.length?(n=M(r),e):n},e.parentId=function(n){return arguments.length?(r=M(n),e):r},e},n.tree=function(){var n=P,r=1,e=1,t=null;function u(u){var f=function(n){for(var r,e,t,u,i,o=new H(n,0),a=[o];r=a.pop();)if(t=r._.children)for(r.children=new Array(i=t.length),u=i-1;u>=0;--u)a.push(e=r.children[u]=new H(t[u],u)),e.parent=r;return(o.parent=new H(null,0)).children=[o],o}(u);if(f.eachAfter(i),f.parent.m=-f.z,f.eachBefore(o),t)u.eachBefore(a);else{var c=u,h=u,l=u;u.eachBefore(function(n){n.x<c.x&&(c=n),n.x>h.x&&(h=n),n.depth>l.depth&&(l=n)});var p=c===h?1:n(c,h)/2,d=p-c.x,s=r/(h.x+p+d),v=e/(l.depth||1);u.eachBefore(function(n){n.x=(n.x+d)*s,n.y=n.depth*v})}return u}function i(r){var e=r.children,t=r.parent.children,u=r.i?t[r.i-1]:null;if(e){!function(n){for(var r,e=0,t=0,u=n.children,i=u.length;--i>=0;)(r=u[i]).z+=e,r.m+=e,e+=r.s+(t+=r.c)}(r);var i=(e[0].z+e[e.length-1].z)/2;u?(r.z=u.z+n(r._,u._),r.m=r.z-i):r.z=i}else u&&(r.z=u.z+n(r._,u._));r.parent.A=function(r,e,t){if(e){for(var u,i=r,o=r,a=e,f=i.parent.children[0],c=i.m,h=o.m,l=a.m,p=f.m;a=C(a),i=$(i),a&&i;)f=$(f),(o=C(o)).a=r,(u=a.z+l-i.z-c+n(a._,i._))>0&&(F(G(a,r,t),r,u),c+=u,h+=u),l+=a.m,c+=i.m,p+=f.m,h+=o.m;a&&!C(o)&&(o.t=a,o.m+=l-h),i&&!$(f)&&(f.t=i,f.m+=c-p,t=r)}return t}(r,u,r.parent.A||t[0])}function o(n){n._.x=n.z+n.parent.m,n.m+=n.parent.m}function a(n){n.x*=r,n.y=n.depth*e}return u.separation=function(r){return arguments.length?(n=r,u):n},u.size=function(n){return arguments.length?(t=!1,r=+n[0],e=+n[1],u):t?null:[r,e]},u.nodeSize=function(n){return arguments.length?(t=!0,r=+n[0],e=+n[1],u):t?[r,e]:null},u},n.treemap=function(){var n=Q,r=!1,e=1,t=1,u=[0],i=A,o=A,a=A,f=A,c=A;function h(n){return n.x0=n.y0=0,n.x1=e,n.y1=t,n.eachBefore(l),u=[0],r&&n.eachBefore(I),n}function l(r){var e=u[r.depth],t=r.x0+e,h=r.y0+e,l=r.x1-e,p=r.y1-e;l<t&&(t=l=(t+l)/2),p<h&&(h=p=(h+p)/2),r.x0=t,r.y0=h,r.x1=l,r.y1=p,r.children&&(e=u[r.depth+1]=i(r)/2,t+=c(r)-e,h+=o(r)-e,(l-=a(r)-e)<t&&(t=l=(t+l)/2),(p-=f(r)-e)<h&&(h=p=(h+p)/2),n(r,t,h,l,p))}return h.round=function(n){return arguments.length?(r=!!n,h):r},h.size=function(n){return arguments.length?(e=+n[0],t=+n[1],h):[e,t]},h.tile=function(r){return arguments.length?(n=M(r),h):n},h.padding=function(n){return arguments.length?h.paddingInner(n).paddingOuter(n):h.paddingInner()},h.paddingInner=function(n){return arguments.length?(i="function"==typeof n?n:q(+n),h):i},h.paddingOuter=function(n){return arguments.length?h.paddingTop(n).paddingRight(n).paddingBottom(n).paddingLeft(n):h.paddingTop()},h.paddingTop=function(n){return arguments.length?(o="function"==typeof n?n:q(+n),h):o},h.paddingRight=function(n){return arguments.length?(a="function"==typeof n?n:q(+n),h):a},h.paddingBottom=function(n){return arguments.length?(f="function"==typeof n?n:q(+n),h):f},h.paddingLeft=function(n){return arguments.length?(c="function"==typeof n?n:q(+n),h):c},h},n.treemapBinary=function(n,r,e,t,u){var i,o,a=n.children,f=a.length,c=new Array(f+1);for(c[0]=o=i=0;i<f;++i)c[i+1]=o+=a[i].value;!function n(r,e,t,u,i,o,f){if(r>=e-1){var h=a[r];return h.x0=u,h.y0=i,h.x1=o,void(h.y1=f)}for(var l=c[r],p=t/2+l,d=r+1,s=e-1;d<s;){var v=d+s>>>1;c[v]<p?d=v+1:s=v}p-c[d-1]<c[d]-p&&r+1<d&&--d;var x=c[d]-l,y=t-x;if(o-u>f-i){var g=(u*y+o*x)/t;n(r,d,x,u,i,g,f),n(d,e,y,g,i,o,f)}else{var m=(i*y+f*x)/t;n(r,d,x,u,i,o,m),n(d,e,y,u,m,o,f)}}(0,f,n.value,r,e,t,u)},n.treemapDice=O,n.treemapSlice=J,n.treemapSliceDice=function(n,r,e,t,u){(1&n.depth?J:O)(n,r,e,t,u)},n.treemapSquarify=Q,n.treemapResquarify=U,Object.defineProperty(n,"__esModule",{value:!0})});