UNPKG

15.9 kBJavaScriptView Raw
1!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("vega-scale"),require("vega-util"),require("d3-time-format"),require("d3-format"),require("vega-dataflow"),require("d3-array"),require("d3-interpolate")):"function"==typeof define&&define.amd?define(["exports","vega-scale","vega-util","d3-time-format","d3-format","vega-dataflow","d3-array","d3-interpolate"],n):n(((e=e||self).vega=e.vega||{},e.vega.transforms={}),e.vega,e.vega,e.d3,e.d3,e.vega,e.d3,e.d3)}(this,(function(e,n,t,r,i,a,o,u){"use strict";function l(e,r,i){var a;return t.isNumber(r)&&(e.bins&&(r=Math.max(r,e.bins.length)),null!=i&&(r=Math.min(r,~~(t.span(e.domain())/i)||1))),t.isObject(r)&&(a=r.step,r=r.interval),t.isString(r)&&(r=n.timeInterval(r,e.type)||t.error("Only time and utc scales accept interval strings."),a&&(r=r.every(a))),r}function s(e,n,r){var i=e.range(),a=Math.floor(i[0]),o=Math.ceil(t.peek(i));if(a>o&&(i=o,o=a,a=i),n=n.filter((function(n){return n=e(n),a<=n&&n<=o})),r>0&&n.length>1){for(var u=[n[0],t.peek(n)];n.length>r&&n.length>=3;)n=n.filter((function(e,n){return!(n%2)}));n.length<3&&(n=u)}return n}function f(e,n){return e.bins?s(e,e.bins):e.ticks?e.ticks(n):e.domain()}function c(e,t,a,o){var u,l,s=e.tickFormat?e.tickFormat(t,a):a&&o===n.Time?r.timeFormat(a):a?i.format(a):String;if(n.isLogarithmic(e.type)){var f=function(e){var n=i.formatSpecifier(e||",");if(null==n.precision){switch(n.precision=12,n.type){case"%":n.precision-=2;break;case"e":n.precision-=1}return t=i.format(n),r=i.format(".1f")(1)[1],function(e){var n,i,a=t(e),o=a.indexOf(r);if(o<0)return a;for(i=(n=function(e,n){var t,r=e.lastIndexOf("e");if(r>0)return r;for(r=e.length;--r>n;)if((t=e.charCodeAt(r))>=48&&t<=57)return r+1}(a,o))<a.length?a.slice(n):"";--n>o;)if("0"!==a[n]){++n;break}return a.slice(0,n)+i}}return i.format(n);var t,r}(a);s=e.bins?f:(u=s,l=f,function(e){return u(e)?l(e):""})}return s}function d(e){a.Transform.call(this,null,e)}function m(e){a.Transform.call(this,null,e)}function p(){return a.ingest({})}function h(e){return e.exit}function g(e){a.Transform.call(this,null,e)}t.inherits(d,a.Transform).transform=function(e,n){if(this.value&&!e.modified())return n.StopPropagation;var t=n.fork(n.NO_SOURCE|n.NO_FIELDS),r=this.value,i=e.scale,o=l(i,null==e.count?e.values?e.values.length:10:e.count,e.minstep),u=e.format||c(i,o,e.formatSpecifier,e.formatType),d=e.values?s(i,e.values,o):f(i,o);return r&&(t.rem=r),r=d.map((function(e,n){return a.ingest({index:n/(d.length-1||1),value:e,label:u(e)})})),e.extra&&r.length&&r.push(a.ingest({index:-1,extra:{value:r[0].value},label:""})),t.source=r,t.add=r,this.value=r,t},t.inherits(m,a.Transform).transform=function(e,n){var r=n.dataflow,i=n.fork(n.NO_SOURCE|n.NO_FIELDS),o=e.item||p,u=e.key||a.tupleid,l=this.value;return t.isArray(i.encode)&&(i.encode=null),l&&(e.modified("key")||n.modified(u))&&t.error("DataJoin does not support modified key function or fields."),l||(n=n.addAll(),this.value=l=t.fastmap().test(h),l.lookup=function(e){return l.get(u(e))}),n.visit(n.ADD,(function(e){var n=u(e),t=l.get(n);t?t.exit?(l.empty--,i.add.push(t)):i.mod.push(t):(l.set(n,t=o(e)),i.add.push(t)),t.datum=e,t.exit=!1})),n.visit(n.MOD,(function(e){var n=u(e),t=l.get(n);t&&(t.datum=e,i.mod.push(t))})),n.visit(n.REM,(function(e){var n=u(e),t=l.get(n);e!==t.datum||t.exit||(i.rem.push(t),t.exit=!0,++l.empty)})),n.changed(n.ADD_MOD)&&i.modifies("datum"),e.clean&&l.empty>r.cleanThreshold&&r.runAfter(l.clean),i},t.inherits(g,a.Transform).transform=function(e,n){var r=n.fork(n.ADD_REM),i=e.mod||!1,a=e.encoders,o=n.encode;if(t.isArray(o)){if(!r.changed()&&!o.every((function(e){return a[e]})))return n.StopPropagation;o=o[0],r.encode=null}var u="enter"===o,l=a.update||t.falsy,s=a.enter||t.falsy,f=a.exit||t.falsy,c=(o&&!u?a[o]:l)||t.falsy;if(n.changed(n.ADD)&&(n.visit(n.ADD,(function(n){s(n,e),l(n,e)})),r.modifies(s.output),r.modifies(l.output),c!==t.falsy&&c!==l&&(n.visit(n.ADD,(function(n){c(n,e)})),r.modifies(c.output))),n.changed(n.REM)&&f!==t.falsy&&(n.visit(n.REM,(function(n){f(n,e)})),r.modifies(f.output)),u||c!==t.falsy){var d=n.MOD|(e.modified()?n.REFLOW:0);u?(n.visit(d,(function(n){var t=s(n,e)||i;(c(n,e)||t)&&r.mod.push(n)})),r.mod.length&&r.modifies(s.output)):n.visit(d,(function(n){(c(n,e)||i)&&r.mod.push(n)})),r.mod.length&&r.modifies(c.output)}return r.changed()?r:n.StopPropagation};var v="symbol",y="discrete";const M={[n.Quantile]:"quantiles",[n.Quantize]:"thresholds",[n.Threshold]:"domain"},b={[n.Quantile]:"quantiles",[n.Quantize]:"domain"};function x(e,n){return e.bins?function(e){const n=e.slice(0,-1);return n.max=t.peek(e),n}(e.bins):M[e.type]?function(e){const n=[-1/0].concat(e);return n.max=1/0,n}(e[M[e.type]]()):f(e,n)}function S(e,t,r,i,a){const o=b[e.type]&&a!==n.Time?function(e,t){var r,i=e[b[e.type]](),a=i.length,o=a>1?i[1]-i[0]:i[0];for(r=1;r<a;++r)o=Math.min(o,i[r]-i[r-1]);return n.tickFormat(0,o,30,t)}(e,i):c(e,t,i,a);return r===v&&function(e){return M[e.type]||e.bins}(e)?function(e){return function(n,t,r){var i=r[t+1]||r.max||1/0,a=k(n,e),o=k(i,e);return a&&o?a+"–"+o:o?"< "+o:"≥ "+a}}(o):r===y?function(e){return function(n,t){return t?e(n):null}}(o):function(e){return function(n){return e(n)}}(o)}function k(e,n){return isFinite(e)?n(e):null}function O(e){a.Transform.call(this,[],e)}t.inherits(O,a.Transform).transform=function(e,r){if(null!=this.value&&!e.modified())return r.StopPropagation;var i,o,u,s,f,c=r.fork(r.NO_SOURCE|r.NO_FIELDS),d=this.value,m=e.type||v,p=e.scale,h=+e.limit,g=l(p,null==e.count?5:e.count,e.minstep),y=e.format||S(p,g,m,e.formatSpecifier,e.formatType),M=e.values||x(p,g);return d&&(c.rem=d),m===v?(h&&M.length>h?(r.dataflow.warn("Symbol legend count exceeds limit, filtering items."),d=M.slice(0,h-1),f=!0):d=M,t.isFunction(u=e.size)?(e.values||0!==p(d[0])||(d=d.slice(1)),s=d.reduce((function(n,t){return Math.max(n,u(t,e))}),0)):u=t.constant(s=u||8),d=d.map((function(n,t){return a.ingest({index:t,label:y(n,t,M),value:n,offset:s,size:u(n,e)})})),f&&(f=M[d.length],d.push(a.ingest({index:d.length,label:`…${M.length-d.length} entries`,value:f,offset:s,size:u(f,e)})))):"gradient"===m?(i=p.domain(),o=n.scaleFraction(p,i[0],t.peek(i)),M.length<3&&!e.values&&i[0]!==t.peek(i)&&(M=[i[0],t.peek(i)]),d=M.map((function(e,n){return a.ingest({index:n,label:y(e,n,M),value:e,perc:o(e)})}))):(u=M.length-1,o=function(e){var r=e.domain(),i=r.length-1,a=+r[0],o=+t.peek(r),u=o-a;if(e.type===n.Threshold){var l=i?u/i:.1;u=(o+=l)-(a-=l)}return function(e){return(e-a)/u}}(p),d=M.map((function(e,n){return a.ingest({index:n,label:y(e,n,M),value:e,perc:n?o(e):0,perc2:n===u?1:o(M[n+1])})}))),c.source=d,c.add=d,this.value=d,c};var T=t.fastmap({line:L,"line-radial":function(e,n,t,r){return L(n*Math.cos(e),n*Math.sin(e),r*Math.cos(t),r*Math.sin(t))},arc:q,"arc-radial":function(e,n,t,r){return q(n*Math.cos(e),n*Math.sin(e),r*Math.cos(t),r*Math.sin(t))},curve:F,"curve-radial":function(e,n,t,r){return F(n*Math.cos(e),n*Math.sin(e),r*Math.cos(t),r*Math.sin(t))},"orthogonal-horizontal":function(e,n,t,r){return"M"+e+","+n+"V"+r+"H"+t},"orthogonal-vertical":function(e,n,t,r){return"M"+e+","+n+"H"+t+"V"+r},"orthogonal-radial":function(e,n,t,r){var i=Math.cos(e),a=Math.sin(e),o=Math.cos(t),u=Math.sin(t),l=Math.abs(t-e)>Math.PI?t<=e:t>e;return"M"+n*i+","+n*a+"A"+n+","+n+" 0 0,"+(l?1:0)+" "+n*o+","+n*u+"L"+r*o+","+r*u},"diagonal-horizontal":function(e,n,t,r){var i=(e+t)/2;return"M"+e+","+n+"C"+i+","+n+" "+i+","+r+" "+t+","+r},"diagonal-vertical":function(e,n,t,r){var i=(n+r)/2;return"M"+e+","+n+"C"+e+","+i+" "+t+","+i+" "+t+","+r},"diagonal-radial":function(e,n,t,r){var i=Math.cos(e),a=Math.sin(e),o=Math.cos(t),u=Math.sin(t),l=(n+r)/2;return"M"+n*i+","+n*a+"C"+l*i+","+l*a+" "+l*o+","+l*u+" "+r*o+","+r*u}});function D(e){return e.source.x}function w(e){return e.source.y}function A(e){return e.target.x}function z(e){return e.target.y}function C(e){a.Transform.call(this,{},e)}function L(e,n,t,r){return"M"+e+","+n+"L"+t+","+r}function q(e,n,t,r){var i=t-e,a=r-n,o=Math.sqrt(i*i+a*a)/2;return"M"+e+","+n+"A"+o+","+o+" "+180*Math.atan2(a,i)/Math.PI+" 0 1 "+t+","+r}function F(e,n,t,r){var i=t-e,a=r-n,o=.2*(i+a),u=.2*(a-i);return"M"+e+","+n+"C"+(e+o)+","+(n+u)+" "+(t+u)+","+(r-o)+" "+t+","+r}function I(e){a.Transform.call(this,null,e)}C.Definition={type:"LinkPath",metadata:{modifies:!0},params:[{name:"sourceX",type:"field",default:"source.x"},{name:"sourceY",type:"field",default:"source.y"},{name:"targetX",type:"field",default:"target.x"},{name:"targetY",type:"field",default:"target.y"},{name:"orient",type:"enum",default:"vertical",values:["horizontal","vertical","radial"]},{name:"shape",type:"enum",default:"line",values:["line","arc","curve","diagonal","orthogonal"]},{name:"require",type:"signal"},{name:"as",type:"string",default:"path"}]},t.inherits(C,a.Transform).transform=function(e,n){var r=e.sourceX||D,i=e.sourceY||w,a=e.targetX||A,o=e.targetY||z,u=e.as||"path",l=e.orient||"vertical",s=e.shape||"line",f=T.get(s+"-"+l)||T.get(s);return f||t.error("LinkPath unsupported type: "+e.shape+(e.orient?"-"+e.orient:"")),n.visit(n.SOURCE,(function(e){e[u]=f(r(e),i(e),a(e),o(e))})),n.reflow(e.modified()).modifies(u)},I.Definition={type:"Pie",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"startAngle",type:"number",default:0},{name:"endAngle",type:"number",default:6.283185307179586},{name:"sort",type:"boolean",default:!1},{name:"as",type:"string",array:!0,length:2,default:["startAngle","endAngle"]}]},t.inherits(I,a.Transform).transform=function(e,n){var r,i,a,u=e.as||["startAngle","endAngle"],l=u[0],s=u[1],f=e.field||t.one,c=e.startAngle||0,d=null!=e.endAngle?e.endAngle:2*Math.PI,m=n.source,p=m.map(f),h=p.length,g=c,v=(d-c)/o.sum(p),y=o.range(h);for(e.sort&&y.sort((function(e,n){return p[e]-p[n]})),r=0;r<h;++r)a=p[y[r]],(i=m[y[r]])[l]=g,i[s]=g+=a*v;return this.value=p,n.reflow(e.modified()).modifies(u)};var P=5;function E(e){return n.isContinuous(e)&&e!==n.Sequential}var R=t.toSet(["set","modified","clear","type","scheme","schemeExtent","schemeCount","domain","domainMin","domainMid","domainMax","domainRaw","domainImplicit","nice","zero","bins","range","rangeStep","round","reverse","interpolate","interpolateGamma"]);function _(e){a.Transform.call(this,null,e),this.modified(!0)}function N(e,r,i){n.isLogarithmic(e)&&(Math.abs(r.reduce((function(e,n){return e+(n<0?-1:n>0?1:0)}),0))!==r.length&&i.warn("Log scale domain includes zero: "+t.stringValue(r)));return r}function U(e,r,i){return t.isFunction(e)&&(r||i)?n.interpolateRange(e,Q(r||[0,1],i)):e}function Q(e,n){return n?e.slice().reverse():e}function j(e){a.Transform.call(this,null,e)}t.inherits(_,a.Transform).transform=function(e,r){var i=r.dataflow,a=this.value,s=function(e){var r,i=e.type,a="";if(i===n.Sequential)return n.Sequential+"-"+n.Linear;(function(e){const r=e.type;return n.isContinuous(r)&&r!==n.Time&&r!==n.UTC&&(e.scheme||e.range&&e.range.length&&e.range.every(t.isString))})(e)&&(r=e.rawDomain?e.rawDomain.length:e.domain?e.domain.length+ +(null!=e.domainMid):0,a=2===r?n.Sequential+"-":3===r?n.Diverging+"-":"");return(a+i||n.Linear).toLowerCase()}(e);for(s in a&&s===a.type||(this.value=a=n.scale(s)()),e)if(!R[s]){if("padding"===s&&E(a.type))continue;t.isFunction(a[s])?a[s](e[s]):i.warn("Unsupported scale property: "+s)}return function(e,r,i){var a=e.type,o=r.round||!1,l=r.range;if(null!=r.rangeStep)l=function(e,r,i){e!==n.Band&&e!==n.Point&&t.error("Only band and point scales support rangeStep.");var a=(null!=r.paddingOuter?r.paddingOuter:r.padding)||0,o=e===n.Point?1:(null!=r.paddingInner?r.paddingInner:r.padding)||0;return[0,r.rangeStep*n.bandSpace(i,o,a)]}(a,r,i);else if(r.scheme&&(l=function(e,r,i){var a,o,u=r.schemeExtent;t.isArray(r.scheme)?o=n.interpolateColors(r.scheme,r.interpolate,r.interpolateGamma):(a=r.scheme.toLowerCase(),(o=n.scheme(a))||t.error(`Unrecognized scheme name: ${r.scheme}`));return i=e===n.Threshold?i+1:e===n.BinOrdinal?i-1:e===n.Quantile||e===n.Quantize?+r.schemeCount||P:i,n.isInterpolating(e)?U(o,u,r.reverse):t.isFunction(o)?n.quantizeInterpolator(U(o,u),i):e===n.Ordinal?o:o.slice(0,i)}(a,r,i),t.isFunction(l))){if(e.interpolator)return e.interpolator(l);t.error(`Scale type ${a} does not support interpolating color schemes.`)}if(l&&n.isInterpolating(a))return e.interpolator(n.interpolateColors(Q(l,r.reverse),r.interpolate,r.interpolateGamma));l&&r.interpolate&&e.interpolate?e.interpolate(n.interpolate(r.interpolate,r.interpolateGamma)):t.isFunction(e.round)?e.round(o):t.isFunction(e.rangeRound)&&e.interpolate(o?u.interpolateRound:u.interpolate);l&&e.range(Q(l,r.reverse))}(a,e,function(e,r,i){let a=r.bins;if(a&&!t.isArray(a)){let n=e.domain(),r=n[0],i=t.peek(n),u=null==a.start?r:a.start,l=null==a.stop?i:a.stop,s=a.step;s||t.error("Scale bins parameter missing step property."),u<r&&(u=s*Math.ceil(r/s)),l>i&&(l=s*Math.floor(i/s)),a=o.range(u,l+s/2,s)}a?e.bins=a:e.bins&&delete e.bins;e.type===n.BinOrdinal&&(a?r.domain||r.domainRaw||(e.domain(a),i=a.length):e.bins=e.domain());return i}(a,e,function(e,r,i){var a=function(e,n,t){return n?(e.domain(N(e.type,n,t)),n.length):-1}(e,r.domainRaw,i);if(a>-1)return a;var o,u,s=r.domain,f=e.type,c=r.zero||void 0===r.zero&&function(e){const t=e.type;return!e.bins&&(t===n.Linear||t===n.Pow||t===n.Sqrt)}(e);if(!s)return 0;E(f)&&r.padding&&s[0]!==t.peek(s)&&(s=function(e,r,i,a,o,u){var l=Math.abs(t.peek(i)-i[0]),s=l/(l-2*a),f=e===n.Log?t.zoomLog(r,null,s):e===n.Sqrt?t.zoomPow(r,null,s,.5):e===n.Pow?t.zoomPow(r,null,s,o||1):e===n.Symlog?t.zoomSymlog(r,null,s,u||1):t.zoomLinear(r,null,s);return(r=r.slice())[0]=f[0],r[r.length-1]=f[1],r}(f,s,r.range,r.padding,r.exponent,r.constant));(c||null!=r.domainMin||null!=r.domainMax||null!=r.domainMid)&&(o=(s=s.slice()).length-1||1,c&&(s[0]>0&&(s[0]=0),s[o]<0&&(s[o]=0)),null!=r.domainMin&&(s[0]=r.domainMin),null!=r.domainMax&&(s[o]=r.domainMax),null!=r.domainMid&&(((u=r.domainMid)<s[0]||u>s[o])&&i.warn("Scale domainMid exceeds domain min or max.",u),s.splice(o,0,u)));e.domain(N(f,s,i)),f===n.Ordinal&&e.unknown(r.domainImplicit?n.scaleImplicit:void 0);r.nice&&e.nice&&e.nice(!0!==r.nice&&l(e,r.nice)||null);return s.length}(a,e,i))),r.fork(r.NO_SOURCE|r.NO_FIELDS)},t.inherits(j,a.Transform).transform=function(e,n){var t=e.modified("sort")||n.changed(n.ADD)||n.modified(e.sort.fields)||n.modified("datum");return t&&n.source.sort(a.stableCompare(e.sort)),this.modified(t),n};var G=["y0","y1"];function X(e){a.Transform.call(this,null,e)}function Y(e,n,t,r,i){for(var a,o=(n-e.sum)/2,u=e.length,l=0;l<u;++l)(a=e[l])[r]=o,a[i]=o+=Math.abs(t(a))}function B(e,n,t,r,i){for(var a,o=1/e.sum,u=0,l=e.length,s=0,f=0;s<l;++s)(a=e[s])[r]=u,a[i]=u=o*(f+=Math.abs(t(a)))}function V(e,n,t,r,i){for(var a,o,u=0,l=0,s=e.length,f=0;f<s;++f)(a=+t(o=e[f]))<0?(o[r]=l,o[i]=l+=a):(o[r]=u,o[i]=u+=a)}X.Definition={type:"Stack",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"groupby",type:"field",array:!0},{name:"sort",type:"compare"},{name:"offset",type:"enum",default:"zero",values:["zero","center","normalize"]},{name:"as",type:"string",array:!0,length:2,default:G}]},t.inherits(X,a.Transform).transform=function(e,n){var r,i,o,u,l=e.as||G,s=l[0],f=l[1],c=a.stableCompare(e.sort),d=e.field||t.one,m="center"===e.offset?Y:"normalize"===e.offset?B:V;for(r=function(e,n,t,r){var i,a,o,u,l,s,f,c,d,m=[],p=function(e){return e(l)};if(null==n)m.push(e.slice());else for(i={},a=0,o=e.length;a<o;++a)l=e[a],s=n.map(p),(f=i[s])||(i[s]=f=[],m.push(f)),f.push(l);for(s=0,d=0,u=m.length;s<u;++s){for(f=m[s],a=0,c=0,o=f.length;a<o;++a)c+=Math.abs(r(f[a]));f.sum=c,c>d&&(d=c),t&&f.sort(t)}return m.max=d,m}(n.source,e.groupby,c,d),i=0,o=r.length,u=r.max;i<o;++i)m(r[i],u,d,s,f);return n.reflow(e.modified()).modifies(l)},e.axisticks=d,e.datajoin=m,e.encode=g,e.legendentries=O,e.linkpath=C,e.pie=I,e.scale=_,e.sortitems=j,e.stack=X,e.validTicks=s,Object.defineProperty(e,"__esModule",{value:!0})}));
\No newline at end of file