forked from dc-js/dc.js
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdc.min.js
4 lines (4 loc) · 64.8 KB
/
dc.min.js
1
2
3
4
dc=function(){"use strict";var a={version:"2.0.0-dev",constants:{CHART_CLASS:"dc-chart",DEBUG_GROUP_CLASS:"debug",STACK_CLASS:"stack",DESELECTED_CLASS:"deselected",SELECTED_CLASS:"selected",NODE_INDEX_NAME:"__index__",GROUP_INDEX_NAME:"__group_index__",DEFAULT_CHART_GROUP:"__default_chart_group__",EVENT_DELAY:40,NEGLIGIBLE_NUMBER:1e-10},_renderlet:null};a.chartRegistry=function(){function b(b){return b||(b=a.constants.DEFAULT_CHART_GROUP),c[b]||(c[b]=[]),b}var c={};return{has:function(a){for(var b in c)if(c[b].indexOf(a)>=0)return!0;return!1},register:function(a,d){d=b(d),c[d].push(a)},clear:function(a){a?delete c[a]:c={}},list:function(a){return a=b(a),c[a]}}}(),a.registerChart=function(b,c){a.chartRegistry.register(b,c)},a.hasChart=function(b){return a.chartRegistry.has(b)},a.deregisterAllCharts=function(b){a.chartRegistry.clear(b)},a.filterAll=function(b){for(var c=a.chartRegistry.list(b),d=0;d<c.length;++d)c[d].filterAll()},a.renderAll=function(b){for(var c=a.chartRegistry.list(b),d=0;d<c.length;++d)c[d].render();null!==a._renderlet&&a._renderlet(b)},a.redrawAll=function(b){for(var c=a.chartRegistry.list(b),d=0;d<c.length;++d)c[d].redraw();null!==a._renderlet&&a._renderlet(b)},a.disableTransitions=!1,a.transition=function(b,c,d){if(0>=c||void 0===c||a.disableTransitions)return b;var e=b.transition().duration(c);return"function"==typeof d&&d(e),e},a.units={},a.units.integers=function(a,b){return Math.abs(b-a)},a.units.ordinal=function(a,b,c){return c},a.units.fp={},a.units.fp.precision=function(b){var c=function(b,d){var e=Math.abs((d-b)/c.resolution);return a.utils.isNegligible(e-Math.floor(e))?Math.floor(e):Math.ceil(e)};return c.resolution=b,c},a.round={},a.round.floor=function(a){return Math.floor(a)},a.round.ceil=function(a){return Math.ceil(a)},a.round.round=function(a){return Math.round(a)},a.override=function(a,b,c){var d=a[b];a["_"+b]=d,a[b]=c},a.renderlet=function(b){return arguments.length?(a._renderlet=b,a):a._renderlet},a.instanceOfChart=function(a){return a instanceof Object&&a.__dc_flag__&&!0},a.errors={},a.errors.Exception=function(a){var b=a||"Unexpected internal error";this.message=b,this.toString=function(){return b}},a.errors.InvalidStateException=function(){a.errors.Exception.apply(this,arguments)},a.dateFormat=d3.time.format("%m/%d/%Y"),a.printers={},a.printers.filters=function(b){for(var c="",d=0;d<b.length;++d)d>0&&(c+=", "),c+=a.printers.filter(b[d]);return c},a.printers.filter=function(b){var c="";return b&&(b instanceof Array?b.length>=2?c="["+a.utils.printSingleValue(b[0])+" -> "+a.utils.printSingleValue(b[1])+"]":b.length>=1&&(c=a.utils.printSingleValue(b[0])):c=a.utils.printSingleValue(b)),c},a.pluck=function(a,b){return function(c,d){return b?b.call(this,c[a],d):c[a]}},a.utils={},a.utils.printSingleValue=function(b){var c=""+b;return b instanceof Date?c=a.dateFormat(b):"string"==typeof b?c=b:a.utils.isFloat(b)?c=a.utils.printSingleValue.fformat(b):a.utils.isInteger(b)&&(c=Math.round(b)),c},a.utils.printSingleValue.fformat=d3.format(".2f"),a.utils.add=function(a,b){if("string"==typeof b&&(b=b.replace("%","")),a instanceof Date){"string"==typeof b&&(b=+b);var c=new Date;return c.setTime(a.getTime()),c.setDate(a.getDate()+b),c}if("string"==typeof b){var d=+b/100;return a>0?a*(1+d):a*(1-d)}return a+b},a.utils.subtract=function(a,b){if("string"==typeof b&&(b=b.replace("%","")),a instanceof Date){"string"==typeof b&&(b=+b);var c=new Date;return c.setTime(a.getTime()),c.setDate(a.getDate()-b),c}if("string"==typeof b){var d=+b/100;return 0>a?a*(1+d):a*(1-d)}return a-b},a.utils.GroupStack=function(){function a(a){d[a]||(d[a]=[])}var b,c,d=[[]],e=[];this.setDataPoint=function(b,c,e){a(b),d[b][c]=e},this.getDataPoint=function(b,c){a(b);var e=d[b][c];return void 0===e&&(e=0),e},this.addGroup=function(a,c){return c||(c=b),e.push([a,c]),e.length-1},this.addNamedGroup=function(a,b,c){var d=this.addGroup(a,c);return e[d].name=b,b},this.getGroupByIndex=function(a){return e[a][0]},this.getAccessorByIndex=function(a){return e[a][1]},this.getNameOfVisibleByIndex=function(a){if(-1===a){if(!c)return;a++}var b=e.filter(function(a){return!a.hidden});return b[a].name},this.size=function(){return e.length},this.clear=function(){d=[],e=[]},this.setDefaultAccessor=function(a){b=a},this.getDataLayers=function(){return d},this.clearDataLayers=function(){d=[[]]},this.showGroups=function(a,b){b&&(c=!1),this.toggleGroups(a,!1)},this.hideGroups=function(a,b){b&&(c=!0),this.toggleGroups(a,!0)},this.toggleGroups=function(a,b){for(var c=0;c<e.length;++c)e[c].name===a&&(e[c].hidden=b)},this.setTitle=function(a,b){for(var c=0;c<e.length;++c)e[c].name===a&&(e[c].title=b)},this.getTitle=function(a){for(var b=0;b<e.length;++b)if(e[b].name===a)return e[b].title},this.toLayers=function(){for(var a=[],b=0;b<d.length;++b)if(!(0===b&&c||b>0&&e[b-1].hidden)){for(var f={index:b,points:[]},g=d[b],h=0;h<g.length;++h)f.points.push(g[h]);a.push(f)}return a}},a.utils.isNumber=function(a){return a===+a},a.utils.isFloat=function(a){return a===+a&&a!==(0|a)},a.utils.isInteger=function(a){return a===+a&&a===(0|a)},a.utils.isNegligible=function(b){return void 0===b||b<a.constants.NEGLIGIBLE_NUMBER&&b>-a.constants.NEGLIGIBLE_NUMBER},a.utils.clamp=function(a,b,c){return b>a?b:a>c?c:a};var b=0;return a.utils.uniqueId=function(){return++b},a.utils.groupMax=function(b,c){var d=d3.max(b.all(),c);return a.utils.isNegligible(d)&&(d=0),d},a.utils.groupMin=function(b,c){var d=d3.min(b.all(),c);return a.utils.isNegligible(d)&&(d=0),d},a.utils.nameToId=function(a){return a.toLowerCase().replace(/[\s]/g,"_").replace(/[\.']/g,"")},a.utils.appendOrSelect=function(a,b){var c=a.select(b);return c.empty()&&(c=a.append(b)),c},a.utils.createLegendable=function(a,b,c,d){var e={name:a._getGroupName(b,c),data:b};return d&&(e.color=d),a.dashStyle&&a.dashStyle()&&(e.dashstyle=a.dashStyle()),e},a.utils.safeNumber=function(b){return a.utils.isNumber(+b)?+b:0},a.events={current:null},a.events.trigger=function(b,c){return c?(a.events.current=b,setTimeout(function(){b==a.events.current&&b()},c),void 0):(b(),void 0)},a.baseChart=function(b){function c(a,b,c){var d=a.chartID(),e="__names__";c&&c!=a.valueAccessor()||(c="default"),b[e]||(b[e]={}),b[e][d]||(b[e][d]={a:[],n:[]});var f=b[e][d].a.indexOf(c);return-1==f&&(f=b[e][d].a.length,b[e][d].a[f]=c,b[e][d].n[f]={name:""}),b[e][d].n[f]}function d(){return o=b.root().append("svg").attr("width",b.width()).attr("height",b.height())}function e(c){if(!b[c]||!b[c]())throw new a.errors.InvalidStateException("Mandatory attribute chart."+c+" is missing on chart[#"+b.anchorName()+"]")}function f(a){L.splice(L.indexOf(a),1),i(),b._invokeFilteredListener(a)}function g(a){L.push(a),i(),b._invokeFilteredListener(a)}function h(){L=[],i(),b._invokeFilteredListener(null)}function i(){if(b.dimension()&&b.dimension().filter){var a=M(b.dimension(),L);L=a?a:L}}function j(){for(var a=0;a<G.length;++a)G[a](b)}b.__dc_flag__=a.utils.uniqueId();var k,l,m,n,o,p,q,r=200,s=function(a){var b=a&&a.getBoundingClientRect&&a.getBoundingClientRect().width;return b&&b>r?b:r},t=s,u=200,v=function(a){var b=a&&a.getBoundingClientRect&&a.getBoundingClientRect().height;return b&&b>u?b:u},w=v,x=a.pluck("key"),y=a.pluck("value"),z=a.pluck("key"),A=a.pluck("key"),B=!1,C=function(a){return b.keyAccessor()(a)+": "+b.valueAccessor()(a)},D=!1,E=750,F=a.printers.filters,G=[],H=["dimension","group"],I=a.constants.DEFAULT_CHART_GROUP,J=function(){},K={preRender:J,postRender:J,preRedraw:J,postRedraw:J,filtered:J,zoomed:J},L=[],M=function(a,b){return a.filter(null),0===b.length?a.filter(null):a.filterFunction(function(a){for(var c=0;c<b.length;c++){var d=b[c];if(d.isFiltered&&d.isFiltered(a))return!0;if(d==a)return!0}return!1}),b},N=function(a){return a.all()};return b.width=function(a){return arguments.length?(t=d3.functor(a||s),b):t(n.node())},b.height=function(a){return arguments.length?(w=d3.functor(a||v),b):w(n.node())},b.minWidth=function(a){return arguments.length?(r=a,b):r},b.minHeight=function(a){return arguments.length?(u=a,b):u},b.dimension=function(a){return arguments.length?(k=a,b.expireCache(),b):k},b.data=function(a){return arguments.length?(N=d3.functor(a),b.expireCache(),b):N.call(b,l)},b.group=function(a,c){return arguments.length?(l=a,b.expireCache(),"string"==typeof c&&b._setGroupName(l,c),b):l},b._getGroupName=function(a,d){return c(b,a,d).name},b._setGroupName=function(a,d,e){c(b,a,e).name=d},b.ordering=function(a){return arguments.length?(A=a,p=crossfilter.quicksort.by(A),b.expireCache(),b):A},b.computeOrderedGroups=function(a){return a.length<=1?a:(p||(p=crossfilter.quicksort.by(A)),p(a,0,a.length))},b.filterAll=function(){return b.filter(null)},b.dataSet=function(){return void 0!==k&&void 0!==l},b.select=function(a){return n.select(a)},b.selectAll=function(a){return n?n.selectAll(a):null},b.anchor=function(c,d){return arguments.length?(a.instanceOfChart(c)?(m=c.anchor(),n=c.root()):(m=c,n=d3.select(m),n.classed(a.constants.CHART_CLASS,!0),a.registerChart(b,d)),I=d,b):m},b.anchorName=function(){var a=b.anchor();return a&&a.id?a.id:a&&a.replace?a.replace("#",""):""+b.chartID()},b.root=function(a){return arguments.length?(n=a,b):n},b.svg=function(a){return arguments.length?(o=a,b):o},b.resetSvg=function(){return b.select("svg").remove(),d()},b.filterPrinter=function(a){return arguments.length?(F=a,b):F},b.turnOnControls=function(){return n&&(b.selectAll(".reset").style("display",null),b.selectAll(".filter").text(F(b.filters())).style("display",null)),b},b.turnOffControls=function(){return n&&(b.selectAll(".reset").style("display","none"),b.selectAll(".filter").style("display","none").text(b.filter())),b},b.transitionDuration=function(a){return arguments.length?(E=a,b):E},b._mandatoryAttributes=function(a){return arguments.length?(H=a,b):H},b.render=function(){K.preRender(b),H&&H.forEach(e);var a=b.doRender();return q&&q.render(),b.activateRenderlets("postRender"),a},b.activateRenderlets=function(a){b.transitionDuration()>0&&o?o.transition().duration(b.transitionDuration()).each("end",function(){j(),a&&K[a](b)}):(j(),a&&K[a](b))},b.redraw=function(){K.preRedraw(b);var a=b.doRedraw();return b.activateRenderlets("postRedraw"),a},b._invokeFilteredListener=function(a){void 0!==a&&K.filtered(b,a)},b._invokeZoomedListener=function(){K.zoomed(b)},b.hasFilter=function(a){return arguments.length?L.indexOf(a)>=0:L.length>0},b.replaceFilter=function(a){L=[],b.filter(a)},b.filter=function(a){return arguments.length?(a instanceof Array&&a[0]instanceof Array?(a[0].forEach(function(a){b.hasFilter(a)?L.splice(L.indexOf(a),1):L.push(a)}),i(),b._invokeFilteredListener(a)):null===a?h():b.hasFilter(a)?f(a):g(a),null!==n&&b.hasFilter()?b.turnOnControls():b.turnOffControls(),b):L.length>0?L[0]:null},b.filters=function(){return L},b.highlightSelected=function(b){d3.select(b).classed(a.constants.SELECTED_CLASS,!0),d3.select(b).classed(a.constants.DESELECTED_CLASS,!1)},b.fadeDeselected=function(b){d3.select(b).classed(a.constants.SELECTED_CLASS,!1),d3.select(b).classed(a.constants.DESELECTED_CLASS,!0)},b.resetHighlight=function(b){d3.select(b).classed(a.constants.SELECTED_CLASS,!1),d3.select(b).classed(a.constants.DESELECTED_CLASS,!1)},b.onClick=function(c){var d=b.keyAccessor()(c);a.events.trigger(function(){b.filter(d),a.redrawAll(b.chartGroup())})},b.filterHandler=function(a){return arguments.length?(M=a,b):M},b.doRender=function(){return b},b.doRedraw=function(){return b},b.legendables=function(){return[]},b.legendHighlight=function(){},b.legendReset=function(){},b.legendToggle=function(){},b.isLegendableHidden=function(){return!1},b.keyAccessor=function(a){return arguments.length?(x=a,b):x},b.valueAccessor=function(a){return arguments.length?(y=a,b):y},b.label=function(a){return arguments.length?(z=a,B=!0,b):z},b.renderLabel=function(a){return arguments.length?(B=a,b):B},b.title=function(a){return arguments.length?(C=a,D=!0,b):C},b.renderTitle=function(a){return arguments.length?(D=a,b):D},b.renderlet=function(a){return G.push(a),b},b.chartGroup=function(a){return arguments.length?(I=a,b):I},b.expireCache=function(){return b},b.legend=function(a){return arguments.length?(q=a,q.parent(b),b):q},b.on=function(a,c){return K[a]=c,b},b.chartID=function(){return b.__dc_flag__},b},a.marginable=function(a){var b={top:10,right:50,bottom:30,left:30};return a.margins=function(c){return arguments.length?(b=c,a):b},a.effectiveWidth=function(){return a.width()-a.margins().left-a.margins().right},a.effectiveHeight=function(){return a.height()-a.margins().top-a.margins().bottom},a},a.coordinateGridChart=function(b){function c(a){if(b.elasticX()&&!b.isOrdinal())y.domain([b.xAxisMin(),b.xAxisMax()]);else if(b.isOrdinal()&&0===y.domain().length){var c=b.computeOrderedGroups(b.data());y.domain(c.map(b.keyAccessor()))}b.isOrdinal()?y.rangeBands([0,b.xAxisLength()],ab,_):y.range([0,b.xAxisLength()]),H=H.scale(b.x()).orient("bottom"),d(a)}function d(c){var d=c.selectAll("g."+r);if(T){d.empty()&&(d=c.insert("g",":first-child").attr("class",p+" "+r).attr("transform","translate("+b.yAxisX()+","+b.margins().top+")"));var e=H.tickValues()?H.tickValues():y.ticks(H.ticks()[0]),f=d.selectAll("line").data(e),g=f.enter().append("line").attr("x1",function(a){return y(a)}).attr("y1",b.xAxisY()-b.margins().top).attr("x2",function(a){return y(a)}).attr("y2",0).attr("opacity",0);a.transition(g,b.transitionDuration()).attr("opacity",1),a.transition(f,b.transitionDuration()).attr("x1",function(a){return y(a)}).attr("y1",b.xAxisY()-b.margins().top).attr("x2",function(a){return y(a)}).attr("y2",0),f.exit().remove()}else d.selectAll("line").remove()}function e(a){(void 0===B||b.elasticY())&&(B=d3.scale.linear(),B.domain([b.yAxisMin(),b.yAxisMax()]).rangeRound([b.yAxisHeight(),0])),B.range([b.yAxisHeight(),0]),M=M.scale(B).orient("left"),f(a)}function f(c){var d=c.selectAll("g."+q);if(S){var e=M.tickValues()?M.tickValues():B.ticks(M.ticks()[0]);d.empty()&&(d=c.insert("g",":first-child").attr("class",p+" "+q).attr("transform","translate("+b.yAxisX()+","+b.margins().top+")"));var f=d.selectAll("line").data(e),g=f.enter().append("line").attr("x1",1).attr("y1",function(a){return B(a)}).attr("x2",b.xAxisLength()).attr("y2",function(a){return B(a)}).attr("opacity",0);a.transition(g,b.transitionDuration()).attr("opacity",1),a.transition(f,b.transitionDuration()).attr("x1",1).attr("y1",function(a){return B(a)}).attr("x2",b.xAxisLength()).attr("y2",function(a){return B(a)}),f.exit().remove()}else d.selectAll("line").remove()}function g(){return b.xAxisY()-b.margins().top}function h(){return b.anchorName()+"-clip"}function i(){var c=a.utils.appendOrSelect(v,"defs"),d=a.utils.appendOrSelect(c,"clipPath").attr("id",h()),e=2*$;a.utils.appendOrSelect(d,"rect").attr("width",b.xAxisLength()+e).attr("height",b.yAxisHeight()+e)}function j(a){c(b.g()),e(b.g()),b.plotData(),(b.elasticX()||U||a)&&b.renderXAxis(b.g()),(b.elasticY()||a)&&b.renderYAxis(b.g()),a?b.renderBrush(b.g()):b.redrawBrush(b.g())}function k(){Z?b._enableMouseZoom():b._disableMouseZoom()}function l(){U=!0,W&&(b.x().domain(m(b.x().domain(),z)),F&&b.x().domain(m(b.x().domain(),F.x().domain())));var c=b.x().domain(),d=a.filters.RangedFilter(c[0],c[1]);b.replaceFilter(d),b.rescale(),b.redraw(),F&&!n(b.filter(),F.filter())&&a.events.trigger(function(){F.replaceFilter(d),F.redraw()}),b._invokeZoomedListener(),a.events.trigger(function(){a.redrawAll(b.chartGroup())},a.constants.EVENT_DELAY),U=!n(c,z)}function m(a,b){var c=[];return c[0]=d3.max([a[0],b[0]]),c[1]=d3.min([a[1],b[1]]),c}function n(a,b){return a||b?0===a.length&&0===b.length?!0:a&&b&&a[0].valueOf()===b[0].valueOf()&&a[1].valueOf()===b[1].valueOf()?!0:!1:!0}function o(a){return a instanceof Array&&a.length>1}var p="grid-line",q="horizontal",r="vertical",s="y-axis-label",t="x-axis-label",u=12;b=a.colorChart(a.marginable(a.baseChart(b))),b.colors(d3.scale.category10()),b._mandatoryAttributes().push("x");var v,w,x,y,z,A,B,C,D,E,F,G,H=d3.svg.axis(),I=a.units.integers,J=0,K=!1,L=0,M=d3.svg.axis(),N=0,O=!1,P=0,Q=d3.svg.brush(),R=!0,S=!1,T=!1,U=!1,V=[1,1/0],W=!0,X=d3.behavior.zoom().on("zoom",l),Y=d3.behavior.zoom().on("zoom",null),Z=!1,$=0,_=.5,ab=0;return b.rescale=function(){E=void 0},b.rangeChart=function(a){return arguments.length?(F=a,F.focusChart(b),b):F},b.zoomScale=function(a){return arguments.length?(V=a,b):V},b.zoomOutRestrict=function(a){return arguments.length?(V[0]=a?1:0,W=a,b):W},b._generateG=function(a){return v=void 0===a?b.svg():a,w=v.append("g"),x=w.append("g").attr("class","chart-body").attr("transform","translate("+b.margins().left+", "+b.margins().top+")").attr("clip-path","url(#"+h()+")"),w},b.g=function(a){return arguments.length?(w=a,b):w},b.mouseZoomable=function(a){return arguments.length?(Z=a,b):Z},b.chartBodyG=function(a){return arguments.length?(x=a,b):x},b.x=function(a){return arguments.length?(y=a,z=y.domain(),b):y},b.xOriginalDomain=function(){return z},b.xUnits=function(a){return arguments.length?(I=a,b):I},b.xAxis=function(a){return arguments.length?(H=a,b):H},b.elasticX=function(a){return arguments.length?(K=a,b):K},b.xAxisPadding=function(a){return arguments.length?(J=a,b):J},b.xUnitCount=function(){if(void 0===E){var a=b.xUnits()(b.x().domain()[0],b.x().domain()[1],b.x().domain());E=a instanceof Array?a.length:a}return E},b.isOrdinal=function(){return b.xUnits()===a.units.ordinal},b.renderXAxis=function(c){var d=c.selectAll("g.x");d.empty()&&(d=c.append("g").attr("class","axis x").attr("transform","translate("+b.margins().left+","+b.xAxisY()+")"));var e=c.selectAll("text."+t);e.empty()&&b.xAxisLabel()&&(e=c.append("text").attr("transform","translate("+(b.margins().left+b.xAxisLength()/2)+","+(b.height()-L)+")").attr("class",t).attr("text-anchor","middle").text(b.xAxisLabel())),b.xAxisLabel()&&e.text()!=b.xAxisLabel()&&axisYLab.text(b.xAxisLabel()),a.transition(d,b.transitionDuration()).call(H)},b.xAxisY=function(){return b.height()-b.margins().bottom},b.xAxisLength=function(){return b.effectiveWidth()},b.xAxisLabel=function(a,c){return arguments.length?(A=a,b.margins().bottom-=L,L=void 0===c?u:c,b.margins().bottom+=L,b):A},b.renderYAxis=function(c){var d=c.selectAll("g.y");d.empty()&&(d=c.append("g").attr("class","axis y").attr("transform","translate("+b.yAxisX()+","+b.margins().top+")"));var e=c.selectAll("text."+s);e.empty()&&b.yAxisLabel()&&(e=c.append("text").attr("transform","translate("+P+","+(b.margins().top+b.yAxisHeight()/2)+"),rotate(-90)").attr("class",s).attr("text-anchor","middle").text(b.yAxisLabel())),b.yAxisLabel()&&e.text()!=b.yAxisLabel()&&e.text(b.yAxisLabel()),a.transition(d,b.transitionDuration()).call(M)},b.yAxisX=function(){return b.margins().left},b.yAxisLabel=function(a,c){return arguments.length?(C=a,b.margins().left-=P,P=void 0===c?u:c,b.margins().left+=P,b):C},b.y=function(a){return arguments.length?(B=a,b):B},b.yAxis=function(a){return arguments.length?(M=a,b):M},b.elasticY=function(a){return arguments.length?(O=a,b):O},b.renderHorizontalGridLines=function(a){return arguments.length?(S=a,b):S},b.renderVerticalGridLines=function(a){return arguments.length?(T=a,b):T},b.xAxisMin=function(){var c=d3.min(b.data(),function(a){return b.keyAccessor()(a)});return a.utils.subtract(c,J)},b.xAxisMax=function(){var c=d3.max(b.data(),function(a){return b.keyAccessor()(a)});return a.utils.add(c,J)},b.yAxisMin=function(){var c=d3.min(b.data(),function(a){return b.valueAccessor()(a)});return a.utils.subtract(c,N)},b.yAxisMax=function(){var c=d3.max(b.data(),function(a){return b.valueAccessor()(a)});return a.utils.add(c,N)},b.yAxisPadding=function(a){return arguments.length?(N=a,b):N},b.yAxisHeight=function(){return b.effectiveHeight()},b.round=function(a){return arguments.length?(D=a,b):D},b._rangeBandPadding=function(a){return arguments.length?(ab=a,b):ab},b._outerRangeBandPadding=function(a){return arguments.length?(_=a,b):_},a.override(b,"filter",function(a){return arguments.length?(b._filter(a),a?b.brush().extent(a):b.brush().clear(),b):b._filter()}),b.brush=function(a){return arguments.length?(Q=a,b):Q},b.renderBrush=function(a){if(b.isOrdinal()&&(R=!1),R){Q.on("brush",b._brushing),Q.on("brushstart",b._disableMouseZoom),Q.on("brushend",k);var c=a.append("g").attr("class","brush").attr("transform","translate("+b.margins().left+","+b.margins().top+")").call(Q.x(b.x()));c.selectAll("rect").attr("height",g()),c.selectAll(".resize").append("path").attr("d",b.resizeHandlePath),b.hasFilter()&&b.redrawBrush(a)}},b.extendBrush=function(){var a=Q.extent();return b.round()&&(a[0]=a.map(b.round())[0],a[1]=a.map(b.round())[1],w.select(".brush").call(Q.extent(a))),a},b.brushIsEmpty=function(a){return Q.empty()||!a||a[1]<=a[0]},b._brushing=function(){var c=b.extendBrush();if(b.redrawBrush(w),b.brushIsEmpty(c))a.events.trigger(function(){b.filter(null),a.redrawAll(b.chartGroup())},a.constants.EVENT_DELAY);else{var d=a.filters.RangedFilter(c[0],c[1]);a.events.trigger(function(){b.replaceFilter(d),a.redrawAll(b.chartGroup())},a.constants.EVENT_DELAY)}},b.redrawBrush=function(a){if(R){b.filter()&&b.brush().empty()&&b.brush().extent(b.filter());var c=a.select("g.brush");c.call(b.brush().x(b.x())),c.selectAll("rect").attr("height",g())}b.fadeDeselectedArea()},b.fadeDeselectedArea=function(){},b.resizeHandlePath=function(a){var b=+("e"==a),c=b?1:-1,d=g()/3;return"M"+.5*c+","+d+"A6,6 0 0 "+b+" "+6.5*c+","+(d+6)+"V"+(2*d-6)+"A6,6 0 0 "+b+" "+.5*c+","+2*d+"ZM"+2.5*c+","+(d+8)+"V"+(2*d-8)+"M"+4.5*c+","+(d+8)+"V"+(2*d-8)},b.clipPadding=function(a){return arguments.length?($=a,b):$},b._preprocessData=function(){},b.doRender=function(){return b.resetSvg(),b._preprocessData(),b._generateG(),i(),j(!0),k(),b},b.doRedraw=function(){return b._preprocessData(),j(!1),b},b._enableMouseZoom=function(){X.x(b.x()).scaleExtent(V).size([b.width(),b.height()]),b.root().call(X)},b._disableMouseZoom=function(){b.root().call(Y)},b.focus=function(a){o(a)?b.x().domain(a):b.x().domain(z),X.x(b.x()),l()},b.refocused=function(){return U},b.focusChart=function(c){return arguments.length?(G=c,b.on("filtered",function(b){n(b.filter(),G.filter())||a.events.trigger(function(){G.focus(b.filter())})}),b):G},b.brushOn=function(a){return arguments.length?(R=a,b):R},b},a.colorChart=function(a){var b=d3.scale.category20c(),c=function(b){return a.keyAccessor()(b)},d=function(c){return b(c,a)};return a.colors=function(c){return arguments.length?(b=c instanceof Array?d3.scale.quantize().range(c):c,a):b},a.ordinalColors=function(b){return a.colors(d3.scale.ordinal().range(b))},a.linearColors=function(b){return a.colors(d3.scale.linear().range(b).interpolate(d3.interpolateHcl))},a.colorAccessor=function(b){return arguments.length?(c=b,a):c},a.colorDomain=function(c){return arguments.length?(b.domain(c),a):b.domain()},a.calculateColorDomain=function(){var c=[d3.min(a.data(),a.colorAccessor()),d3.max(a.data(),a.colorAccessor())];b.domain(c)},a.getColor=function(a,b){return d(c(a,b))},a.colorCalculator=function(b){return arguments.length?(d=b,a):d},a},a.stackableChart=function(b){function c(){var a=[];if(b.x()){var c,d=b.x().domain();if(b.isOrdinal()){var e=d3.set(d);c=function(a){return e.has(a.x)}}else c=function(a){return a.x>=d[0]&&a.x<=d[d.length-1]};b.stackLayers().forEach(function(b){b.points.forEach(function(b){c(b)&&a.push(b)})})}else b.stackLayers().forEach(function(b){a=a.concat(b.points)});return a}function d(a,c){a.all().forEach(function(a,d){var e=b.getKeyAccessorByIndex(c)(a),f=b.getValueAccessorByIndex(c)(a);i.setDataPoint(c,d,{data:a,x:e,y:f,layer:c})})}var e,f,g,h,i=new a.utils.GroupStack,j=d3.layout.stack().offset("zero").order("default").values(function(a){return a.points}),k=[],l=!1;return b.stack=function(a,c,d){return arguments.length||i.clear(),i.setDefaultAccessor(b.valueAccessor()),"string"==typeof c?(b._setGroupName(a,c,d),i.addNamedGroup(a,c,d)):(d=c,i.addGroup(a,d)),b.expireCache(),b},b.hidableStacks=function(a){return arguments.length?(l=a,b):l},b.hideStack=function(a){i.hideGroups(a,b._getGroupName(b.group())==a)},b.showStack=function(a){i.showGroups(a,b._getGroupName(b.group())==a)},b.expireCache=function(){return e=null,f=null,g=null,h=null,b},b.allGroups=function(){if(null===e){e=[],e.push(b.group());for(var a=0;a<i.size();++a)e.push(i.getGroupByIndex(a))}return e},b.allValueAccessors=function(){if(null===f){f=[],f.push(b.valueAccessor());for(var a=0;a<i.size();++a)f.push(i.getAccessorByIndex(a))}return f},b.getValueAccessorByIndex=function(a){return b.allValueAccessors()[a]},b.yAxisMin=function(){var d,e=c();return d=d3.min(e,function(a){return a.y+a.y0<a.y0?a.y+a.y0:a.y0}),d=a.utils.subtract(d,b.yAxisPadding())},b.yAxisMax=function(){var d,e=c();return d=d3.max(e,function(a){return a.y+a.y0}),d=a.utils.add(d,b.yAxisPadding())},b.allKeyAccessors=function(){if(null===g){g=[],g.push(b.keyAccessor());for(var a=0;a<i.size();++a)g.push(b.keyAccessor())}return g},b.getKeyAccessorByIndex=function(a){return b.allKeyAccessors()[a]},b.xAxisMin=function(){var c=b.allGroups().reduce(function(c,d,e){var f=a.utils.groupMin(d,b.getKeyAccessorByIndex(e));return null===c||c>f?f:c},null);return a.utils.subtract(c,b.xAxisPadding())},b.xAxisMax=function(){var c=b.allGroups().reduce(function(c,d,e){var f=a.utils.groupMax(d,b.getKeyAccessorByIndex(e));return null===c||f>c?f:c},null);return a.utils.add(c,b.xAxisPadding())},b.calculateDataPointMatrixForAll=function(){i.clearDataLayers(),b.allGroups().forEach(d)},b.getChartStack=function(){return i},a.override(b,"valueAccessor",function(a){return arguments.length?(b.expireCache(),b._valueAccessor(a)):b._valueAccessor()}),a.override(b,"keyAccessor",function(a){return arguments.length?(b.expireCache(),b._keyAccessor(a)):b._keyAccessor()}),a.override(b,"title",function(a,c){if(!a)return b._title();var d=b.group()&&a===b._getGroupName(b.group());return"function"==typeof a?b._title(a):c?d?b._title(c):(i.setTitle(a,c),b):d?b._title():i.getTitle(a)}),b.getTitleOfVisibleByIndex=function(a){return b.title(i.getNameOfVisibleByIndex(a-1))||b.title()},b.stackLayout=function(a){return arguments.length?(j=a,b):j},b.stackLayers=function(a){if(!arguments.length){if(null===h){b.calculateDataPointMatrixForAll();var c=i.toLayers();if(0===c.length)return[];h=b.stackLayout()(c)}return h}h=a},b._layerColorAccessor=function(a){return void 0===a.layer?a.index:a.layer},b.colorAccessor(b._layerColorAccessor),b.legendables=function(){return b.allGroups().map(function(c,d){return a.utils.createLegendable(b,c,b.getValueAccessorByIndex(d),b.colorCalculator()(d))})},b.isLegendableHidden=function(a){return-1!==k.indexOf(a.name)},b.legendToggle=function(a){if(l){var c;-1!==(c=k.indexOf(a.name))?(k.splice(c,1),b.showStack(a.name)):(k.push(a.name),b.hideStack(a.name))}b.render()},b},a.abstractBubbleChart=function(b){var c=.3,d=10;b.BUBBLE_NODE_CLASS="node",b.BUBBLE_CLASS="bubble",b.MIN_RADIUS=10,b=a.colorChart(b),b.renderLabel(!0),b.renderTitle(!1),b.data(function(a){return a.top(1/0)});var e=d3.scale.linear().domain([0,100]),f=function(a){return a.r};b.r=function(a){return arguments.length?(e=a,b):e},b.radiusValueAccessor=function(a){return arguments.length?(f=a,b):f},b.rMin=function(){var a=d3.min(b.data(),function(a){return b.radiusValueAccessor()(a)});return a},b.rMax=function(){var a=d3.max(b.data(),function(a){return b.radiusValueAccessor()(a)});return a},b.bubbleR=function(a){var c=b.radiusValueAccessor()(a),d=b.r()(c);return(isNaN(d)||0>=c)&&(d=0),d};var g=function(a){return b.label()(a)},h=function(a){return b.bubbleR(a)>d?1:0};b.doRenderLabel=function(c){if(b.renderLabel()){var d=c.select("text");d.empty()&&(d=c.append("text").attr("text-anchor","middle").attr("dy",".3em").on("click",b.onClick)),d.attr("opacity",0).text(g),a.transition(d,b.transitionDuration()).attr("opacity",h)}},b.doUpdateLabels=function(c){if(b.renderLabel()){var d=c.selectAll("text").text(g);a.transition(d,b.transitionDuration()).attr("opacity",h)}};var i=function(a){return b.title()(a)};return b.doRenderTitles=function(a){if(b.renderTitle()){var c=a.select("title");c.empty()&&a.append("title").text(i)}},b.doUpdateTitles=function(a){b.renderTitle()&&a.selectAll("title").text(i)},b.minRadiusWithLabel=function(a){return arguments.length?(d=a,b):d},b.maxBubbleRelativeSize=function(a){return arguments.length?(c=a,b):c},b.fadeDeselectedArea=function(){b.hasFilter()?b.selectAll("g."+b.BUBBLE_NODE_CLASS).each(function(a){b.isSelectedNode(a)?b.highlightSelected(this):b.fadeDeselected(this)}):b.selectAll("g."+b.BUBBLE_NODE_CLASS).each(function(){b.resetHighlight(this)})},b.isSelectedNode=function(a){return b.hasFilter(a.key)},b.onClick=function(c){var d=c.key;a.events.trigger(function(){b.filter(d),a.redrawAll(b.chartGroup())})},b},a.pieChart=function(b,c){function d(){C=C?C:d3.min([J.width(),J.height()])/2;var a=q(),b=s(),c=b(J.data());if(D){var d=D.selectAll("g."+G).data(c);e(d,a,c),k(c,a),o(d),p()}}function e(a,b,c){var d=f(a);g(d,b),h(d),j(c,b)}function f(a){var b=a.enter().append("g").attr("class",function(a,b){return G+" _"+b});return b}function g(a,b){var c=a.append("path").attr("fill",x).on("click",y).attr("d",function(a,c){return z(a,c,b)});c.transition().duration(J.transitionDuration()).attrTween("d",v)}function h(a){J.renderTitle()&&a.append("title").text(function(a){return J.title()(a)})}function i(b,c){a.transition(b,J.transitionDuration()).attr("transform",function(a){return A(a,c)}).attr("text-anchor","middle").text(function(a){var b=a.data;return u(b)||t(a)?"":J.label()(a.data)})}function j(a,b){if(J.renderLabel()){var c=D.selectAll("text."+G).data(a);c.exit().remove();var d=c.enter().append("text").attr("class",function(a,b){var c=G+" _"+b;return E&&(c+=" external"),c}).on("click",y);i(d,b)}}function k(a,b){l(a,b),m(a,b),n(a)}function l(b,c){var d=D.selectAll("g."+G).data(b).select("path").attr("d",function(a,b){return z(a,b,c)});a.transition(d,J.transitionDuration(),function(a){a.attrTween("d",v)}).attr("fill",x)}function m(a,b){if(J.renderLabel()){var c=D.selectAll("text."+G).data(a);i(c,b)}}function n(a){J.renderTitle()&&D.selectAll("g."+G).data(a).select("title").text(function(a){return J.title()(a.data)})}function o(a){a.exit().remove()}function p(){J.hasFilter()?J.selectAll("g."+G).each(function(a){r(a)?J.highlightSelected(this):J.fadeDeselected(this)}):J.selectAll("g."+G).each(function(){J.resetHighlight(this)})}function q(){return d3.svg.arc().outerRadius(C).innerRadius(H)}function r(a){return J.hasFilter(J.cappedKeyAccessor(a.data))}function s(){return d3.layout.pie().sort(null).value(J.cappedValueAccessor)}function t(a){var b=a.endAngle-a.startAngle;return isNaN(b)||I>b}function u(a){return 0===J.cappedValueAccessor(a)}function v(a){a.innerRadius=H;var b=this._current;w(b)&&(b={startAngle:0,endAngle:0});var c=d3.interpolate(b,a);return this._current=c(0),function(a){return z(c(a),0,q())}}function w(a){return!a||isNaN(a.startAngle)||isNaN(a.endAngle)}function x(a,b){return J.getColor(a.data,b)}function y(a,b){J.onClick(a.data,b)}function z(a,b,c){var d=c(a,b);return d.indexOf("NaN")>=0&&(d="M0,0"),d}function A(a,b){var c;return c=E?d3.svg.arc().outerRadius(C+E).innerRadius(C+E).centroid(a):b.centroid(a),isNaN(c[0])||isNaN(c[1])?"translate(0,0)":"translate("+c+")"}function B(a,b){J.selectAll("g.pie-slice").each(function(c){a.name==c.data.key&&d3.select(this).classed("highlight",b)})}var C,D,E,F=.5,G="pie-slice",H=0,I=F,J=a.capped(a.colorChart(a.baseChart({})));return J.colorAccessor(J.cappedKeyAccessor),J.title(function(a){return J.cappedKeyAccessor(a)+": "+J.cappedValueAccessor(a)}),J.slicesCap=J.cap,J.label(J.cappedKeyAccessor),J.renderLabel(!0),J.transitionDuration(350),J.doRender=function(){return J.resetSvg(),D=J.svg().append("g").attr("transform","translate("+J.cx()+","+J.cy()+")"),d(),J},J.innerRadius=function(a){return arguments.length?(H=a,J):H},J.radius=function(a){return arguments.length?(C=a,J):C},J.cx=function(){return J.width()/2},J.cy=function(){return J.height()/2},J.doRedraw=function(){return d(),J},J.minAngleForLabel=function(a){return arguments.length?(I=a,J):I
},J.externalLabels=function(a){return 0===arguments.length?E:(E=a?a:void 0,J)},J.legendables=function(){return J.data().map(function(a,b){var c={name:a.key,data:a.value,others:a.others};return c.color=J.getColor(a,b),c})},J.getColor=function(a,b){return J.colorCalculator()(J.colorAccessor()(a,b))},J.legendHighlight=function(a){B(a,!0)},J.legendReset=function(a){B(a,!1)},J.legendToggle=function(a){J.onClick({key:a.name,others:a.others})},J.anchor(b,c)},a.barChart=function(b,c){function d(b){return a.utils.safeNumber(Math.abs(k.y()(b.y+b.y0)-k.y()(b.y0)))}function e(b,c,e){var f=b.selectAll("rect.bar").data(e.points,a.pluck("data",k.keyAccessor()));f.enter().append("rect").attr("class","bar").attr("fill",k.getColor),k.renderTitle()&&f.append("title").text(a.pluck("data",k.getTitleOfVisibleByIndex(c))),k.isOrdinal()&&f.on("click",g),a.transition(f,k.transitionDuration()).attr("x",function(b){var c=k.x()(b.x);return m&&(c-=h/2),k.isOrdinal()&&(c+=l/2),a.utils.safeNumber(c)}).attr("y",function(b){var c=k.y()(b.y+b.y0);return b.y<0&&(c-=d(b)),a.utils.safeNumber(c)}).attr("width",h).attr("height",function(a){return d(a)}).attr("fill",k.getColor).select("title").text(a.pluck("data",k.getTitleOfVisibleByIndex(c))),a.transition(f.exit(),k.transitionDuration()).attr("height",0).remove()}function f(){if(void 0===h){var a=k.xUnitCount();h=k.isOrdinal()&&!l?Math.floor(k.x().rangeBand()):l?Math.floor((k.xAxisLength()-(a-1)*l)/a):Math.floor(k.xAxisLength()/(1+k.barPadding())/a),(1/0==h||isNaN(h)||i>h)&&(h=i)}}function g(a){k.onClick(a.data)}var h,i=1,j=2,k=a.stackableChart(a.coordinateGridChart({})),l=j,m=!1;return a.override(k,"rescale",function(){k._rescale(),h=void 0}),k.plotData=function(){var a=k.chartBodyG().selectAll("g.stack").data(k.stackLayers());f(),a.enter().append("g").attr("class",function(a,b){return"stack _"+b}),a.each(function(a,b){var c=d3.select(this);e(c,b,a)}),k.stackLayers(null)},k.fadeDeselectedArea=function(){var b=k.chartBodyG().selectAll("rect.bar"),c=k.brush().extent();if(k.isOrdinal())k.hasFilter()?(b.classed(a.constants.SELECTED_CLASS,function(a){return k.hasFilter(k.keyAccessor()(a.data))}),b.classed(a.constants.DESELECTED_CLASS,function(a){return!k.hasFilter(k.keyAccessor()(a.data))})):(b.classed(a.constants.SELECTED_CLASS,!1),b.classed(a.constants.DESELECTED_CLASS,!1));else if(k.brushIsEmpty(c))b.classed(a.constants.DESELECTED_CLASS,!1);else{var d=c[0],e=c[1];b.classed(a.constants.DESELECTED_CLASS,function(a){var b=k.keyAccessor()(a.data);return d>b||b>=e})}},k.centerBar=function(a){return arguments.length?(m=a,k):m},k.barPadding=function(a){return arguments.length?(k._rangeBandPadding(a),l=0,k):k._rangeBandPadding()},k.outerPadding=k._outerRangeBandPadding,k.gap=function(a){return arguments.length?(l=a,k):l},k.extendBrush=function(){var a=k.brush().extent();return k.round()&&!m&&(a[0]=a.map(k.round())[0],a[1]=a.map(k.round())[1],k.chartBodyG().select(".brush").call(k.brush().extent(a))),a},k.legendHighlight=function(a){k.isLegendableHidden(a)||(k.select(".chart-body").selectAll("rect.bar").filter(function(){return d3.select(this).attr("fill")==a.color}).classed("highlight",!0),k.select(".chart-body").selectAll("rect.bar").filter(function(){return d3.select(this).attr("fill")!=a.color}).classed("fadeout",!0))},k.legendReset=function(a){k.selectAll(".chart-body").selectAll("rect.bar").filter(function(){return d3.select(this).attr("fill")==a.color}).classed("highlight",!1),k.selectAll(".chart-body").selectAll("rect.bar").filter(function(){return d3.select(this).attr("fill")!=a.color}).classed("fadeout",!1)},a.override(k,"xAxisMax",function(){var a=this._xAxisMax();if("resolution"in k.xUnits()){var b=k.xUnits().resolution;a+=b}return a}),k.anchor(b,c)},a.lineChart=function(b,c){function d(b,c){var d=d3.svg.line().x(function(a){return v.x()(a.x)}).y(function(a){return v.y()(a.y+a.y0)}).interpolate(B).tension(C);n&&d.defined(n);var e=b.append("path").attr("class","line").attr("stroke",v.getColor).attr("fill",v.getColor);o&&e.attr("stroke-dasharray",o),a.transition(c.select("path.line"),v.transitionDuration()).attr("d",function(a){return f(d(a.points))})}function e(b,c){if(w){var d=d3.svg.area().x(function(a){return v.x()(a.x)}).y(function(a){return v.y()(a.y+a.y0)}).y0(function(a){return v.y()(a.y0)}).interpolate(B).tension(C);n&&d.defined(n),b.append("path").attr("class","area").attr("fill",v.getColor).attr("d",function(a){return f(d(a.points))}),a.transition(c.select("path.area"),v.transitionDuration()).attr("d",function(a){return f(d(a.points))})}}function f(a){return!a||a.indexOf("NaN")>=0?"M0,0":a}function g(b,c){if(!v.brushOn()){var d=q+"-list",e=b.select("g."+d);e.empty()&&(e=b.append("g").attr("class",d)),c.each(function(b,c){var d=d3.select(this),f=d.datum().points;n&&(f=f.filter(n));var g=e.select("g."+q+"._"+c);g.empty()&&(g=e.append("g").attr("class",q+" _"+c)),h(g);var o=g.selectAll("circle."+r).data(f);o.enter().append("circle").attr("class",r).attr("r",k()).attr("fill",v.getColor).style("fill-opacity",z).style("stroke-opacity",A).on("mousemove",function(){var a=d3.select(this);i(a),j(a,g)}).on("mouseout",function(){var a=d3.select(this);l(a),m(g)}).append("title").text(a.pluck("data",v.getTitleOfVisibleByIndex(c))),o.attr("cx",function(b){return a.utils.safeNumber(v.x()(b.x))}).attr("cy",function(b){return a.utils.safeNumber(v.y()(b.y+b.y0))}).select("title").text(a.pluck("data",v.getTitleOfVisibleByIndex(c))),o.exit().remove()})}}function h(a){var b=a.select("path."+s).empty()?a.append("path").attr("class",s):a.select("path."+s);b.style("display","none").attr("stroke-dasharray","5,5");var c=a.select("path."+t).empty()?a.append("path").attr("class",t):a.select("path."+t);c.style("display","none").attr("stroke-dasharray","5,5")}function i(a){return a.style("fill-opacity",.8),a.style("stroke-opacity",.8),a.attr("r",x),a}function j(a,b){var c=a.attr("cx"),d=a.attr("cy");b.select("path."+s).style("display","").attr("d","M0 "+d+"L"+c+" "+d),b.select("path."+t).style("display","").attr("d","M"+c+" "+v.yAxisHeight()+"L"+c+" "+d)}function k(){return y||x}function l(a){a.style("fill-opacity",z).style("stroke-opacity",A).attr("r",k())}function m(a){a.select("path."+s).style("display","none"),a.select("path."+t).style("display","none")}var n,o,p=5,q="dc-tooltip",r="dot",s="yRef",t="xRef",u=1e-6,v=a.stackableChart(a.coordinateGridChart({})),w=!1,x=p,y=null,z=u,A=u,B="linear",C=.7;return v.transitionDuration(500),v.plotData=function(){var a=v.chartBodyG(),b=a.selectAll("g.stack-list");b.empty()&&(b=a.append("g").attr("class","stack-list"));var c=b.selectAll("g.stack").data(v.stackLayers()),f=c.enter().append("g").attr("class",function(a,b){return"stack _"+b});d(f,c),e(f,c),g(a,c),v.stackLayers(null)},v.interpolate=function(a){return arguments.length?(B=a,v):B},v.tension=function(a){return arguments.length?(C=a,v):C},v.defined=function(a){return arguments.length?(n=a,v):n},v.dashStyle=function(a){return arguments.length?(o=a,v):o},v.renderArea=function(a){return arguments.length?(w=a,v):w},v.dotRadius=function(a){return arguments.length?(x=a,v):x},v.renderDataPoints=function(a){return arguments.length?(a?(z=a.fillOpacity||.8,A=a.strokeOpacity||.8,y=a.radius||2):(z=u,A=u,y=null),v):{fillOpacity:z,strokeOpacity:A,radius:y}},v.legendHighlight=function(a){v.isLegendableHidden(a)||(v.selectAll(".chart-body").selectAll("path").filter(function(){return d3.select(this).attr("fill")==a.color}).classed("highlight",!0),v.selectAll(".chart-body").selectAll("path").filter(function(){return d3.select(this).attr("fill")!=a.color}).classed("fadeout",!0))},v.legendReset=function(a){v.selectAll(".chart-body").selectAll("path").filter(function(){return d3.select(this).attr("fill")==a.color}).classed("highlight",!1),v.selectAll(".chart-body").selectAll("path").filter(function(){return d3.select(this).attr("fill")!=a.color}).classed("fadeout",!1)},v.anchor(b,c)},a.dataCount=function(b,c){var d=d3.format(",d"),e=a.baseChart({});return e.doRender=function(){return e.selectAll(".total-count").text(d(e.dimension().size())),e.selectAll(".filter-count").text(d(e.group().value())),e},e.doRedraw=function(){return e.doRender()},e.anchor(b,c)},a.dataTable=function(b,c){function d(){var a=k.root().selectAll("tbody").data(e(),function(a){return k.keyAccessor()(a)}),b=a.enter().append("tbody");return b.append("tr").attr("class",j).append("td").attr("class",g).attr("colspan",m.length).html(function(a){return k.keyAccessor()(a)}),a.exit().remove(),b}function e(){var a=k.dimension().top(l);return d3.nest().key(k.group()).sortKeys(o).entries(a.sort(function(a,b){return o(n(a),n(b))}))}function f(a){var b=a.order().selectAll("tr."+h).data(function(a){return a.values}),c=b.enter().append("tr").attr("class",h);return m.forEach(function(a,b){c.append("td").attr("class",i+" _"+b).html(a)}),b.exit().remove(),b}var g="dc-table-label",h="dc-table-row",i="dc-table-column",j="dc-table-group",k=a.baseChart({}),l=25,m=[],n=function(a){return a},o=d3.ascending;return k.doRender=function(){return k.selectAll("tbody").remove(),f(d()),k},k.doRedraw=function(){return k.doRender()},k.size=function(a){return arguments.length?(l=a,k):l},k.columns=function(a){return arguments.length?(m=a,k):m},k.sortBy=function(a){return arguments.length?(n=a,k):n},k.order=function(a){return arguments.length?(o=a,k):o},k.anchor(b,c)},a.bubbleChart=function(b,c){function d(b){var c=b.enter().append("g");c.attr("class",i.BUBBLE_NODE_CLASS).attr("transform",k).append("circle").attr("class",function(a,b){return i.BUBBLE_CLASS+" _"+b}).on("click",i.onClick).attr("fill",i.getColor).attr("r",0),a.transition(b,i.transitionDuration()).attr("r",function(a){return i.bubbleR(a)}).attr("opacity",function(a){return i.bubbleR(a)>0?1:0}),i.doRenderLabel(c),i.doRenderTitles(c)}function e(b){a.transition(b,i.transitionDuration()).attr("transform",k).selectAll("circle."+i.BUBBLE_CLASS).attr("fill",i.getColor).attr("r",function(a){return i.bubbleR(a)}).attr("opacity",function(a){return i.bubbleR(a)>0?1:0}),i.doUpdateLabels(b),i.doUpdateTitles(b)}function f(a){a.exit().remove()}function g(a){var b=i.x()(i.keyAccessor()(a));return isNaN(b)&&(b=0),b}function h(a){var b=i.y()(i.valueAccessor()(a));return isNaN(b)&&(b=0),b}var i=a.abstractBubbleChart(a.coordinateGridChart({})),j=!1;i.transitionDuration(750);var k=function(a){return"translate("+g(a)+","+h(a)+")"};return i.elasticRadius=function(a){return arguments.length?(j=a,i):j},i.plotData=function(){j&&i.r().domain([i.rMin(),i.rMax()]),i.r().range([i.MIN_RADIUS,i.xAxisLength()*i.maxBubbleRelativeSize()]);var a=i.chartBodyG().selectAll("g."+i.BUBBLE_NODE_CLASS).data(i.data(),i.keyAccessor());d(a),e(a),f(a),i.fadeDeselectedArea()},i.renderBrush=function(){},i.redrawBrush=function(){i.fadeDeselectedArea()},i.anchor(b,c)},a.compositeChart=function(b,c){function d(a,b){a._generateG(j.g()),a.g().attr("class",i+" _"+b)}function e(){for(var a=[],b=0;b<k.length;++b)a.push(k[b].yAxisMin());return a}function f(){for(var a=[],b=0;b<k.length;++b)a.push(k[b].yAxisMax());return a}function g(){for(var a=[],b=0;b<k.length;++b)a.push(k[b].xAxisMin());return a}function h(){for(var a=[],b=0;b<k.length;++b)a.push(k[b].xAxisMax());return a}var i="sub",j=a.coordinateGridChart({}),k=[],l=!1,m=!0;return j._mandatoryAttributes([]),j.transitionDuration(500),a.override(j,"_generateG",function(){for(var a=this.__generateG(),b=0;b<k.length;++b){var c=k[b];d(c,b),c.dimension()||c.dimension(j.dimension()),c.group()||c.group(j.group()),c.chartGroup(j.chartGroup()),c.svg(j.svg()),c.xUnits(j.xUnits()),c.transitionDuration(j.transitionDuration()),c.brushOn(j.brushOn())}return a}),j.plotData=function(){for(var a=0;a<k.length;++a){var b=k[a];b.g()||d(b,a),l&&b.colors(j.colors()),b.x(j.x()),b.y(j.y()),b.xAxis(j.xAxis()),b.yAxis(j.yAxis()),b.plotData(),b.activateRenderlets()}},j.fadeDeselectedArea=function(){for(var a=0;a<k.length;++a){var b=k[a];b.brush(j.brush()),b.fadeDeselectedArea()}},j.compose=function(a){return k=a,k.forEach(function(a,b){a.height(j.height()),a.width(j.width()),a.margins(j.margins()),m&&a.title(j.title()),l&&a.colorAccessor()===a._layerColorAccessor&&a.colorCalculator(function(){return a.colors()(b)})}),j},j.children=function(){return k},j.shareColors=function(a){return arguments.length?(l=a,j):l},j.shareTitle=function(a){return arguments.length?(m=a,j):m},j.yAxisMin=function(){return d3.min(e())},j.yAxisMax=function(){return a.utils.add(d3.max(f()),j.yAxisPadding())},j.xAxisMin=function(){return a.utils.subtract(d3.min(g()),j.xAxisPadding())},j.xAxisMax=function(){return a.utils.add(d3.max(h()),j.xAxisPadding())},j.legendables=function(){var b=[];return k.forEach(function(c,d){l&&c.colors(j.colors());var e=c.legendables();e.length?b.push.apply(b,e):b.push(a.utils.createLegendable(c,c.group(),c.valueAccessor(),c.colorCalculator()(d)))}),b},j.legendHighlight=function(a){for(var b=0;b<k.length;++b){var c=k[b];c.legendHighlight(a)}},j.legendReset=function(a){for(var b=0;b<k.length;++b){var c=k[b];c.legendReset(a)}},j.anchor(b,c)},a.seriesChart=function(b,c){function d(a,b){return d3.ascending(h.keyAccessor()(a),h.keyAccessor()(b))}function e(a){i[a].g()&&i[a].g().remove(),delete i[a]}function f(){Object.keys(i).map(e),i={}}var g,h=a.compositeChart(b,c),i={},j=a.lineChart,k=d3.ascending,l=d;return h._mandatoryAttributes().push("seriesAccessor","chart"),h.shareColors(!0),h._preprocessData=function(){var a,b=[],d=d3.nest().key(g);k&&d.sortKeys(k),l&&d.sortValues(l);var f=d.entries(h.data()),m=f.map(function(d,e){var f=i[d.key]||j.call(h,h,c,d.key,e);return i[d.key]||(a=!0),i[d.key]=f,b.push(d.key),f.dimension(h.dimension()).group({all:d3.functor(d.values)},d.key).keyAccessor(h.keyAccessor()).valueAccessor(h.valueAccessor()).colorCalculator(function(){return f.colors()(d.key)})});Object.keys(i).filter(function(a){return-1===b.indexOf(a)}).forEach(function(b){e(b),a=!0}),h._compose(m),a&&h.legend()&&h.legend().render()},h.chart=function(a){return arguments.length?(j=a,f(),h):j},h.seriesAccessor=function(a){return arguments.length?(g=a,f(),h):g},h.seriesSort=function(a){return arguments.length?(k=a,f(),h):k},h.valueSort=function(a){return arguments.length?(l=a,f(),h):l},h._compose=h.compose,delete h.compose,h},a.geoChoroplethChart=function(b,c){function d(a){var b=e();if(f(a)){var c=g(a);m(c,a,b),n(c,a,b)}}function e(){for(var a={},b=o.data(),c=0;c<b.length;++c)a[o.keyAccessor()(b[c])]=o.valueAccessor()(b[c]);return a}function f(a){return l(a).keyAccessor}function g(b){var c=o.svg().selectAll(h(b)).classed("selected",function(a){return i(b,a)}).classed("deselected",function(a){return j(b,a)}).attr("class",function(c){var d=l(b).name,e=a.utils.nameToId(l(b).keyAccessor(c)),f=d+" "+e;return i(b,c)&&(f+=" selected"),j(b,c)&&(f+=" deselected"),f});return c}function h(a){return"g.layer"+a+" g."+l(a).name}function i(a,b){return o.hasFilter()&&o.hasFilter(k(a,b))}function j(a,b){return o.hasFilter()&&!o.hasFilter(k(a,b))}function k(a,b){return l(a).keyAccessor(b)}function l(a){return r[a]}function m(b,c,d){var e=b.select("path").attr("fill",function(){var a=d3.select(this).attr("fill");return a?a:"none"}).on("click",function(a){return o.onClick(a,c)});a.transition(e,o.transitionDuration()).attr("fill",function(a,b){return o.getColor(d[l(c).keyAccessor(a)],b)})}function n(a,b,c){o.renderTitle()&&a.selectAll("title").text(function(a){var d=k(b,a),e=c[d];return o.title()({key:d,value:e})})}var o=a.colorChart(a.baseChart({}));o.colorAccessor(function(a){return a||0});var p,q=d3.geo.path(),r=[];return o.doRender=function(){o.resetSvg();for(var a=0;a<r.length;++a){var b=o.svg().append("g").attr("class","layer"+a),c=b.selectAll("g."+l(a).name).data(l(a).data).enter().append("g").attr("class",l(a).name);c.append("path").attr("fill","white").attr("d",q),c.append("title"),d(a)}p=!1},o.onClick=function(b,c){var d=l(c).keyAccessor(b);a.events.trigger(function(){o.filter(d),a.redrawAll(o.chartGroup())})},o.doRedraw=function(){for(var a=0;a<r.length;++a)d(a),p&&o.svg().selectAll("g."+l(a).name+" path").attr("d",q);p=!1},o.overlayGeoJson=function(a,b,c){for(var d=0;d<r.length;++d)if(r[d].name==b)return r[d].data=a,r[d].keyAccessor=c,o;return r.push({name:b,data:a,keyAccessor:c}),o},o.projection=function(a){return q.projection(a),p=!0,o},o.geoJsons=function(){return r},o.removeGeoJson=function(a){for(var b=[],c=0;c<r.length;++c){var d=r[c];d.name!=a&&b.push(d)}return r=b,o},o.anchor(b,c)},a.bubbleOverlay=function(b,c){function d(){return i=m.select("g."+j),i.empty()&&(i=m.svg().append("g").attr("class",j)),i}function e(){var b=f();n.forEach(function(c){var d=g(c,b),e=d.select("circle."+l);e.empty()&&(e=d.append("circle").attr("class",l).attr("r",0).attr("fill",m.getColor).on("click",m.onClick)),a.transition(e,m.transitionDuration()).attr("r",function(a){return m.bubbleR(a)}),m.doRenderLabel(d),m.doRenderTitles(d)})}function f(){var a={};return m.data().forEach(function(b){a[m.keyAccessor()(b)]=b}),a}function g(b,c){var d=k+" "+a.utils.nameToId(b.name),e=i.select("g."+a.utils.nameToId(b.name));return e.empty()&&(e=i.append("g").attr("class",d).attr("transform","translate("+b.x+","+b.y+")")),e.datum(c[b.name]),e}function h(){var b=f();n.forEach(function(c){var d=g(c,b),e=d.select("circle."+l);a.transition(e,m.transitionDuration()).attr("r",function(a){return m.bubbleR(a)}).attr("fill",m.getColor),m.doUpdateLabels(d),m.doUpdateTitles(d)})}var i,j="bubble-overlay",k="node",l="bubble",m=a.abstractBubbleChart(a.baseChart({})),n=[];return m.transitionDuration(750),m.radiusValueAccessor(function(a){return a.value}),m.point=function(a,b,c){return n.push({name:a,x:b,y:c}),m},m.doRender=function(){return i=d(),m.r().range([m.MIN_RADIUS,m.width()*m.maxBubbleRelativeSize()]),e(),m.fadeDeselectedArea(),m},m.doRedraw=function(){return h(),m.fadeDeselectedArea(),m},m.debug=function(b){if(b){var c=m.select("g."+a.constants.DEBUG_GROUP_CLASS);c.empty()&&(c=m.svg().append("g").attr("class",a.constants.DEBUG_GROUP_CLASS));var d=c.append("text").attr("x",10).attr("y",20);c.append("rect").attr("width",m.width()).attr("height",m.height()).on("mousemove",function(){var a=d3.mouse(c.node()),b=a[0]+", "+a[1];d.text(b)})}else m.selectAll(".debug").remove();return m},m.anchor(b,c),m},a.rowChart=function(b,c){function d(){if(!r||s){var a=d3.extent(t,y.cappedValueAccessor);a[0]>0&&(a[0]=0),r=d3.scale.linear().domain(a).range([0,y.effectiveWidth()])}z.scale(r)}function e(){var b=q.select("g.axis");d(),b.empty()&&(b=q.append("g").attr("class","axis").attr("transform","translate(0, "+y.effectiveHeight()+")")),a.transition(b,y.transitionDuration()).call(z)}function f(){q.selectAll("g.tick").select("line.grid-line").remove(),q.selectAll("g.tick").append("line").attr("class","grid-line").attr("x1",0).attr("y1",0).attr("x2",0).attr("y2",function(){return-y.effectiveHeight()})}function g(){t=y.data(),e(),f();var a=q.selectAll("g."+x).data(t);h(a),i(a),j(a)}function h(a){var b=a.enter().append("g").attr("class",function(a,b){return x+" _"+b});b.append("rect").attr("width",0),l(b),m(a)}function i(a){a.exit().remove()}function j(b){var c=t.length,d=(y.effectiveHeight()-(c+1)*w)/c,e=b.attr("transform",function(a,b){return"translate(0,"+((b+1)*w+b*d)+")"}).select("rect").attr("height",d).attr("fill",y.getColor).on("click",n).classed("deselected",function(a){return y.hasFilter()?!p(a):!1}).classed("selected",function(a){return y.hasFilter()?p(a):!1});a.transition(e,y.transitionDuration()).attr("width",function(a){var b=r(0)==-1/0?r(1):r(0);return Math.abs(b-r(y.valueAccessor()(a)))}).attr("transform",o),k(b),m(b)}function k(a){y.renderTitle()&&(a.selectAll("title").remove(),a.append("title").text(y.title()))}function l(a){y.renderLabel()&&a.append("text").on("click",n)}function m(b){if(y.renderLabel()){var c=b.select("text").attr("x",u).attr("y",v).on("click",n).attr("class",function(a,b){return x+" _"+b}).text(function(a){return y.label()(a)});a.transition(c,y.transitionDuration()).attr("transform",o)}}function n(a){y.onClick(a)}function o(a){var b=r(y.cappedValueAccessor(a)),c=r(0),d=b>c?c:b;return"translate("+d+",0)"}function p(a){return y.hasFilter(y.cappedKeyAccessor(a))}var q,r,s,t,u=10,v=15,w=5,x="row",y=a.capped(a.marginable(a.colorChart(a.baseChart({})))),z=d3.svg.axis().orient("bottom");return y.rowsCap=y.cap,y.doRender=function(){return y.resetSvg(),q=y.svg().append("g").attr("transform","translate("+y.margins().left+","+y.margins().top+")"),g(),y},y.title(function(a){return y.cappedKeyAccessor(a)+": "+y.cappedValueAccessor(a)}),y.label(y.cappedKeyAccessor),y.x=function(a){return arguments.length?(r=a,y):r},y.doRedraw=function(){return g(),y},y.xAxis=function(){return z},y.gap=function(a){return arguments.length?(w=a,y):w},y.elasticX=function(a){return arguments.length?(s=a,y):s},y.labelOffsetX=function(a){return arguments.length?(u=a,y):u},y.labelOffsetY=function(a){return arguments.length?(v=a,y):v},y.anchor(b,c)},a.legend=function(){function a(){return i+h}var b,c,d=2,e={},f=0,g=0,h=12,i=5,j=!1,k=560,l=70;return e.parent=function(a){return arguments.length?(b=a,e):b},e.render=function(){b.svg().select("g.dc-legend").remove(),c=b.svg().append("g").attr("class","dc-legend").attr("transform","translate("+f+","+g+")");var e=c.selectAll("g.dc-legend-item").data(b.legendables()).enter().append("g").attr("class","dc-legend-item").classed("fadeout",function(a){return b.isLegendableHidden(a)}).on("mouseover",function(a){b.legendHighlight(a)}).on("mouseout",function(a){b.legendReset(a)}).on("click",function(a){b.legendToggle(a)});b.legendables().some(function(a){return a.dashstyle})?e.append("line").attr("x1",0).attr("y1",h/2).attr("x2",h).attr("y2",h/2).attr("stroke-width",2).attr("stroke-dasharray",function(a){return a.dashstyle}).attr("stroke",function(a){return a.color}):e.append("rect").attr("width",h).attr("height",h).attr("fill",function(a){return a.color}),e.append("text").text(function(a){return a.name}).attr("x",h+d).attr("y",function(){return h/2+(this.clientHeight?this.clientHeight:13)/2-2});var i=0,m=0;e.attr("transform",function(b,c){if(j){var d="translate("+i+","+m*a()+")";return i+l>=k?(++m,i=0):i+=l,d}return"translate(0,"+c*a()+")"})},e.x=function(a){return arguments.length?(f=a,e):f},e.y=function(a){return arguments.length?(g=a,e):g},e.gap=function(a){return arguments.length?(i=a,e):i},e.itemHeight=function(a){return arguments.length?(h=a,e):h},e.horizontal=function(a){return arguments.length?(j=a,e):j},e.legendWidth=function(a){return arguments.length?(k=a,e):k},e.itemWidth=function(a){return arguments.length?(l=a,e):l},e},a.capped=function(b){var c=1/0,d="Others",e=function(a){var c=d3.sum(a,b.valueAccessor()),e=b.group().all(),f=d3.sum(e,b.valueAccessor()),g=a.map(b.keyAccessor()),h=e.map(b.keyAccessor()),i=d3.set(g),j=h.filter(function(a){return!i.has(a)});return f>c?a.concat([{others:j,key:d,value:f-c}]):a};return b.cappedKeyAccessor=function(a,c){return a.others?a.key:b.keyAccessor()(a,c)},b.cappedValueAccessor=function(a,c){return a.others?a.value:b.valueAccessor()(a,c)},b.data(function(a){if(1/0==c)return b.computeOrderedGroups(a.all());var d=a.top(c);return d=b.computeOrderedGroups(d),e?e(d):d}),b.cap=function(a){return arguments.length?(c=a,b):c},b.othersLabel=function(a){return arguments.length?(d=a,b):d},b.othersGrouper=function(a){return arguments.length?(e=a,b):e},a.override(b,"onClick",function(a){a.others&&b.filter([a.others]),b._onClick(a)}),b},a.scatterPlot=function(b,c){var d=a.coordinateGridChart({}),e=function(a){return"translate("+d.x()(d.keyAccessor()(a))+","+d.y()(d.valueAccessor()(a))+")"},f=3;return d.transitionDuration(0),d.plotData=function(){var b=d.chartBodyG().selectAll("circle.symbol").data(d.data());b.enter().append("circle").attr("class","symbol").attr("fill",d.getColor(0)).attr("transform",e),a.transition(b,d.transitionDuration()).attr("transform",e).attr("r",f),a.transition(b.filter(function(a){return 0===d.valueAccessor()(a)}),d.transitionDuration()).attr("r",0).remove(),a.transition(b.exit(),d.transitionDuration()).attr("r",0).remove()},d.symbolSize=function(a){return arguments.length?(f=a,d):f},d.anchor(b,c)},a.numberDisplay=function(b,c){var d="number-display",e=d3.format(".2s"),f=a.baseChart({});return f._mandatoryAttributes(["group"]),f.value=function(){return f.data()},f.data(function(a){var b=a.value?a.value():a.top(1)[0];return f.valueAccessor()(b)}),f.transitionDuration(250),f.doRender=function(){var a=f.value(),b=f.selectAll("."+d);return b.empty()&&(b=b.data([0]).enter().append("span").attr("class",d)),b.transition().duration(f.transitionDuration()).ease("quad-out-in").tween("text",function(){var b=d3.interpolateNumber(this.lastValue||0,a);return this.lastValue=a,function(a){this.textContent=f.formatNumber()(b(a))}}),f},f.doRedraw=function(){return f.doRender()},f.formatNumber=function(a){return arguments.length?(e=a,f):e},f.anchor(b,c)},a.heatMap=function(b,c){function d(b,c){var d=l.selectAll(".box-group").filter(function(a){return a.key[b]==c}),e=d.filter(function(a){return!l.hasFilter(a.key)});a.events.trigger(function(){e.empty()?d.each(function(a){l.filter(a.key)}):e.each(function(a){l.filter(a.key)}),a.redrawAll(l.chartGroup())})}function e(a,b,c){return!b||c[b-1]!=a}var f,g,h,i=6.75,j=i,k=i,l=a.colorChart(a.marginable(a.baseChart({})));l._mandatoryAttributes(["group"]),l.title(l.colorAccessor());var m=function(a){d(0,a)},n=function(a){d(1,a)},o=function(b){var c=b.key;a.events.trigger(function(){l.filter(c),a.redrawAll(l.chartGroup())})};return a.override(l,"filter",function(b){return b?l._filter(a.filters.TwoDimensionalFilter(b)):l._filter()}),l.rows=function(a){if(arguments.length)return h=a,l;if(h)return h;var b=l.data().map(l.valueAccessor());return b.sort(d3.ascending),d3.scale.ordinal().domain(b.filter(e))},l.cols=function(a){if(arguments.length)return g=a,l;if(g)return g;var b=l.data().map(l.keyAccessor());return b.sort(d3.ascending),d3.scale.ordinal().domain(b.filter(e))},l.doRender=function(){return l.resetSvg(),f=l.svg().append("g").attr("class","heatmap").attr("transform","translate("+l.margins().left+","+l.margins().top+")"),l.doRedraw()},l.doRedraw=function(){var b=l.rows(),c=l.cols(),d=b.domain().length,e=c.domain().length,g=Math.floor(l.effectiveWidth()/e),h=Math.floor(l.effectiveHeight()/d);c.rangeRoundBands([0,l.effectiveWidth()]),b.rangeRoundBands([l.effectiveHeight(),0]);var i=f.selectAll("g.box-group").data(l.data(),function(a,b){return l.keyAccessor()(a,b)+"\x00"+l.valueAccessor()(a,b)}),m=i.enter().append("g").attr("class","box-group");m.append("rect").attr("class","heat-box").attr("fill","white").on("click",l.boxOnClick()),m.append("title").text(l.title()),a.transition(i.selectAll("rect"),l.transitionDuration()).attr("x",function(a,b){return c(l.keyAccessor()(a,b))}).attr("y",function(a,c){return b(l.valueAccessor()(a,c))}).attr("rx",j).attr("ry",k).attr("fill",l.getColor).attr("width",g).attr("height",h),i.exit().remove();var n=f.selectAll("g.cols");n.empty()&&(n=f.append("g").attr("class","cols axis")),n.selectAll("text").data(c.domain()).enter().append("text").attr("x",function(a){return c(a)+g/2}).style("text-anchor","middle").attr("y",l.effectiveHeight()).attr("dy",12).on("click",l.xAxisOnClick()).text(function(a){return a});var o=f.selectAll("g.rows");o.empty()&&(o=f.append("g").attr("class","rows axis")),o.selectAll("text").data(b.domain()).enter().append("text").attr("dy",6).style("text-anchor","end").attr("x",0).attr("dx",-2).on("click",l.yAxisOnClick()).text(function(a){return a}),a.transition(o.selectAll("text"),l.transitionDuration()).text(function(a){return a}).attr("y",function(a){return b(a)+h/2}),l.hasFilter()?l.selectAll("g.box-group").each(function(a){l.isSelectedNode(a)?l.highlightSelected(this):l.fadeDeselected(this)}):l.selectAll("g.box-group").each(function(){l.resetHighlight(this)})},l.boxOnClick=function(a){return arguments.length?(o=a,l):o},l.xAxisOnClick=function(a){return arguments.length?(m=a,l):m},l.yAxisOnClick=function(a){return arguments.length?(n=a,l):n},l.xBorderRadius=function(a){return arguments.length&&(j=a),j},l.yBorderRadius=function(a){return arguments.length&&(k=a),k},l.isSelectedNode=function(a){return l.hasFilter(a.key)},l.anchor(b,c)},function(){function a(a){return[0,a.length-1]}function b(a){return[d3.quantile(a,.25),d3.quantile(a,.5),d3.quantile(a,.75)]}d3.box=function(){function c(a){a.each(function(a,b){a=a.map(h).sort(d3.ascending);var c=d3.select(this),l=a.length,m=a[0],n=a[l-1],o=a.quartiles=j(a),p=i&&i.call(this,a,b),q=p&&p.map(function(b){return a[b]}),r=p?d3.range(0,p[0]).concat(d3.range(p[1]+1,l)):d3.range(l),s=d3.scale.linear().domain(g&&g.call(this,a,b)||[m,n]).range([e,0]),t=this.__chart__||d3.scale.linear().domain([0,1/0]).range(s.range());this.__chart__=s;var u=c.selectAll("line.center").data(q?[q]:[]);u.enter().insert("line","rect").attr("class","center").attr("x1",d/2).attr("y1",function(a){return t(a[0])}).attr("x2",d/2).attr("y2",function(a){return t(a[1])}).style("opacity",1e-6).transition().duration(f).style("opacity",1).attr("y1",function(a){return s(a[0])}).attr("y2",function(a){return s(a[1])}),u.transition().duration(f).style("opacity",1).attr("y1",function(a){return s(a[0])}).attr("y2",function(a){return s(a[1])}),u.exit().transition().duration(f).style("opacity",1e-6).attr("y1",function(a){return s(a[0])}).attr("y2",function(a){return s(a[1])}).remove();var v=c.selectAll("rect.box").data([o]);v.enter().append("rect").attr("class","box").attr("x",0).attr("y",function(a){return t(a[2])}).attr("width",d).attr("height",function(a){return t(a[0])-t(a[2])}).transition().duration(f).attr("y",function(a){return s(a[2])}).attr("height",function(a){return s(a[0])-s(a[2])}),v.transition().duration(f).attr("y",function(a){return s(a[2])}).attr("height",function(a){return s(a[0])-s(a[2])});var w=c.selectAll("line.median").data([o[1]]);w.enter().append("line").attr("class","median").attr("x1",0).attr("y1",t).attr("x2",d).attr("y2",t).transition().duration(f).attr("y1",s).attr("y2",s),w.transition().duration(f).attr("y1",s).attr("y2",s);var x=c.selectAll("line.whisker").data(q||[]);x.enter().insert("line","circle, text").attr("class","whisker").attr("x1",0).attr("y1",t).attr("x2",d).attr("y2",t).style("opacity",1e-6).transition().duration(f).attr("y1",s).attr("y2",s).style("opacity",1),x.transition().duration(f).attr("y1",s).attr("y2",s).style("opacity",1),x.exit().transition().duration(f).attr("y1",s).attr("y2",s).style("opacity",1e-6).remove();var y=c.selectAll("circle.outlier").data(r,Number);y.enter().insert("circle","text").attr("class","outlier").attr("r",5).attr("cx",d/2).attr("cy",function(b){return t(a[b])}).style("opacity",1e-6).transition().duration(f).attr("cy",function(b){return s(a[b])}).style("opacity",1),y.transition().duration(f).attr("cy",function(b){return s(a[b])}).style("opacity",1),y.exit().transition().duration(f).attr("cy",function(b){return s(a[b])}).style("opacity",1e-6).remove();var z=k||s.tickFormat(8),A=c.selectAll("text.box").data(o);A.enter().append("text").attr("class","box").attr("dy",".3em").attr("dx",function(a,b){return 1&b?6:-6}).attr("x",function(a,b){return 1&b?d:0}).attr("y",t).attr("text-anchor",function(a,b){return 1&b?"start":"end"}).text(z).transition().duration(f).attr("y",s),A.transition().duration(f).text(z).attr("y",s);var B=c.selectAll("text.whisker").data(q||[]);B.enter().append("text").attr("class","whisker").attr("dy",".3em").attr("dx",6).attr("x",d).attr("y",t).text(z).style("opacity",1e-6).transition().duration(f).attr("y",s).style("opacity",1),B.transition().duration(f).text(z).attr("y",s).style("opacity",1),B.exit().transition().duration(f).attr("y",s).style("opacity",1e-6).remove()}),d3.timer.flush()}var d=1,e=1,f=0,g=null,h=Number,i=a,j=b,k=null;return c.width=function(a){return arguments.length?(d=a,c):d},c.height=function(a){return arguments.length?(e=a,c):e},c.tickFormat=function(a){return arguments.length?(k=a,c):k},c.duration=function(a){return arguments.length?(f=a,c):f},c.domain=function(a){return arguments.length?(g=null==a?a:d3.functor(a),c):g
},c.value=function(a){return arguments.length?(h=a,c):h},c.whiskers=function(a){return arguments.length?(i=a,c):i},c.quartiles=function(a){return arguments.length?(j=a,c):j},c}}(),a.boxPlot=function(b,c){function d(a){return function(b){for(var c=b.quartiles[0],d=b.quartiles[2],e=(d-c)*a,f=-1,g=b.length;b[++f]<c-e;);for(;b[--g]>d+e;);return[f,g]}}var e=a.coordinateGridChart({}),f=1.5,g=d,h=g(f),i=d3.box(),j=function(a,b){return e.isOrdinal()?e.x().rangeBand():a/(1+e.boxPadding())/b};return e.yAxisPadding(12),e.x(d3.scale.ordinal()),e.xUnits(a.units.ordinal),e.data(function(a){return a.all().map(function(a){return a.map=function(b){return b.call(a,a)},a})}),e.boxPadding=e._rangeBandPadding,e.boxPadding(.8),e.outerPadding=e._outerRangeBandPadding,e.outerPadding(.5),e.boxWidth=function(a){return arguments.length?(j=d3.functor(a),e):j},e.plotData=function(){var b=j(e.effectiveWidth(),e.xUnitCount());i.whiskers(h).width(b).height(e.effectiveHeight()).value(e.valueAccessor()).domain(e.y().domain());var c=function(a,b){var c=e.x()(e.keyAccessor()(a,b));return"translate("+c+",0)"};e.chartBodyG().selectAll("g.box").data(e.data()).enter().append("g").attr("class","box").attr("transform",c).call(i),e.chartBodyG().selectAll("g.box").each(function(){d3.select(this).select("rect.box").attr("fill",e.getColor)}).on("click",function(b){e.filter(b.key),a.redrawAll(e.chartGroup())})},e.fadeDeselectedArea=function(){e.hasFilter()?e.selectAll("g.box").each(function(a){e.isSelectedNode(a)?e.highlightSelected(this):e.fadeDeselected(this)}):e.selectAll("g.box").each(function(){e.resetHighlight(this)})},e.isSelectedNode=function(a){return e.hasFilter(a.key)},e.yAxisMin=function(){var b=d3.min(e.data(),function(a){return d3.min(e.valueAccessor()(a))});return a.utils.subtract(b,e.yAxisPadding())},e.yAxisMax=function(){var b=d3.max(e.data(),function(a){return d3.max(e.valueAccessor()(a))});return a.utils.add(b,e.yAxisPadding())},e.anchor(b,c)},a}(),dc.filters={},dc.filters.RangedFilter=function(a,b){var c=Array(a,b);return c.isFiltered=function(a){return a>=this[0]&&a<this[1]},c},dc.filters.TwoDimensionalFilter=function(a){var b=a;return b.isFiltered=function(a){return a.length&&a.length==b.length&&a[0]==b[0]&&a[1]==b[1]},b};
//# sourceMappingURL=dc.min.js.map