UNPKG

@d3fc/d3fc-series

Version:

A collection of components for rendering data series to SVG and canvas, including line, bar, OHLC, candlestick and more

2 lines (1 loc) 36.5 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@d3fc/d3fc-data-join"),require("d3-shape"),require("d3-selection"),require("@d3fc/d3fc-rebind"),require("d3-scale"),require("@d3fc/d3fc-webgl"),require("@d3fc/d3fc-shape"),require("d3-array"),require("d3-scale-chromatic")):"function"==typeof define&&define.amd?define(["exports","@d3fc/d3fc-data-join","d3-shape","d3-selection","@d3fc/d3fc-rebind","d3-scale","@d3fc/d3fc-webgl","@d3fc/d3fc-shape","d3-array","d3-scale-chromatic"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).fc=e.fc||{},e.fc,e.d3,e.d3,e.fc,e.d3,e.fc,e.fc,e.d3,e.d3)}(this,(function(e,t,n,r,i,a,l,u,o,c){"use strict";var d=function(e){return"function"==typeof e?e:function(){return e}};function s(){var e=arguments;return function(t,n){for(var r=0,i=e.length;r<i;r++)if(null==e[r](t,n))return!1;return!0}}var f=function(e,t){switch(e){case"left":return t/2;case"right":return-t/2;default:return 0}},h=function(e){var t=Object.assign({},e),n=function(){};return Object.keys(t).forEach((function(e){n[e]=function(){return arguments.length?(t[e]=arguments.length<=0?void 0:arguments[0],n):t[e]}})),n},g=function(){var e=function(){return 0},t=function(e){return e.x},n=function(e){return e.y},r="center",i=function(){return 5},l="vertical",u=h({decorate:function(){},defined:function(r,i){return s(e,t,n)(r,i)},xScale:a.scaleIdentity(),yScale:a.scaleIdentity()});return u.values=function(a,o){var c=i(a,o),d=f(r,c),s=u.xScale(),h=u.yScale();if("vertical"===l){var g=h(n(a,o),o),v=h(e(a,o),o),b=s(t(a,o),o)+d;return{d:a,x:b,y:g,y0:v,width:c,height:g-v,origin:[b,g],baseOrigin:[b,v],transposedX:b,transposedY:g}}var p=s(n(a,o),o),w=s(e(a,o),o),S=h(t(a,o),o)+d;return{d:a,x:S,y:p,y0:w,width:c,height:p-w,origin:[p,S],baseOrigin:[w,S],transposedX:p,transposedY:S}},u.xValues=function(){return"vertical"===l?[t]:[e,n]},u.yValues=function(){return"vertical"!==l?[t]:[e,n]},u.baseValue=function(){return arguments.length?(e=d(arguments.length<=0?void 0:arguments[0]),u):e},u.crossValue=function(){return arguments.length?(t=d(arguments.length<=0?void 0:arguments[0]),u):t},u.mainValue=function(){return arguments.length?(n=d(arguments.length<=0?void 0:arguments[0]),u):n},u.bandwidth=function(){return arguments.length?(i=d(arguments.length<=0?void 0:arguments[0]),u):i},u.align=function(){return arguments.length?(r=arguments.length<=0?void 0:arguments[0],u):r},u.orient=function(){return arguments.length?(l=arguments.length<=0?void 0:arguments[0],u):l},u},v="#c60",b="#6c0",p="#000",w="#ddd",S="#999",y=function(){var e=g(),a=n.line().x((function(t,n){return e.values(t,n).transposedX})).y((function(t,n){return e.values(t,n).transposedY})),l=t.dataJoin("path","line"),u=function(n){t.isTransition(n)&&l.transition(n),a.defined(e.defined()),n.each((function(t,n,i){var u=l(r.select(i[n]),[t]);u.enter().attr("fill","none").attr("stroke",p),u.attr("d",a),e.decorate()(u,t,n)}))};return i.rebindAll(u,e,i.exclude("baseValue","bandwidth","align")),i.rebind(u,l,"key"),i.rebind(u,a,"curve"),u},x=function(){var e=g(),t=n.line().x((function(t,n){return e.values(t,n).transposedX})).y((function(t,n){return e.values(t,n).transposedY})),r=function(n){var r=t.context();r.beginPath(),r.strokeStyle=p,r.fillStyle="transparent",e.decorate()(r,n),t.defined(e.defined())(n),r.fill(),r.stroke(),r.closePath()};return i.rebindAll(r,e,i.exclude("baseValue","bandwidth","align")),i.rebind(r,t,"curve","context"),r},A=function(){var e=g(),t=l.webglAdjacentAttribute(0,1),n=t.offset(1),r=l.webglAdjacentAttribute(0,1),a=r.offset(1),u=l.webglAdjacentAttribute(0,1).type(l.webglTypes.UNSIGNED_BYTE),o=u.offset(1),c=l.webglSeriesLine().crossValueAttribute(t).crossNextValueAttribute(n).mainValueAttribute(r).mainNextValueAttribute(a).definedAttribute(u).definedNextAttribute(o),d=function(e,t){return!1},s=l.webglScaleMapper,f=[],h=null,v=null,b=function(n){var i=s(e.xScale()),a=s(e.yScale()),l=!d(f,n);l&&(f=n,u.value((function(t,n){return e.defined()(t,n)})).data(n)),(l||i.scale!==h)&&(h=i.scale,"vertical"===e.orient()?t.value((function(t,n){return i.scale(e.crossValue()(t,n))})).data(n):t.value((function(t,n){return i.scale(e.mainValue()(t,n))})).data(n)),(l||a.scale!==v)&&(v=a.scale,"vertical"===e.orient()?r.value((function(t,n){return a.scale(e.mainValue()(t,n))})).data(n):r.value((function(t,n){return a.scale(e.crossValue()(t,n))})).data(n)),c.xScale(i.webglScale).yScale(a.webglScale).decorate((function(t){return e.decorate()(t,n,0)})),c(n.length)};return b.equals=function(){return arguments.length?(d=arguments.length<=0?void 0:arguments[0],b):d},b.scaleMapper=function(){return arguments.length?(s=arguments.length<=0?void 0:arguments[0],b):s},i.rebindAll(b,e,i.exclude("baseValue","bandwidth","align")),i.rebind(b,c,"context","lineWidth","pixelRatio"),b},V=function(){var e=function(e){return e.high},t=function(e){return e.low},n=function(e){return e.cross},r="vertical",i="center",l=function(){return 5},u=h({decorate:function(){},defined:function(r,i){return s(t,e,n)(r,i)},xScale:a.scaleIdentity(),yScale:a.scaleIdentity()});return u.values=function(a,o){var c=l(a,o),d=f(i,c),s=u.xScale(),h=u.yScale();if("vertical"===r){var g=h(e(a,o));return{origin:[s(n(a,o))+d,g],high:0,low:h(t(a,o))-g,width:c}}var v=s(t(a,o));return{origin:[v,h(n(a,o))+d],high:s(e(a,o))-v,low:0,width:c}},u.xValues=function(){return"vertical"===r?[n]:[e,t]},u.yValues=function(){return"vertical"!==r?[n]:[e,t]},u.orient=function(){return arguments.length?(r=arguments.length<=0?void 0:arguments[0],u):r},u.lowValue=function(){return arguments.length?(t=d(arguments.length<=0?void 0:arguments[0]),u):t},u.highValue=function(){return arguments.length?(e=d(arguments.length<=0?void 0:arguments[0]),u):e},u.crossValue=function(){return arguments.length?(n=d(arguments.length<=0?void 0:arguments[0]),u):n},u.bandwidth=function(){return arguments.length?(l=d(arguments.length<=0?void 0:arguments[0]),u):l},u.align=function(){return arguments.length?(i=arguments.length<=0?void 0:arguments[0],u):i},u},m=function(){var e,t=function(e){return e.date},n=function(e){return e.open},r=function(e){return e.high},i=function(e){return e.low},l=function(e){return e.close},u=function(){return 5},o="center",c=function(n,r){return e.xScale()(t(n,r))};return(e=h({decorate:function(){},defined:function(e,a){return s(t,n,i,r,l)(e,a)},xScale:a.scaleIdentity(),yScale:a.scaleIdentity()})).values=function(t,a){var d=l(t,a),s=n(t,a),h=u(t,a),g=f(o,h),v="";return d>s?v="up":d<s&&(v="down"),{cross:c(t,a)+g,open:e.yScale()(s),high:e.yScale()(r(t,a)),low:e.yScale()(i(t,a)),close:e.yScale()(d),width:h,direction:v}},e.xValues=function(){return[t]},e.yValues=function(){return[n,r,i,l]},e.crossValue=function(){return arguments.length?(t=arguments.length<=0?void 0:arguments[0],e):t},e.openValue=function(){return arguments.length?(n=arguments.length<=0?void 0:arguments[0],e):n},e.highValue=function(){return arguments.length?(r=arguments.length<=0?void 0:arguments[0],e):r},e.lowValue=function(){return arguments.length?(i=arguments.length<=0?void 0:arguments[0],e):i},e.yValue=e.closeValue=function(){return arguments.length?(l=arguments.length<=0?void 0:arguments[0],e):l},e.bandwidth=function(){return arguments.length?(u=d(arguments.length<=0?void 0:arguments[0]),e):u},e.align=function(){return arguments.length?(o=arguments.length<=0?void 0:arguments[0],e):o},e},E=function(e,n){var a=m(),l=t.dataJoin("g",n),u=function(e){return"translate("+e.cross+", "+e.high+")"},o=function(i){t.isTransition(i)&&l.transition(i);var o,c=(o=i,function(e){return t.isTransition(o)?e.transition(o):e});i.each((function(t,i,o){var d=t.filter(a.defined()),s=l(r.select(o[i]),d);s.enter().attr("transform",(function(e,t){return u(a.values(e,t))+" scale(1e-6, 1)"})).append("path"),s.each((function(t,i,l){var o=a.values(t,i),d="up"===o.direction?b:v,s=c(r.select(l[i])).attr("class",n+" "+o.direction).attr("stroke",d).attr("fill",d).attr("transform",(function(){return u(o)+" scale(1)"}));e.x(0).width(o.width).open((function(){return o.open-o.high})).high(0).low((function(){return o.low-o.high})).close((function(){return o.close-o.high})),s.select("path").attr("d",e([t]))})),a.decorate()(s,t,i)}))};return i.rebind(o,l,"key"),i.rebindAll(o,a),o},T=function(e){var t=m(),n=function(n){var r=n.filter(t.defined()),i=e.context();r.forEach((function(n,r){i.save();var a=t.values(n,r);i.translate(a.cross,a.high),i.beginPath(),e.x(0).open((function(){return a.open-a.high})).width(a.width).high(0).low((function(){return a.low-a.high})).close((function(){return a.close-a.high}))([n]);var l="up"===a.direction?b:v;i.strokeStyle=l,i.fillStyle=l,t.decorate()(i,n,r),i.fill(),i.stroke(),i.closePath(),i.restore()}))};return i.rebind(n,e,"context"),i.rebindAll(n,t),n},k=function(e){var t=m(),n=l.webglAttribute(),r=l.webglAttribute(),a=l.webglAttribute(),u=l.webglAttribute(),o=l.webglAttribute(),c=l.webglAttribute().type(l.webglTypes.UNSIGNED_SHORT),d=l.webglAttribute().type(l.webglTypes.UNSIGNED_BYTE);e.crossValueAttribute(n).openValueAttribute(r).highValueAttribute(a).lowValueAttribute(u).closeValueAttribute(o).bandwidthAttribute(c).definedAttribute(d);var s=function(e,t){return!1},f=l.webglScaleMapper,h=[],g=null,v=null,b=function(i){var l=f(t.xScale()),b=f(t.yScale()),p=!s(h,i);p&&(h=i,c.value((function(e,n){return t.bandwidth()(e,n)})).data(i),d.value((function(e,n){return t.defined()(e,n)})).data(i)),(p||l.scale!==g)&&(g=l.scale,n.value((function(e,n){return l.scale(t.crossValue()(e,n))})).data(i)),(p||b.scale!==v)&&(v=b.scale,r.value((function(e,n){return b.scale(t.openValue()(e,n))})).data(i),a.value((function(e,n){return b.scale(t.highValue()(e,n))})).data(i),u.value((function(e,n){return b.scale(t.lowValue()(e,n))})).data(i),o.value((function(e,n){return b.scale(t.closeValue()(e,n))})).data(i)),e.xScale(l.webglScale).yScale(b.webglScale).decorate((function(e){return t.decorate()(e,i,0)})),e(i.length)};return b.equals=function(){return arguments.length?(s=arguments.length<=0?void 0:arguments[0],b):s},b.scaleMapper=function(){return arguments.length?(f=arguments.length<=0?void 0:arguments[0],b):f},i.rebindAll(b,t,i.exclude("align")),i.rebind(b,e,"context","lineWidth","pixelRatio"),b},B=function(){var e=function(e){return e.upperQuartile},t=function(e){return e.lowerQuartile},n=function(e){return e.high},r=function(e){return e.low},i=function(e){return e.value},l=function(e){return e.median},u="vertical",o="center",c=function(){return 5},g=h({decorate:function(){},defined:function(a,u){return s(r,n,t,e,i,l)(a,u)},xScale:a.scaleIdentity(),yScale:a.scaleIdentity()});return g.values=function(a,d){var s=c(a,d),h=f(o,s),v=g.xScale(),b=g.yScale();if("vertical"===u){var p=b(n(a,d));return{origin:[v(i(a,d))+h,p],high:0,upperQuartile:b(e(a,d))-p,median:b(l(a,d))-p,lowerQuartile:b(t(a,d))-p,low:b(r(a,d))-p,width:s}}var w=v(r(a,d));return{origin:[w,b(i(a,d))+h],high:v(n(a,d))-w,upperQuartile:v(e(a,d))-w,median:v(l(a,d))-w,lowerQuartile:v(t(a,d))-w,low:0,width:s}},g.xValues=function(){return"vertical"===u?[i]:[e,t,n,r,l]},g.yValues=function(){return"vertical"!==u?[i]:[e,t,n,r,l]},g.orient=function(){return arguments.length?(u=arguments.length<=0?void 0:arguments[0],g):u},g.lowerQuartileValue=function(){return arguments.length?(t=d(arguments.length<=0?void 0:arguments[0]),g):t},g.upperQuartileValue=function(){return arguments.length?(e=d(arguments.length<=0?void 0:arguments[0]),g):e},g.lowValue=function(){return arguments.length?(r=d(arguments.length<=0?void 0:arguments[0]),g):r},g.highValue=function(){return arguments.length?(n=d(arguments.length<=0?void 0:arguments[0]),g):n},g.crossValue=function(){return arguments.length?(i=d(arguments.length<=0?void 0:arguments[0]),g):i},g.medianValue=function(){return arguments.length?(l=d(arguments.length<=0?void 0:arguments[0]),g):l},g.bandwidth=function(){return arguments.length?(c=d(arguments.length<=0?void 0:arguments[0]),g):c},g.align=function(){return arguments.length?(o=arguments.length<=0?void 0:arguments[0],g):o},g},N=function(){var e=[],t=function(e){return e},n=function(e,t){return t},r=h({decorate:function(){},xScale:a.scaleIdentity(),yScale:a.scaleIdentity()});return r.xValues=function(){return e.map((function(e){return e.xValues()})).reduce((function(e,t){return e.concat(t)}))},r.yValues=function(){return e.map((function(e){return e.yValues()})).reduce((function(e,t){return e.concat(t)}))},r.mapping=function(){return arguments.length?(t=arguments.length<=0?void 0:arguments[0],r):t},r.key=function(){return arguments.length?(n=arguments.length<=0?void 0:arguments[0],r):n},r.series=function(){return arguments.length?(e=arguments.length<=0?void 0:arguments[0],r):e},r},I=function(){var e=N(),n=t.dataJoin("g"),a=t.dataJoin("g","multi"),l=function(i){t.isTransition(i)&&(a.transition(i),n.transition(i));var l=e.mapping(),u=e.series(),o=e.xScale(),c=e.yScale();i.each((function(t,i,d){var s=a(r.select(d[i]),u);s.each((function(e,i,a){e.xScale(o).yScale(c);var d=l(t,i,u);n(r.select(a[i]),[d]).call(e)})),s.selection().order(),e.decorate()(s,t,i)}))};return i.rebindAll(l,e),i.rebind(l,a,"key"),l},P=function(){var e=null,t=N(),n=function(n){var r=t.mapping(),i=t.series(),a=t.xScale(),l=t.yScale();i.forEach((function(u,o){var c,d=r(n,o,i);u.context(e).xScale(a).yScale(l),u.decorate?(c=u.decorate(),u.decorate((function(e,r,i){t.decorate()(e,n,o),c(e,r,i)}))):t.decorate()(e,n,o),u(d),c&&u.decorate(c)}))};return n.context=function(){return arguments.length?(e=arguments.length<=0?void 0:arguments[0],n):e},i.rebindAll(n,t),n},M=function(){var e=null,t=1,n=N(),r=function(r){var i=n.mapping(),a=n.series(),l=n.xScale(),u=n.yScale();a.forEach((function(o,c){var d,s=i(r,c,a);o.context(e).pixelRatio(t).xScale(l).yScale(u),o.decorate?(d=o.decorate(),o.decorate((function(e,t,i){n.decorate()(e,r,c),d(e,t,i)}))):n.decorate()(e,r,c),o(s),d&&o.decorate(d)}))};return r.context=function(){return arguments.length?(e=arguments.length<=0?void 0:arguments[0],r):e},r.pixelRatio=function(){return arguments.length?(t=arguments.length<=0?void 0:arguments[0],r):t},i.rebindAll(r,n),r},G=function(e){var t=function(){return 50},n="center",r=a.scaleBand(),l=h({decorate:function(){},xScale:a.scaleLinear(),yScale:a.scaleLinear()});return l.offsetScaleForDatum=function(e,i,a){var l=t(i,a),u=f(n,l),c=l/2;return r.domain(o.range(0,e.length)).range([-c+u,c+u])},l.bandwidth=function(){return arguments.length?(t=d(arguments.length<=0?void 0:arguments[0]),l):t},l.align=function(){return arguments.length?(n=arguments.length<=0?void 0:arguments[0],l):n},i.rebindAll(l,r,i.includeMap({paddingInner:"paddingOuter"})),l};function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function C(e){return function(e){if(Array.isArray(e))return O(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return O(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?O(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var D=function(){var e=function(e){return e.x},t=function(e){return e.y},n=function(e){return e.color},r=function(){return 5},l=function(){return 5},f=c.interpolateViridis,g=h({decorate:function(){},defined:function(r,i){return s(e,t,n)(r,i)},xScale:a.scaleIdentity(),yScale:a.scaleIdentity()});return g.pathGenerator=u.shapeBar().x(0).y(0),g.colorScale=function(e){var t=e.map(n);return a.scaleLinear().domain([o.min(t),o.max(t)])},g.values=function(i,a){return{x:g.xScale()(e(i,a)),y:g.yScale()(t(i,a)),colorValue:n(i,a),width:l(i,a),height:r(i,a)}},g.xValues=function(){return[e]},g.yValues=function(){return[t]},g.xValue=function(){return arguments.length?(e=d(arguments.length<=0?void 0:arguments[0]),g):e},g.yValue=function(){return arguments.length?(t=d(arguments.length<=0?void 0:arguments[0]),g):t},g.colorValue=function(){return arguments.length?(n=d(arguments.length<=0?void 0:arguments[0]),g):n},g.colorInterpolate=function(){return arguments.length?(f=arguments.length<=0?void 0:arguments[0],g):f},g.xBandwidth=function(){return arguments.length?(l=d(arguments.length<=0?void 0:arguments[0]),g):l},g.yBandwidth=function(){return arguments.length?(r=d(arguments.length<=0?void 0:arguments[0]),g):r},i.rebindAll(g,g.pathGenerator,i.includeMap({horizontalAlign:"xAlign",verticalAlign:"yAlign"})),g};e.autoBandwidth=function(e){var t=.75,n=function(e){if(e.length<=1)return 10;e=e.sort(o.ascending).filter((function(e,t,n){return-1===n.indexOf(e,t+1)}));var n=o.pairs(e).map((function(e){return Math.abs(e[0]-e[1])})),r=o.min(n);return t*r},a=function(t,r,i){if(t.bandwidth)return t.bandwidth();var a,l=(Array.isArray(r)?(a=[]).concat.apply(a,C(r)):r).filter(e.defined()).map(i()).map(t);return n(l)},l=function(t){var n=function(t){if(e.xBandwidth&&e.yBandwidth)e.xBandwidth(a(e.xScale(),t,e.xValue)),e.yBandwidth(a(e.yScale(),t,e.yValue));else{var n=e.orient&&"horizontal"===e.orient()?e.yScale():e.xScale();e.bandwidth(a(n,t,e.crossValue))}};t instanceof r.selection?t.each((function(t,i,a){n(t),e(r.select(a[i]))})):(n(t),e(t))};return i.rebindAll(l,e),l.widthFraction=function(){return arguments.length?(t=arguments.length<=0?void 0:arguments[0],l):t},l},e.seriesCanvasArea=function(){var e=g(),t=n.area(),r=function(n){var r=t.context();t.defined(e.defined());var i=n.map(e.values);t.x((function(e,t){return i[t].transposedX})).y((function(e,t){return i[t].transposedY}));var a="vertical"===e.orient()?"y":"x";t[a+"0"]((function(e,t){return i[t].y0})),t[a+"1"]((function(e,t){return i[t].y})),r.beginPath(),r.fillStyle=w,r.strokeStyle="transparent",e.decorate()(r,n),t(n),r.fill(),r.stroke(),r.closePath()};return i.rebindAll(r,e,i.exclude("bandwidth","align")),i.rebind(r,t,"curve","context"),r},e.seriesCanvasBar=function(){var e=g(),t=u.shapeBar().x(0).y(0),n=function(n){var r=t.context(),i=n.filter(e.defined()).map(e.values);"vertical"===e.orient()?(t.verticalAlign("top"),t.horizontalAlign("center")):(t.horizontalAlign("right"),t.verticalAlign("center")),i.forEach((function(n,i){var a;r.save(),r.beginPath(),r.translate(n.origin[0],n.origin[1]),r.fillStyle=S,r.strokeStyle="transparent",e.decorate()(r,n.d,i),(a=t,"vertical"===e.orient()?a.height:a.width)(-n.height),function(t){return"vertical"===e.orient()?t.width:t.height}(t)(n.width),t([n]),r.fill(),r.stroke(),r.closePath(),r.restore()}))};return i.rebindAll(n,e),i.rebind(n,t,"context"),n},e.seriesCanvasBoxPlot=function(){var e=B(),t=u.shapeBoxPlot().value(0),n=function(n){var r=n.filter(e.defined()),i=t.context();t.orient(e.orient()),r.forEach((function(n,r){i.save();var a=e.values(n,r);i.translate(a.origin[0],a.origin[1]),i.beginPath(),i.fillStyle=w,i.strokeStyle=p,e.decorate()(i,n,r),t.median(a.median).upperQuartile(a.upperQuartile).lowerQuartile(a.lowerQuartile).high(a.high).width(a.width).low(a.low)([n]),i.fill(),i.stroke(),i.closePath(),i.restore()}))};return i.rebindAll(n,e),i.rebind(n,t,"cap","context"),n},e.seriesCanvasCandlestick=function(){return T(u.shapeCandlestick())},e.seriesCanvasErrorBar=function(){var e=V(),t=u.shapeErrorBar().value(0),n=function(n){var r=n.filter(e.defined()),i=t.context();t.orient(e.orient()),r.forEach((function(n,r){i.save();var a=e.values(n,r);i.translate(a.origin[0],a.origin[1]),i.beginPath(),i.strokeStyle=p,i.fillStyle=w,e.decorate()(i,n,r),t.high(a.high).width(a.width).low(a.low)([n]),i.fill(),i.stroke(),i.closePath(),i.restore()}))};return i.rebindAll(n,e),i.rebind(n,t,"context"),n},e.seriesCanvasGrouped=function(e){var t=G(),n=function(n){n.forEach((function(r,i){var a="horizontal"!==e.orient(),l=function(e,r){var l=t.offsetScaleForDatum(n,e,r);return(a?t.xScale():t.yScale())(e)+l(i)+l.bandwidth()/2};a?(e.xScale(l),e.yScale(t.yScale())):(e.yScale(l),e.xScale(t.xScale())),e.bandwidth&&e.bandwidth((function(e,r){return t.offsetScaleForDatum(n,e,r).bandwidth()})),e.decorate((function(e,n){return t.decorate()(e,n,i)})),e(r)}))};return i.rebindAll(n,e,i.exclude("decorate","xScale","yScale")),i.rebindAll(n,t,i.exclude("offsetScaleForDatum")),n},e.seriesCanvasHeatmap=function(){var e=D(),t=function(t){var n=t.filter(e.defined()),r=e.colorInterpolate(),i=e.colorScale(n),a=e.pathGenerator.context();n.forEach((function(t,n){a.save(),a.beginPath();var l=e.values(t,n);a.translate(l.x,l.y),a.fillStyle=r(i(l.colorValue)),a.strokeStyle="transparent",e.decorate()(a,t,n),e.pathGenerator.height(l.height).width(l.width)([t]),a.fill(),a.stroke(),a.closePath(),a.restore()}))};return i.rebind(t,e.pathGenerator,"context"),i.rebindAll(t,e),t},e.seriesCanvasLine=x,e.seriesCanvasMulti=P,e.seriesCanvasOhlc=function(){return T(u.shapeOhlc())},e.seriesCanvasPoint=function(){var e=n.symbol(),t=g(),r=function(n){var r=n.filter(t.defined()),i=e.context();r.forEach((function(n,r){i.save();var a=t.values(n,r);i.translate(a.origin[0],a.origin[1]),i.beginPath(),i.strokeStyle=p,i.fillStyle=w,t.decorate()(i,n,r),e(n,r),i.fill(),i.stroke(),i.closePath(),i.restore()}))};return i.rebindAll(r,t,i.exclude("baseValue","bandwidth","align")),i.rebind(r,e,"size","type","context"),r},e.seriesCanvasRepeat=function(){var e="vertical",t=x(),n=P(),r=function(r){"vertical"===e?n.series(r[0].map((function(e){return t}))).mapping((function(e,t){return e.map((function(e){return e[t]}))})):n.series(r.map((function(e){return t}))).mapping((function(e,t){return e[t]})),n(r)};return r.series=function(){return arguments.length?(t=arguments.length<=0?void 0:arguments[0],r):t},r.orient=function(){return arguments.length?(e=arguments.length<=0?void 0:arguments[0],r):e},i.rebindAll(r,n,i.exclude("series","mapping")),r},e.seriesSvgArea=function(){var e=g(),a=n.area(),l=t.dataJoin("path","area"),u=function(n){t.isTransition(n)&&l.transition(n),a.defined(e.defined()),n.each((function(t,n,i){var u=t.map(e.values);a.x((function(e,t){return u[t].transposedX})).y((function(e,t){return u[t].transposedY}));var o="vertical"===e.orient()?"y":"x";a[o+"0"]((function(e,t){return u[t].y0})),a[o+"1"]((function(e,t){return u[t].y}));var c=l(r.select(i[n]),[t]);c.enter().attr("fill",w),c.attr("d",a),e.decorate()(c,t,n)}))};return i.rebindAll(u,e,i.exclude("bandwidth","align")),i.rebind(u,l,"key"),i.rebind(u,a,"curve"),u},e.seriesSvgBar=function(){var e=u.shapeBar().x(0).y(0),n=g(),a=t.dataJoin("g","bar"),l=function(e){return"vertical"===n.orient()?e.width:e.height},o=function(e){return"translate("+e[0]+", "+e[1]+")"},c=function(i){t.isTransition(i)&&a.transition(i),i.each((function(t,i,u){var c=n.orient();if("vertical"!==c&&"horizontal"!==c)throw new Error("The bar series does not support an orientation of "+c);var d=t.filter(n.defined()),s=d.map(n.values);e.width(0).height(0),"vertical"===n.orient()?(e.verticalAlign("top"),e.horizontalAlign("center")):(e.horizontalAlign("right"),e.verticalAlign("center"));var f=a(r.select(u[i]),d);f.enter().attr("transform",(function(e,t){return o(s[t].baseOrigin)})).attr("class","bar "+n.orient()).attr("fill",S).append("path").attr("d",(function(t,n){return l(e)(s[n].width),e([t])})),f.attr("transform",(function(e,t){return o(s[t].origin)})).select("path").attr("d",(function(t,r){var i;return l(e)(s[r].width),(i=e,"vertical"===n.orient()?i.height:i.width)(-s[r].height),e([t])})),n.decorate()(f,d,i)}))};return i.rebindAll(c,n),i.rebind(c,a,"key"),c},e.seriesSvgBoxPlot=function(){var e=B(),n=t.dataJoin("g","box-plot"),a=u.shapeBoxPlot().value(0),l=function(e){return"translate("+e.origin[0]+", "+e.origin[1]+")"},o=function(i){t.isTransition(i)&&n.transition(i);var u,o=(u=i,function(e){return t.isTransition(u)?e.transition(u):e});i.each((function(t,i,u){var c=t.filter(e.defined()),d=n(r.select(u[i]),c);d.enter().attr("stroke",p).attr("fill",w).attr("transform",(function(t,n){return l(e.values(t,n))+" scale(1e-6, 1)"})).append("path"),a.orient(e.orient()),d.each((function(t,n,i){var u=e.values(t,n);a.median(u.median).upperQuartile(u.upperQuartile).lowerQuartile(u.lowerQuartile).width(u.width).high(u.high).low(u.low),o(r.select(i[n])).attr("transform",l(u)).select("path").attr("d",a([t]))})),e.decorate()(d,t,i)}))};return i.rebindAll(o,e),i.rebind(o,n,"key"),i.rebind(o,a,"cap"),o},e.seriesSvgCandlestick=function(){return E(u.shapeCandlestick(),"candlestick")},e.seriesSvgErrorBar=function(){var e=V(),n=t.dataJoin("g","error-bar"),a=u.shapeErrorBar().value(0),l=function(e){return"translate("+e.origin[0]+", "+e.origin[1]+")"},o=function(i){t.isTransition(i)&&n.transition(i);var u,o=(u=i,function(e){return t.isTransition(u)?e.transition(u):e});i.each((function(t,i,u){var c=t.filter(e.defined()),d=c.map(e.values),s=n(r.select(u[i]),c);s.enter().attr("stroke",p).attr("fill",w).attr("transform",(function(t,n){return l(e.values(t,n))+" scale(1e-6, 1)"})).append("path"),a.orient(e.orient()),s.each((function(e,t,n){var i=d[t];a.high(i.high).low(i.low).width(i.width),o(r.select(n[t])).attr("transform",l(i)+" scale(1)").select("path").attr("d",a([e]))})),e.decorate()(s,t,i)}))};return i.rebindAll(o,e),i.rebind(o,n,"key"),o},e.seriesSvgGrouped=function(e){var n=G(),a=t.dataJoin("g","grouped"),l=function(i){t.isTransition(i)&&a.transition(i),i.each((function(t,i,l){var u=a(r.select(l[i]),t);u.enter().append("g"),u.select("g").each((function(i,a,l){var u=r.select(l[a]),o="horizontal"!==e.orient(),c=function(e,r){var i=n.offsetScaleForDatum(t,e,r);return(o?n.xScale():n.yScale())(e)+i(a)+i.bandwidth()/2};o?(e.xScale(c),e.yScale(n.yScale())):(e.yScale(c),e.xScale(n.xScale())),e.bandwidth&&e.bandwidth((function(e,r){return n.offsetScaleForDatum(t,e,r).bandwidth()})),e.decorate((function(e,t){return n.decorate()(e,t,a)})),u.call(e)}))}))};return i.rebindAll(l,e,i.exclude("decorate","xScale","yScale")),i.rebindAll(l,n,i.exclude("offsetScaleForDatum")),l},e.seriesSvgHeatmap=function(){var e=D(),n=t.dataJoin("g","box"),a=function(t){t.each((function(t,i,a){var l=t.filter(e.defined()),u=e.colorValue(),o=e.colorInterpolate(),c=e.colorScale(l),d=n(r.select(a[i]),l);d.enter().append("path").attr("stroke","transparent"),d.attr("transform",(function(t,n){return"translate("+(r=e.values(t,n)).x+", "+r.y+")";var r})).select("path").attr("d",(function(t,n){return e.pathGenerator.width(e.values(t,n).width).height(e.values(t,n).height)([t])})).attr("fill",(function(e,t){return o(c(u(e,t)))})),e.decorate()(d,t,i)}))};return i.rebindAll(a,e),a},e.seriesSvgLine=y,e.seriesSvgMulti=I,e.seriesSvgOhlc=function(){return E(u.shapeOhlc(),"ohlc")},e.seriesSvgPoint=function(){var e=n.symbol(),a=g(),l=t.dataJoin("g","point"),u=function(e){return"translate("+e[0]+", "+e[1]+")"},o=function(n){t.isTransition(n)&&l.transition(n),n.each((function(t,n,i){var o=t.filter(a.defined()),c=l(r.select(i[n]),o);c.enter().attr("transform",(function(e,t){return u(a.values(e,t).origin)})).attr("fill",w).attr("stroke",p).append("path"),c.attr("transform",(function(e,t){return u(a.values(e,t).origin)})).select("path").attr("d",e),a.decorate()(c,t,n)}))};return i.rebindAll(o,a,i.exclude("baseValue","bandwidth","align")),i.rebind(o,l,"key"),i.rebind(o,e,"type","size"),o},e.seriesSvgRepeat=function(){var e="vertical",t=y(),n=I(),a=function(i){return i.each((function(i,a,l){"vertical"===e?n.series(i[0].map((function(e){return t}))).mapping((function(e,t){return e.map((function(e){return e[t]}))})):n.series(i.map((function(e){return t}))).mapping((function(e,t){return e[t]})),r.select(l[a]).call(n)}))};return a.series=function(){return arguments.length?(t=arguments.length<=0?void 0:arguments[0],a):t},a.orient=function(){return arguments.length?(e=arguments.length<=0?void 0:arguments[0],a):e},i.rebindAll(a,n,i.exclude("series","mapping")),a},e.seriesWebglArea=function(){var e=g(),t=l.webglAdjacentAttribute(0,1),n=t.offset(1),r=l.webglAdjacentAttribute(0,1),a=r.offset(1),u=l.webglAdjacentAttribute(0,1),o=u.offset(1),c=l.webglAdjacentAttribute(0,1).type(l.webglTypes.UNSIGNED_BYTE),d=c.offset(1),s=l.webglSeriesArea().crossValueAttribute(t).crossNextValueAttribute(n).mainValueAttribute(r).mainNextValueAttribute(a).baseValueAttribute(u).baseNextValueAttribute(o).definedAttribute(c).definedNextAttribute(d),f=function(e,t){return!1},h=l.webglScaleMapper,v=[],b=null,p=null,w=function(n){if("vertical"!==e.orient())throw new Error("Unsupported orientation ".concat(e.orient()));var i=h(e.xScale()),a=h(e.yScale()),l=!f(v,n);l&&(v=n,c.value((function(t,n){return e.defined()(t,n)})).data(n)),(l||i.scale!==b)&&(b=i.scale,t.value((function(t,n){return i.scale(e.crossValue()(t,n))})).data(n)),(l||a.scale!==p)&&(p=a.scale,u.value((function(t,n){return a.scale(e.baseValue()(t,n))})).data(n),r.value((function(t,n){return a.scale(e.mainValue()(t,n))})).data(n)),s.xScale(i.webglScale).yScale(a.webglScale).decorate((function(t){return e.decorate()(t,n,0)})),s(n.length)};return w.equals=function(){return arguments.length?(f=arguments.length<=0?void 0:arguments[0],w):f},w.scaleMapper=function(){return arguments.length?(h=arguments.length<=0?void 0:arguments[0],w):h},i.rebindAll(w,e,i.exclude("bandwidth","align")),i.rebind(w,s,"context","pixelRatio"),w},e.seriesWebglBar=function(){var e=g(),t=l.webglAttribute(),n=l.webglAttribute(),r=l.webglAttribute(),a=l.webglAttribute().type(l.webglTypes.UNSIGNED_SHORT),u=l.webglAttribute().type(l.webglTypes.UNSIGNED_BYTE),o=l.webglSeriesBar().crossValueAttribute(t).mainValueAttribute(n).baseValueAttribute(r).bandwidthAttribute(a).definedAttribute(u),c=function(e,t){return!1},d=l.webglScaleMapper,s=[],f=null,h=null,v=function(i){if("vertical"!==e.orient())throw new Error("Unsupported orientation ".concat(e.orient()));var l=d(e.xScale()),g=d(e.yScale()),v=!c(s,i);v&&(s=i,a.value((function(t,n){return e.bandwidth()(t,n)})).data(i),u.value((function(t,n){return e.defined()(t,n)})).data(i)),(v||l.scale!==f)&&(f=l.scale,t.value((function(t,n){return l.scale(e.crossValue()(t,n))})).data(i)),(v||g.scale!==h)&&(h=g.scale,r.value((function(t,n){return g.scale(e.baseValue()(t,n))})).data(i),n.value((function(t,n){return g.scale(e.mainValue()(t,n))})).data(i)),o.xScale(l.webglScale).yScale(g.webglScale).decorate((function(t){return e.decorate()(t,i,0)})),o(i.length)};return v.equals=function(){return arguments.length?(c=arguments.length<=0?void 0:arguments[0],v):c},v.scaleMapper=function(){return arguments.length?(d=arguments.length<=0?void 0:arguments[0],v):d},i.rebindAll(v,e,i.exclude("align")),i.rebind(v,o,"context","pixelRatio"),v},e.seriesWebglBoxPlot=function(){var e=B(),t=l.webglAttribute(),n=l.webglAttribute(),r=l.webglAttribute(),a=l.webglAttribute(),u=l.webglAttribute(),o=l.webglAttribute(),c=l.webglAttribute().type(l.webglTypes.UNSIGNED_SHORT),s=l.webglAttribute().type(l.webglTypes.UNSIGNED_SHORT),f=l.webglAttribute().type(l.webglTypes.UNSIGNED_BYTE),h=l.webglSeriesBoxPlot().crossValueAttribute(t).highValueAttribute(n).upperQuartileValueAttribute(r).medianValueAttribute(a).lowerQuartileValueAttribute(u).lowValueAttribute(o).bandwidthAttribute(c).capAttribute(s).definedAttribute(f),g=function(e,t){return!1},v=l.webglScaleMapper,b=[],p=null,w=null,S=d(20),y=function(i){if("vertical"!==e.orient())throw new Error("Unsupported orientation ".concat(e.orient()));var l=v(e.xScale()),d=v(e.yScale()),y=!g(b,i);y&&(b=i,c.value((function(t,n){return e.bandwidth()(t,n)})).data(i),s.value((function(e,t){return S(e,t)})).data(i),f.value((function(t,n){return e.defined()(t,n)})).data(i)),(y||l.scale!==p)&&(p=l.scale,t.value((function(t,n){return l.scale(e.crossValue()(t,n))})).data(i)),(y||d.scale!==w)&&(w=d.scale,n.value((function(t,n){return d.scale(e.highValue()(t,n))})).data(i),r.value((function(t,n){return d.scale(e.upperQuartileValue()(t,n))})).data(i),a.value((function(t,n){return d.scale(e.medianValue()(t,n))})).data(i),u.value((function(t,n){return d.scale(e.lowerQuartileValue()(t,n))})).data(i),o.value((function(t,n){return d.scale(e.lowValue()(t,n))})).data(i)),h.xScale(l.webglScale).yScale(d.webglScale).decorate((function(t){return e.decorate()(t,i,0)})),h(i.length)};return y.cap=function(){return arguments.length?(S=d(arguments.length<=0?void 0:arguments[0]),y):S},y.equals=function(){return arguments.length?(g=arguments.length<=0?void 0:arguments[0],y):g},y.scaleMapper=function(){return arguments.length?(v=arguments.length<=0?void 0:arguments[0],y):v},i.rebindAll(y,e,i.exclude("align")),i.rebind(y,h,"context","lineWidth","pixelRatio"),y},e.seriesWebglCandlestick=function(){return k(l.webglSeriesCandlestick())},e.seriesWebglErrorBar=function(){var e=V(),t=l.webglAttribute(),n=l.webglAttribute(),r=l.webglAttribute(),a=l.webglAttribute().type(l.webglTypes.UNSIGNED_SHORT),u=l.webglAttribute().type(l.webglTypes.UNSIGNED_BYTE),o=l.webglSeriesErrorBar().crossValueAttribute(t).highValueAttribute(n).lowValueAttribute(r).bandwidthAttribute(a).definedAttribute(u),c=function(e,t){return!1},d=l.webglScaleMapper,s=[],f=null,h=null,g=function(i){if("vertical"!==e.orient())throw new Error("Unsupported orientation ".concat(e.orient()));var l=d(e.xScale()),g=d(e.yScale()),v=!c(s,i);v&&(s=i,a.value((function(t,n){return e.bandwidth()(t,n)})).data(i),u.value((function(t,n){return e.defined()(t,n)})).data(i)),(v||l.scale!==f)&&(f=l.scale,t.value((function(t,n){return l.scale(e.crossValue()(t,n))})).data(i)),(v||g.scale!==h)&&(h=g.scale,n.value((function(t,n){return g.scale(e.highValue()(t,n))})).data(i),r.value((function(t,n){return g.scale(e.lowValue()(t,n))})).data(i)),o.xScale(l.webglScale).yScale(g.webglScale).decorate((function(t){return e.decorate()(t,i,0)})),o(i.length)};return g.equals=function(){return arguments.length?(c=arguments.length<=0?void 0:arguments[0],g):c},g.scaleMapper=function(){return arguments.length?(d=arguments.length<=0?void 0:arguments[0],g):d},i.rebindAll(g,e,i.exclude("align")),i.rebind(g,o,"context","lineWidth","pixelRatio"),g},e.seriesWebglLine=A,e.seriesWebglMulti=M,e.seriesWebglOhlc=function(){return k(l.webglSeriesOhlc())},e.seriesWebglPoint=function(){var e=g(),t=d(64),r=n.symbolCircle,a=l.webglAttribute(),u=l.webglAttribute(),o=l.webglAttribute().type(l.webglTypes.UNSIGNED_SHORT),c=l.webglAttribute().type(l.webglTypes.UNSIGNED_BYTE),s=l.webglSeriesPoint().crossValueAttribute(a).mainValueAttribute(u).sizeAttribute(o).definedAttribute(c),f=function(e,t){return!1},h=l.webglScaleMapper,v=[],b=null,p=null,w=function(n){var i=h(e.xScale()),d=h(e.yScale()),g=!f(v,n);g&&(v=n,o.value((function(e,n){return t(e,n)})).data(n),c.value((function(t,n){return e.defined()(t,n)})).data(n)),(g||i.scale!==b)&&(b=i.scale,"vertical"===e.orient()?a.value((function(t,n){return i.scale(e.crossValue()(t,n))})).data(n):a.value((function(t,n){return i.scale(e.mainValue()(t,n))})).data(n)),(g||d.scale!==p)&&(p=d.scale,"vertical"===e.orient()?u.value((function(t,n){return d.scale(e.mainValue()(t,n))})).data(n):u.value((function(t,n){return d.scale(e.crossValue()(t,n))})).data(n)),s.xScale(i.webglScale).yScale(d.webglScale).type(l.webglSymbolMapper(r)).decorate((function(t){return e.decorate()(t,n,0)})),s(n.length)};return w.size=function(){return arguments.length?(t=d(arguments.length<=0?void 0:arguments[0]),w):t},w.type=function(){return arguments.length?(r=arguments.length<=0?void 0:arguments[0],w):r},w.equals=function(){return arguments.length?(f=arguments.length<=0?void 0:arguments[0],w):f},w.scaleMapper=function(){return arguments.length?(h=arguments.length<=0?void 0:arguments[0],w):h},i.rebindAll(w,e,i.exclude("baseValue","bandwidth","align")),i.rebind(w,s,"context","pixelRatio"),w},e.seriesWebglRepeat=function(){var e="vertical",t=function(){return A()},n=M(),r=[],a=function(i){if("vertical"===e){var a=r;r=i[0].map((function(e,n){return n<a.length?a[n]:t()})),n.series(r).mapping((function(e,t){return e.map((function(e){return e[t]}))}))}else{var l=r;r=i.map((function(e,n){return n<l.length?l[n]:t()})),n.series(r).mapping((function(e,t){return e[t]}))}n(i)};return a.series=function(){for(var e=arguments.length,n=new Array(e),i=0;i<e;i++)n[i]=arguments[i];return n.length?(t="function"==typeof n[0].xScale&&"function"==typeof n[0].yScale?function(){return n[0]}:n[0],r=[],a):t},a.orient=function(){return arguments.length?(e=arguments.length<=0?void 0:arguments[0],r=[],a):e},i.rebindAll(a,n,i.exclude("series","mapping")),a},Object.defineProperty(e,"__esModule",{value:!0})}));