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.
2 lines
9.0 KiB
2 lines
9.0 KiB
// https://d3js.org/d3-voronoi/ v1.1.4 Copyright 2018 Mike Bostock
|
|
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t(e.d3=e.d3||{})}(this,function(e){"use strict";function t(e){return function(){return e}}function n(e){return e[0]}function i(e){return e[1]}function r(){this._=null}function f(e){e.U=e.C=e.L=e.R=e.P=e.N=null}function s(e,t){var n=t,i=t.R,r=n.U;r?r.L===n?r.L=i:r.R=i:e._=i,i.U=r,n.U=i,n.R=i.L,n.R&&(n.R.U=n),i.L=n}function u(e,t){var n=t,i=t.L,r=n.U;r?r.L===n?r.L=i:r.R=i:e._=i,i.U=r,n.U=i,n.L=i.R,n.L&&(n.L.U=n),i.R=n}function l(e){for(;e.L;)e=e.L;return e}function a(e,t,n,i){var r=[null,null],f=q.push(r)-1;return r.left=e,r.right=t,n&&h(r,e,t,n),i&&h(r,t,e,i),A[e.index].halfedges.push(f),A[t.index].halfedges.push(f),r}function o(e,t,n){var i=[t,n];return i.left=e,i}function h(e,t,n,i){e[0]||e[1]?e.left===n?e[1]=i:e[0]=i:(e[0]=i,e.left=t,e.right=n)}function c(e,t,n,i,r){var f,s=e[0],u=e[1],l=s[0],a=s[1],o=0,h=1,c=u[0]-l,d=u[1]-a;if(f=t-l,c||!(f>0)){if(f/=c,c<0){if(f<o)return;f<h&&(h=f)}else if(c>0){if(f>h)return;f>o&&(o=f)}if(f=i-l,c||!(f<0)){if(f/=c,c<0){if(f>h)return;f>o&&(o=f)}else if(c>0){if(f<o)return;f<h&&(h=f)}if(f=n-a,d||!(f>0)){if(f/=d,d<0){if(f<o)return;f<h&&(h=f)}else if(d>0){if(f>h)return;f>o&&(o=f)}if(f=r-a,d||!(f<0)){if(f/=d,d<0){if(f>h)return;f>o&&(o=f)}else if(d>0){if(f<o)return;f<h&&(h=f)}return!(o>0||h<1)||(o>0&&(e[0]=[l+o*c,a+o*d]),h<1&&(e[1]=[l+h*c,a+h*d]),!0)}}}}}function d(e,t,n,i,r){var f=e[1];if(f)return!0;var s,u,l=e[0],a=e.left,o=e.right,h=a[0],c=a[1],d=o[0],v=o[1],g=(h+d)/2,C=(c+v)/2;if(v===c){if(g<t||g>=i)return;if(h>d){if(l){if(l[1]>=r)return}else l=[g,n];f=[g,r]}else{if(l){if(l[1]<n)return}else l=[g,r];f=[g,n]}}else if(u=C-(s=(h-d)/(v-c))*g,s<-1||s>1)if(h>d){if(l){if(l[1]>=r)return}else l=[(n-u)/s,n];f=[(r-u)/s,r]}else{if(l){if(l[1]<n)return}else l=[(r-u)/s,r];f=[(n-u)/s,n]}else if(c<v){if(l){if(l[0]>=i)return}else l=[t,s*t+u];f=[i,s*i+u]}else{if(l){if(l[0]<t)return}else l=[i,s*i+u];f=[t,s*t+u]}return e[0]=l,e[1]=f,!0}function v(e,t){var n=e.site,i=t.left,r=t.right;return n===r&&(r=i,i=n),r?Math.atan2(r[1]-i[1],r[0]-i[0]):(n===i?(i=t[1],r=t[0]):(i=t[0],r=t[1]),Math.atan2(i[0]-r[0],r[1]-i[1]))}function g(e,t){return t[+(t.left!==e.site)]}function C(e,t){return t[+(t.left===e.site)]}r.prototype={constructor:r,insert:function(e,t){var n,i,r;if(e){if(t.P=e,t.N=e.N,e.N&&(e.N.P=t),e.N=t,e.R){for(e=e.R;e.L;)e=e.L;e.L=t}else e.R=t;n=e}else this._?(e=l(this._),t.P=null,t.N=e,e.P=e.L=t,n=e):(t.P=t.N=null,this._=t,n=null);for(t.L=t.R=null,t.U=n,t.C=!0,e=t;n&&n.C;)n===(i=n.U).L?(r=i.R)&&r.C?(n.C=r.C=!1,i.C=!0,e=i):(e===n.R&&(s(this,n),n=(e=n).U),n.C=!1,i.C=!0,u(this,i)):(r=i.L)&&r.C?(n.C=r.C=!1,i.C=!0,e=i):(e===n.L&&(u(this,n),n=(e=n).U),n.C=!1,i.C=!0,s(this,i)),n=e.U;this._.C=!1},remove:function(e){e.N&&(e.N.P=e.P),e.P&&(e.P.N=e.N),e.N=e.P=null;var t,n,i,r=e.U,f=e.L,a=e.R;if(n=f?a?l(a):f:a,r?r.L===e?r.L=n:r.R=n:this._=n,f&&a?(i=n.C,n.C=e.C,n.L=f,f.U=n,n!==a?(r=n.U,n.U=e.U,e=n.R,r.L=e,n.R=a,a.U=n):(n.U=r,r=n,e=n.R)):(i=e.C,e=n),e&&(e.U=r),!i)if(e&&e.C)e.C=!1;else{do{if(e===this._)break;if(e===r.L){if((t=r.R).C&&(t.C=!1,r.C=!0,s(this,r),t=r.R),t.L&&t.L.C||t.R&&t.R.C){t.R&&t.R.C||(t.L.C=!1,t.C=!0,u(this,t),t=r.R),t.C=r.C,r.C=t.R.C=!1,s(this,r),e=this._;break}}else if((t=r.L).C&&(t.C=!1,r.C=!0,u(this,r),t=r.L),t.L&&t.L.C||t.R&&t.R.C){t.L&&t.L.C||(t.R.C=!1,t.C=!0,s(this,t),t=r.L),t.C=r.C,r.C=t.L.C=!1,u(this,r),e=this._;break}t.C=!0,e=r,r=r.U}while(!e.C);e&&(e.C=!1)}}};var p,L=[];function R(){f(this),this.x=this.y=this.arc=this.site=this.cy=null}function y(e){var t=e.P,n=e.N;if(t&&n){var i=t.site,r=e.site,f=n.site;if(i!==f){var s=r[0],u=r[1],l=i[0]-s,a=i[1]-u,o=f[0]-s,h=f[1]-u,c=2*(l*h-a*o);if(!(c>=-z)){var d=l*l+a*a,v=o*o+h*h,g=(h*d-a*v)/c,C=(l*v-o*d)/c,y=L.pop()||new R;y.arc=e,y.site=r,y.x=g+s,y.y=(y.cy=C+u)+Math.sqrt(g*g+C*C),e.circle=y;for(var b=null,M=j._;M;)if(y.y<M.y||y.y===M.y&&y.x<=M.x){if(!M.L){b=M.P;break}M=M.L}else{if(!M.R){b=M;break}M=M.R}j.insert(b,y),b||(p=y)}}}}function b(e){var t=e.circle;t&&(t.P||(p=t.N),j.remove(t),L.push(t),f(t),e.circle=null)}var M=[];function U(){f(this),this.edge=this.site=this.circle=null}function x(e){var t=M.pop()||new U;return t.site=e,t}function N(e){b(e),m.remove(e),M.push(e),f(e)}function P(e){var t=e.circle,n=t.x,i=t.cy,r=[n,i],f=e.P,s=e.N,u=[e];N(e);for(var l=f;l.circle&&Math.abs(n-l.circle.x)<E&&Math.abs(i-l.circle.cy)<E;)f=l.P,u.unshift(l),N(l),l=f;u.unshift(l),b(l);for(var o=s;o.circle&&Math.abs(n-o.circle.x)<E&&Math.abs(i-o.circle.cy)<E;)s=o.N,u.push(o),N(o),o=s;u.push(o),b(o);var c,d=u.length;for(c=1;c<d;++c)o=u[c],l=u[c-1],h(o.edge,l.site,o.site,r);l=u[0],(o=u[d-1]).edge=a(l.site,o.site,null,r),y(l),y(o)}function _(e){for(var t,n,i,r,f=e[0],s=e[1],u=m._;u;)if((i=k(u,s)-f)>E)u=u.L;else{if(!((r=f-w(u,s))>E)){i>-E?(t=u.P,n=u):r>-E?(t=u,n=u.N):t=n=u;break}if(!u.R){t=u;break}u=u.R}!function(e){A[e.index]={site:e,halfedges:[]}}(e);var l=x(e);if(m.insert(t,l),t||n){if(t===n)return b(t),n=x(t.site),m.insert(l,n),l.edge=n.edge=a(t.site,l.site),y(t),void y(n);if(n){b(t),b(n);var o=t.site,c=o[0],d=o[1],v=e[0]-c,g=e[1]-d,C=n.site,p=C[0]-c,L=C[1]-d,R=2*(v*L-g*p),M=v*v+g*g,U=p*p+L*L,N=[(L*M-g*U)/R+c,(v*U-p*M)/R+d];h(n.edge,o,C,N),l.edge=a(o,e,null,N),n.edge=a(e,C,null,N),y(t),y(n)}else l.edge=a(t.site,l.site)}}function k(e,t){var n=e.site,i=n[0],r=n[1],f=r-t;if(!f)return i;var s=e.P;if(!s)return-1/0;var u=(n=s.site)[0],l=n[1],a=l-t;if(!a)return u;var o=u-i,h=1/f-1/a,c=o/a;return h?(-c+Math.sqrt(c*c-2*h*(o*o/(-2*a)-l+a/2+r-f/2)))/h+i:(i+u)/2}function w(e,t){var n=e.N;if(n)return k(n,t);var i=e.site;return i[1]===t?i[0]:1/0}var m,A,j,q,E=1e-6,z=1e-12;function O(e,t){return t[1]-e[1]||t[0]-e[0]}function B(e,t){var n,i,f,s=e.sort(O).pop();for(q=[],A=new Array(e.length),m=new r,j=new r;;)if(f=p,s&&(!f||s[1]<f.y||s[1]===f.y&&s[0]<f.x))s[0]===n&&s[1]===i||(_(s),n=s[0],i=s[1]),s=e.pop();else{if(!f)break;P(f.arc)}if(function(){for(var e,t,n,i,r=0,f=A.length;r<f;++r)if((e=A[r])&&(i=(t=e.halfedges).length)){var s=new Array(i),u=new Array(i);for(n=0;n<i;++n)s[n]=n,u[n]=v(e,q[t[n]]);for(s.sort(function(e,t){return u[t]-u[e]}),n=0;n<i;++n)u[n]=t[s[n]];for(n=0;n<i;++n)t[n]=u[n]}}(),t){var u=+t[0][0],l=+t[0][1],a=+t[1][0],h=+t[1][1];!function(e,t,n,i){for(var r,f=q.length;f--;)d(r=q[f],e,t,n,i)&&c(r,e,t,n,i)&&(Math.abs(r[0][0]-r[1][0])>E||Math.abs(r[0][1]-r[1][1])>E)||delete q[f]}(u,l,a,h),function(e,t,n,i){var r,f,s,u,l,a,h,c,d,v,p,L,R=A.length,y=!0;for(r=0;r<R;++r)if(f=A[r]){for(s=f.site,u=(l=f.halfedges).length;u--;)q[l[u]]||l.splice(u,1);for(u=0,a=l.length;u<a;)p=(v=C(f,q[l[u]]))[0],L=v[1],c=(h=g(f,q[l[++u%a]]))[0],d=h[1],(Math.abs(p-c)>E||Math.abs(L-d)>E)&&(l.splice(u,0,q.push(o(s,v,Math.abs(p-e)<E&&i-L>E?[e,Math.abs(c-e)<E?d:i]:Math.abs(L-i)<E&&n-p>E?[Math.abs(d-i)<E?c:n,i]:Math.abs(p-n)<E&&L-t>E?[n,Math.abs(c-n)<E?d:t]:Math.abs(L-t)<E&&p-e>E?[Math.abs(d-t)<E?c:e,t]:null))-1),++a);a&&(y=!1)}if(y){var b,M,U,x=1/0;for(r=0,y=null;r<R;++r)(f=A[r])&&(U=(b=(s=f.site)[0]-e)*b+(M=s[1]-t)*M)<x&&(x=U,y=f);if(y){var N=[e,t],P=[e,i],_=[n,i],k=[n,t];y.halfedges.push(q.push(o(s=y.site,N,P))-1,q.push(o(s,P,_))-1,q.push(o(s,_,k))-1,q.push(o(s,k,N))-1)}}for(r=0;r<R;++r)(f=A[r])&&(f.halfedges.length||delete A[r])}(u,l,a,h)}this.edges=q,this.cells=A,m=j=q=A=null}B.prototype={constructor:B,polygons:function(){var e=this.edges;return this.cells.map(function(t){var n=t.halfedges.map(function(n){return g(t,e[n])});return n.data=t.site.data,n})},triangles:function(){var e=[],t=this.edges;return this.cells.forEach(function(n,i){if(f=(r=n.halfedges).length)for(var r,f,s,u,l,a,o=n.site,h=-1,c=t[r[f-1]],d=c.left===o?c.right:c.left;++h<f;)s=d,d=(c=t[r[h]]).left===o?c.right:c.left,s&&d&&i<s.index&&i<d.index&&(l=s,a=d,((u=o)[0]-a[0])*(l[1]-u[1])-(u[0]-l[0])*(a[1]-u[1])<0)&&e.push([o.data,s.data,d.data])}),e},links:function(){return this.edges.filter(function(e){return e.right}).map(function(e){return{source:e.left.data,target:e.right.data}})},find:function(e,t,n){for(var i,r,f=this,s=f._found||0,u=f.cells.length;!(r=f.cells[s]);)if(++s>=u)return null;var l=e-r.site[0],a=t-r.site[1],o=l*l+a*a;do{r=f.cells[i=s],s=null,r.halfedges.forEach(function(n){var i=f.edges[n],u=i.left;if(u!==r.site&&u||(u=i.right)){var l=e-u[0],a=t-u[1],h=l*l+a*a;h<o&&(o=h,s=u.index)}})}while(null!==s);return f._found=i,null==n||o<=n*n?r.site:null}},e.voronoi=function(){var e=n,r=i,f=null;function s(t){return new B(t.map(function(n,i){var f=[Math.round(e(n,i,t)/E)*E,Math.round(r(n,i,t)/E)*E];return f.index=i,f.data=n,f}),f)}return s.polygons=function(e){return s(e).polygons()},s.links=function(e){return s(e).links()},s.triangles=function(e){return s(e).triangles()},s.x=function(n){return arguments.length?(e="function"==typeof n?n:t(+n),s):e},s.y=function(e){return arguments.length?(r="function"==typeof e?e:t(+e),s):r},s.extent=function(e){return arguments.length?(f=null==e?null:[[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]],s):f&&[[f[0][0],f[0][1]],[f[1][0],f[1][1]]]},s.size=function(e){return arguments.length?(f=null==e?null:[[0,0],[+e[0],+e[1]]],s):f&&[f[1][0]-f[0][0],f[1][1]-f[0][1]]},s},Object.defineProperty(e,"__esModule",{value:!0})});
|
|
|