From d1f7cdf28635eaf619ffef2be96697b69d6b1a7a Mon Sep 17 00:00:00 2001 From: Jun Lin Date: Fri, 6 Jul 2012 09:13:56 +0800 Subject: [PATCH 1/2] fixed #42 set multibar default to stacked, the controls default value is wrong --- nv.d3.js | 10 +++++----- nv.d3.min.js | 4 ---- src/models/multiBarChart.js | 10 +++++----- 3 files changed, 10 insertions(+), 14 deletions(-) diff --git a/nv.d3.js b/nv.d3.js index ee67bcd..8ccde1c 100644 --- a/nv.d3.js +++ b/nv.d3.js @@ -4047,7 +4047,7 @@ nv.models.multiBarChart = function() { showControls = true, showLegend = true, tooltips = true, - tooltip = function(key, x, y, e, graph) { + tooltip = function(key, x, y, e, graph) { return '

' + key + '

' + '

' + y + ' on ' + x + '

' }; @@ -4076,8 +4076,8 @@ nv.models.multiBarChart = function() { //TODO: let user select default var controlsData = [ - { key: 'Grouped' }, - { key: 'Stacked', disabled: true } + { key: 'Grouped', disabled: multibar.stacked }, + { key: 'Stacked', disabled: !multibar.stacked } ]; function chart(selection) { @@ -4103,7 +4103,7 @@ nv.models.multiBarChart = function() { }, []); } else { seriesData = data.filter(function(d) { return !d.disabled }) - .map(function(d) { + .map(function(d) { return d.values.map(function(d,i) { return { x: multibar.x()(d,i), y: multibar.y()(d,i) } }) @@ -4228,7 +4228,7 @@ nv.models.multiBarChart = function() { selection.transition().call(chart); }); - controls.dispatch.on('legendClick', function(d,i) { + controls.dispatch.on('legendClick', function(d,i) { if (!d.disabled) return; controlsData = controlsData.map(function(s) { s.disabled = true; diff --git a/nv.d3.min.js b/nv.d3.min.js index 1e49790..e69de29 100644 --- a/nv.d3.min.js +++ b/nv.d3.min.js @@ -1,4 +0,0 @@ -(function(){function t(e,t){var n=[31,28,31,30,31,30,31,31,30,31,30,31];return e!=2?n[e-1]:t%4!=0?n[1]:t%100==0&&t%400!=0?n[1]:n[1]+1}function n(e,t,n){return function(r,i,s){var o=e(r),u=[];o1)while(oc+l&&(d=c-u-5);break;case"w":p=t[0]+i,d=t[1]-u/2,p+a>f&&(p=t[0]-a-i),dc+l&&(d=c-u-5);break;case"n":p=t[0]-a/2,d=t[1]+i,pf&&(p=f-a-5),d+u>c+l&&(d=t[1]-u-i);break;case"s":p=t[0]-a/2,d=t[1]-u-i,pf&&(p=f-a-5),c>d&&(d=t[1]+20)}return s.style.left=p+"px",s.style.top=d+"px",s.style.opacity=1,s.style.position="absolute",s.style.pointerEvents="none",s},t.cleanup=function(){var e=document.getElementsByClassName("nvtooltip"),t=[];while(e.length)t.push(e[0]),e[0].style.transitionDelay="0 !important",e[0].style.opacity=0,e[0].className="nvtooltip-pending-removal";setTimeout(function(){while(t.length){var e=t.pop();e.parentNode.removeChild(e)}},500)}}(),e.utils.windowSize=function(){var e={width:640,height:480};return document.body&&document.body.offsetWidth&&(e.width=document.body.offsetWidth,e.height=document.body.offsetHeight),document.compatMode=="CSS1Compat"&&document.documentElement&&document.documentElement.offsetWidth&&(e.width=document.documentElement.offsetWidth,e.height=document.documentElement.offsetHeight),window.innerWidth&&window.innerHeight&&(e.width=window.innerWidth,e.height=window.innerHeight),e},e.utils.windowResize=function(e){var t=window.onresize;window.onresize=function(n){typeof t=="function"&&t(n),e(n)}},e.models.axis=function(){function o(u){return u.each(function(o){var u=d3.select(this),a=u.selectAll("g.wrap.axis").data([o]),f=a.enter().append("g").attr("class","wrap axis"),l=f.append("g"),c=a.select("g");(i.orient()=="top"||i.orient()=="bottom")&&i.ticks(Math.abs(e.range()[1]-e.range()[0])/100),d3.transition(c).call(i),s=s||i.scale();var h=c.selectAll("text.axislabel").data([t||null]);h.exit().remove();switch(i.orient()){case"top":h.enter().append("text").attr("class","axislabel").attr("text-anchor","middle").attr("y",0),h.attr("x",e.range()[1]/2);if(n){var p=a.selectAll("g.axisMaxMin").data(e.domain());p.enter().append("g").attr("class","axisMaxMin").append("text"),p.exit().remove(),p.attr("transform",function(t,n){return"translate("+e(t)+",0)"}).select("text").attr("dy","0em").attr("y",-i.tickPadding()).attr("text-anchor","middle").text(function(e,t){return(""+i.tickFormat()(e)).match("NaN")?"":i.tickFormat()(e)}),d3.transition(p).attr("transform",function(t,n){return"translate("+e.range()[n]+",0)"})}break;case"bottom":h.enter().append("text").attr("class","axislabel").attr("text-anchor","middle").attr("y",25),h.attr("x",e.range()[1]/2);if(n){var p=a.selectAll("g.axisMaxMin").data(e.domain());p.enter().append("g").attr("class","axisMaxMin").append("text"),p.exit().remove(),p.attr("transform",function(t,n){return"translate("+e(t)+",0)"}).select("text").attr("dy",".71em").attr("y",i.tickPadding()).attr("text-anchor","middle").text(function(e,t){return(""+i.tickFormat()(e)).match("NaN")?"":i.tickFormat()(e)}),d3.transition(p).attr("transform",function(t,n){return"translate("+e.range()[n]+",0)"})}break;case"right":h.enter().append("text").attr("class","axislabel").attr("transform","rotate(90)").attr("y",-40),h.attr("x",-e.range()[0]/2);if(n){var p=a.selectAll("g.axisMaxMin").data(e.domain());p.enter().append("g").attr("class","axisMaxMin").append("text").style("opacity",0),p.exit().remove(),p.attr("transform",function(t,n){return"translate(0,"+e(t)+")"}).select("text").attr("dy",".32em").attr("y",0).attr("x",i.tickPadding()).attr("text-anchor","start").text(function(e,t){return(""+i.tickFormat()(e)).match("NaN")?"":i.tickFormat()(e)}),d3.transition(p).attr("transform",function(t,n){return"translate(0,"+e.range()[n]+")"}).select("text").style("opacity",1)}break;case"left":h.enter().append("text").attr("class","axislabel").attr("transform","rotate(-90)").attr("y",-40),h.attr("x",-e.range()[0]/2);if(n){var p=a.selectAll("g.axisMaxMin").data(e.domain());p.enter().append("g").attr("class","axisMaxMin").append("text").style("opacity",0),p.exit().remove(),p.attr("transform",function(e,t){return"translate(0,"+s(e)+")"}).select("text").attr("dy",".32em").attr("y",0).attr("x",-i.tickPadding()).attr("text-anchor","end").text(function(e,t){return(""+i.tickFormat()(e)).match("NaN")?"":i.tickFormat()(e)}),d3.transition(p).attr("transform",function(t,n){return"translate(0,"+e.range()[n]+")"}).select("text").style("opacity",1)}}h.text(function(e){return e}),n&&(i.orient()==="left"||i.orient()==="right")&&c.selectAll("g").each(function(t,n){if(e(t)e.range()[0]-10)t>1e-10||t<-1e-10?d3.select(this).remove():d3.select(this).select("text").remove()});if(n&&(i.orient()==="top"||i.orient()==="bottom")){var d=[];a.selectAll("g.axisMaxMin").each(function(t,n){n?d.push(e(t)-this.getBBox().width-4):d.push(e(t)+this.getBBox().width+4)}),c.selectAll("g").each(function(t,n){if(e(t)d[1])t>1e-10||t<-1e-10?d3.select(this).remove():d3.select(this).select("text").remove()})}r&&c.selectAll("line.tick").filter(function(e){return!parseFloat(Math.round(e*1e5)/1e6)}).classed("zero",!0),s=e.copy()}),o}var e=d3.scale.linear(),t=null,n=!0,r=!0,i=d3.svg.axis().scale(e).orient("bottom").tickFormat(function(e){return e}),s;return d3.rebind(o,i,"orient","ticks","tickValues","tickSubdivide","tickSize","tickPadding","tickFormat"),d3.rebind(o,e,"domain","range","rangeBand","rangeBands"),o.axisLabel=function(e){return arguments.length?(t=e,o):t},o.showMaxMin=function(e){return arguments.length?(n=e,o):n},o.highlightZero=function(e){return arguments.length?(r=e,o):r},o.scale=function(t){return arguments.length?(e=t,i.scale(e),d3.rebind(o,e,"domain","range","rangeBand","rangeBands"),o):e},o},e.models.historicalBar=function(){function g(o){return o.each(function(o){var u=t-e.left-e.right,d=n-e.top-e.bottom;h.domain(l||d3.extent(o[0].values,i)).range([0,u]),p.domain(c||d3.extent(o[0].values,s)).range([d,0]);var v=d3.select(this).on("click",function(e,t){m.chartClick({data:e,index:t,pos:d3.event,id:r})}),g=d3.select(this).selectAll("g.wrap.bar").data([o[0].values]),b=g.enter().append("g").attr("class","wrap nvd3 bar"),w=b.append("g");w.append("g").attr("class","bars"),g.attr("width",t).attr("height",n);var E=g.select("g").attr("transform","translate("+e.left+","+e.top+")");b.append("defs").append("clipPath").attr("id","chart-clip-path-"+r).append("rect"),g.select("#chart-clip-path-"+r+" rect").attr("width",u).attr("height",d),w.attr("clip-path",a?"url(#chart-clip-path-"+r+")":"");var S=w.append("g").attr("class","shiftWrap"),T=g.select(".bars").selectAll(".bar").data(function(e){return e});T.exit().remove();var N=T.enter().append("svg:rect").attr("class",function(e,t){return s(e,t)<0?"bar negative":"bar positive"}).attr("fill",function(e,t){return f[0]}).attr("x",0).attr("y",function(e,t){return p(Math.max(0,s(e,t)))}).attr("height",function(e,t){return Math.abs(p(s(e,t))-p(0))}).on("mouseover",function(e,t){d3.select(this).classed("hover",!0),m.elementMouseover({point:e,series:o[0],pos:[h(i(e,t)),p(s(e,t))],pointIndex:t,seriesIndex:0,e:d3.event})}).on("mouseout",function(e,t){d3.select(this).classed("hover",!1),m.elementMouseout({point:e,series:o[0],pointIndex:t,seriesIndex:0,e:d3.event})}).on("click",function(e,t){m.elementClick({value:s(e,t),data:e,index:t,pos:[h(i(e,t)),p(s(e,t))],e:d3.event,id:r}),d3.event.stopPropagation()}).on("dblclick",function(e,t){m.elementDblClick({value:s(e,t),data:e,index:t,pos:[h(i(e,t)),p(s(e,t))],e:d3.event,id:r}),d3.event.stopPropagation()});T.attr("class",function(e,t){return s(e,t)<0?"bar negative":"bar positive"}).attr("transform",function(e,t){return"translate("+(h(i(e,t))-h(.5))+",0)"}).attr("width",h(.9)),d3.transition(T).attr("y",function(e,t){return p(Math.max(0,s(e,t)))}).attr("height",function(e,t){return Math.abs(p(s(e,t))-p(0))})}),g}var e={top:0,right:0,bottom:0,left:0},t=960,n=500,r=Math.floor(Math.random()*1e4),i=function(e){return e.x},s=function(e){return e.y},o=[],u=[],a=!0,f=d3.scale.category20().range(),l,c,h=d3.scale.linear(),p=d3.scale.linear(),d=d3.svg.axis().scale(h).orient("bottom"),v=d3.svg.axis().scale(p).orient("left"),m=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout");return g.dispatch=m,g.x=function(e){return arguments.length?(i=e,g):i},g.y=function(e){return arguments.length?(s=e,g):s},g.margin=function(t){return arguments.length?(e=t,g):e},g.width=function(e){return arguments.length?(t=e,g):t},g.height=function(e){return arguments.length?(n=e,g):n},g.xScale=function(e){return arguments.length?(h=e,g):h},g.yScale=function(e){return arguments.length?(p=e,g):p},g.xDomain=function(e){return arguments.length?(l=e,g):l},g.yDomain=function(e){return arguments.length?(c=e,g):c},g.forceX=function(e){return arguments.length?(o=e,g):o},g.forceY=function(e){return arguments.length?(u=e,g):u},g.clipEdge=function(e){return arguments.length?(a=e,g):a},g.color=function(e){return arguments.length?(f=e,g):f},g.id=function(e){return arguments.length?(r=e,g):r},g},e.models.bullet=function(){function l(e){e.each(function(e,a){var l=o-n.left-n.right,c=u-n.top-n.bottom,h=r.call(this,e,a).slice().sort(d3.descending),p=i.call(this,e,a).slice().sort(d3.descending),d=s.call(this,e,a).slice().sort(d3.descending),v=d3.select(this).selectAll("g.wrap.bullet").data([e]),m=v.enter().append("g").attr("class","wrap nvd3 bullet"),g=m.append("g"),y=v.select("g");v.attr("transform","translate("+n.left+","+n.top+")");var b=d3.scale.linear().domain([0,Math.max(h[0],p[0],d[0])]).range(t?[l,0]:[0,l]),w=this.__chart__||d3.scale.linear().domain([0,Infinity]).range(b.range());this.__chart__=b;var E=function(e){return Math.abs(w(e)-w(0))},S=function(e){return Math.abs(b(e)-b(0))},x=y.selectAll("rect.range").data(h);x.enter().append("rect").attr("class",function(e,t){return"range s"+t}).attr("width",E).attr("height",c).attr("x",t?w:0).on("mouseover",function(e,t){f.elementMouseover({value:e,label:t<=0?"Maximum":t>1?"Minimum":"Mean",pos:[b(e),c/2]})}).on("mouseout",function(e,t){f.elementMouseout({value:e,label:t<=0?"Minimum":t>=1?"Maximum":"Mean"})}),d3.transition(x).attr("x",t?b:0).attr("width",S).attr("height",c);var T=y.selectAll("rect.measure").data(d);T.enter().append("rect").attr("class",function(e,t){return"measure s"+t}).attr("width",E).attr("height",c/3).attr("x",t?w:0).attr("y",c/3).on("mouseover",function(e){f.elementMouseover({value:e,label:"Current",pos:[b(e),c/2]})}).on("mouseout",function(e){f.elementMouseout({value:e,label:"Current"})}),d3.transition(T).attr("width",S).attr("height",c/3).attr("x",t?b:0).attr("y",c/3);var N=y.selectAll("path.markerTriangle").data(p),C=c/6;N.enter().append("path").attr("class","markerTriangle").attr("transform",function(e){return"translate("+w(e)+","+c/2+")"}).attr("d","M0,"+C+"L"+C+","+ -C+" "+ -C+","+ -C+"Z").on("mouseover",function(e,t){f.elementMouseover({value:e,label:"Previous",pos:[b(e),c/2]})}).on("mouseout",function(e,t){f.elementMouseout({value:e,label:"Previous"})}),d3.transition(N).attr("transform",function(e){return"translate("+b(e)+","+c/2+")"}),N.exit().remove()}),d3.timer.flush()}var e="left",t=!1,n={top:0,right:0,bottom:0,left:0},r=function(e){return e.ranges},i=function(e){return e.markers},s=function(e){return e.measures},o=380,u=30,a=null,f=d3.dispatch("elementMouseover","elementMouseout");return l.dispatch=f,l.orient=function(n){return arguments.length?(e=n,t=e=="right"||e=="bottom",l):e},l.ranges=function(e){return arguments.length?(r=e,l):r},l.markers=function(e){return arguments.length?(i=e,l):i},l.measures=function(e){return arguments.length?(s=e,l):s},l.width=function(e){return arguments.length?(o=e,l):o},l.height=function(e){return arguments.length?(u=e,l):u},l.margin=function(e){return arguments.length?(n=e,l):n},l.tickFormat=function(e){return arguments.length?(a=e,l):a},l},e.models.bulletChart=function(){function v(t){t.each(function(t,c){var v=d3.select(this),m=(u||parseInt(v.style("width"))||960)-r.left-r.right,g=a-r.top-r.bottom,y=this,b=i.call(this,t,c).slice().sort(d3.descending),w=s.call(this,t,c).slice().sort(d3.descending),E=o.call(this,t,c).slice().sort(d3.descending),S=v.selectAll("g.wrap.bulletChart").data([t]),x=S.enter().append("g").attr("class","wrap nvd3 bulletChart"),T=x.append("g");T.append("g").attr("class","bulletWrap"),T.append("g").attr("class","titles");var N=S.select("g");S.attr("transform","translate("+r.left+","+r.top+")");var C=d3.scale.linear().domain([0,Math.max(b[0],w[0],E[0])]).range(n?[m,0]:[0,m]),k=this.__chart__||d3.scale.linear().domain([0,Infinity]).range(C.range());this.__chart__=C;var L=function(e){return Math.abs(k(e)-k(0))},A=function(e){return Math.abs(C(e)-C(0))},O=N.select(".titles").append("g").attr("text-anchor","end").attr("transform","translate(-6,"+(a-r.top-r.bottom)/2+")");O.append("text").attr("class","title").text(function(e){return e.title}),O.append("text").attr("class","subtitle").attr("dy","1em").text(function(e){return e.subtitle}),p.width(m).height(g);var M=N.select(".bulletWrap");d3.transition(M).call(p);var _=f||C.tickFormat(8),D=N.selectAll("g.tick").data(C.ticks(8),function(e){return this.textContent||_(e)}),P=D.enter().append("g").attr("class","tick").attr("transform",function(e){return"translate("+k(e)+",0)"}).style("opacity",1e-6);P.append("line").attr("y1",g).attr("y2",g*7/6),P.append("text").attr("text-anchor","middle").attr("dy","1em").attr("y",g*7/6).text(_),d3.transition(P).attr("transform",function(e){return"translate("+C(e)+",0)"}).style("opacity",1);var H=d3.transition(D).attr("transform",function(e){return"translate("+C(e)+",0)"}).style("opacity",1);H.select("line").attr("y1",g).attr("y2",g*7/6),H.select("text").attr("y",g*7/6),d3.transition(D.exit()).attr("transform",function(e){return"translate("+C(e)+",0)"}).style("opacity",1e-6).remove(),p.dispatch.on("elementMouseover.tooltip",function(e){h.tooltipShow(e)}),l&&h.on("tooltipShow",function(e){d(e,y.parentNode)}),p.dispatch.on("elementMouseout.tooltip",function(e){h.tooltipHide(e)}),l&&h.on("tooltipHide",e.tooltip.cleanup)}),d3.timer.flush()}var t="left",n=!1,r={top:5,right:40,bottom:20,left:120},i=function(e){return e.ranges},s=function(e){return e.markers},o=function(e){return e.measures},u=null,a=55,f=null,l=!0,c=function(e,t,n,r,i){return"

"+r.label+"

"+"

"+r.value+"

"},h=d3.dispatch("tooltipShow","tooltipHide"),p=e.models.bullet(),d=function(t,n){var n=document.getElementById("chart"),i=t.pos[0]+n.offsetLeft+r.left,s=t.pos[1]+n.offsetTop+r.top,o="

"+t.label+"

"+"

"+t.value+"

";e.tooltip.show([i,s],o,t.value<0?"e":"w")};return v.dispatch=h,v.bullet=p,v.orient=function(e){return arguments.length?(t=e,n=t=="right"||t=="bottom",v):t},v.ranges=function(e){return arguments.length?(i=e,v):i},v.markers=function(e){return arguments.length?(s=e,v):s},v.measures=function(e){return arguments.length?(o=e,v):o},v.width=function(e){return arguments.length?(u=e,v):u},v.height=function(e){return arguments.length?(a=e,v):a},v.margin=function(e){return arguments.length?(r=e,v):r},v.tickFormat=function(e){return arguments.length?(f=e,v):f},v.tooltips=function(e){return arguments.length?(l=e,v):l},v.tooltipContent=function(e){return arguments.length?(c=e,v):c},v},e.models.cumulativeLineChart=function(){function x(e,t){}function T(e,t){e.x+=d3.event.dx,e.i=Math.round(h.invert(e.x)),d3.select(this).attr("transform","translate("+h(e.i)+",0)")}function N(e,t){C.update()}function C(l){return l.each(function(x){var T=d3.select(this).classed("chart-"+p,!0),N=this,L=(r||parseInt(T.style("width"))||960)-t.left-t.right,A=(i||parseInt(T.style("height"))||400)-t.top-t.bottom,x=k(b.i,x);h.domain([0,x[0].values.length-1]).range([0,L]).clamp(!0);var O=T.selectAll("g.wrap.cumulativeLine").data([x]),M=O.enter().append("g").attr("class","wrap nvd3 cumulativeLine").append("g");M.append("g").attr("class","x axis"),M.append("g").attr("class","y axis"),M.append("g").attr("class","linesWrap"),M.append("g").attr("class","legendWrap"),M.append("g").attr("class","controlsWrap");var _=O.select("g");s&&(m.width(L),_.select(".legendWrap").datum(x).call(m),t.top!=m.height()&&(t.top=m.height(),A=(i||parseInt(T.style("height"))||400)-t.top-t.bottom),_.select(".legendWrap").attr("transform","translate(0,"+ -t.top+")")),u&&(g.width(140).color(["#444","#444","#444"]),_.select(".controlsWrap").datum(w).attr("transform","translate(0,"+ -t.top+")").call(g)),f.y(function(e){return e.display.y}).width(L).height(A).color(x.map(function(e,t){return e.color||n[t%n.length]}).filter(function(e,t){return!x[t].disabled})),_.attr("transform","translate("+t.left+","+t.top+")");var D=_.select(".linesWrap").datum(x.filter(function(e){return!e.disabled}));d3.transition(D).call(f);var P=D.selectAll(".indexLine").data([b]);P.enter().append("rect").attr("class","indexLine").attr("width",3).attr("x",-2).attr("fill","red").attr("fill-opacity",.5).call(S),P.attr("transform",function(e){return"translate("+h(e.i)+",0)"}).attr("height",A),d.ticks(L/100).tickSize(-A,0),_.select(".x.axis").attr("transform","translate(0,"+c.range()[0]+")"),d3.transition(_.select(".x.axis")).call(d),v.ticks(A/36).tickSize(-L,0),d3.transition(_.select(".y.axis")).call(v),g.dispatch.on("legendClick",function(e,t){e.disabled=!e.disabled,a=!e.disabled,l.transition().call(C)}),m.dispatch.on("legendClick",function(e,t){e.disabled=!e.disabled,x.filter(function(e){return!e.disabled}).length||x.map(function(e){return e.disabled=!1,O.selectAll(".series").classed("disabled",!1),e}),l.transition().call(C)}),f.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],y.tooltipShow(e)}),o&&y.on("tooltipShow",function(e){E(e,N.parentNode)}),f.dispatch.on("elementMouseout.tooltip",function(e){y.tooltipHide(e)}),o&&y.on("tooltipHide",e.tooltip.cleanup)}),C.update=function(){C(l)},C.container=this,C}function k(e,t){return t.map(function(t,n){var r=f.y()(t.values[e],e);return t.values=t.values.map(function(e,t){return e.display={y:(f.y()(e,t)-r)/(1+r)},e}),t})}var t={top:30,right:20,bottom:50,left:60},n=d3.scale.category20().range(),r=null,i=null,s=!0,o=!0,u=!1,a=!0;tooltip=function(e,t,n,r,i){return"

"+e+"

"+"

"+n+" at "+t+"

"};var f=e.models.line(),l=f.xScale(),c=f.yScale(),h=d3.scale.linear(),p=f.id(),d=e.models.axis().scale(l).orient("bottom").tickPadding(5),v=e.models.axis().scale(c).orient("left"),m=e.models.legend().height(30),g=e.models.legend().height(30),y=d3.dispatch("tooltipShow","tooltipHide"),b={i:0,x:0},w=[{key:"Re-scale y-axis"}],E=function(t,n){var r=t.pos[0]+(n.offsetLeft||0),i=t.pos[1]+(n.offsetTop||0),s=d.tickFormat()(f.x()(t.point)),o=v.tickFormat()(f.y()(t.point)),u=tooltip(t.series.key,s,o,t,C);e.tooltip.show([r,i],u)},S=d3.behavior.drag().on("dragstart",x).on("drag",T).on("dragend",N);return C.dispatch=y,C.legend=m,C.xAxis=d,C.yAxis=v,d3.rebind(C,f,"x","y","size","xDomain","yDomain","forceX","forceY","interactive","clipEdge","clipVoronoi","id"),C.margin=function(e){return arguments.length?(t=e,C):t},C.width=function(e){return arguments.length?(r=e,C):r},C.height=function(e){return arguments.length?(i=e,C):i},C.color=function(e){return arguments.length?(n=e,m.color(e),C):n},C.showLegend=function(e){return arguments.length?(s=e,C):s},C.tooltips=function(e){return arguments.length?(o=e,C):o},C.tooltipContent=function(e){return arguments.length?(tooltip=e,C):tooltip},C},e.models.discreteBar=function(){function g(r){return r.each(function(b){var w=t-e.left-e.right,E=n-e.top-e.bottom;b=b.map(function(e,t){return e.values=e.values.map(function(e){return e.series=t,e}),e});var S=h&&p?[]:b.map(function(e){return e.values.map(function(e,t){return{x:o(e,t),y:u(e,t),y0:e.y0}})});i.domain(h||d3.merge(S).map(function(e){return e.x})).rangeBands([0,w],.1),s.domain(p||d3.extent(d3.merge(S).map(function(e){return e.y}).concat(a))),l?s.range([E-(s.domain()[0]<0?12:0),s.domain()[1]>0?12:0]):s.range([E,0]),d=d||i,v=v||d3.scale.linear().domain(s.domain()).range([s(0),s(0)]);var T=d3.select(this).selectAll("g.wrap.discretebar").data([b]),N=T.enter().append("g").attr("class","wrap nvd3 discretebar"),C=N.append("g");C.append("g").attr("class","groups");var k=T.select("g");T.attr("transform","translate("+e.left+","+e.top+")");var L=T.select(".groups").selectAll(".group").data(function(e){return e},function(e){return e.key});L.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6),d3.transition(L.exit()).style("stroke-opacity",1e-6).style("fill-opacity",1e-6).remove(),L.attr("class",function(e,t){return"group series-"+t}).classed("hover",function(e){return e.hover}),d3.transition(L).style("stroke-opacity",1).style("fill-opacity",.75);var A=L.selectAll("g.bar").data(function(e){return e.values});A.exit().remove();var O=A.enter().append("g").attr("transform",function(e,t,n){return"translate("+i(o(e,t))+", "+s(0)+")"}).on("mouseover",function(e,t){d3.select(this).classed("hover",!0),m.elementMouseover({value:u(e,t),point:e,series:b[e.series],pos:[i(o(e,t))+i.rangeBand()*(e.series+.5)/b.length,s(u(e,t))],pointIndex:t,seriesIndex:e.series,e:d3.event})}).on("mouseout",function(e,t){d3.select(this).classed("hover",!1),m.elementMouseout({value:u(e,t),point:e,series:b[e.series],pointIndex:t,seriesIndex:e.series,e:d3.event})}).on("click",function(e,t){m.elementClick({value:u(e,t),point:e,series:b[e.series],pos:[i(o(e,t))+i.rangeBand()*(e.series+.5)/b.length,s(u(e,t))],pointIndex:t,seriesIndex:e.series,e:d3.event}),d3.event.stopPropagation()}).on("dblclick",function(e,t){m.elementDblClick({value:u(e,t),point:e,series:b[e.series],pos:[i(o(e,t))+i.rangeBand()*(e.series+.5)/b.length,s(u(e,t))],pointIndex:t,seriesIndex:e.series,e:d3.event}),d3.event.stopPropagation()});O.append("rect").attr("height",0).attr("width",i.rangeBand()/b.length).style("fill",function(e,t){return e.color||f[t%f.length]}).style("stroke",function(e,t){return e.color||f[t%f.length]}),l?(O.append("text").attr("text-anchor","middle"),A.selectAll("text").attr("x",i.rangeBand()/2).attr("y",function(e,t){return u(e,t)<0?s(u(e,t))-s(0)+12:-4}).text(function(e,t){return c(u(e,t))})):A.selectAll("text").remove(),A.attr("class",function(e,t){return u(e,t)<0?"bar negative":"bar positive"}).attr("transform",function(e,t){return"translate("+i(o(e,t))+", "+(u(e,t)<0?v(0):v(u(e,t)))+")"}).selectAll("rect").attr("width",i.rangeBand()/b.length),d3.transition(A).attr("transform",function(e,t){return"translate("+i(o(e,t))+", "+(u(e,t)<0?s(0):s(u(e,t)))+")"}).selectAll("rect").attr("height",function(e,t){return Math.abs(s(u(e,t))-s(0))}),g.update=function(){r.transition().call(g)},d=i.copy(),v=s.copy()}),g}var e={top:0,right:0,bottom:0,left:0},t=960,n=500,r=Math.floor(Math.random()*1e4),i=d3.scale.ordinal(),s=d3.scale.linear(),o=function(e){return e.x},u=function(e){return e.y},a=[0],f=d3.scale.category20().range(),l=!1,c=d3.format(",.2f"),h,p,d,v,m=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout");return g.dispatch=m,g.x=function(e){return arguments.length?(o=e,g):o},g.y=function(e){return arguments.length?(u=e,g):u},g.margin=function(t){return arguments.length?(e=t,g):e},g.width=function(e){return arguments.length?(t=e,g):t},g.height=function(e){return arguments.length?(n=e,g):n},g.xScale=function(e){return arguments.length?(i=e,g):i},g.yScale=function(e){return arguments.length?(s=e,g):s},g.xDomain=function(e){return arguments.length?(h=e,g):h},g.yDomain=function(e){return arguments.length?(p=e,g):p},g.forceY=function(e){return arguments.length?(a=e,g):a},g.color=function(e){return arguments.length?(f=e,g):f},g.id=function(e){return arguments.length?(r=e,g):r},g.showValues=function(e){return arguments.length?(l=e,g):l},g.valueFormat=function(e){return arguments.length?(c=e,g):c},g},e.models.discreteBarChart=function(){function g(i){return i.each(function(a){var m=d3.select(this),b=this,w=(n||parseInt(m.style("width"))||960)-t.left-t.right,E=(r||parseInt(m.style("height"))||400)-t.top-t.bottom;f.width(w).height(E);var S=m.selectAll("g.wrap.discreteBarWithAxes").data([a]),T=S.enter().append("g").attr("class","wrap nvd3 discreteBarWithAxes").append("g"),N=T.append("defs");T.append("g").attr("class","x axis"),T.append("g").attr("class","y axis"),T.append("g").attr("class","barsWrap");var C=S.select("g");C.attr("transform","translate("+t.left+","+t.top+")");var k=C.select(".barsWrap").datum(a.filter(function(e){return!e.disabled}));d3.transition(k).call(f),N.append("clipPath").attr("id","x-label-clip-"+f.id()).append("rect"),C.select("#x-label-clip-"+f.id()+" rect").attr("width",l.rangeBand()*(s?2:1)).attr("height",16).attr("x",-l.rangeBand()/(s?1:2)),h.ticks(w/100).tickSize(-E,0),C.select(".x.axis").attr("transform","translate(0,"+(c.range()[0]+(f.showValues()&&c.domain()[0]<0?16:0))+")"),C.select(".x.axis").transition().duration(0).call(h);var L=C.select(".x.axis").selectAll("g");s&&L.selectAll("text").attr("transform",function(e,t,n){return"translate(0,"+(n%2==0?"0":"12")+")"}),o&&L.selectAll("text").attr("transform",function(e,t,n){return"rotate("+o+" 0,0)"}).attr("text-anchor","end"),L.selectAll("text").attr("clip-path",function(e,t,n){return o?"":"url(#x-label-clip-"+f.id()+")"}),p.ticks(E/36).tickSize(-w,0),d3.transition(C.select(".y.axis")).call(p),f.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],d.tooltipShow(e)}),u&&d.on("tooltipShow",function(e){v(e,b.parentNode)}),f.dispatch.on("elementMouseout.tooltip",function(e){d.tooltipHide(e)}),u&&d.on("tooltipHide",e.tooltip.cleanup),g.update=function(){i.transition().call(g)},g.container=this}),g}var t={top:10,right:10,bottom:50,left:60},n=null,r=null,i=d3.scale.category20().range(),s=!1,o=0,u=!0,a=function(e,t,n,r,i){return"

"+t+"

"+"

"+n+"

"},f=e.models.discreteBar(),l=f.xScale(),c=f.yScale(),h=e.models.axis().scale(l).orient("bottom").highlightZero(!1).showMaxMin(!1),p=e.models.axis().scale(c).orient("left"),d=d3.dispatch("tooltipShow","tooltipHide");h.tickFormat(function(e){return e}),p.tickFormat(d3.format(",.1f"));var v=function(t,n){var r=t.pos[0]+(n.offsetLeft||0),i=t.pos[1]+(n.offsetTop||0),s=h.tickFormat()(f.x()(t.point)),o=p.tickFormat()(f.y()(t.point)),u=a(t.series.key,s,o,t,g);e.tooltip.show([r,i],u,t.value<0?"n":"s")},m=[{key:"Grouped"},{key:"Stacked",disabled:!0}];return g.dispatch=d,g.discretebar=f,g.xAxis=h,g.yAxis=p,d3.rebind(g,f,"x","y","xDomain","yDomain","forceX","forceY","id","showValues","valueFormat"),g.margin=function(e){return arguments.length?(t=e,g):t},g.width=function(e){return arguments.length?(n=e,g):n},g.height=function(e){return arguments.length?(r=e,g):r},g.color=function(e){return arguments.length?(i=e,f.color(e),g):i},g.staggerLabels=function(e){return arguments.length?(s=e,g):s},g.rotateLabels=function(e){return arguments.length?(o=e,g):o},g.tooltips=function(e){return arguments.length?(u=e,g):u},g.tooltipContent=function(e){return arguments.length?(a=e,g):a},g},e.models.distribution=function(){function f(o){return o.each(function(o){var f=t-(r==="x"?e.left+e.right:e.top+e.bottom),l=r=="x"?"y":"x";a=a||u;var c=d3.select(this).selectAll("g.distribution").data([o]),h=c.enter().append("g").attr("class","nvd3 distribution"),p=h.append("g"),d=c.select("g");c.attr("transform","translate("+e.left+","+e.top+")");var v=d.selectAll("g.dist").data(function(e){return e},function(e){return e.key});v.enter().append("g"),v.attr("class",function(e,t){return"dist series-"+t}).style("stroke",function(e,t){return s[t%s.length]});var m=v.selectAll("line.dist"+r).data(function(e){return e.values});m.enter().append("line").attr(r+"1",function(e,t){return a(i(e,t))}).attr(r+"2",function(e,t){return a(i(e,t))}),d3.transition(v.exit().selectAll("line.dist"+r)).attr(r+"1",function(e,t){return u(i(e,t))}).attr(r+"2",function(e,t){return u(i(e,t))}).style("stroke-opacity",0).remove(),m.attr("class",function(e,t){return"dist"+r+" dist"+r+"-"+t}).attr(l+"1",0).attr(l+"2",n),d3.transition(m).attr(r+"1",function(e,t){return u(i(e,t))}).attr(r+"2",function(e,t){return u(i(e,t))}),a=u.copy()}),f}var e={top:0,right:0,bottom:0,left:0},t=400,n=8,r="x",i=function(e){return e[r]},s=d3.scale.category20().range(),o,u=d3.scale.linear(),a;return f.margin=function(t){return arguments.length?(e=t,f):e},f.width=function(e){return arguments.length?(t=e,f):t},f.axis=function(e){return arguments.length?(r=e,f):r},f.size=function(e){return arguments.length?(n=e,f):n},f.getData=function(e){return arguments.length?(i=d3.functor(e),f):i},f.scale=function(e){return arguments.length?(u=e,f):u},f.color=function(e){return arguments.length?(s=e,f):s},f},e.models.legend=function(){function u(a){return a.each(function(u){var a=t-e.left-e.right,f=d3.select(this).selectAll("g.legend").data([u]),l=f.enter().append("g").attr("class","nvd3 legend").append("g"),c=f.select("g").attr("transform","translate("+e.left+","+e.top+")"),h=c.selectAll(".series").data(function(e){return e}),p=h.enter().append("g").attr("class","series").on("mouseover",function(e,t){o.legendMouseover(e,t)}).on("mouseout",function(e,t){o.legendMouseout(e,t)}).on("click",function(e,t){o.legendClick(e,t)}).on("dblclick",function(e,t){o.legendDblclick(e,t)});p.append("circle").style("fill",function(e,t){return e.color||i[t%i.length]}).style("stroke",function(e,t){return e.color||i[t%i.length]}).style("stroke-width",2).attr("r",5),p.append("text").text(r).attr("text-anchor","start").attr("dy",".32em").attr("dx","8"),h.classed("disabled",function(e){return e.disabled}),h.exit().remove();if(s){var d=[];h.each(function(e,t){d.push(d3.select(this).select("text").node().getComputedTextLength()+28)});var v=0,m=0,g=[];while(ma&&v>1){g=[],v--;for(k=0;k(g[k%v]||0)&&(g[k%v]=d[k]);m=g.reduce(function(e,t,n,r){return e+t})}var y=[];for(var b=0,w=0;bx&&(x=S),"translate("+T+","+E+")"}),c.attr("transform","translate("+(t-e.right-x)+","+e.top+")"),n=e.top+e.bottom+E+15}}),u}var e={top:5,right:0,bottom:5,left:0},t=400,n=20,r=function(e){return e.key},i=d3.scale.category20().range(),s=!0,o=d3.dispatch("legendClick","legendDblclick","legendMouseover","legendMouseout");return u.dispatch=o,u.margin=function(t){return arguments.length?(e=t,u):e},u.width=function(e){return arguments.length?(t=e,u):t},u.height=function(e){return arguments.length?(n=e,u):n},u.key=function(e){return arguments.length?(r=e,u):r},u.color=function(e){return arguments.length?(i=e,u):i},u.align=function(e){return arguments -.length?(s=e,u):s},u},e.models.line=function(){function v(e){return e.each(function(e){var d=n-t.left-t.right,v=r-t.top-t.bottom;l=l||f.xScale(),c=c||f.yScale(),h=h||l,p=p||c;var m=d3.select(this).selectAll("g.wrap.line").data([e]),g=m.enter().append("g").attr("class","wrap nvd3 line"),b=g.append("defs"),w=g.append("g"),E=m.select("g");w.append("g").attr("class","groups"),w.append("g").attr("class","scatterWrap");var S=m.select(".scatterWrap");f.width(d).height(v),d3.transition(S).call(f),m.attr("transform","translate("+t.left+","+t.top+")"),b.append("clipPath").attr("id","edge-clip-"+s).append("rect"),m.select("#edge-clip-"+s+" rect").attr("width",d).attr("height",v),E.attr("clip-path",a?"url(#edge-clip-"+s+")":""),S.attr("clip-path",a?"url(#edge-clip-"+s+")":"");var T=m.select(".groups").selectAll(".group").data(function(e){return e},function(e){return e.key});T.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6),d3.transition(T.exit()).style("stroke-opacity",1e-6).style("fill-opacity",1e-6).remove(),T.attr("class",function(e,t){return"group series-"+t}).classed("hover",function(e){return e.hover}).style("fill",function(e,t){return i[t%i.length]}).style("stroke",function(e,t){return i[t%i.length]}),d3.transition(T).style("stroke-opacity",1).style("fill-opacity",.5);var N=T.selectAll("path").data(function(e,t){return[e.values]});N.enter().append("path").attr("class","line").attr("d",d3.svg.line().x(function(e,t){return h(o(e,t))}).y(function(e,t){return p(u(e,t))})),d3.transition(T.exit().selectAll("path")).attr("d",d3.svg.line().x(function(e,t){return l(o(e,t))}).y(function(e,t){return c(u(e,t))})),d3.transition(N).attr("d",d3.svg.line().x(function(e,t){return l(o(e,t))}).y(function(e,t){return c(u(e,t))})),h=l.copy(),p=c.copy()}),v}var t={top:0,right:0,bottom:0,left:0},n=960,r=500,i=d3.scale.category20().range(),s=Math.floor(Math.random()*1e4),o=function(e){return e.x},u=function(e){return e.y},a=!1,f=e.models.scatter().id(s).size(16).sizeDomain([16,256]),l,c,h,p,d;return v.dispatch=f.dispatch,d3.rebind(v,f,"interactive","size","xScale","yScale","zScale","xDomain","yDomain","sizeDomain","forceX","forceY","forceSize","clipVoronoi","clipRadius"),v.margin=function(e){return arguments.length?(t=e,v):t},v.width=function(e){return arguments.length?(n=e,v):n},v.height=function(e){return arguments.length?(r=e,v):r},v.x=function(e){return arguments.length?(o=e,f.x(e),v):o},v.y=function(e){return arguments.length?(u=e,f.y(e),v):u},v.clipEdge=function(e){return arguments.length?(a=e,v):a},v.color=function(e){return arguments.length?(i=e,f.color(e),v):i},v.id=function(e){return arguments.length?(s=e,v):s},v},e.models.indentedTree=function(){function a(r){return r.each(function(i){function T(e,t,n){d3.event.stopPropagation();if(d3.event.shiftKey&&!n)return d3.event.shiftKey=!1,e.values&&e.values.forEach(function(e){(e.values||e._values)&&T(e,0,!0)}),!0;if(!k(e))return!0;e.values?(e._values=e.values,e.values=null):(e.values=e._values,e._values=null),a.update()}function N(e){return e._values&&e._values.length?iconOpen:e.values&&e.values.length?iconClose:""}function C(e){return e._values&&e._values.length}function k(e){var t=e.values||e._values;return t&&t.length}var f=t-e.left-e.right,l=n-e.top-e.bottom;a.update=function(){r.transition().call(a)};var c=0,h=1,p=d3.layout.tree().children(function(e){return e.values}).size([n,childIndent]);i[0].key||(i[0].key=o);var d=p.nodes(i[0]),v=d3.select(this).selectAll("div").data([[d]]),m=v.enter().append("div").attr("class","wrap nvd3 indentedtree"),g=m.append("table"),y=v.select("table").attr("width","100%").attr("class",tableClass);if(s){var b=g.append("thead"),w=b.append("tr");columns.forEach(function(e){w.append("th").attr("width",e.width?e.width:"10%").style("text-align",e.type=="numeric"?"right":"left").append("span").text(e.label)})}var E=y.selectAll("tbody").data(function(e){return e});E.enter().append("tbody"),h=d3.max(d,function(e){return e.depth}),p.size([n,h*childIndent]);var S=E.selectAll("tr").data(function(e){return e},function(e){return e.id||e.id==++c});S.exit().remove(),S.select("img.treeicon").attr("src",N).classed("folded",C);var x=S.enter().append("tr");columns.forEach(function(e,t){var n=x.append("td").style("padding-left",function(e){return(t?0:e.depth*childIndent+12+(N(e)?0:16))+"px"},"important").style("text-align",e.type=="numeric"?"right":"left");t==0&&n.append("img").classed("treeicon",!0).classed("folded",C).attr("src",N).style("width","14px").style("height","14px").style("padding","0 1px").style("display",function(e){return N(e)?"inline-block":"none"}).on("click",T),n.append("span").attr("class",d3.functor(e.classes)).text(function(t){return e.format?e.format(t):t[e.key]||"-"}),e.showCount&&n.append("span").attr("class","childrenCount").text(function(e){return e.values&&e.values.length||e._values&&e._values.length?"("+(e.values&&e.values.length||e._values&&e._values.length)+")":""}),e.click&&n.select("span").on("click",e.click)}),S.order().on("click",function(e){u.elementClick({row:this,data:e,pos:[e.x,e.y]})}).on("dblclick",function(e){u.elementDblclick({row:this,data:e,pos:[e.x,e.y]})}).on("mouseover",function(e){u.elementMouseover({row:this,data:e,pos:[e.x,e.y]})}).on("mouseout",function(e){u.elementMouseout({row:this,data:e,pos:[e.x,e.y]})})}),a}var e={top:0,right:0,bottom:0,left:0},t=960,n=500,r=d3.scale.category20().range(),i=Math.floor(Math.random()*1e4),s=!0,o="No Results found.";childIndent=20,columns=[{key:"key",label:"Name",type:"text"}],tableClass=null,iconOpen="images/grey-plus.png",iconClose="images/grey-minus.png";var u=d3.dispatch("elementClick","elementDblclick","elementMouseover","elementMouseout");return a.margin=function(t){return arguments.length?(e=t,a):e},a.width=function(e){return arguments.length?(t=e,a):t},a.height=function(e){return arguments.length?(n=e,a):n},a.color=function(e){return arguments.length?(r=e,scatter.color(e),a):r},a.id=function(e){return arguments.length?(i=e,a):i},a.header=function(e){return arguments.length?(s=e,a):s},a.noResultsText=function(e){return arguments.length?(o=e,a):o},a.columns=function(e){return arguments.length?(columns=e,a):columns},a.tableClass=function(e){return arguments.length?(tableClass=e,a):tableClass},a.iconOpen=function(e){return arguments.length?(iconOpen=e,a):iconOpen},a.iconClose=function(e){return arguments.length?(iconClose=e,a):iconClose},a},e.models.lineChart=function(){function m(u){return u.each(function(f){var g=d3.select(this),b=this,w=(r||parseInt(g.style("width"))||960)-t.left-t.right,E=(i||parseInt(g.style("height"))||400)-t.top-t.bottom,S=g.selectAll("g.wrap.lineChart").data([f]),x=S.enter().append("g").attr("class","wrap nvd3 lineChart").append("g");x.append("g").attr("class","x axis"),x.append("g").attr("class","y axis"),x.append("g").attr("class","linesWrap"),x.append("g").attr("class","legendWrap");var T=S.select("g");s&&(p.width(w),T.select(".legendWrap").datum(f).call(p),t.top!=p.height()&&(t.top=p.height(),E=(i||parseInt(g.style("height"))||400)-t.top-t.bottom),T.select(".legendWrap").attr("transform","translate(0,"+ -t.top+")")),a.width(w).height(E).color(f.map(function(e,t){return e.color||n[t%n.length]}).filter(function(e,t){return!f[t].disabled})),T.attr("transform","translate("+t.left+","+t.top+")");var N=T.select(".linesWrap").datum(f.filter(function(e){return!e.disabled}));d3.transition(N).call(a),c.ticks(w/100).tickSize(-E,0),T.select(".x.axis").attr("transform","translate(0,"+l.range()[0]+")"),d3.transition(T.select(".x.axis")).call(c),h.ticks(E/36).tickSize(-w,0),d3.transition(T.select(".y.axis")).call(h),p.dispatch.on("legendClick",function(e,t){e.disabled=!e.disabled,f.filter(function(e){return!e.disabled}).length||f.map(function(e){return e.disabled=!1,S.selectAll(".series").classed("disabled",!1),e}),u.transition().call(m)}),a.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],d.tooltipShow(e)}),o&&d.on("tooltipShow",function(e){v(e,b.parentNode)}),a.dispatch.on("elementMouseout.tooltip",function(e){d.tooltipHide(e)}),o&&d.on("tooltipHide",e.tooltip.cleanup)}),m.update=function(){m(u)},m.container=this,m}var t={top:30,right:20,bottom:50,left:60},n=d3.scale.category20().range(),r=null,i=null,s=!0,o=!0,u=function(e,t,n,r,i){return"

"+e+"

"+"

"+n+" at "+t+"

"},a=e.models.line(),f=a.xScale(),l=a.yScale(),c=e.models.axis().scale(f).orient("bottom").tickPadding(5),h=e.models.axis().scale(l).orient("left"),p=e.models.legend().height(30),d=d3.dispatch("tooltipShow","tooltipHide"),v=function(t,n){var r=t.pos[0]+(n.offsetLeft||0),i=t.pos[1]+(n.offsetTop||0),s=c.tickFormat()(a.x()(t.point)),o=h.tickFormat()(a.y()(t.point)),f=u(t.series.key,s,o,t,m);e.tooltip.show([r,i],f)};return m.dispatch=d,m.legend=p,m.xAxis=c,m.yAxis=h,d3.rebind(m,a,"x","y","size","xDomain","yDomain","forceX","forceY","interactive","clipEdge","clipVoronoi","id"),m.margin=function(e){return arguments.length?(t=e,m):t},m.width=function(e){return arguments.length?(r=e,m):r},m.height=function(e){return arguments.length?(i=e,m):i},m.color=function(e){return arguments.length?(n=e,p.color(e),m):n},m.showLegend=function(e){return arguments.length?(s=e,m):s},m.tooltips=function(e){return arguments.length?(o=e,m):o},m.tooltipContent=function(e){return arguments.length?(u=e,m):u},m},e.models.linePlusBarChart=function(){function E(f){return f.each(function(d){var S=d3.select(this),T=this,N=(n||parseInt(S.style("width"))||960)-t.left-t.right,C=(r||parseInt(S.style("height"))||400)-t.top-t.bottom,k=d.filter(function(e){return!e.disabled&&e.bar}),L=d.filter(function(e){return!e.disabled&&!e.bar}),A=d.filter(function(e){return!e.disabled&&e.bar}).map(function(e){return e.values.map(function(e,t){return{x:i(e,t),y:s(e,t)}})}),O=d.filter(function(e){return!e.disabled&&!e.bar}).map(function(e){return e.values.map(function(e,t){return{x:i(e,t),y:s(e,t)}})});h.domain(d3.extent(d3.merge(A.concat(O)),function(e){return e.x})).range([0,N]),l.width(N).height(C).color(d.map(function(e,t){return e.color||o[t%o.length]}).filter(function(e,t){return!d[t].disabled&&!d[t].bar})),c.width(N).height(C).color(d.map(function(e,t){return e.color||o[t%o.length]}).filter(function(e,t){return!d[t].disabled&&d[t].bar}));var M=d3.select(this).selectAll("g.wrap.linePlusBar").data([d]),_=M.enter().append("g").attr("class","wrap nvd3 linePlusBar").append("g");_.append("g").attr("class","x axis"),_.append("g").attr("class","y1 axis"),_.append("g").attr("class","y2 axis"),_.append("g").attr("class","barsWrap"),_.append("g").attr("class","linesWrap"),_.append("g").attr("class","legendWrap");var D=M.select("g");u&&(y.width(N),D.select(".legendWrap").datum(d.map(function(e){return e.key=e.key+(e.bar?" (left axis)":" (right axis)"),e})).call(y),t.top!=y.height()&&(t.top=y.height(),C=(r||parseInt(S.style("height"))||400)-t.top-t.bottom),D.select(".legendWrap").attr("transform","translate(0,"+ -t.top+")"));var P=D.select(".barsWrap").datum(k.length?k:[{values:[]}]),H=D.select(".linesWrap").datum(L.length?L:[{values:[]}]);d3.transition(P).call(c),d3.transition(H).call(l),D.attr("transform","translate("+t.left+","+t.top+")"),v.ticks(N/100).tickSize(-C,0),D.select(".x.axis").attr("transform","translate(0,"+p.range()[0]+")"),d3.transition(D.select(".x.axis")).call(v),m.ticks(C/36).tickSize(-N,0),d3.transition(D.select(".y1.axis")).call(m),g.ticks(C/36).tickSize(k.length?0:-N,0),D.select(".y2.axis").attr("transform","translate("+h.range()[1]+",0)"),d3.transition(D.select(".y2.axis")).call(g),y.dispatch.on("legendClick",function(e,t){e.disabled=!e.disabled,d.filter(function(e){return!e.disabled}).length||d.map(function(e){return e.disabled=!1,M.selectAll(".series").classed("disabled",!1),e}),f.transition().call(E)}),l.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],b.tooltipShow(e)}),a&&b.on("tooltipShow",function(e){w(e,T.parentNode)}),l.dispatch.on("elementMouseout.tooltip",function(e){b.tooltipHide(e)}),a&&b.on("tooltipHide",e.tooltip.cleanup),c.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],b.tooltipShow(e)}),a&&b.on("tooltipShow",function(e){w(e,T.parentNode)}),c.dispatch.on("elementMouseout.tooltip",function(e){b.tooltipHide(e)}),a&&b.on("tooltipHide",e.tooltip.cleanup),E.update=function(){f.transition().call(E)},E.container=this}),E}var t={top:30,right:60,bottom:50,left:60},n=null,r=null,i=function(e){return e.x},s=function(e){return e.y},o=d3.scale.category20().range(),u=!0,a=!0,f=function(e,t,n,r,i){return"

"+e+"

"+"

"+n+" at "+t+"

"},l=e.models.line(),c=e.models.historicalBar(),h=d3.scale.linear(),p=c.yScale(),d=l.yScale(),v=e.models.axis().scale(h).orient("bottom").tickPadding(5),m=e.models.axis().scale(p).orient("left"),g=e.models.axis().scale(d).orient("right"),y=e.models.legend().height(30),b=d3.dispatch("tooltipShow","tooltipHide"),w=function(t,n){var r=t.pos[0]+(n.offsetLeft||0),i=t.pos[1]+(n.offsetTop||0),s=v.tickFormat()(l.x()(t.point)),o=m.tickFormat()(l.y()(t.point)),u=f(t.series.key,s,o,t,E);e.tooltip.show([r,i],u,t.value<0?"n":"s")};return E.dispatch=b,E.legend=y,E.lines=l,E.bars=c,E.xAxis=v,E.yAxis1=m,E.yAxis2=g,d3.rebind(E,l,"size","clipVoronoi"),E.x=function(e){return arguments.length?(i=e,l.x(e),c.x(e),E):i},E.y=function(e){return arguments.length?(s=e,l.y(e),c.y(e),E):s},E.margin=function(e){return arguments.length?(t=e,E):t},E.width=function(e){return arguments.length?(n=e,E):n},E.height=function(e){return arguments.length?(r=e,E):r},E.color=function(e){return arguments.length?(o=e,y.color(e),E):o},E.showLegend=function(e){return arguments.length?(u=e,E):u},E.tooltips=function(e){return arguments.length?(a=e,E):a},E.tooltipContent=function(e){return arguments.length?(f=e,E):f},E},e.models.lineWithFocusChart=function(){function T(f){return f.each(function(N){function F(e){var t=+(e=="e"),n=t?1:-1,r=O/3;return"M"+.5*n+","+r+"A6,6 0 0 "+t+" "+6.5*n+","+(r+6)+"V"+(2*r-6)+"A6,6 0 0 "+t+" "+.5*n+","+2*r+"Z"+"M"+2.5*n+","+(r+8)+"V"+(2*r-8)+"M"+4.5*n+","+(r+8)+"V"+(2*r-8)}function I(){q(),B.call(l),H.select(".focus .x.axis").call(m),H.select(".focus .y.axis").call(g)}function q(){var e=S.empty()?v.domain():d3.extent(d3.merge(N.filter(function(e){return!e.disabled}).map(function(e){return e.values})).filter(function(e){return l.x()(e)>=S.extent()[0]&&l.x()(e)<=S.extent()[1]}),l.y());typeof e[0]=="undefined"&&(e=v.domain()),h.domain(S.empty()?d.domain():S.extent()),p.domain(e),l.xDomain(h.domain()),l.yDomain(p.domain())}var C=d3.select(this),k=this,L=(i||parseInt(C.style("width"))||960)-t.left-t.right,A=(s||parseInt(C.style("height"))||400)-t.top-t.bottom-o,O=o-n.top-n.bottom;S.on("brush",I);var M=C.selectAll("g.wrap.lineWithFocusChart").data([N]),_=M.enter().append("g").attr("class","wrap nvd3 lineWithFocusChart").append("g"),D=_.append("g").attr("class","focus");D.append("g").attr("class","x axis"),D.append("g").attr("class","y axis"),D.append("g").attr("class","linesWrap");var P=_.append("g").attr("class","context");P.append("g").attr("class","x axis"),P.append("g").attr("class","y axis"),P.append("g").attr("class","linesWrap"),P.append("g").attr("class","x brush"),_.append("g").attr("class","legendWrap");var H=M.select("g");u&&(w.width(L),H.select(".legendWrap").datum(N).call(w),t.top!=w.height()&&(t.top=w.height(),A=(s||parseInt(C.style("height"))||400)-t.top-t.bottom),H.select(".legendWrap").attr("transform","translate(0,"+ -t.top+")")),l.width(L).height(A).color(N.map(function(e,t){return e.color||r[t%r.length]}).filter(function(e,t){return!N[t].disabled})),c.width(L).height(O).color(N.map(function(e,t){return e.color||r[t%r.length]}).filter(function(e,t){return!N[t].disabled})),H.attr("transform","translate("+t.left+","+t.top+")");var B=H.select(".focus .linesWrap").datum(N.filter(function(e){return!e.disabled}));d3.transition(B).call(l),m.ticks(L/100).tickSize(-A,0),H.select(".focus .x.axis").attr("transform","translate(0,"+p.range()[0]+")"),d3.transition(H.select(".focus .x.axis")).call(m),g.ticks(A/36).tickSize(-L,0),d3.transition(H.select(".focus .y.axis")).call(g),H.select(".context").attr("transform","translate(0,"+(A+t.bottom+n.top)+")");var j=H.select(".context .linesWrap").datum(N.filter(function(e){return!e.disabled}));d3.transition(j).call(c),gBrush=H.select(".x.brush").call(S),gBrush.selectAll("rect").attr("height",O),gBrush.selectAll(".resize").append("path").attr("d",F),y.tickFormat(m.tickFormat()).ticks(L/100).tickSize(-O,0),H.select(".context .x.axis").attr("transform","translate(0,"+v.range()[0]+")"),d3.transition(H.select(".context .x.axis")).call(y),b.tickFormat(g.tickFormat()).ticks(O/36).tickSize(-L,0),d3.transition(H.select(".context .y.axis")).call(b),q(),w.dispatch.on("legendClick",function(e,t){e.disabled=!e.disabled,N.filter(function(e){return!e.disabled}).length||N.map(function(e){return e.disabled=!1,M.selectAll(".series").classed("disabled",!1),e}),f.transition().call(T)}),l.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],E.tooltipShow(e)}),a&&E.on("tooltipShow",function(e){x(e,k.parentNode)}),l.dispatch.on("elementMouseout.tooltip",function(e){E.tooltipHide(e)}),a&&E.on("tooltipHide",e.tooltip.cleanup)}),T.update=function(){T(f)},T.container=this,T}var t={top:30,right:20,bottom:50,left:60},n={top:0,right:20,bottom:20,left:60},r=d3.scale.category20().range(),i=null,s=null,o=100,u=!0,a=!0,f=function(e,t,n,r,i){return"

"+e+"

"+"

"+n+" at "+t+"

"},l=e.models.line().clipEdge(!0),c=e.models.line().interactive(!1),h=l.xScale(),p=l.yScale(),d=c.xScale(),v=c.yScale(),m=e.models.axis().scale(h).orient("bottom").tickPadding(5),g=e.models.axis().scale(p).orient("left"),y=e.models.axis().scale(h).orient("bottom").tickPadding(5),b=e.models.axis().scale(v).orient("left"),w=e.models.legend().height(30),E=d3.dispatch("tooltipShow","tooltipHide"),S=d3.svg.brush().x(d),x=function(t,n){var r=t.pos[0]+(n.offsetLeft||0),i=t.pos[1]+(n.offsetTop||0),s=m.tickFormat()(l.x()(t.point)),o=g.tickFormat()(l.y()(t.point)),u=f(t.series.key,s,o,t,T);e.tooltip.show([r,i],u)};return T.dispatch=E,T.legend=w,T.xAxis=m,T.yAxis=g,d3.rebind(T,l,"x","y","size","xDomain","yDomain","forceX","forceY","interactive","clipEdge","clipVoronoi","id"),T.margin=function(e){return arguments.length?(t=e,T):t},T.width=function(e){return arguments.length?(i=e,T):i},T.height=function(e){return arguments.length?(s=e,T):s},T.color=function(e){return arguments.length?(r=e,w.color(e),T):r},T.showLegend=function(e){return arguments.length?(u=e,T):u},T.tooltips=function(e){return arguments.length?(a=e,T):a},T.tooltipContent=function(e){return arguments.length?(f=e,T):f},T},e.models.multiBar=function(){function y(b){return b.each(function(w){var E=t-e.left-e.right,S=n-e.top-e.bottom;p=p||v,d=d||m,a&&(w=d3.layout.stack().offset("zero").values(function(e){return e.values}).y(s)(w)),w=w.map(function(e,t){return e.values=e.values.map(function(e){return e.series=t,e}),e});var T=c&&h?[]:w.map(function(e){return e.values.map(function(e,t){return{x:i(e,t),y:s(e,t),y0:e.y0}})});v.domain(d3.merge(T).map(function(e){return e.x})).rangeBands([0,E],.1),m.domain(h||d3.extent(d3.merge(T).map(function(e){return e.y+(a?e.y0:0)}).concat(o))).range([S,0]);var N=d3.select(this).selectAll("g.wrap.multibar").data([w]),C=N.enter().append("g").attr("class","wrap nvd3 multibar"),k=C.append("defs"),L=C.append("g");L.append("g").attr("class","groups");var A=N.select("g");N.attr("transform","translate("+e.left+","+e.top+")"),k.append("clipPath").attr("id","edge-clip-"+r).append("rect"),N.select("#edge-clip-"+r+" rect").attr("width",E).attr("height",S),A.attr("clip-path",u?"url(#edge-clip-"+r+")":"");var O=N.select(".groups").selectAll(".group").data(function(e){return e},function(e){return e.key});O.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6),d3.transition(O.exit()).selectAll("rect.bar").delay(function(e,t){return t*l/w[0].values.length}).attr("y",function(e){return a?d(e.y0):d(0)}).attr("height",0).remove(),O.attr("class",function(e,t){return"group series-"+t}).classed("hover",function(e){return e.hover}).style("fill",function(e,t){return f[t%f.length]}).style("stroke",function(e,t){return f[t%f.length]}),d3.transition(O).style("stroke-opacity",1).style("fill-opacity",.75);var M=O.selectAll("rect.bar").data(function(e){return e.values});M.exit().remove();var _=M.enter().append("rect").attr("class",function(e,t){return s(e,t)<0?"bar negative":"bar positive"}).attr("x",function(e,t,n){return a?0:n*v.rangeBand()/w.length}).attr("y",function(e){return d(a?e.y0:0)}).attr("height",0).attr("width",v.rangeBand()/(a?1:w.length)).on("mouseover",function(e,t){d3.select(this).classed("hover",!0),g.elementMouseover({value:s(e,t),point:e,series:w[e.series],pos:[v(i(e,t))+v.rangeBand()*(a?w.length/2:e.series+.5)/w.length,m(s(e,t)+(a?e.y0:0))],pointIndex:t,seriesIndex:e.series,e:d3.event})}).on("mouseout",function(e,t){d3.select(this).classed("hover",!1),g.elementMouseout({value:s(e,t),point:e,series:w[e.series],pointIndex:t,seriesIndex:e.series,e:d3.event})}).on("click",function(e,t){g.elementClick({value:s(e,t),point:e,series:w[e.series],pos:[v(i(e,t))+v.rangeBand()*(a?w.length/2:e.series+.5)/w.length,m(s(e,t)+(a?e.y0:0))],pointIndex:t,seriesIndex:e.series,e:d3.event}),d3.event.stopPropagation()}).on("dblclick",function(e,t){g.elementDblClick({value:s(e,t),point:e,series:w[e.series],pos:[v(i(e,t))+v.rangeBand()*(a?w.length/2:e.series+.5)/w.length,m(s(e,t)+(a?e.y0:0))],pointIndex:t,seriesIndex:e.series,e:d3.event}),d3.event.stopPropagation()});M.attr("class",function(e,t){return s(e,t)<0?"bar negative":"bar positive"}).attr("transform",function(e,t){return"translate("+v(i(e,t))+",0)"}),a?d3.transition(M).delay(function(e,t){return t*l/w[0].values.length}).attr("y",function(e,t){return m(s(e,t)+(a?e.y0:0))}).attr("height",function(e,t){return Math.abs(m(e.y+(a?e.y0:0))-m(a?e.y0:0))}).each("end",function(){d3.transition(d3.select(this)).attr("x",function(e,t){return a?0:e.series*v.rangeBand()/w.length}).attr("width",v.rangeBand()/(a?1:w.length))}):d3.transition(M).delay(function(e,t){return t*l/w[0].values.length}).attr("x",function(e,t){return e.series*v.rangeBand()/w.length}).attr("width",v.rangeBand()/w.length).each("end",function(){d3.transition(d3.select(this)).attr("y",function(e,t){return s(e,t)<0?m(0):m(s(e,t))}).attr("height",function(e,t){return Math.abs(m(s(e,t))-m(0))})}),y.update=function(){b.transition().call(y)},p=v.copy(),d=m.copy()}),y}var e={top:0,right:0,bottom:0,left:0},t=960,n=500,r=Math.floor(Math.random()*1e4),i=function(e){return e.x},s=function(e){return e.y},o=[0],u=!0,a=!1,f=d3.scale.category20().range(),l=1200,c,h,p,d,v=d3.scale.ordinal(),m=d3.scale.linear(),g=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout");return y.dispatch=g,y.x=function(e){return arguments.length?(i=e,y):i},y.y=function(e){return arguments.length?(s=e,y):s},y.margin=function(t){return arguments.length?(e=t,y):e},y.width=function(e){return arguments.length?(t=e,y):t},y.height=function(e){return arguments.length?(n=e,y):n},y.xScale=function(e){return arguments.length?(v=e,y):v},y.yScale=function(e){return arguments.length?(m=e,y):m},y.xDomain=function(e){return arguments.length?(c=e,y):c},y.yDomain=function(e){return arguments.length?(h=e,y):h},y.forceY=function(e){return arguments.length?(o=e,y):o},y.stacked=function(e){return arguments.length?(a=e,y):a},y.clipEdge=function(e){return arguments.length?(u=e,y):u},y.color=function(e){return arguments.length?(f=e,y):f},y.id=function(e){return arguments.length?(r=e,y):r},y.delay=function(e){return arguments.length?(l=e,y):l},y},e.models.multiBarChart=function(){function b(a){return a.each(function(l){var w=d3.select(this),E=this,S=(n||parseInt(w.style("width"))||960)-t.left-t.right,x=(r||parseInt(w.style("height"))||400)-t.top-t.bottom,T=w.selectAll("g.wrap.multiBarWithLegend").data([l]),N=T.enter().append("g").attr("class","wrap nvd3 multiBarWithLegend").append("g");N.append("g").attr("class","x axis"),N.append("g").attr("class","y axis"),N.append("g").attr("class","barsWrap"),N.append("g").attr("class","legendWrap"),N.append("g").attr("class","controlsWrap");var C=T.select("g");o&&(d.width(S/2),C.select(".legendWrap").datum(l).call(d),t.top!=d.height()&&(t.top=d.height(),x=(r||parseInt(w.style("height"))||400)-t.top-t.bottom),C.select(".legendWrap").attr("transform","translate("+S/2+","+ -t.top+")")),f.width(S).height(x).color(l.map(function(e,t){return e.color||i[t%i.length]}).filter(function(e,t){return!l[t].disabled})),s&&(v.width(180).color(["#444","#444","#444"]),C.select(".controlsWrap").datum(y).attr("transform","translate(0,"+ -t.top+")").call(v)),C.attr("transform","translate("+t.left+","+t.top+")");var k=C.select(".barsWrap").datum(l.filter(function(e){return!e.disabled}));d3.transition(k).call(f),h.ticks(S/100).tickSize(-x,0),C.select(".x.axis").attr("transform","translate(0,"+c.range()[0]+")"),d3.transition(C.select(".x.axis")).call(h);var L=C.select(".x.axis").selectAll("g");L.selectAll("line, text").style("opacity",1),L.filter(function(e,t){return t%Math.ceil(l[0].values.length/(S/100))!==0}).style("opacity",0),p.ticks(x/36).tickSize(-S,0),d3.transition(C.select(".y.axis")).call(p),d.dispatch.on("legendClick",function(e,t){e.disabled=!e.disabled,l.filter(function(e){return!e.disabled}).length||l.map(function(e){return e.disabled=!1,T.selectAll(".series").classed("disabled",!1),e}),a.transition().call(b)}),v.dispatch.on("legendClick",function(e,t){if(!e.disabled)return;y=y.map(function(e){return e.disabled=!0,e}),e.disabled=!1;switch(e.key){case"Grouped":f.stacked(!1);break;case"Stacked":f.stacked(!0)}a.transition().call(b)}),f.dispatch.on("elementMouseover.tooltip2",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],m.tooltipShow(e)}),u&&m.on("tooltipShow",function(e){g(e,E.parentNode)}),f.dispatch.on("elementMouseout.tooltip",function(e){m.tooltipHide(e)}),u&&m.on("tooltipHide",e.tooltip.cleanup),b.update=function(){a.transition().call(b)},b.container=this}),b}var t={top:30,right:20,bottom:50,left:60},n=null,r=null,i=d3.scale.category20().range(),s=!0,o=!0,u=!0,a=function(e,t,n,r,i){return"

"+e+"

"+"

"+n+" on "+t+"

"},f=e.models.multiBar().stacked(!1),l=f.xScale(),c=f.yScale(),h=e.models.axis().scale(l).orient("bottom").highlightZero(!1),p=e.models.axis().scale(c).orient("left"),d=e.models.legend().height(30),v=e.models.legend().height(30),m=d3.dispatch("tooltipShow","tooltipHide");h.tickFormat(function(e){return e}),p.tickFormat(d3.format(",.1f"));var g=function(t,n){var r=t.pos[0]+(n.offsetLeft||0),i=t.pos[1]+(n.offsetTop||0),s=h.tickFormat()(f.x()(t.point)),o=p.tickFormat()(f.y()(t.point)),u=a(t.series.key,s,o,t,b);e.tooltip.show([r,i],u,t.value<0?"n":"s")},y=[{key:"Grouped"},{key:"Stacked",disabled:!0}];return b.dispatch=m,b.legend=d,b.xAxis=h,b.yAxis=p,d3.rebind(b,f,"x","y","xDomain","yDomain","forceX","forceY","clipEdge","id","stacked"),b.margin=function(e){return arguments.length?(t=e,b):t},b.width=function(e){return arguments.length?(n=e,b):n},b.height=function(e){return arguments.length?(r=e,b):r},b.color=function(e){return arguments.length?(i=e,d.color(e),b):i},b.showControls=function(e){return arguments.length?(s=e,b):s},b.showLegend=function(e){return arguments.length?(o=e,b):o},b},e.models.multiBarHorizontal=function(){function w(r){return r.each(function(d){var E=t-e.left-e.right,S=n-e.top-e.bottom;l&&(d=d3.layout.stack().offset("zero").values(function(e){return e.values}).y(u)(d)),d=d.map(function(e,t){return e.values=e.values.map(function(e){return e.series=t,e}),e});var T=v&&m?[]:d.map(function(e){return e.values.map(function(e,t){return{x:o(e,t),y:u(e,t),y0:e.y0}})});i.domain(v||d3.merge(T).map(function(e){return e.x})).rangeBands([0,S],.1),s.domain(m||d3.extent(d3.merge(T).map(function(e){return e.y+(l?e.y0:0)}).concat(a))),c&&!l?s.range([s.domain()[0]<0?h:0,E-(s.domain()[1]>0?h:0)]):s.range([0,E]),g=g||i,y=y||d3.scale.linear().domain(s.domain()).range([s(0),s(0)]);var N=d3.select(this).selectAll("g.wrap.multibarHorizontal").data([d]),C=N.enter().append("g").attr("class","wrap nvd3 multibarHorizontal"),k=C.append("defs"),L=C.append("g");L.append("g").attr("class","groups");var A=N.select("g");N.attr("transform","translate("+e.left+","+e.top+")");var O=N.select(".groups").selectAll(".group").data(function(e){return e},function(e){return e.key});O.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6),d3.transition(O.exit()).style("stroke-opacity",1e-6).style("fill-opacity",1e-6).remove(),O.attr("class",function(e,t){return"group series-"+t}).classed("hover",function(e){return e.hover}).style("fill",function(e,t){return f[t%f.length]}).style("stroke",function(e,t){return f[t%f.length]}),d3.transition(O).style("stroke-opacity",1).style("fill-opacity",.75);var M=O.selectAll("g.bar").data(function(e){return e.values});M.exit().remove();var _=M.enter().append("g").attr("transform",function(e,t,n){return"translate("+y(l?e.y0:0)+","+(l?0:n*i.rangeBand()/d.length+i(o(e,t)))+")"}).on("mouseover",function(e,t){d3.select(this).classed("hover",!0),b.elementMouseover({value:u(e,t),point:e,series:d[e.series],pos:[s(u(e,t)+(l?e.y0:0)),i(o(e,t))+i.rangeBand()*(l?d.length/2:e.series+.5)/d.length],pointIndex:t,seriesIndex:e.series,e:d3.event})}).on("mouseout",function(e,t){d3.select(this).classed("hover",!1),b.elementMouseout({value:u(e,t),point:e,series:d[e.series],pointIndex:t,seriesIndex:e.series,e:d3.event})}).on("click",function(e,t){b.elementClick({value:u(e,t),point:e,series:d[e.series],pos:[i(o(e,t))+i.rangeBand()*(l?d.length/2:e.series+.5)/d.length,s(u(e,t)+(l?e.y0:0))],pointIndex:t,seriesIndex:e.series,e:d3.event}),d3.event.stopPropagation()}).on("dblclick",function(e,t){b.elementDblClick({value:u(e,t),point:e,series:d[e.series],pos:[i(o(e,t))+i.rangeBand()*(l?d.length/2:e.series+.5)/d.length,s(u(e,t)+(l?e.y0:0))],pointIndex:t,seriesIndex:e.series,e:d3.event}),d3.event.stopPropagation()});_.append("rect").attr("width",0).attr("height",i.rangeBand()/(l?1:d.length)),c&&!l?(_.append("text").attr("text-anchor",function(e,t){return u(e,t)<0?"end":"start"}),M.selectAll("text").attr("y",i.rangeBand()/2).attr("dy","-.32em").text(function(e,t){return p(u(e,t))}),d3.transition(M).selectAll("text").attr("x",function(e,t){return u(e,t)<0?-4:s(u(e,t))-s(0)+4})):M.selectAll("text").remove(),M.attr("class",function(e,t){return u(e,t)<0?"bar negative":"bar positive"}),l?d3.transition(M).attr("transform",function(e,t){return"translate("+s(e.y0)+","+(l?0:j*i.rangeBand()/d.length)+")"}).selectAll("rect").attr("width",function(e,t){return Math.abs(s(u(e,t)+e.y0)-s(e.y0))}).attr("height",i.rangeBand()):d3.transition(M).attr("transform",function(e,t){return"translate("+(u(e,t)<0?s(u(e,t)):s(0))+","+(e.series*i.rangeBand()/d.length+i(o(e,t)))+")"}).selectAll("rect").attr("height",i.rangeBand()/d.length).attr("width",function(e,t){return Math.abs(s(u(e,t))-s(0))}),w.update=function(){r.transition().call(w)},g=i.copy(),y=s.copy()}),w}var e={top:0,right:0,bottom:0,left:0},t=960,n=500,r=Math.floor(Math.random()*1e4),i=d3.scale.ordinal(),s=d3.scale.linear(),o=function(e){return e.x},u=function(e){return e.y},a=[0],f=d3.scale.category20().range(),l=!1,c=!1,h=60,p=d3.format(",.2f"),d=1200,v,m,g,y,b=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout");return w.dispatch=b,w.x=function(e){return arguments.length?(o=e,w):o},w.y=function(e){return arguments.length?(u=e,w):u},w.margin=function(t){return arguments.length?(e=t,w):e},w.width=function(e){return arguments.length?(t=e,w):t},w.height=function(e){return arguments.length?(n=e,w):n},w.xScale=function(e){return arguments.length?(i=e,w):i},w.yScale=function(e){return arguments.length?(s=e,w):s},w.xDomain=function(e){return arguments.length?(v=e,w):v},w.yDomain=function(e){return arguments.length?(m=e,w):m},w.forceY=function(e){return arguments.length?(a=e,w):a},w.stacked=function(e){return arguments.length?(l=e,w):l},w.color=function(e){return arguments.length?(f=e,w):f},w.id=function(e){return arguments.length?(r=e,w):r},w.delay=function(e){return arguments.length?(d=e,w):d},w.showValues=function(e){return arguments.length?(c=e,w):c},w.valueFormat=function(e){return arguments.length?(p=e,w):p},w.valuePadding=function(e){return arguments.length?(h=e,w):h},w},e.models.multiBarHorizontalChart=function(){function b(a){return a.each(function(l){var c=d3.select(this),w=this,E=(n||parseInt(c.style("width"))||960)-t.left-t.right,S=(r||parseInt(c.style("height"))||400)-t.top-t.bottom,x=c.selectAll("g.wrap.multiBarHorizontalChart").data([l]),T=x.enter().append("g").attr -("class","wrap nvd3 multiBarHorizontalChart").append("g");T.append("g").attr("class","x axis"),T.append("g").attr("class","y axis"),T.append("g").attr("class","barsWrap"),T.append("g").attr("class","legendWrap"),T.append("g").attr("class","controlsWrap"),t.top=d.height();var N=x.select("g");o&&(d.width(E/2),N.select(".legendWrap").datum(l).call(d),t.top!=d.height()&&(t.top=d.height(),S=(r||parseInt(c.style("height"))||400)-t.top-t.bottom),N.select(".legendWrap").attr("transform","translate("+E/2+","+ -t.top+")")),f.width(E).height(S).color(l.map(function(e,t){return e.color||i[t%i.length]}).filter(function(e,t){return!l[t].disabled})),s&&(v.width(180).color(["#444","#444","#444"]),N.select(".controlsWrap").datum(y).attr("transform","translate(0,"+ -t.top+")").call(v)),N.attr("transform","translate("+t.left+","+t.top+")");var C=N.select(".barsWrap").datum(l.filter(function(e){return!e.disabled}));d3.transition(C).call(f),h.ticks(S/24).tickSize(-E,0),N.select(".x.axis").transition().duration(0).call(h);var k=N.select(".x.axis").selectAll("g");k.selectAll("line, text").style("opacity",1),p.ticks(E/100).tickSize(-S,0),N.select(".y.axis").attr("transform","translate(0,"+S+")"),d3.transition(N.select(".y.axis")).call(p),d.dispatch.on("legendClick",function(e,t){e.disabled=!e.disabled,l.filter(function(e){return!e.disabled}).length||l.map(function(e){return e.disabled=!1,x.selectAll(".series").classed("disabled",!1),e}),a.transition().call(b)}),v.dispatch.on("legendClick",function(e,t){if(!e.disabled)return;y=y.map(function(e){return e.disabled=!0,e}),e.disabled=!1;switch(e.key){case"Grouped":f.stacked(!1);break;case"Stacked":f.stacked(!0)}a.transition().call(b)}),f.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],m.tooltipShow(e)}),u&&m.on("tooltipShow",function(e){g(e,w.parentNode)}),f.dispatch.on("elementMouseout.tooltip",function(e){m.tooltipHide(e)}),u&&m.on("tooltipHide",e.tooltip.cleanup),b.update=function(){a.transition().call(b)},b.container=this}),b}var t={top:30,right:20,bottom:50,left:60},n=null,r=null,i=d3.scale.category20().range(),s=!0,o=!0,u=!0,a=function(e,t,n,r,i){return"

"+t+"

"+"

"+n+"

"},f=e.models.multiBarHorizontal().stacked(!1),l=f.xScale(),c=f.yScale(),h=e.models.axis().scale(l).orient("left").highlightZero(!1).showMaxMin(!1),p=e.models.axis().scale(c).orient("bottom"),d=e.models.legend().height(30),v=e.models.legend().height(30),m=d3.dispatch("tooltipShow","tooltipHide");h.tickFormat(function(e){return e}),p.tickFormat(d3.format(",.1f"));var g=function(t,n){var r=t.pos[0]+(n.offsetLeft||0),i=t.pos[1]+(n.offsetTop||0),s=h.tickFormat()(f.x()(t.point)),o=p.tickFormat()(f.y()(t.point)),u=a(t.series.key,s,o,t,b);e.tooltip.show([r,i],u,t.value<0?"e":"w")},y=[{key:"Grouped"},{key:"Stacked",disabled:!0}];return b.dispatch=m,b.multibar=f,b.legend=d,b.xAxis=h,b.yAxis=p,d3.rebind(b,f,"x","y","xDomain","yDomain","forceX","forceY","clipEdge","id","delay","showValues","valueFormat"),b.margin=function(e){return arguments.length?(t=e,b):t},b.width=function(e){return arguments.length?(n=e,b):n},b.height=function(e){return arguments.length?(r=e,b):r},b.color=function(e){return arguments.length?(i=e,d.color(e),b):i},b.showControls=function(e){return arguments.length?(s=e,b):s},b.showLegend=function(e){return arguments.length?(o=e,b):o},b.tooltips=function(e){return arguments.length?(u=e,b):u},b.tooltipContent=function(e){return arguments.length?(a=e,b):a},b},e.models.pie=function(){function p(a){return a.each(function(a){function C(e){var t=(e.startAngle+e.endAngle)*90/Math.PI-90;return t>90?t-180:t}function k(e){c||(e.innerRadius=0);var t=d3.interpolate(this._current,e);return this._current=t(0),function(e){return E(t(e))}}function L(e){e.innerRadius=0;var t=d3.interpolate({startAngle:0,endAngle:0},e);return function(e){return E(t(e))}}var p=t-e.left-e.right,d=n-e.top-e.bottom,v=Math.min(p,d)/2,m=d3.select(this).on("click",function(e,t){h.chartClick({data:e,index:t,pos:d3.event,id:o})}),g=m.selectAll(".wrap.pie").data([r(a[0])]),y=g.enter().append("g").attr("class","wrap nvd3 pie chart-"+o),b=y.append("g"),w=g.select("g");b.append("g").attr("class","pie"),g.attr("transform","translate("+e.left+","+e.top+")"),w.select(".pie").attr("transform","translate("+p/2+","+d/2+")");var E=d3.svg.arc().outerRadius(v-v/5);c&&E.innerRadius(v/2);var S=d3.layout.pie().sort(null).value(function(e){return e.disabled?0:s(e)}),x=g.select(".pie").selectAll(".slice").data(S);x.exit().remove();var T=x.enter().append("svg:g").attr("class","slice").on("mouseover",function(e,t){d3.select(this).classed("hover",!0),h.elementMouseover({label:i(e.data),value:s(e.data),point:e.data,pointIndex:t,pos:[d3.event.pageX,d3.event.pageY],id:o})}).on("mouseout",function(e,t){d3.select(this).classed("hover",!1),h.elementMouseout({label:i(e.data),value:s(e.data),point:e.data,index:t,id:o})}).on("click",function(e,t){h.elementClick({label:i(e.data),value:s(e.data),point:e.data,index:t,pos:d3.event,id:o}),d3.event.stopPropagation()}).on("dblclick",function(e,t){h.elementDblClick({label:i(e.data),value:s(e.data),point:e.data,index:t,pos:d3.event,id:o}),d3.event.stopPropagation()});x.attr("fill",function(e,t){return u[t]}).attr("stroke",function(e,t){return u[t]});var N=T.append("svg:path").each(function(e){this._current=e});d3.transition(x.select("path")).attr("d",E).attrTween("d",k),f&&(T.append("text").attr("transform",function(e){return e.outerRadius=v+10,e.innerRadius=v+15,"translate("+E.centroid(e)+")"}).style("text-anchor","middle").style("fill","#000"),d3.transition(x.select("text")).attr("transform",function(e){return e.outerRadius=v+10,e.innerRadius=v+15,"translate("+E.centroid(e)+")"}).text(function(e,t){var n=(e.endAngle-e.startAngle)/(2*Math.PI);return e.value&&n>l?i(e.data):""}))}),p}var e={top:0,right:0,bottom:0,left:0},t=500,n=500,r=function(e){return e.values},i=function(e){return e.x},s=function(e){return e.y},o=Math.floor(Math.random()*1e4),u=d3.scale.category20().range(),a=d3.format(",.2f"),f=!0,l=.02,c=!1,h=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout");return p.dispatch=h,p.margin=function(t){return arguments.length?(e=t,p):e},p.width=function(e){return arguments.length?(t=e,p):t},p.height=function(e){return arguments.length?(n=e,p):n},p.values=function(e){return arguments.length?(r=e,p):r},p.x=function(e){return arguments.length?(i=e,p):i},p.y=function(e){return arguments.length?(s=d3.functor(e),p):s},p.showLabels=function(e){return arguments.length?(f=e,p):f},p.donut=function(e){return arguments.length?(c=e,p):c},p.id=function(e){return arguments.length?(o=e,p):o},p.color=function(e){return arguments.length?(u=e,p):u},p.valueFormat=function(e){return arguments.length?(a=e,p):a},p.labelThreshold=function(e){return arguments.length?(l=e,p):l},p},e.models.pieChart=function(){function h(s){return s.each(function(u){var p=d3.select(this),d=this,v=(n||parseInt(p.style("width"))||960)-t.left-t.right,m=(r||parseInt(p.style("height"))||400)-t.top-t.bottom,g=p.selectAll("g.wrap.pieChart").data([u]),y=g.enter().append("g").attr("class","wrap nvd3 pieChart").append("g");y.append("g").attr("class","pieWrap"),y.append("g").attr("class","legendWrap");var b=g.select("g");i&&(f.width(v).key(a.x()),g.select(".legendWrap").datum(a.values()(u[0])).call(f),t.top!=f.height()&&(t.top=f.height(),m=(r||parseInt(p.style("height"))||400)-t.top-t.bottom),g.select(".legendWrap").attr("transform","translate(0,"+ -t.top+")")),a.width(v).height(m),b.attr("transform","translate("+t.left+","+t.top+")");var w=b.select(".pieWrap").datum(u);d3.transition(w).call(a),f.dispatch.on("legendClick",function(e,t,n){e.disabled=!e.disabled,a.values()(u[0]).filter(function(e){return!e.disabled}).length||a.values()(u[0]).map(function(e){return e.disabled=!1,g.selectAll(".series").classed("disabled",!1),e}),s.transition().call(h)}),a.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],l.tooltipShow(e)}),o&&l.on("tooltipShow",function(e){c(e)}),a.dispatch.on("elementMouseout.tooltip",function(e){l.tooltipHide(e)}),o&&l.on("tooltipHide",e.tooltip.cleanup),h.update=function(){s.transition().call(h)},h.container=this}),h}var t={top:30,right:20,bottom:20,left:20},n=null,r=null,i=!0,s=d3.scale.category20().range(),o=!0,u=function(e,t,n,r){return"

"+e+"

"+"

"+t+"

"},a=e.models.pie(),f=e.models.legend().height(30),l=d3.dispatch("tooltipShow","tooltipHide"),c=function(t,n){var r=t.pos[0]+(n&&n.offsetLeft||0),i=t.pos[1]+(n&&n.offsetTop||0),s=a.valueFormat()(a.y()(t.point)),o=u(a.x()(t.point),s,t,h);e.tooltip.show([r,i],o,t.value<0?"n":"s")};return h.dispatch=l,h.pie=a,d3.rebind(h,a,"values","x","y","id","showLabels","donut","labelThreshold"),h.margin=function(e){return arguments.length?(t=e,h):t},h.width=function(e){return arguments.length?(n=e,h):n},h.height=function(e){return arguments.length?(r=e,h):r},h.color=function(e){return arguments.length?(s=e,f.color(e),a.color(e),h):s},h.tooltips=function(e){return arguments.length?(o=e,h):o},h.tooltipContent=function(e){return arguments.length?(u=e,h):u},h},e.models.scatter=function(){function k(L){return L.each(function(k){function j(){if(!v)return!1;H.append("g").attr("class","point-paths");var t=d3.merge(k.map(function(e,t){return e.values.map(function(e,n){return[s(a(e,n))*(Math.random()/1e12+1),o(f(e,n))*(Math.random()/1e12+1),t,n]})}));if(g){P.append("clipPath").attr("id","points-clip-"+i);var n=_.select("#points-clip-"+i).selectAll("circle").data(t);n.enter().append("circle").attr("r",y),n.exit().remove(),n.attr("cx",function(e){return e[0]}).attr("cy",function(e){return e[1]}),_.select(".point-paths").attr("clip-path","url(#points-clip-"+i+")")}var r=d3.geom.voronoi(t).map(function(e,n){return{data:e,series:t[n][2],point:t[n][3]}}),u=_.select(".point-paths").selectAll("path").data(r);u.enter().append("path").attr("class",function(e,t){return"path-"+t}),u.exit().remove(),u.attr("d",function(e){return"M"+e.data.join(",")+"Z"}).on("click",function(t){var n=k[t.series],r=n.values[t.point];S.elementClick({point:r,series:n,pos:[s(a(r,t.point))+e.left,o(f(r,t.point))+e.top],seriesIndex:t.series,pointIndex:t.point})}).on("mouseover",function(t){var n=k[t.series],r=n.values[t.point];S.elementMouseover({point:r,series:n,pos:[s(a(r,t.point))+e.left,o(f(r,t.point))+e.top],seriesIndex:t.series,pointIndex:t.point})}).on("mouseout",function(e,t){S.elementMouseout({point:k[e.series].values[e.point],series:k[e.series],seriesIndex:e.series,pointIndex:e.point})}),S.on("elementMouseover.point",function(e){d3.select(".chart-"+i+" .series-"+e.seriesIndex+" .point-"+e.pointIndex).classed("hover",!0)}),S.on("elementMouseout.point",function(e){d3.select(".chart-"+i+" .series-"+e.seriesIndex+" .point-"+e.pointIndex).classed("hover",!1)})}var L=t-e.left-e.right,A=n-e.top-e.bottom,O=d3.select(this);x=x||s,T=T||o,N=N||u,k=k.map(function(e,t){return e.values=e.values.map(function(e){return e.series=t,e}),e});var M=b&&w&&E?[]:k.map(function(e){return e.values.map(function(e,t){return{x:a(e,t),y:f(e,t),size:l(e,t)}})});s.domain(b||d3.extent(d3.merge(M).map(function(e){return e.x}).concat(h))).range([0,L]),o.domain(w||d3.extent(d3.merge(M).map(function(e){return e.y}).concat(p))).range([A,0]),u.domain(E||d3.extent(d3.merge(M).map(function(e){return e.size}).concat(d))).range([16,256]);var _=O.selectAll("g.wrap.scatter").data([k]),D=_.enter().append("g").attr("class","wrap nvd3 scatter chart-"+i),P=D.append("defs"),H=D.append("g"),B=_.select("g");H.append("g").attr("class","groups"),_.attr("transform","translate("+e.left+","+e.top+")"),P.append("clipPath").attr("id","edge-clip-"+i).append("rect"),_.select("#edge-clip-"+i+" rect").attr("width",L).attr("height",A),B.attr("clip-path",m?"url(#edge-clip-"+i+")":"");var F=_.select(".groups").selectAll(".group").data(function(e){return e},function(e){return e.key});F.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6),d3.transition(F.exit()).style("stroke-opacity",1e-6).style("fill-opacity",1e-6).remove(),F.attr("class",function(e,t){return"group series-"+t}).classed("hover",function(e){return e.hover}),d3.transition(F).style("fill",function(e,t){return r[t%r.length]}).style("stroke",function(e,t){return r[t%r.length]}).style("stroke-opacity",1).style("fill-opacity",.5);var I=F.selectAll("path.point").data(function(e){return e.values});I.enter().append("path").attr("transform",function(e,t){return"translate("+x(a(e,t))+","+T(f(e,t))+")"}).attr("d",d3.svg.symbol().type(c).size(function(e,t){return u(l(e,t))})),d3.transition(F.exit().selectAll("path.point")).attr("transform",function(e,t){return"translate("+s(a(e,t))+","+o(f(e,t))+")"}).remove(),I.attr("class",function(e,t){return"point point-"+t}),d3.transition(I).attr("transform",function(e,t){return"translate("+s(a(e,t))+","+o(f(e,t))+")"}).attr("d",d3.svg.symbol().type(c).size(function(e,t){return u(l(e,t))})),clearTimeout(C),C=setTimeout(j,1e3),x=s.copy(),T=o.copy(),N=u.copy()}),k}var e={top:0,right:0,bottom:0,left:0},t=960,n=500,r=d3.scale.category20().range(),i=Math.floor(Math.random()*1e5),s=d3.scale.linear(),o=d3.scale.linear(),u=d3.scale.linear(),a=function(e){return e.x},f=function(e){return e.y},l=function(e){return e.size},c=function(e){return e.shape||"circle"},h=[],p=[],d=[],v=!0,m=!1,g=!0,y=function(){return 25},b,w,E,S=d3.dispatch("elementClick","elementMouseover","elementMouseout"),x,T,N,C;return k.dispatch=S,k.x=function(e){return arguments.length?(a=d3.functor(e),k):a},k.y=function(e){return arguments.length?(f=d3.functor(e),k):f},k.size=function(e){return arguments.length?(l=d3.functor(e),k):l},k.margin=function(t){return arguments.length?(e=t,k):e},k.width=function(e){return arguments.length?(t=e,k):t},k.height=function(e){return arguments.length?(n=e,k):n},k.xScale=function(e){return arguments.length?(s=e,k):s},k.yScale=function(e){return arguments.length?(o=e,k):o},k.zScale=function(e){return arguments.length?(u=e,k):u},k.xDomain=function(e){return arguments.length?(b=e,k):b},k.yDomain=function(e){return arguments.length?(w=e,k):w},k.sizeDomain=function(e){return arguments.length?(E=e,k):E},k.forceX=function(e){return arguments.length?(h=e,k):h},k.forceY=function(e){return arguments.length?(p=e,k):p},k.forceSize=function(e){return arguments.length?(d=e,k):d},k.interactive=function(e){return arguments.length?(v=e,k):v},k.clipEdge=function(e){return arguments.length?(m=e,k):m},k.clipVoronoi=function(e){return arguments.length?(g=e,k):g},k.clipRadius=function(e){return arguments.length?(y=e,k):y},k.color=function(e){return arguments.length?(r=e,k):r},k.shape=function(e){return arguments.length?(c=e,k):c},k.id=function(e){return arguments.length?(i=e,k):i},k},e.models.scatterChart=function(){function A(s){return s.each(function(o){function H(){if(l)return D.select(".point-paths").style("pointer-events","all"),!1;D.select(".background").style("pointer-events","all"),D.select(".point-paths").style("pointer-events","none");var e=d3.mouse(this);v.distortion(f).focus(e[0]),m.distortion(f).focus(e[1]),P.call(g),D.select(".x.axis").call(y),D.select(".y.axis").call(b),D.select(".distributionX").datum(o.filter(function(e){return!e.disabled})).call(S),D.select(".distributionY").datum(o.filter(function(e){return!e.disabled})).call(x)}var h=d3.select(this),p=this,d=(n||parseInt(h.style("width"))||960)-t.left-t.right,O=(r||parseInt(h.style("height"))||400)-t.top-t.bottom;N=N||g.xScale(),C=C||g.yScale();var M=h.selectAll("g.wrap.scatterChart").data([o]),_=M.enter().append("g").attr("class","wrap nvd3 scatterChart chart-"+g.id()).append("g");_.append("rect").attr("class","nvd3 background").attr("width",d).attr("height",O),_.append("g").attr("class","x axis"),_.append("g").attr("class","y axis"),_.append("g").attr("class","scatterWrap"),_.append("g").attr("class","distWrap"),_.append("g").attr("class","legendWrap"),_.append("g").attr("class","controlsWrap");var D=M.select("g");u&&(w.width(d/2),M.select(".legendWrap").datum(o).call(w),t.top!=w.height()&&(t.top=w.height(),O=(r||parseInt(h.style("height"))||400)-t.top-t.bottom),M.select(".legendWrap").attr("transform","translate("+d/2+","+ -t.top+")")),a&&(E.width(180).color(["#444"]),D.select(".controlsWrap").datum(L).attr("transform","translate(0,"+ -t.top+")").call(E)),g.width(d).height(O).color(o.map(function(e,t){return e.color||i[t%i.length]}).filter(function(e,t){return!o[t].disabled})),D.attr("transform","translate("+t.left+","+t.top+")");var P=M.select(".scatterWrap").datum(o.filter(function(e){return!e.disabled}));d3.transition(P).call(g),y.ticks(d/100).tickSize(-O,0),D.select(".x.axis").attr("transform","translate(0,"+m.range()[0]+")"),d3.transition(D.select(".x.axis")).call(y),b.ticks(O/36).tickSize(-d,0),d3.transition(D.select(".y.axis")).call(b),S.width(d).color(o.map(function(e,t){return e.color||i[t%i.length]}).filter(function(e,t){return!o[t].disabled})),_.select(".distWrap").append("g").attr("class","distributionX").attr("transform","translate(0,"+m.range()[0]+")"),D.select(".distributionX").datum(o.filter(function(e){return!e.disabled})).call(S),x.width(O).color(o.map(function(e,t){return e.color||i[t%i.length]}).filter(function(e,t){return!o[t].disabled})),_.select(".distWrap").append("g").attr("class","distributionY").attr("transform","translate(-"+x.size()+",0)"),D.select(".distributionY").datum(o.filter(function(e){return!e.disabled})).call(x),D.select(".background").on("mousemove",H),D.select(".background").on("click",function(){l=!l}),E.dispatch.on("legendClick",function(e,t){e.disabled=!e.disabled,f=e.disabled?0:2.5,D.select(".background").style("pointer-events",e.disabled?"none":"all"),D.select(".point-paths").style("pointer-events",e.disabled?"all":"none"),e.disabled?(v.distortion(f).focus(0),m.distortion(f).focus(0),P.call(g),D.select(".x.axis").call(y),D.select(".y.axis").call(b)):l=!1,s.transition().call(A)}),w.dispatch.on("legendClick",function(e,t,n){e.disabled=!e.disabled,o.filter(function(e){return!e.disabled}).length||o.map(function(e){return e.disabled=!1,M.selectAll(".series").classed("disabled",!1),e}),s.transition().call(A)}),g.dispatch.on("elementMouseover.tooltip",function(e){d3.select(".chart-"+g.id()+" .series-"+e.seriesIndex+" .distx-"+e.pointIndex).attr("y1",e.pos[1]-O),d3.select(".chart-"+g.id()+" .series-"+e.seriesIndex+" .disty-"+e.pointIndex).attr("x2",e.pos[0]+S.size()),e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],T.tooltipShow(e)}),c&&T.on("tooltipShow",function(e){k(e,p.parentNode)}),g.dispatch.on("elementMouseout.tooltip",function(e){T.tooltipHide(e),d3.select(".chart-"+g.id()+" .series-"+e.seriesIndex+" .distx-"+e.pointIndex).attr("y1",0),d3.select(".chart-"+g.id()+" .series-"+e.seriesIndex+" .disty-"+e.pointIndex).attr("x2",x.size())}),c&&T.on("tooltipHide",e.tooltip.cleanup),N=v.copy(),C=m.copy(),A.update=function(){s.transition().call(A)},A.container=this}),A}var t={top:30,right:20,bottom:50,left:60},n=null,r=null,i=d3.scale.category20().range(),s=!1,o=!1,u=!0,a=!0,f=0,l=!1,c=!0,h=function(e,t,n){return""+t+""},p=function(e,t,n){return""+n+""},d=function(e,t,n,r,i){return"

"+e+"

"+"

"+n+" at "+t+"

"},v=d3.fisheye.scale(d3.scale.linear).distortion(0),m=d3.fisheye.scale(d3.scale.linear).distortion(0),g=e.models.scatter().xScale(v).yScale(m),y=e.models.axis().orient("bottom").scale(v).tickPadding(10),b=e.models.axis().orient("left").scale(m).tickPadding(10),w=e.models.legend().height(30),E=e.models.legend().height(30),S=e.models.distribution().axis("x").scale(v),x=e.models.distribution().axis("y").scale(m),T=d3.dispatch("tooltipShow","tooltipHide"),N,C,k=function(n,r){var i=n.pos[0]+(r.offsetLeft||0),s=m.range()[0]+t.top+(r.offsetTop||0),o=v.range()[0]+t.left+(r.offsetLeft||0),u=n.pos[1]+(r.offsetTop||0),a=y.tickFormat()(g.x()(n.point)),f=b.tickFormat()(g.y()(n.point)),l=h(n.series.key,a,f,n,A),c=p(n.series.key,a,f,n,A);e.tooltip.show([i,s],l,"n",1),e.tooltip.show([o,u],c,"e",1)},L=[{key:"Magnify",disabled:!0}];return A.dispatch=T,A.legend=w,A.xAxis=y,A.yAxis=b,d3.rebind(A,g,"interactive","shape","size","xScale","yScale","zScale","xDomain","yDomain","sizeDomain","forceX","forceY","forceSize","clipVoronoi","clipRadius","fisheye","fisheyeRadius"),A.margin=function(e){return arguments.length?(t=e,A):t},A.width=function(e){return arguments.length?(n=e,A):n},A.height=function(e){return arguments.length?(r=e,A):r},A.color=function(e){return arguments.length?(i=e,w.color(e),S.color(e),x.color(e),A):i},A.showDistX=function(e){return arguments.length?(s=e,A):s},A.showDistY=function(e){return arguments.length?(o=e,A):o},A.showControls=function(e){return arguments.length?(a=e,A):a},A.showLegend=function(e){return arguments.length?(u=e,A):u},A.fisheye=function(e){return arguments.length?(f=e,A):f},A.tooltips=function(e){return arguments.length?(c=e,A):c},A.tooltipContent=function(e){return arguments.length?(d=e,A):d},A},e.models.sparkline=function(){function c(r){return r.each(function(r){var c=t-e.left-e.right,h=n-e.top-e.bottom;f.domain(u||d3.extent(r,i)).range([0,c]),l.domain(a||d3.extent(r,s)).range([h,0]);var p=d3.select(this).selectAll("g.sparkline").data([r]),d=p.enter().append("g").attr("class","nvd3 sparkline");d.attr("transform","translate("+e.left+","+e.top+")").style("stroke",function(e,t){return e.color||o[t*o.length]});var v=d.selectAll("path").data(function(e){return[e]});v.enter().append("path"),v.exit().remove(),v.attr("d",d3.svg.line().x(function(e,t){return f(i(e,t))}).y(function(e,t){return l(s(e,t))}));var m=d.selectAll("circle.point").data(function(e){return e.filter(function(e,t){return l.domain().indexOf(s(e,t))!=-1||i(e,t)==f.domain()[1]})});m.enter().append("circle").attr("class","point"),m.exit().remove(),m.attr("cx",function(e,t){return f(i(e,t))}).attr("cy",function(e,t){return l(s(e,t))}).attr("r",2).style("stroke",function(e,t){return e.x==f.domain()[1]?"#444":e.y==l.domain()[0]?"#d62728":"#2ca02c"}).style("fill",function(e,t){return e.x==f.domain()[1]?"#444":e.y==l.domain()[0]?"#d62728":"#2ca02c"})}),c}var e={top:0,right:0,bottom:0,left:0},t=400,n=32,r=!0,i=function(e){return e.x},s=function(e){return e.y},o=d3.scale.category20().range(),u,a,f=d3.scale.linear(),l=d3.scale.linear();return c.margin=function(t){return arguments.length?(e=t,c):e},c.width=function(e){return arguments.length?(t=e,c):t},c.height=function(e){return arguments.length?(n=e,c):n},c.x=function(e){return arguments.length?(i=d3.functor(e),c):i},c.y=function(e){return arguments.length?(s=d3.functor(e),c):s},c.xDomain=function(e){return arguments.length?(u=e,c):u},c.yDomain=function(e){return arguments.length?(a=e,c):a},c.animate=function(e){return arguments.length?(r=e,c):r},c},e.models.sparklinePlus=function(){function d(e){return e.each(function(e){function T(){var n=d3.event.offsetX-t.left;w.attr("x1",n).attr("x2",n),E.attr("transform",function(e){return"translate("+(n-6)+","+ -t.top+")"}).text(f(Math.round(c.invert(n)))),S.attr("transform",function(e){return"translate("+(n+6)+","+ -t.top+")"}).text(l(o(e[Math.round(c.invert(n))])))}var i=n-t.left-t.right,a=r-t.top-t.bottom;c.domain(d3.extent(e,s)).range([0,i]),h.domain(d3.extent(e,o)).range([a,0]);var d=d3.select(this).selectAll("g.sparklineplus").data([e]),v=d.enter().append("g"),m=v.append("g").attr("class","nvd3 sparklineplus").attr("transform","translate("+t.left+","+t.top+")").style("stroke",function(e,t){return e.color||u[t%u.length]});p.xDomain(c.domain()).yDomain(h.domain()),m.call(p);var g=m.append("g").attr("class","hoverValue"),b=m.append("g").attr("class","hoverArea");g.attr("transform",function(e){return"translate("+c(e)+",0)"});var w=g.append("line").attr("x1",c.range()[1]).attr("y1",-t.top).attr("x2",c.range()[1]).attr("y2",r),E=g.append("text").attr("class","xValue").attr("text-anchor","end").attr("dy",".9em"),S=g.append("text").attr("class","yValue").attr("text-anchor","start").attr("dy",".9em");b.append("rect").attr("width",i).attr("height",a).on("mousemove",T)}),d}var t={top:15,right:40,bottom:3,left:40},n=400,r=50,i=!0,s=function(e){return e.x},o=function(e){return e.y},u=d3.scale.category20().range(),a=Math.floor(Math.random()*1e5),f=d3.format(",r"),l=d3.format(",.2f"),c=d3.scale.linear(),h=d3.scale.linear(),p=e.models.sparkline();return d.margin=function(e){return arguments.length?(t=e,d):t},d.width=function(e){return arguments.length?(n=e,p.width(e-t.left-t.right),d):n},d.height=function(e){return arguments.length?(r=e,p.height(e-t.top-t.bottom),d):r},d.x=function(e){return arguments.length?(s=d3.functor(e),p.x(e),d):s},d.y=function(e){return arguments.length?(o=d3.functor(e),p.y(e),d):o},d.id=function(e){return arguments.length?(a=e,d):a},d.animate=function(e){return arguments.length?(i=e,d):i},d},e.models.stackedArea=function(){function g(e){return e.each(function(e){var a=n-t.left-t.right,h=r-t.top-t.bottom;e=e.map(function(e,t){return e.values=e.values.map(function(t,n){return t.index=n,t.stackedY=e.disabled?0:u(t,n),t}),e}),e=d3.layout.stack().order(l).offset(f).values(function(e){return e.values}).x(o).y(function(e){return e.stackedY}).out(function(e,t,n){e.display={y:n,y0:t}})(e);var g=d3.select(this).selectAll("g.wrap.stackedarea").data([e]),b=g.enter().append("g").attr("class","wrap nvd3 stackedarea"),w=b.append("defs"),E=b.append("g"),S=g.select("g");E.append("g").attr("class","areaWrap"),p.width(a).height(h).x(o).y(function(e){return e.display.y+e.display.y0}).forceY([0]).color(e.map(function(e,t){return e.color||i[t%i.length]}).filter(function(t,n){return!e[n].disabled})),E.append("g").attr("class","scatterWrap");var T=S.select(".scatterWrap").datum(e.filter(function(e){return!e.disabled}));d3.transition(T).call(p),g.attr("transform","translate("+t.left+","+t.top+")"),w.append("clipPath").attr("id","edge-clip-"+s).append("rect"),g.select("#edge-clip-"+s+" rect").attr("width",a).attr("height",h),S.attr("clip-path",c?"url(#edge-clip-"+s+")":"");var N=d3.svg.area().x(function(e,t){return d(o(e,t))}).y0(function(e){return v(e.display.y0)}).y1(function(e){return v(e.display.y+e.display.y0)}),C=d3.svg.area().x(function(e,t){return d(o(e,t))}).y0(function(e){return v(e.display.y0)}).y1(function(e){return v(e.display.y0)}),k=S.select(".areaWrap").selectAll("path.area").data(function(e){return e});k.enter().append("path").attr("class",function(e,t){return"area area-"+t}).on("mouseover",function(e,t){d3.select(this).classed("hover",!0),m.areaMouseover({point:e,series:e.key,pos:[d3.event.pageX,d3.event.pageY],seriesIndex:t})}).on("mouseout",function(e,t){d3.select(this).classed("hover",!1),m.areaMouseout({point:e,series:e.key,pos:[d3.event.pageX,d3.event.pageY],seriesIndex:t})}).on("click",function(e,t){d3.select(this).classed("hover",!1),m.areaClick({point:e,series:e.key,pos:[d3.event.pageX,d3.event.pageY],seriesIndex:t})}),d3.transition(k.exit()).attr("d",function(e,t){return C(e.values,t)}).remove(),k.style("fill",function(e,t){return e.color||i[t%i.length]}).style("stroke",function(e,t){return e.color||i[t%i.length]}),d3.transition(k).attr("d",function(e,t){return N(e.values,t)}),p.dispatch.on("elementClick.area",function(e){m.areaClick(e)}),p.dispatch.on("elementMouseover.area",function(e){S.select(".area-"+e.seriesIndex).classed("hover",!0)}),p.dispatch.on("elementMouseout.area",function(e){S.select(".area-"+e.seriesIndex).classed("hover",!1)})}),g}var t={top:0,right:0,bottom:0,left:0},n=960,r=500,i=d3.scale.category20().range(),s=Math.floor(Math.random()*1e5),o=function(e){return e.x},u=function(e){return e.y},a="stack",f="zero",l="default",c=!1,h=d3.layout.stack().values(function(e){return e.values}).x(o).y(function(e){return e.stackedY}).out(function(e,t,n){e.display={y:n,y0:t}}),p=e.models.scatter().size(2.2).sizeDomain([2.5]),d=p.xScale(),v=p.yScale(),m=d3.dispatch("tooltipShow","tooltipHide","areaClick","areaMouseover","areaMouseout");return g.dispatch=m,g.scatter=p,d3.rebind(g,p,"interactive","size","xScale","yScale","zScale","xDomain","yDomain","sizeDomain","forceX","forceY","forceSize","clipVoronoi","clipRadius"),g.x=function(e){return arguments.length?(o=d3.functor(e),g):o},g.y=function(e){return arguments.length?(u=d3.functor(e),g):u},g.margin=function(e){return arguments.length?(t=e,g):t},g.width=function(e){return arguments.length?(n=e,g):n},g.height=function(e){return arguments.length?(r=e,g):r},g.clipEdge=function(e){return arguments.length?(c=e,g):c},g.color=function(e){return arguments.length?(i=e,g):i},g.offset=function(e){return arguments.length?(f=e,g):f},g.order=function(e){return arguments.length?(l=e,g):l},g.style=function(e){if(!arguments.length)return a;a=e;switch(a){case"stack":g.offset("zero"),g.order("default");break;case"stream":g.offset("wiggle"),g.order("inside-out");break;case"expand":g.offset("expand"),g.order("default")}return g},p.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],m.tooltipShow(e)}),p.dispatch.on("elementMouseout.tooltip",function(e){m.tooltipHide(e)}),g},e.models.stackedAreaChart=function(){function b(i){return i.each(function(a){var l=d3.select(this),c=this,w=(n||parseInt(l.style("width"))||960)-t.left-t.right,E=(r||parseInt(l.style("height"))||400)-t.top-t.bottom,S=l.selectAll("g.wrap.stackedAreaChart").data([a]),x=S.enter().append("g").attr("class","wrap nvd3 stackedAreaChart").append("g");x.append("g").attr("class","x axis"),x.append("g").attr("class","y axis"),x.append("g").attr("class","stackedWrap"),x.append("g").attr("class","legendWrap"),x.append("g").attr("class","controlsWrap");var T=S.select("g");o&&(d.width(w/2),T.select(".legendWrap").datum(a).call(d),t.top!=d.height()&&(t.top=d.height(),E=(r||parseInt(l.style("height"))||400)-t.top-t.bottom),T.select(".legendWrap").attr("transform","translate("+(w/2-t.left)+","+ -t.top+")")),f.width(w).height(E),s&&(v.width(280).color(["#444","#444","#444"]),T.select(".controlsWrap").datum(g).attr("transform","translate(0,"+ -t.top+")").call(v)),T.attr("transform","translate("+t.left+","+t.top+")");var N=T.select(".stackedWrap").datum(a);d3.transition(N).call(f),h.ticks(w/100).tickSize(-E,0),T.select(".x.axis").attr("transform","translate(0,"+E+")"),d3.transition(T.select(".x.axis")).call(h),p.ticks(f.offset()=="wiggle"?0:E/36).tickSize(-w,0).tickFormat(f.offset()=="expand"?d3.format("%"):d3.format(",.2f")),d3.transition(T.select(".y.axis")).call(p),f.dispatch.on("areaClick.toggle",function(e){a.filter(function(e){return!e.disabled}).length===1?a=a.map(function(e){return e.disabled=!1,e}):a=a.map(function(t,n){return t.disabled=n!=e.seriesIndex,t}),i.transition().call(b)}),d.dispatch.on("legendClick",function(e,t){e.disabled=!e.disabled,a.filter(function(e){return!e.disabled}).length||a.map(function(e){return e.disabled=!1,e}),i.transition().call(b)}),v.dispatch.on("legendClick",function(e,t){if(!e.disabled)return;g=g.map(function(e){return e.disabled=!0,e}),e.disabled=!1;switch(e.key){case"Stacked":f.style("stack");break;case"Stream":f.style("stream");break;case"Expanded":f.style("expand")}i.transition().call(b)}),f.dispatch.on("tooltipShow",function(e){if(!Math.round(f.y()(e.point)*100))return setTimeout(function(){d3.selectAll(".point.hover").classed("hover",!1)},0),!1;e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],m.tooltipShow(e)}),u&&m.on("tooltipShow",function(e){y(e,c.parentNode)}),f.dispatch.on("tooltipHide",function(e){m.tooltipHide(e)}),u&&m.on("tooltipHide",e.tooltip.cleanup),b.update=function(){i.transition().call(b)},b.container=this}),b}var t={top:30,right:25,bottom:50,left:60},n=null,r=null,i=d3.scale.category20().range(),s=!0,o=!0,u=!0,a=function(e,t,n,r,i){return"

"+e+"

"+"

"+n+" on "+t+"

"},f=e.models.stackedArea(),l=f.xScale(),c=f.yScale(),h=e.models.axis().scale(l).orient("bottom").tickPadding(5),p=e.models.axis().scale(c).orient("left"),d=e.models.legend().height(30),v=e.models.legend().height(30),m=d3.dispatch("tooltipShow","tooltipHide"),g=[{key:"Stacked"},{key:"Stream",disabled:!0},{key:"Expanded",disabled:!0}],y=function(t,n){var r=t.pos[0]+(n.offsetLeft||0),i=t.pos[1]+(n.offsetTop||0),s=h.tickFormat()(f.x()(t.point)),o=p.tickFormat()(f.y()(t.point)),u=a(t.series.key,s,o,t,b);e.tooltip.show([r,i],u,t.value<0?"n":"s")};return b.dispatch=m,b.stacked=f,b.xAxis=h,b.yAxis=p,d3.rebind(b,f,"x","y","interactive","offset","order","style","clipEdge","size","forceX","forceY","forceSize"),b.margin=function(e){return arguments.length?(t=e,b):t},b.width=function(e){return arguments.length?(n=e,b):getWidth},b.height=function(e){return arguments.length?(r=e,b):getHeight},b.color=function(e){return arguments.length?(i=e,d.color(e),b):i},b.showControls=function(e){return arguments.length?(s=e,b):s},b.showLegend=function(e){return arguments.length?(o=e,b):o},b.tooltips= -function(e){return arguments.length?(u=e,b):u},b.tooltipContent=function(e){return arguments.length?(a=e,b):a},b}})(); \ No newline at end of file diff --git a/src/models/multiBarChart.js b/src/models/multiBarChart.js index 70b3e90..41f0ade 100644 --- a/src/models/multiBarChart.js +++ b/src/models/multiBarChart.js @@ -7,7 +7,7 @@ nv.models.multiBarChart = function() { showControls = true, showLegend = true, tooltips = true, - tooltip = function(key, x, y, e, graph) { + tooltip = function(key, x, y, e, graph) { return '

' + key + '

' + '

' + y + ' on ' + x + '

' }; @@ -36,8 +36,8 @@ nv.models.multiBarChart = function() { //TODO: let user select default var controlsData = [ - { key: 'Grouped' }, - { key: 'Stacked', disabled: true } + { key: 'Grouped', disabled: multibar.stacked }, + { key: 'Stacked', disabled: !multibar.stacked } ]; function chart(selection) { @@ -63,7 +63,7 @@ nv.models.multiBarChart = function() { }, []); } else { seriesData = data.filter(function(d) { return !d.disabled }) - .map(function(d) { + .map(function(d) { return d.values.map(function(d,i) { return { x: multibar.x()(d,i), y: multibar.y()(d,i) } }) @@ -188,7 +188,7 @@ nv.models.multiBarChart = function() { selection.transition().call(chart); }); - controls.dispatch.on('legendClick', function(d,i) { + controls.dispatch.on('legendClick', function(d,i) { if (!d.disabled) return; controlsData = controlsData.map(function(s) { s.disabled = true; From 7b489cf7810255719a4e0d525f7694360c6e3253 Mon Sep 17 00:00:00 2001 From: Jun Lin Date: Fri, 6 Jul 2012 09:29:43 +0800 Subject: [PATCH 2/2] re-generate minified js --- nv.d3.min.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nv.d3.min.js b/nv.d3.min.js index e69de29..9d62259 100644 --- a/nv.d3.min.js +++ b/nv.d3.min.js @@ -0,0 +1,4 @@ +(function(){function t(e,t){var n=[31,28,31,30,31,30,31,31,30,31,30,31];return e!=2?n[e-1]:t%4!=0?n[1]:t%100==0&&t%400!=0?n[1]:n[1]+1}function n(e,t,n){return function(r,i,s){var o=e(r),u=[];o1)while(oc+l&&(d=c-u-5);break;case"w":p=t[0]+i,d=t[1]-u/2,p+a>f&&(p=t[0]-a-i),dc+l&&(d=c-u-5);break;case"n":p=t[0]-a/2,d=t[1]+i,pf&&(p=f-a-5),d+u>c+l&&(d=t[1]-u-i);break;case"s":p=t[0]-a/2,d=t[1]-u-i,pf&&(p=f-a-5),c>d&&(d=t[1]+20)}return s.style.left=p+"px",s.style.top=d+"px",s.style.opacity=1,s.style.position="absolute",s.style.pointerEvents="none",s},t.cleanup=function(){var e=document.getElementsByClassName("nvtooltip"),t=[];while(e.length)t.push(e[0]),e[0].style.transitionDelay="0 !important",e[0].style.opacity=0,e[0].className="nvtooltip-pending-removal";setTimeout(function(){while(t.length){var e=t.pop();e.parentNode.removeChild(e)}},500)}}(),e.utils.windowSize=function(){var e={width:640,height:480};return document.body&&document.body.offsetWidth&&(e.width=document.body.offsetWidth,e.height=document.body.offsetHeight),document.compatMode=="CSS1Compat"&&document.documentElement&&document.documentElement.offsetWidth&&(e.width=document.documentElement.offsetWidth,e.height=document.documentElement.offsetHeight),window.innerWidth&&window.innerHeight&&(e.width=window.innerWidth,e.height=window.innerHeight),e},e.utils.windowResize=function(e){var t=window.onresize;window.onresize=function(n){typeof t=="function"&&t(n),e(n)}},e.models.axis=function(){function o(u){return u.each(function(o){var u=d3.select(this),a=u.selectAll("g.wrap.axis").data([o]),f=a.enter().append("g").attr("class","wrap axis"),l=f.append("g"),c=a.select("g");(i.orient()=="top"||i.orient()=="bottom")&&i.ticks(Math.abs(e.range()[1]-e.range()[0])/100),d3.transition(c).call(i),s=s||i.scale();var h=c.selectAll("text.axislabel").data([t||null]);h.exit().remove();switch(i.orient()){case"top":h.enter().append("text").attr("class","axislabel").attr("text-anchor","middle").attr("y",0),h.attr("x",e.range()[1]/2);if(n){var p=a.selectAll("g.axisMaxMin").data(e.domain());p.enter().append("g").attr("class","axisMaxMin").append("text"),p.exit().remove(),p.attr("transform",function(t,n){return"translate("+e(t)+",0)"}).select("text").attr("dy","0em").attr("y",-i.tickPadding()).attr("text-anchor","middle").text(function(e,t){return(""+i.tickFormat()(e)).match("NaN")?"":i.tickFormat()(e)}),d3.transition(p).attr("transform",function(t,n){return"translate("+e.range()[n]+",0)"})}break;case"bottom":h.enter().append("text").attr("class","axislabel").attr("text-anchor","middle").attr("y",25),h.attr("x",e.range()[1]/2);if(n){var p=a.selectAll("g.axisMaxMin").data(e.domain());p.enter().append("g").attr("class","axisMaxMin").append("text"),p.exit().remove(),p.attr("transform",function(t,n){return"translate("+e(t)+",0)"}).select("text").attr("dy",".71em").attr("y",i.tickPadding()).attr("text-anchor","middle").text(function(e,t){return(""+i.tickFormat()(e)).match("NaN")?"":i.tickFormat()(e)}),d3.transition(p).attr("transform",function(t,n){return"translate("+e.range()[n]+",0)"})}break;case"right":h.enter().append("text").attr("class","axislabel").attr("transform","rotate(90)").attr("y",-40),h.attr("x",-e.range()[0]/2);if(n){var p=a.selectAll("g.axisMaxMin").data(e.domain());p.enter().append("g").attr("class","axisMaxMin").append("text").style("opacity",0),p.exit().remove(),p.attr("transform",function(t,n){return"translate(0,"+e(t)+")"}).select("text").attr("dy",".32em").attr("y",0).attr("x",i.tickPadding()).attr("text-anchor","start").text(function(e,t){return(""+i.tickFormat()(e)).match("NaN")?"":i.tickFormat()(e)}),d3.transition(p).attr("transform",function(t,n){return"translate(0,"+e.range()[n]+")"}).select("text").style("opacity",1)}break;case"left":h.enter().append("text").attr("class","axislabel").attr("transform","rotate(-90)").attr("y",-40),h.attr("x",-e.range()[0]/2);if(n){var p=a.selectAll("g.axisMaxMin").data(e.domain());p.enter().append("g").attr("class","axisMaxMin").append("text").style("opacity",0),p.exit().remove(),p.attr("transform",function(e,t){return"translate(0,"+s(e)+")"}).select("text").attr("dy",".32em").attr("y",0).attr("x",-i.tickPadding()).attr("text-anchor","end").text(function(e,t){return(""+i.tickFormat()(e)).match("NaN")?"":i.tickFormat()(e)}),d3.transition(p).attr("transform",function(t,n){return"translate(0,"+e.range()[n]+")"}).select("text").style("opacity",1)}}h.text(function(e){return e}),n&&(i.orient()==="left"||i.orient()==="right")&&c.selectAll("g").each(function(t,n){if(e(t)e.range()[0]-10)t>1e-10||t<-1e-10?d3.select(this).remove():d3.select(this).select("text").remove()});if(n&&(i.orient()==="top"||i.orient()==="bottom")){var d=[];a.selectAll("g.axisMaxMin").each(function(t,n){n?d.push(e(t)-this.getBBox().width-4):d.push(e(t)+this.getBBox().width+4)}),c.selectAll("g").each(function(t,n){if(e(t)d[1])t>1e-10||t<-1e-10?d3.select(this).remove():d3.select(this).select("text").remove()})}r&&c.selectAll("line.tick").filter(function(e){return!parseFloat(Math.round(e*1e5)/1e6)}).classed("zero",!0),s=e.copy()}),o}var e=d3.scale.linear(),t=null,n=!0,r=!0,i=d3.svg.axis().scale(e).orient("bottom").tickFormat(function(e){return e}),s;return d3.rebind(o,i,"orient","ticks","tickValues","tickSubdivide","tickSize","tickPadding","tickFormat"),d3.rebind(o,e,"domain","range","rangeBand","rangeBands"),o.axisLabel=function(e){return arguments.length?(t=e,o):t},o.showMaxMin=function(e){return arguments.length?(n=e,o):n},o.highlightZero=function(e){return arguments.length?(r=e,o):r},o.scale=function(t){return arguments.length?(e=t,i.scale(e),d3.rebind(o,e,"domain","range","rangeBand","rangeBands"),o):e},o},e.models.historicalBar=function(){function g(o){return o.each(function(o){var u=t-e.left-e.right,d=n-e.top-e.bottom;h.domain(l||d3.extent(o[0].values,i)).range([0,u]),p.domain(c||d3.extent(o[0].values,s)).range([d,0]);var v=d3.select(this).on("click",function(e,t){m.chartClick({data:e,index:t,pos:d3.event,id:r})}),g=d3.select(this).selectAll("g.wrap.bar").data([o[0].values]),b=g.enter().append("g").attr("class","wrap nvd3 bar"),w=b.append("g");w.append("g").attr("class","bars"),g.attr("width",t).attr("height",n);var E=g.select("g").attr("transform","translate("+e.left+","+e.top+")");b.append("defs").append("clipPath").attr("id","chart-clip-path-"+r).append("rect"),g.select("#chart-clip-path-"+r+" rect").attr("width",u).attr("height",d),w.attr("clip-path",a?"url(#chart-clip-path-"+r+")":"");var S=w.append("g").attr("class","shiftWrap"),T=g.select(".bars").selectAll(".bar").data(function(e){return e});T.exit().remove();var N=T.enter().append("svg:rect").attr("class",function(e,t){return s(e,t)<0?"bar negative":"bar positive"}).attr("fill",function(e,t){return f[0]}).attr("x",0).attr("y",function(e,t){return p(Math.max(0,s(e,t)))}).attr("height",function(e,t){return Math.abs(p(s(e,t))-p(0))}).on("mouseover",function(e,t){d3.select(this).classed("hover",!0),m.elementMouseover({point:e,series:o[0],pos:[h(i(e,t)),p(s(e,t))],pointIndex:t,seriesIndex:0,e:d3.event})}).on("mouseout",function(e,t){d3.select(this).classed("hover",!1),m.elementMouseout({point:e,series:o[0],pointIndex:t,seriesIndex:0,e:d3.event})}).on("click",function(e,t){m.elementClick({value:s(e,t),data:e,index:t,pos:[h(i(e,t)),p(s(e,t))],e:d3.event,id:r}),d3.event.stopPropagation()}).on("dblclick",function(e,t){m.elementDblClick({value:s(e,t),data:e,index:t,pos:[h(i(e,t)),p(s(e,t))],e:d3.event,id:r}),d3.event.stopPropagation()});T.attr("class",function(e,t){return s(e,t)<0?"bar negative":"bar positive"}).attr("transform",function(e,t){return"translate("+(h(i(e,t))-h(.5))+",0)"}).attr("width",h(.9)),d3.transition(T).attr("y",function(e,t){return p(Math.max(0,s(e,t)))}).attr("height",function(e,t){return Math.abs(p(s(e,t))-p(0))})}),g}var e={top:0,right:0,bottom:0,left:0},t=960,n=500,r=Math.floor(Math.random()*1e4),i=function(e){return e.x},s=function(e){return e.y},o=[],u=[],a=!0,f=d3.scale.category20().range(),l,c,h=d3.scale.linear(),p=d3.scale.linear(),d=d3.svg.axis().scale(h).orient("bottom"),v=d3.svg.axis().scale(p).orient("left"),m=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout");return g.dispatch=m,g.x=function(e){return arguments.length?(i=e,g):i},g.y=function(e){return arguments.length?(s=e,g):s},g.margin=function(t){return arguments.length?(e=t,g):e},g.width=function(e){return arguments.length?(t=e,g):t},g.height=function(e){return arguments.length?(n=e,g):n},g.xScale=function(e){return arguments.length?(h=e,g):h},g.yScale=function(e){return arguments.length?(p=e,g):p},g.xDomain=function(e){return arguments.length?(l=e,g):l},g.yDomain=function(e){return arguments.length?(c=e,g):c},g.forceX=function(e){return arguments.length?(o=e,g):o},g.forceY=function(e){return arguments.length?(u=e,g):u},g.clipEdge=function(e){return arguments.length?(a=e,g):a},g.color=function(e){return arguments.length?(f=e,g):f},g.id=function(e){return arguments.length?(r=e,g):r},g},e.models.bullet=function(){function l(e){e.each(function(e,a){var l=o-n.left-n.right,c=u-n.top-n.bottom,h=r.call(this,e,a).slice().sort(d3.descending),p=i.call(this,e,a).slice().sort(d3.descending),d=s.call(this,e,a).slice().sort(d3.descending),v=d3.select(this).selectAll("g.wrap.bullet").data([e]),m=v.enter().append("g").attr("class","wrap nvd3 bullet"),g=m.append("g"),y=v.select("g");v.attr("transform","translate("+n.left+","+n.top+")");var b=d3.scale.linear().domain([0,Math.max(h[0],p[0],d[0])]).range(t?[l,0]:[0,l]),w=this.__chart__||d3.scale.linear().domain([0,Infinity]).range(b.range());this.__chart__=b;var E=function(e){return Math.abs(w(e)-w(0))},S=function(e){return Math.abs(b(e)-b(0))},x=y.selectAll("rect.range").data(h);x.enter().append("rect").attr("class",function(e,t){return"range s"+t}).attr("width",E).attr("height",c).attr("x",t?w:0).on("mouseover",function(e,t){f.elementMouseover({value:e,label:t<=0?"Maximum":t>1?"Minimum":"Mean",pos:[b(e),c/2]})}).on("mouseout",function(e,t){f.elementMouseout({value:e,label:t<=0?"Minimum":t>=1?"Maximum":"Mean"})}),d3.transition(x).attr("x",t?b:0).attr("width",S).attr("height",c);var T=y.selectAll("rect.measure").data(d);T.enter().append("rect").attr("class",function(e,t){return"measure s"+t}).attr("width",E).attr("height",c/3).attr("x",t?w:0).attr("y",c/3).on("mouseover",function(e){f.elementMouseover({value:e,label:"Current",pos:[b(e),c/2]})}).on("mouseout",function(e){f.elementMouseout({value:e,label:"Current"})}),d3.transition(T).attr("width",S).attr("height",c/3).attr("x",t?b:0).attr("y",c/3);var N=y.selectAll("path.markerTriangle").data(p),C=c/6;N.enter().append("path").attr("class","markerTriangle").attr("transform",function(e){return"translate("+w(e)+","+c/2+")"}).attr("d","M0,"+C+"L"+C+","+ -C+" "+ -C+","+ -C+"Z").on("mouseover",function(e,t){f.elementMouseover({value:e,label:"Previous",pos:[b(e),c/2]})}).on("mouseout",function(e,t){f.elementMouseout({value:e,label:"Previous"})}),d3.transition(N).attr("transform",function(e){return"translate("+b(e)+","+c/2+")"}),N.exit().remove()}),d3.timer.flush()}var e="left",t=!1,n={top:0,right:0,bottom:0,left:0},r=function(e){return e.ranges},i=function(e){return e.markers},s=function(e){return e.measures},o=380,u=30,a=null,f=d3.dispatch("elementMouseover","elementMouseout");return l.dispatch=f,l.orient=function(n){return arguments.length?(e=n,t=e=="right"||e=="bottom",l):e},l.ranges=function(e){return arguments.length?(r=e,l):r},l.markers=function(e){return arguments.length?(i=e,l):i},l.measures=function(e){return arguments.length?(s=e,l):s},l.width=function(e){return arguments.length?(o=e,l):o},l.height=function(e){return arguments.length?(u=e,l):u},l.margin=function(e){return arguments.length?(n=e,l):n},l.tickFormat=function(e){return arguments.length?(a=e,l):a},l},e.models.bulletChart=function(){function v(t){t.each(function(t,c){var v=d3.select(this),m=(u||parseInt(v.style("width"))||960)-r.left-r.right,g=a-r.top-r.bottom,y=this,b=i.call(this,t,c).slice().sort(d3.descending),w=s.call(this,t,c).slice().sort(d3.descending),E=o.call(this,t,c).slice().sort(d3.descending),S=v.selectAll("g.wrap.bulletChart").data([t]),x=S.enter().append("g").attr("class","wrap nvd3 bulletChart"),T=x.append("g");T.append("g").attr("class","bulletWrap"),T.append("g").attr("class","titles");var N=S.select("g");S.attr("transform","translate("+r.left+","+r.top+")");var C=d3.scale.linear().domain([0,Math.max(b[0],w[0],E[0])]).range(n?[m,0]:[0,m]),k=this.__chart__||d3.scale.linear().domain([0,Infinity]).range(C.range());this.__chart__=C;var L=function(e){return Math.abs(k(e)-k(0))},A=function(e){return Math.abs(C(e)-C(0))},O=N.select(".titles").append("g").attr("text-anchor","end").attr("transform","translate(-6,"+(a-r.top-r.bottom)/2+")");O.append("text").attr("class","title").text(function(e){return e.title}),O.append("text").attr("class","subtitle").attr("dy","1em").text(function(e){return e.subtitle}),p.width(m).height(g);var M=N.select(".bulletWrap");d3.transition(M).call(p);var _=f||C.tickFormat(8),D=N.selectAll("g.tick").data(C.ticks(8),function(e){return this.textContent||_(e)}),P=D.enter().append("g").attr("class","tick").attr("transform",function(e){return"translate("+k(e)+",0)"}).style("opacity",1e-6);P.append("line").attr("y1",g).attr("y2",g*7/6),P.append("text").attr("text-anchor","middle").attr("dy","1em").attr("y",g*7/6).text(_),d3.transition(P).attr("transform",function(e){return"translate("+C(e)+",0)"}).style("opacity",1);var H=d3.transition(D).attr("transform",function(e){return"translate("+C(e)+",0)"}).style("opacity",1);H.select("line").attr("y1",g).attr("y2",g*7/6),H.select("text").attr("y",g*7/6),d3.transition(D.exit()).attr("transform",function(e){return"translate("+C(e)+",0)"}).style("opacity",1e-6).remove(),p.dispatch.on("elementMouseover.tooltip",function(e){h.tooltipShow(e)}),l&&h.on("tooltipShow",function(e){d(e,y.parentNode)}),p.dispatch.on("elementMouseout.tooltip",function(e){h.tooltipHide(e)}),l&&h.on("tooltipHide",e.tooltip.cleanup)}),d3.timer.flush()}var t="left",n=!1,r={top:5,right:40,bottom:20,left:120},i=function(e){return e.ranges},s=function(e){return e.markers},o=function(e){return e.measures},u=null,a=55,f=null,l=!0,c=function(e,t,n,r,i){return"

"+r.label+"

"+"

"+r.value+"

"},h=d3.dispatch("tooltipShow","tooltipHide"),p=e.models.bullet(),d=function(t,n){var n=document.getElementById("chart"),i=t.pos[0]+n.offsetLeft+r.left,s=t.pos[1]+n.offsetTop+r.top,o="

"+t.label+"

"+"

"+t.value+"

";e.tooltip.show([i,s],o,t.value<0?"e":"w")};return v.dispatch=h,v.bullet=p,v.orient=function(e){return arguments.length?(t=e,n=t=="right"||t=="bottom",v):t},v.ranges=function(e){return arguments.length?(i=e,v):i},v.markers=function(e){return arguments.length?(s=e,v):s},v.measures=function(e){return arguments.length?(o=e,v):o},v.width=function(e){return arguments.length?(u=e,v):u},v.height=function(e){return arguments.length?(a=e,v):a},v.margin=function(e){return arguments.length?(r=e,v):r},v.tickFormat=function(e){return arguments.length?(f=e,v):f},v.tooltips=function(e){return arguments.length?(l=e,v):l},v.tooltipContent=function(e){return arguments.length?(c=e,v):c},v},e.models.cumulativeLineChart=function(){function x(e,t){}function T(e,t){e.x+=d3.event.dx,e.i=Math.round(h.invert(e.x)),d3.select(this).attr("transform","translate("+h(e.i)+",0)")}function N(e,t){C.update()}function C(l){return l.each(function(x){var T=d3.select(this).classed("chart-"+p,!0),N=this,L=(r||parseInt(T.style("width"))||960)-t.left-t.right,A=(i||parseInt(T.style("height"))||400)-t.top-t.bottom,x=k(b.i,x);h.domain([0,x[0].values.length-1]).range([0,L]).clamp(!0);var O=T.selectAll("g.wrap.cumulativeLine").data([x]),M=O.enter().append("g").attr("class","wrap nvd3 cumulativeLine").append("g");M.append("g").attr("class","x axis"),M.append("g").attr("class","y axis"),M.append("g").attr("class","linesWrap"),M.append("g").attr("class","legendWrap"),M.append("g").attr("class","controlsWrap");var _=O.select("g");s&&(m.width(L),_.select(".legendWrap").datum(x).call(m),t.top!=m.height()&&(t.top=m.height(),A=(i||parseInt(T.style("height"))||400)-t.top-t.bottom),_.select(".legendWrap").attr("transform","translate(0,"+ -t.top+")")),u&&(g.width(140).color(["#444","#444","#444"]),_.select(".controlsWrap").datum(w).attr("transform","translate(0,"+ -t.top+")").call(g)),f.y(function(e){return e.display.y}).width(L).height(A).color(x.map(function(e,t){return e.color||n[t%n.length]}).filter(function(e,t){return!x[t].disabled})),_.attr("transform","translate("+t.left+","+t.top+")");var D=_.select(".linesWrap").datum(x.filter(function(e){return!e.disabled}));d3.transition(D).call(f);var P=D.selectAll(".indexLine").data([b]);P.enter().append("rect").attr("class","indexLine").attr("width",3).attr("x",-2).attr("fill","red").attr("fill-opacity",.5).call(S),P.attr("transform",function(e){return"translate("+h(e.i)+",0)"}).attr("height",A),d.ticks(L/100).tickSize(-A,0),_.select(".x.axis").attr("transform","translate(0,"+c.range()[0]+")"),d3.transition(_.select(".x.axis")).call(d),v.ticks(A/36).tickSize(-L,0),d3.transition(_.select(".y.axis")).call(v),g.dispatch.on("legendClick",function(e,t){e.disabled=!e.disabled,a=!e.disabled,l.transition().call(C)}),m.dispatch.on("legendClick",function(e,t){e.disabled=!e.disabled,x.filter(function(e){return!e.disabled}).length||x.map(function(e){return e.disabled=!1,O.selectAll(".series").classed("disabled",!1),e}),l.transition().call(C)}),f.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],y.tooltipShow(e)}),o&&y.on("tooltipShow",function(e){E(e,N.parentNode)}),f.dispatch.on("elementMouseout.tooltip",function(e){y.tooltipHide(e)}),o&&y.on("tooltipHide",e.tooltip.cleanup)}),C.update=function(){C(l)},C.container=this,C}function k(e,t){return t.map(function(t,n){var r=f.y()(t.values[e],e);return t.values=t.values.map(function(e,t){return e.display={y:(f.y()(e,t)-r)/(1+r)},e}),t})}var t={top:30,right:20,bottom:50,left:60},n=d3.scale.category20().range(),r=null,i=null,s=!0,o=!0,u=!1,a=!0;tooltip=function(e,t,n,r,i){return"

"+e+"

"+"

"+n+" at "+t+"

"};var f=e.models.line(),l=f.xScale(),c=f.yScale(),h=d3.scale.linear(),p=f.id(),d=e.models.axis().scale(l).orient("bottom").tickPadding(5),v=e.models.axis().scale(c).orient("left"),m=e.models.legend().height(30),g=e.models.legend().height(30),y=d3.dispatch("tooltipShow","tooltipHide"),b={i:0,x:0},w=[{key:"Re-scale y-axis"}],E=function(t,n){var r=t.pos[0]+(n.offsetLeft||0),i=t.pos[1]+(n.offsetTop||0),s=d.tickFormat()(f.x()(t.point)),o=v.tickFormat()(f.y()(t.point)),u=tooltip(t.series.key,s,o,t,C);e.tooltip.show([r,i],u)},S=d3.behavior.drag().on("dragstart",x).on("drag",T).on("dragend",N);return C.dispatch=y,C.legend=m,C.xAxis=d,C.yAxis=v,d3.rebind(C,f,"x","y","size","xDomain","yDomain","forceX","forceY","interactive","clipEdge","clipVoronoi","id"),C.margin=function(e){return arguments.length?(t=e,C):t},C.width=function(e){return arguments.length?(r=e,C):r},C.height=function(e){return arguments.length?(i=e,C):i},C.color=function(e){return arguments.length?(n=e,m.color(e),C):n},C.showLegend=function(e){return arguments.length?(s=e,C):s},C.tooltips=function(e){return arguments.length?(o=e,C):o},C.tooltipContent=function(e){return arguments.length?(tooltip=e,C):tooltip},C},e.models.discreteBar=function(){function g(r){return r.each(function(b){var w=t-e.left-e.right,E=n-e.top-e.bottom;b=b.map(function(e,t){return e.values=e.values.map(function(e){return e.series=t,e}),e});var S=h&&p?[]:b.map(function(e){return e.values.map(function(e,t){return{x:o(e,t),y:u(e,t),y0:e.y0}})});i.domain(h||d3.merge(S).map(function(e){return e.x})).rangeBands([0,w],.1),s.domain(p||d3.extent(d3.merge(S).map(function(e){return e.y}).concat(a))),l?s.range([E-(s.domain()[0]<0?12:0),s.domain()[1]>0?12:0]):s.range([E,0]),d=d||i,v=v||d3.scale.linear().domain(s.domain()).range([s(0),s(0)]);var T=d3.select(this).selectAll("g.wrap.discretebar").data([b]),N=T.enter().append("g").attr("class","wrap nvd3 discretebar"),C=N.append("g");C.append("g").attr("class","groups");var k=T.select("g");T.attr("transform","translate("+e.left+","+e.top+")");var L=T.select(".groups").selectAll(".group").data(function(e){return e},function(e){return e.key});L.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6),d3.transition(L.exit()).style("stroke-opacity",1e-6).style("fill-opacity",1e-6).remove(),L.attr("class",function(e,t){return"group series-"+t}).classed("hover",function(e){return e.hover}),d3.transition(L).style("stroke-opacity",1).style("fill-opacity",.75);var A=L.selectAll("g.bar").data(function(e){return e.values});A.exit().remove();var O=A.enter().append("g").attr("transform",function(e,t,n){return"translate("+i(o(e,t))+", "+s(0)+")"}).on("mouseover",function(e,t){d3.select(this).classed("hover",!0),m.elementMouseover({value:u(e,t),point:e,series:b[e.series],pos:[i(o(e,t))+i.rangeBand()*(e.series+.5)/b.length,s(u(e,t))],pointIndex:t,seriesIndex:e.series,e:d3.event})}).on("mouseout",function(e,t){d3.select(this).classed("hover",!1),m.elementMouseout({value:u(e,t),point:e,series:b[e.series],pointIndex:t,seriesIndex:e.series,e:d3.event})}).on("click",function(e,t){m.elementClick({value:u(e,t),point:e,series:b[e.series],pos:[i(o(e,t))+i.rangeBand()*(e.series+.5)/b.length,s(u(e,t))],pointIndex:t,seriesIndex:e.series,e:d3.event}),d3.event.stopPropagation()}).on("dblclick",function(e,t){m.elementDblClick({value:u(e,t),point:e,series:b[e.series],pos:[i(o(e,t))+i.rangeBand()*(e.series+.5)/b.length,s(u(e,t))],pointIndex:t,seriesIndex:e.series,e:d3.event}),d3.event.stopPropagation()});O.append("rect").attr("height",0).attr("width",i.rangeBand()/b.length).style("fill",function(e,t){return e.color||f[t%f.length]}).style("stroke",function(e,t){return e.color||f[t%f.length]}),l?(O.append("text").attr("text-anchor","middle"),A.selectAll("text").attr("x",i.rangeBand()/2).attr("y",function(e,t){return u(e,t)<0?s(u(e,t))-s(0)+12:-4}).text(function(e,t){return c(u(e,t))})):A.selectAll("text").remove(),A.attr("class",function(e,t){return u(e,t)<0?"bar negative":"bar positive"}).attr("transform",function(e,t){return"translate("+i(o(e,t))+", "+(u(e,t)<0?v(0):v(u(e,t)))+")"}).selectAll("rect").attr("width",i.rangeBand()/b.length),d3.transition(A).attr("transform",function(e,t){return"translate("+i(o(e,t))+", "+(u(e,t)<0?s(0):s(u(e,t)))+")"}).selectAll("rect").attr("height",function(e,t){return Math.abs(s(u(e,t))-s(0))}),g.update=function(){r.transition().call(g)},d=i.copy(),v=s.copy()}),g}var e={top:0,right:0,bottom:0,left:0},t=960,n=500,r=Math.floor(Math.random()*1e4),i=d3.scale.ordinal(),s=d3.scale.linear(),o=function(e){return e.x},u=function(e){return e.y},a=[0],f=d3.scale.category20().range(),l=!1,c=d3.format(",.2f"),h,p,d,v,m=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout");return g.dispatch=m,g.x=function(e){return arguments.length?(o=e,g):o},g.y=function(e){return arguments.length?(u=e,g):u},g.margin=function(t){return arguments.length?(e=t,g):e},g.width=function(e){return arguments.length?(t=e,g):t},g.height=function(e){return arguments.length?(n=e,g):n},g.xScale=function(e){return arguments.length?(i=e,g):i},g.yScale=function(e){return arguments.length?(s=e,g):s},g.xDomain=function(e){return arguments.length?(h=e,g):h},g.yDomain=function(e){return arguments.length?(p=e,g):p},g.forceY=function(e){return arguments.length?(a=e,g):a},g.color=function(e){return arguments.length?(f=e,g):f},g.id=function(e){return arguments.length?(r=e,g):r},g.showValues=function(e){return arguments.length?(l=e,g):l},g.valueFormat=function(e){return arguments.length?(c=e,g):c},g},e.models.discreteBarChart=function(){function g(i){return i.each(function(a){var m=d3.select(this),b=this,w=(n||parseInt(m.style("width"))||960)-t.left-t.right,E=(r||parseInt(m.style("height"))||400)-t.top-t.bottom;f.width(w).height(E);var S=m.selectAll("g.wrap.discreteBarWithAxes").data([a]),T=S.enter().append("g").attr("class","wrap nvd3 discreteBarWithAxes").append("g"),N=T.append("defs");T.append("g").attr("class","x axis"),T.append("g").attr("class","y axis"),T.append("g").attr("class","barsWrap");var C=S.select("g");C.attr("transform","translate("+t.left+","+t.top+")");var k=C.select(".barsWrap").datum(a.filter(function(e){return!e.disabled}));d3.transition(k).call(f),N.append("clipPath").attr("id","x-label-clip-"+f.id()).append("rect"),C.select("#x-label-clip-"+f.id()+" rect").attr("width",l.rangeBand()*(s?2:1)).attr("height",16).attr("x",-l.rangeBand()/(s?1:2)),h.ticks(w/100).tickSize(-E,0),C.select(".x.axis").attr("transform","translate(0,"+(c.range()[0]+(f.showValues()&&c.domain()[0]<0?16:0))+")"),C.select(".x.axis").transition().duration(0).call(h);var L=C.select(".x.axis").selectAll("g");s&&L.selectAll("text").attr("transform",function(e,t,n){return"translate(0,"+(n%2==0?"0":"12")+")"}),o&&L.selectAll("text").attr("transform",function(e,t,n){return"rotate("+o+" 0,0)"}).attr("text-anchor","end"),L.selectAll("text").attr("clip-path",function(e,t,n){return o?"":"url(#x-label-clip-"+f.id()+")"}),p.ticks(E/36).tickSize(-w,0),d3.transition(C.select(".y.axis")).call(p),f.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],d.tooltipShow(e)}),u&&d.on("tooltipShow",function(e){v(e,b.parentNode)}),f.dispatch.on("elementMouseout.tooltip",function(e){d.tooltipHide(e)}),u&&d.on("tooltipHide",e.tooltip.cleanup),g.update=function(){i.transition().call(g)},g.container=this}),g}var t={top:10,right:10,bottom:50,left:60},n=null,r=null,i=d3.scale.category20().range(),s=!1,o=0,u=!0,a=function(e,t,n,r,i){return"

"+t+"

"+"

"+n+"

"},f=e.models.discreteBar(),l=f.xScale(),c=f.yScale(),h=e.models.axis().scale(l).orient("bottom").highlightZero(!1).showMaxMin(!1),p=e.models.axis().scale(c).orient("left"),d=d3.dispatch("tooltipShow","tooltipHide");h.tickFormat(function(e){return e}),p.tickFormat(d3.format(",.1f"));var v=function(t,n){var r=t.pos[0]+(n.offsetLeft||0),i=t.pos[1]+(n.offsetTop||0),s=h.tickFormat()(f.x()(t.point)),o=p.tickFormat()(f.y()(t.point)),u=a(t.series.key,s,o,t,g);e.tooltip.show([r,i],u,t.value<0?"n":"s")},m=[{key:"Grouped"},{key:"Stacked",disabled:!0}];return g.dispatch=d,g.discretebar=f,g.xAxis=h,g.yAxis=p,d3.rebind(g,f,"x","y","xDomain","yDomain","forceX","forceY","id","showValues","valueFormat"),g.margin=function(e){return arguments.length?(t=e,g):t},g.width=function(e){return arguments.length?(n=e,g):n},g.height=function(e){return arguments.length?(r=e,g):r},g.color=function(e){return arguments.length?(i=e,f.color(e),g):i},g.staggerLabels=function(e){return arguments.length?(s=e,g):s},g.rotateLabels=function(e){return arguments.length?(o=e,g):o},g.tooltips=function(e){return arguments.length?(u=e,g):u},g.tooltipContent=function(e){return arguments.length?(a=e,g):a},g},e.models.distribution=function(){function f(o){return o.each(function(o){var f=t-(r==="x"?e.left+e.right:e.top+e.bottom),l=r=="x"?"y":"x";a=a||u;var c=d3.select(this).selectAll("g.distribution").data([o]),h=c.enter().append("g").attr("class","nvd3 distribution"),p=h.append("g"),d=c.select("g");c.attr("transform","translate("+e.left+","+e.top+")");var v=d.selectAll("g.dist").data(function(e){return e},function(e){return e.key});v.enter().append("g"),v.attr("class",function(e,t){return"dist series-"+t}).style("stroke",function(e,t){return s[t%s.length]});var m=v.selectAll("line.dist"+r).data(function(e){return e.values});m.enter().append("line").attr(r+"1",function(e,t){return a(i(e,t))}).attr(r+"2",function(e,t){return a(i(e,t))}),d3.transition(v.exit().selectAll("line.dist"+r)).attr(r+"1",function(e,t){return u(i(e,t))}).attr(r+"2",function(e,t){return u(i(e,t))}).style("stroke-opacity",0).remove(),m.attr("class",function(e,t){return"dist"+r+" dist"+r+"-"+t}).attr(l+"1",0).attr(l+"2",n),d3.transition(m).attr(r+"1",function(e,t){return u(i(e,t))}).attr(r+"2",function(e,t){return u(i(e,t))}),a=u.copy()}),f}var e={top:0,right:0,bottom:0,left:0},t=400,n=8,r="x",i=function(e){return e[r]},s=d3.scale.category20().range(),o,u=d3.scale.linear(),a;return f.margin=function(t){return arguments.length?(e=t,f):e},f.width=function(e){return arguments.length?(t=e,f):t},f.axis=function(e){return arguments.length?(r=e,f):r},f.size=function(e){return arguments.length?(n=e,f):n},f.getData=function(e){return arguments.length?(i=d3.functor(e),f):i},f.scale=function(e){return arguments.length?(u=e,f):u},f.color=function(e){return arguments.length?(s=e,f):s},f},e.models.legend=function(){function u(a){return a.each(function(u){var a=t-e.left-e.right,f=d3.select(this).selectAll("g.legend").data([u]),l=f.enter().append("g").attr("class","nvd3 legend").append("g"),c=f.select("g").attr("transform","translate("+e.left+","+e.top+")"),h=c.selectAll(".series").data(function(e){return e}),p=h.enter().append("g").attr("class","series").on("mouseover",function(e,t){o.legendMouseover(e,t)}).on("mouseout",function(e,t){o.legendMouseout(e,t)}).on("click",function(e,t){o.legendClick(e,t)}).on("dblclick",function(e,t){o.legendDblclick(e,t)});p.append("circle").style("fill",function(e,t){return e.color||i[t%i.length]}).style("stroke",function(e,t){return e.color||i[t%i.length]}).style("stroke-width",2).attr("r",5),p.append("text").text(r).attr("text-anchor","start").attr("dy",".32em").attr("dx","8"),h.classed("disabled",function(e){return e.disabled}),h.exit().remove();if(s){var d=[];h.each(function(e,t){d.push(d3.select(this).select("text").node().getComputedTextLength()+28)});var v=0,m=0,g=[];while(ma&&v>1){g=[],v--;for(k=0;k(g[k%v]||0)&&(g[k%v]=d[k]);m=g.reduce(function(e,t,n,r){return e+t})}var y=[];for(var b=0,w=0;bx&&(x=S),"translate("+T+","+E+")"}),c.attr("transform","translate("+(t-e.right-x)+","+e.top+")"),n=e.top+e.bottom+E+15}}),u}var e={top:5,right:0,bottom:5,left:0},t=400,n=20,r=function(e){return e.key},i=d3.scale.category20().range(),s=!0,o=d3.dispatch("legendClick","legendDblclick","legendMouseover","legendMouseout");return u.dispatch=o,u.margin=function(t){return arguments.length?(e=t,u):e},u.width=function(e){return arguments.length?(t=e,u):t},u.height=function(e){return arguments.length?(n=e,u):n},u.key=function(e){return arguments.length?(r=e,u):r},u.color=function(e){return arguments.length?(i=e,u):i},u.align=function(e){return arguments +.length?(s=e,u):s},u},e.models.line=function(){function v(e){return e.each(function(e){var d=n-t.left-t.right,v=r-t.top-t.bottom;l=l||f.xScale(),c=c||f.yScale(),h=h||l,p=p||c;var m=d3.select(this).selectAll("g.wrap.line").data([e]),g=m.enter().append("g").attr("class","wrap nvd3 line"),b=g.append("defs"),w=g.append("g"),E=m.select("g");w.append("g").attr("class","groups"),w.append("g").attr("class","scatterWrap");var S=m.select(".scatterWrap");f.width(d).height(v),d3.transition(S).call(f),m.attr("transform","translate("+t.left+","+t.top+")"),b.append("clipPath").attr("id","edge-clip-"+s).append("rect"),m.select("#edge-clip-"+s+" rect").attr("width",d).attr("height",v),E.attr("clip-path",a?"url(#edge-clip-"+s+")":""),S.attr("clip-path",a?"url(#edge-clip-"+s+")":"");var T=m.select(".groups").selectAll(".group").data(function(e){return e},function(e){return e.key});T.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6),d3.transition(T.exit()).style("stroke-opacity",1e-6).style("fill-opacity",1e-6).remove(),T.attr("class",function(e,t){return"group series-"+t}).classed("hover",function(e){return e.hover}).style("fill",function(e,t){return i[t%i.length]}).style("stroke",function(e,t){return i[t%i.length]}),d3.transition(T).style("stroke-opacity",1).style("fill-opacity",.5);var N=T.selectAll("path").data(function(e,t){return[e.values]});N.enter().append("path").attr("class","line").attr("d",d3.svg.line().x(function(e,t){return h(o(e,t))}).y(function(e,t){return p(u(e,t))})),d3.transition(T.exit().selectAll("path")).attr("d",d3.svg.line().x(function(e,t){return l(o(e,t))}).y(function(e,t){return c(u(e,t))})),d3.transition(N).attr("d",d3.svg.line().x(function(e,t){return l(o(e,t))}).y(function(e,t){return c(u(e,t))})),h=l.copy(),p=c.copy()}),v}var t={top:0,right:0,bottom:0,left:0},n=960,r=500,i=d3.scale.category20().range(),s=Math.floor(Math.random()*1e4),o=function(e){return e.x},u=function(e){return e.y},a=!1,f=e.models.scatter().id(s).size(16).sizeDomain([16,256]),l,c,h,p,d;return v.dispatch=f.dispatch,d3.rebind(v,f,"interactive","size","xScale","yScale","zScale","xDomain","yDomain","sizeDomain","forceX","forceY","forceSize","clipVoronoi","clipRadius"),v.margin=function(e){return arguments.length?(t=e,v):t},v.width=function(e){return arguments.length?(n=e,v):n},v.height=function(e){return arguments.length?(r=e,v):r},v.x=function(e){return arguments.length?(o=e,f.x(e),v):o},v.y=function(e){return arguments.length?(u=e,f.y(e),v):u},v.clipEdge=function(e){return arguments.length?(a=e,v):a},v.color=function(e){return arguments.length?(i=e,f.color(e),v):i},v.id=function(e){return arguments.length?(s=e,v):s},v},e.models.indentedTree=function(){function a(r){return r.each(function(i){function T(e,t,n){d3.event.stopPropagation();if(d3.event.shiftKey&&!n)return d3.event.shiftKey=!1,e.values&&e.values.forEach(function(e){(e.values||e._values)&&T(e,0,!0)}),!0;if(!k(e))return!0;e.values?(e._values=e.values,e.values=null):(e.values=e._values,e._values=null),a.update()}function N(e){return e._values&&e._values.length?iconOpen:e.values&&e.values.length?iconClose:""}function C(e){return e._values&&e._values.length}function k(e){var t=e.values||e._values;return t&&t.length}var f=t-e.left-e.right,l=n-e.top-e.bottom;a.update=function(){r.transition().call(a)};var c=0,h=1,p=d3.layout.tree().children(function(e){return e.values}).size([n,childIndent]);i[0].key||(i[0].key=o);var d=p.nodes(i[0]),v=d3.select(this).selectAll("div").data([[d]]),m=v.enter().append("div").attr("class","wrap nvd3 indentedtree"),g=m.append("table"),y=v.select("table").attr("width","100%").attr("class",tableClass);if(s){var b=g.append("thead"),w=b.append("tr");columns.forEach(function(e){w.append("th").attr("width",e.width?e.width:"10%").style("text-align",e.type=="numeric"?"right":"left").append("span").text(e.label)})}var E=y.selectAll("tbody").data(function(e){return e});E.enter().append("tbody"),h=d3.max(d,function(e){return e.depth}),p.size([n,h*childIndent]);var S=E.selectAll("tr").data(function(e){return e},function(e){return e.id||e.id==++c});S.exit().remove(),S.select("img.treeicon").attr("src",N).classed("folded",C);var x=S.enter().append("tr");columns.forEach(function(e,t){var n=x.append("td").style("padding-left",function(e){return(t?0:e.depth*childIndent+12+(N(e)?0:16))+"px"},"important").style("text-align",e.type=="numeric"?"right":"left");t==0&&n.append("img").classed("treeicon",!0).classed("folded",C).attr("src",N).style("width","14px").style("height","14px").style("padding","0 1px").style("display",function(e){return N(e)?"inline-block":"none"}).on("click",T),n.append("span").attr("class",d3.functor(e.classes)).text(function(t){return e.format?e.format(t):t[e.key]||"-"}),e.showCount&&n.append("span").attr("class","childrenCount").text(function(e){return e.values&&e.values.length||e._values&&e._values.length?"("+(e.values&&e.values.length||e._values&&e._values.length)+")":""}),e.click&&n.select("span").on("click",e.click)}),S.order().on("click",function(e){u.elementClick({row:this,data:e,pos:[e.x,e.y]})}).on("dblclick",function(e){u.elementDblclick({row:this,data:e,pos:[e.x,e.y]})}).on("mouseover",function(e){u.elementMouseover({row:this,data:e,pos:[e.x,e.y]})}).on("mouseout",function(e){u.elementMouseout({row:this,data:e,pos:[e.x,e.y]})})}),a}var e={top:0,right:0,bottom:0,left:0},t=960,n=500,r=d3.scale.category20().range(),i=Math.floor(Math.random()*1e4),s=!0,o="No Results found.";childIndent=20,columns=[{key:"key",label:"Name",type:"text"}],tableClass=null,iconOpen="images/grey-plus.png",iconClose="images/grey-minus.png";var u=d3.dispatch("elementClick","elementDblclick","elementMouseover","elementMouseout");return a.margin=function(t){return arguments.length?(e=t,a):e},a.width=function(e){return arguments.length?(t=e,a):t},a.height=function(e){return arguments.length?(n=e,a):n},a.color=function(e){return arguments.length?(r=e,scatter.color(e),a):r},a.id=function(e){return arguments.length?(i=e,a):i},a.header=function(e){return arguments.length?(s=e,a):s},a.noResultsText=function(e){return arguments.length?(o=e,a):o},a.columns=function(e){return arguments.length?(columns=e,a):columns},a.tableClass=function(e){return arguments.length?(tableClass=e,a):tableClass},a.iconOpen=function(e){return arguments.length?(iconOpen=e,a):iconOpen},a.iconClose=function(e){return arguments.length?(iconClose=e,a):iconClose},a},e.models.lineChart=function(){function m(u){return u.each(function(f){var g=d3.select(this),b=this,w=(r||parseInt(g.style("width"))||960)-t.left-t.right,E=(i||parseInt(g.style("height"))||400)-t.top-t.bottom,S=g.selectAll("g.wrap.lineChart").data([f]),x=S.enter().append("g").attr("class","wrap nvd3 lineChart").append("g");x.append("g").attr("class","x axis"),x.append("g").attr("class","y axis"),x.append("g").attr("class","linesWrap"),x.append("g").attr("class","legendWrap");var T=S.select("g");s&&(p.width(w),T.select(".legendWrap").datum(f).call(p),t.top!=p.height()&&(t.top=p.height(),E=(i||parseInt(g.style("height"))||400)-t.top-t.bottom),T.select(".legendWrap").attr("transform","translate(0,"+ -t.top+")")),a.width(w).height(E).color(f.map(function(e,t){return e.color||n[t%n.length]}).filter(function(e,t){return!f[t].disabled})),T.attr("transform","translate("+t.left+","+t.top+")");var N=T.select(".linesWrap").datum(f.filter(function(e){return!e.disabled}));d3.transition(N).call(a),c.ticks(w/100).tickSize(-E,0),T.select(".x.axis").attr("transform","translate(0,"+l.range()[0]+")"),d3.transition(T.select(".x.axis")).call(c),h.ticks(E/36).tickSize(-w,0),d3.transition(T.select(".y.axis")).call(h),p.dispatch.on("legendClick",function(e,t){e.disabled=!e.disabled,f.filter(function(e){return!e.disabled}).length||f.map(function(e){return e.disabled=!1,S.selectAll(".series").classed("disabled",!1),e}),u.transition().call(m)}),a.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],d.tooltipShow(e)}),o&&d.on("tooltipShow",function(e){v(e,b.parentNode)}),a.dispatch.on("elementMouseout.tooltip",function(e){d.tooltipHide(e)}),o&&d.on("tooltipHide",e.tooltip.cleanup)}),m.update=function(){m(u)},m.container=this,m}var t={top:30,right:20,bottom:50,left:60},n=d3.scale.category20().range(),r=null,i=null,s=!0,o=!0,u=function(e,t,n,r,i){return"

"+e+"

"+"

"+n+" at "+t+"

"},a=e.models.line(),f=a.xScale(),l=a.yScale(),c=e.models.axis().scale(f).orient("bottom").tickPadding(5),h=e.models.axis().scale(l).orient("left"),p=e.models.legend().height(30),d=d3.dispatch("tooltipShow","tooltipHide"),v=function(t,n){var r=t.pos[0]+(n.offsetLeft||0),i=t.pos[1]+(n.offsetTop||0),s=c.tickFormat()(a.x()(t.point)),o=h.tickFormat()(a.y()(t.point)),f=u(t.series.key,s,o,t,m);e.tooltip.show([r,i],f)};return m.dispatch=d,m.legend=p,m.xAxis=c,m.yAxis=h,d3.rebind(m,a,"x","y","size","xDomain","yDomain","forceX","forceY","interactive","clipEdge","clipVoronoi","id"),m.margin=function(e){return arguments.length?(t=e,m):t},m.width=function(e){return arguments.length?(r=e,m):r},m.height=function(e){return arguments.length?(i=e,m):i},m.color=function(e){return arguments.length?(n=e,p.color(e),m):n},m.showLegend=function(e){return arguments.length?(s=e,m):s},m.tooltips=function(e){return arguments.length?(o=e,m):o},m.tooltipContent=function(e){return arguments.length?(u=e,m):u},m},e.models.linePlusBarChart=function(){function E(f){return f.each(function(d){var S=d3.select(this),T=this,N=(n||parseInt(S.style("width"))||960)-t.left-t.right,C=(r||parseInt(S.style("height"))||400)-t.top-t.bottom,k=d.filter(function(e){return!e.disabled&&e.bar}),L=d.filter(function(e){return!e.disabled&&!e.bar}),A=d.filter(function(e){return!e.disabled&&e.bar}).map(function(e){return e.values.map(function(e,t){return{x:i(e,t),y:s(e,t)}})}),O=d.filter(function(e){return!e.disabled&&!e.bar}).map(function(e){return e.values.map(function(e,t){return{x:i(e,t),y:s(e,t)}})});h.domain(d3.extent(d3.merge(A.concat(O)),function(e){return e.x})).range([0,N]),l.width(N).height(C).color(d.map(function(e,t){return e.color||o[t%o.length]}).filter(function(e,t){return!d[t].disabled&&!d[t].bar})),c.width(N).height(C).color(d.map(function(e,t){return e.color||o[t%o.length]}).filter(function(e,t){return!d[t].disabled&&d[t].bar}));var M=d3.select(this).selectAll("g.wrap.linePlusBar").data([d]),_=M.enter().append("g").attr("class","wrap nvd3 linePlusBar").append("g");_.append("g").attr("class","x axis"),_.append("g").attr("class","y1 axis"),_.append("g").attr("class","y2 axis"),_.append("g").attr("class","barsWrap"),_.append("g").attr("class","linesWrap"),_.append("g").attr("class","legendWrap");var D=M.select("g");u&&(y.width(N),D.select(".legendWrap").datum(d.map(function(e){return e.key=e.key+(e.bar?" (left axis)":" (right axis)"),e})).call(y),t.top!=y.height()&&(t.top=y.height(),C=(r||parseInt(S.style("height"))||400)-t.top-t.bottom),D.select(".legendWrap").attr("transform","translate(0,"+ -t.top+")"));var P=D.select(".barsWrap").datum(k.length?k:[{values:[]}]),H=D.select(".linesWrap").datum(L.length?L:[{values:[]}]);d3.transition(P).call(c),d3.transition(H).call(l),D.attr("transform","translate("+t.left+","+t.top+")"),v.ticks(N/100).tickSize(-C,0),D.select(".x.axis").attr("transform","translate(0,"+p.range()[0]+")"),d3.transition(D.select(".x.axis")).call(v),m.ticks(C/36).tickSize(-N,0),d3.transition(D.select(".y1.axis")).call(m),g.ticks(C/36).tickSize(k.length?0:-N,0),D.select(".y2.axis").attr("transform","translate("+h.range()[1]+",0)"),d3.transition(D.select(".y2.axis")).call(g),y.dispatch.on("legendClick",function(e,t){e.disabled=!e.disabled,d.filter(function(e){return!e.disabled}).length||d.map(function(e){return e.disabled=!1,M.selectAll(".series").classed("disabled",!1),e}),f.transition().call(E)}),l.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],b.tooltipShow(e)}),a&&b.on("tooltipShow",function(e){w(e,T.parentNode)}),l.dispatch.on("elementMouseout.tooltip",function(e){b.tooltipHide(e)}),a&&b.on("tooltipHide",e.tooltip.cleanup),c.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],b.tooltipShow(e)}),a&&b.on("tooltipShow",function(e){w(e,T.parentNode)}),c.dispatch.on("elementMouseout.tooltip",function(e){b.tooltipHide(e)}),a&&b.on("tooltipHide",e.tooltip.cleanup),E.update=function(){f.transition().call(E)},E.container=this}),E}var t={top:30,right:60,bottom:50,left:60},n=null,r=null,i=function(e){return e.x},s=function(e){return e.y},o=d3.scale.category20().range(),u=!0,a=!0,f=function(e,t,n,r,i){return"

"+e+"

"+"

"+n+" at "+t+"

"},l=e.models.line(),c=e.models.historicalBar(),h=d3.scale.linear(),p=c.yScale(),d=l.yScale(),v=e.models.axis().scale(h).orient("bottom").tickPadding(5),m=e.models.axis().scale(p).orient("left"),g=e.models.axis().scale(d).orient("right"),y=e.models.legend().height(30),b=d3.dispatch("tooltipShow","tooltipHide"),w=function(t,n){var r=t.pos[0]+(n.offsetLeft||0),i=t.pos[1]+(n.offsetTop||0),s=v.tickFormat()(l.x()(t.point)),o=m.tickFormat()(l.y()(t.point)),u=f(t.series.key,s,o,t,E);e.tooltip.show([r,i],u,t.value<0?"n":"s")};return E.dispatch=b,E.legend=y,E.lines=l,E.bars=c,E.xAxis=v,E.yAxis1=m,E.yAxis2=g,d3.rebind(E,l,"size","clipVoronoi"),E.x=function(e){return arguments.length?(i=e,l.x(e),c.x(e),E):i},E.y=function(e){return arguments.length?(s=e,l.y(e),c.y(e),E):s},E.margin=function(e){return arguments.length?(t=e,E):t},E.width=function(e){return arguments.length?(n=e,E):n},E.height=function(e){return arguments.length?(r=e,E):r},E.color=function(e){return arguments.length?(o=e,y.color(e),E):o},E.showLegend=function(e){return arguments.length?(u=e,E):u},E.tooltips=function(e){return arguments.length?(a=e,E):a},E.tooltipContent=function(e){return arguments.length?(f=e,E):f},E},e.models.lineWithFocusChart=function(){function T(f){return f.each(function(N){function F(e){var t=+(e=="e"),n=t?1:-1,r=O/3;return"M"+.5*n+","+r+"A6,6 0 0 "+t+" "+6.5*n+","+(r+6)+"V"+(2*r-6)+"A6,6 0 0 "+t+" "+.5*n+","+2*r+"Z"+"M"+2.5*n+","+(r+8)+"V"+(2*r-8)+"M"+4.5*n+","+(r+8)+"V"+(2*r-8)}function I(){q(),B.call(l),H.select(".focus .x.axis").call(m),H.select(".focus .y.axis").call(g)}function q(){var e=S.empty()?v.domain():d3.extent(d3.merge(N.filter(function(e){return!e.disabled}).map(function(e){return e.values})).filter(function(e){return l.x()(e)>=S.extent()[0]&&l.x()(e)<=S.extent()[1]}),l.y());typeof e[0]=="undefined"&&(e=v.domain()),h.domain(S.empty()?d.domain():S.extent()),p.domain(e),l.xDomain(h.domain()),l.yDomain(p.domain())}var C=d3.select(this),k=this,L=(i||parseInt(C.style("width"))||960)-t.left-t.right,A=(s||parseInt(C.style("height"))||400)-t.top-t.bottom-o,O=o-n.top-n.bottom;S.on("brush",I);var M=C.selectAll("g.wrap.lineWithFocusChart").data([N]),_=M.enter().append("g").attr("class","wrap nvd3 lineWithFocusChart").append("g"),D=_.append("g").attr("class","focus");D.append("g").attr("class","x axis"),D.append("g").attr("class","y axis"),D.append("g").attr("class","linesWrap");var P=_.append("g").attr("class","context");P.append("g").attr("class","x axis"),P.append("g").attr("class","y axis"),P.append("g").attr("class","linesWrap"),P.append("g").attr("class","x brush"),_.append("g").attr("class","legendWrap");var H=M.select("g");u&&(w.width(L),H.select(".legendWrap").datum(N).call(w),t.top!=w.height()&&(t.top=w.height(),A=(s||parseInt(C.style("height"))||400)-t.top-t.bottom),H.select(".legendWrap").attr("transform","translate(0,"+ -t.top+")")),l.width(L).height(A).color(N.map(function(e,t){return e.color||r[t%r.length]}).filter(function(e,t){return!N[t].disabled})),c.width(L).height(O).color(N.map(function(e,t){return e.color||r[t%r.length]}).filter(function(e,t){return!N[t].disabled})),H.attr("transform","translate("+t.left+","+t.top+")");var B=H.select(".focus .linesWrap").datum(N.filter(function(e){return!e.disabled}));d3.transition(B).call(l),m.ticks(L/100).tickSize(-A,0),H.select(".focus .x.axis").attr("transform","translate(0,"+p.range()[0]+")"),d3.transition(H.select(".focus .x.axis")).call(m),g.ticks(A/36).tickSize(-L,0),d3.transition(H.select(".focus .y.axis")).call(g),H.select(".context").attr("transform","translate(0,"+(A+t.bottom+n.top)+")");var j=H.select(".context .linesWrap").datum(N.filter(function(e){return!e.disabled}));d3.transition(j).call(c),gBrush=H.select(".x.brush").call(S),gBrush.selectAll("rect").attr("height",O),gBrush.selectAll(".resize").append("path").attr("d",F),y.tickFormat(m.tickFormat()).ticks(L/100).tickSize(-O,0),H.select(".context .x.axis").attr("transform","translate(0,"+v.range()[0]+")"),d3.transition(H.select(".context .x.axis")).call(y),b.tickFormat(g.tickFormat()).ticks(O/36).tickSize(-L,0),d3.transition(H.select(".context .y.axis")).call(b),q(),w.dispatch.on("legendClick",function(e,t){e.disabled=!e.disabled,N.filter(function(e){return!e.disabled}).length||N.map(function(e){return e.disabled=!1,M.selectAll(".series").classed("disabled",!1),e}),f.transition().call(T)}),l.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],E.tooltipShow(e)}),a&&E.on("tooltipShow",function(e){x(e,k.parentNode)}),l.dispatch.on("elementMouseout.tooltip",function(e){E.tooltipHide(e)}),a&&E.on("tooltipHide",e.tooltip.cleanup)}),T.update=function(){T(f)},T.container=this,T}var t={top:30,right:20,bottom:50,left:60},n={top:0,right:20,bottom:20,left:60},r=d3.scale.category20().range(),i=null,s=null,o=100,u=!0,a=!0,f=function(e,t,n,r,i){return"

"+e+"

"+"

"+n+" at "+t+"

"},l=e.models.line().clipEdge(!0),c=e.models.line().interactive(!1),h=l.xScale(),p=l.yScale(),d=c.xScale(),v=c.yScale(),m=e.models.axis().scale(h).orient("bottom").tickPadding(5),g=e.models.axis().scale(p).orient("left"),y=e.models.axis().scale(h).orient("bottom").tickPadding(5),b=e.models.axis().scale(v).orient("left"),w=e.models.legend().height(30),E=d3.dispatch("tooltipShow","tooltipHide"),S=d3.svg.brush().x(d),x=function(t,n){var r=t.pos[0]+(n.offsetLeft||0),i=t.pos[1]+(n.offsetTop||0),s=m.tickFormat()(l.x()(t.point)),o=g.tickFormat()(l.y()(t.point)),u=f(t.series.key,s,o,t,T);e.tooltip.show([r,i],u)};return T.dispatch=E,T.legend=w,T.xAxis=m,T.yAxis=g,d3.rebind(T,l,"x","y","size","xDomain","yDomain","forceX","forceY","interactive","clipEdge","clipVoronoi","id"),T.margin=function(e){return arguments.length?(t=e,T):t},T.width=function(e){return arguments.length?(i=e,T):i},T.height=function(e){return arguments.length?(s=e,T):s},T.color=function(e){return arguments.length?(r=e,w.color(e),T):r},T.showLegend=function(e){return arguments.length?(u=e,T):u},T.tooltips=function(e){return arguments.length?(a=e,T):a},T.tooltipContent=function(e){return arguments.length?(f=e,T):f},T},e.models.multiBar=function(){function y(b){return b.each(function(w){var E=t-e.left-e.right,S=n-e.top-e.bottom;p=p||v,d=d||m,a&&(w=d3.layout.stack().offset("zero").values(function(e){return e.values}).y(s)(w)),w=w.map(function(e,t){return e.values=e.values.map(function(e){return e.series=t,e}),e});var T=c&&h?[]:w.map(function(e){return e.values.map(function(e,t){return{x:i(e,t),y:s(e,t),y0:e.y0}})});v.domain(d3.merge(T).map(function(e){return e.x})).rangeBands([0,E],.1),m.domain(h||d3.extent(d3.merge(T).map(function(e){return e.y+(a?e.y0:0)}).concat(o))).range([S,0]);var N=d3.select(this).selectAll("g.wrap.multibar").data([w]),C=N.enter().append("g").attr("class","wrap nvd3 multibar"),k=C.append("defs"),L=C.append("g");L.append("g").attr("class","groups");var A=N.select("g");N.attr("transform","translate("+e.left+","+e.top+")"),k.append("clipPath").attr("id","edge-clip-"+r).append("rect"),N.select("#edge-clip-"+r+" rect").attr("width",E).attr("height",S),A.attr("clip-path",u?"url(#edge-clip-"+r+")":"");var O=N.select(".groups").selectAll(".group").data(function(e){return e},function(e){return e.key});O.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6),d3.transition(O.exit()).selectAll("rect.bar").delay(function(e,t){return t*l/w[0].values.length}).attr("y",function(e){return a?d(e.y0):d(0)}).attr("height",0).remove(),O.attr("class",function(e,t){return"group series-"+t}).classed("hover",function(e){return e.hover}).style("fill",function(e,t){return f[t%f.length]}).style("stroke",function(e,t){return f[t%f.length]}),d3.transition(O).style("stroke-opacity",1).style("fill-opacity",.75);var M=O.selectAll("rect.bar").data(function(e){return e.values});M.exit().remove();var _=M.enter().append("rect").attr("class",function(e,t){return s(e,t)<0?"bar negative":"bar positive"}).attr("x",function(e,t,n){return a?0:n*v.rangeBand()/w.length}).attr("y",function(e){return d(a?e.y0:0)}).attr("height",0).attr("width",v.rangeBand()/(a?1:w.length)).on("mouseover",function(e,t){d3.select(this).classed("hover",!0),g.elementMouseover({value:s(e,t),point:e,series:w[e.series],pos:[v(i(e,t))+v.rangeBand()*(a?w.length/2:e.series+.5)/w.length,m(s(e,t)+(a?e.y0:0))],pointIndex:t,seriesIndex:e.series,e:d3.event})}).on("mouseout",function(e,t){d3.select(this).classed("hover",!1),g.elementMouseout({value:s(e,t),point:e,series:w[e.series],pointIndex:t,seriesIndex:e.series,e:d3.event})}).on("click",function(e,t){g.elementClick({value:s(e,t),point:e,series:w[e.series],pos:[v(i(e,t))+v.rangeBand()*(a?w.length/2:e.series+.5)/w.length,m(s(e,t)+(a?e.y0:0))],pointIndex:t,seriesIndex:e.series,e:d3.event}),d3.event.stopPropagation()}).on("dblclick",function(e,t){g.elementDblClick({value:s(e,t),point:e,series:w[e.series],pos:[v(i(e,t))+v.rangeBand()*(a?w.length/2:e.series+.5)/w.length,m(s(e,t)+(a?e.y0:0))],pointIndex:t,seriesIndex:e.series,e:d3.event}),d3.event.stopPropagation()});M.attr("class",function(e,t){return s(e,t)<0?"bar negative":"bar positive"}).attr("transform",function(e,t){return"translate("+v(i(e,t))+",0)"}),a?d3.transition(M).delay(function(e,t){return t*l/w[0].values.length}).attr("y",function(e,t){return m(s(e,t)+(a?e.y0:0))}).attr("height",function(e,t){return Math.abs(m(e.y+(a?e.y0:0))-m(a?e.y0:0))}).each("end",function(){d3.transition(d3.select(this)).attr("x",function(e,t){return a?0:e.series*v.rangeBand()/w.length}).attr("width",v.rangeBand()/(a?1:w.length))}):d3.transition(M).delay(function(e,t){return t*l/w[0].values.length}).attr("x",function(e,t){return e.series*v.rangeBand()/w.length}).attr("width",v.rangeBand()/w.length).each("end",function(){d3.transition(d3.select(this)).attr("y",function(e,t){return s(e,t)<0?m(0):m(s(e,t))}).attr("height",function(e,t){return Math.abs(m(s(e,t))-m(0))})}),y.update=function(){b.transition().call(y)},p=v.copy(),d=m.copy()}),y}var e={top:0,right:0,bottom:0,left:0},t=960,n=500,r=Math.floor(Math.random()*1e4),i=function(e){return e.x},s=function(e){return e.y},o=[0],u=!0,a=!1,f=d3.scale.category20().range(),l=1200,c,h,p,d,v=d3.scale.ordinal(),m=d3.scale.linear(),g=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout");return y.dispatch=g,y.x=function(e){return arguments.length?(i=e,y):i},y.y=function(e){return arguments.length?(s=e,y):s},y.margin=function(t){return arguments.length?(e=t,y):e},y.width=function(e){return arguments.length?(t=e,y):t},y.height=function(e){return arguments.length?(n=e,y):n},y.xScale=function(e){return arguments.length?(v=e,y):v},y.yScale=function(e){return arguments.length?(m=e,y):m},y.xDomain=function(e){return arguments.length?(c=e,y):c},y.yDomain=function(e){return arguments.length?(h=e,y):h},y.forceY=function(e){return arguments.length?(o=e,y):o},y.stacked=function(e){return arguments.length?(a=e,y):a},y.clipEdge=function(e){return arguments.length?(u=e,y):u},y.color=function(e){return arguments.length?(f=e,y):f},y.id=function(e){return arguments.length?(r=e,y):r},y.delay=function(e){return arguments.length?(l=e,y):l},y},e.models.multiBarChart=function(){function b(a){return a.each(function(l){var w=d3.select(this),E=this,S=(n||parseInt(w.style("width"))||960)-t.left-t.right,x=(r||parseInt(w.style("height"))||400)-t.top-t.bottom,T=w.selectAll("g.wrap.multiBarWithLegend").data([l]),N=T.enter().append("g").attr("class","wrap nvd3 multiBarWithLegend").append("g");N.append("g").attr("class","x axis"),N.append("g").attr("class","y axis"),N.append("g").attr("class","barsWrap"),N.append("g").attr("class","legendWrap"),N.append("g").attr("class","controlsWrap");var C=T.select("g");o&&(d.width(S/2),C.select(".legendWrap").datum(l).call(d),t.top!=d.height()&&(t.top=d.height(),x=(r||parseInt(w.style("height"))||400)-t.top-t.bottom),C.select(".legendWrap").attr("transform","translate("+S/2+","+ -t.top+")")),f.width(S).height(x).color(l.map(function(e,t){return e.color||i[t%i.length]}).filter(function(e,t){return!l[t].disabled})),s&&(v.width(180).color(["#444","#444","#444"]),C.select(".controlsWrap").datum(y).attr("transform","translate(0,"+ -t.top+")").call(v)),C.attr("transform","translate("+t.left+","+t.top+")");var k=C.select(".barsWrap").datum(l.filter(function(e){return!e.disabled}));d3.transition(k).call(f),h.ticks(S/100).tickSize(-x,0),C.select(".x.axis").attr("transform","translate(0,"+c.range()[0]+")"),d3.transition(C.select(".x.axis")).call(h);var L=C.select(".x.axis").selectAll("g");L.selectAll("line, text").style("opacity",1),L.filter(function(e,t){return t%Math.ceil(l[0].values.length/(S/100))!==0}).style("opacity",0),p.ticks(x/36).tickSize(-S,0),d3.transition(C.select(".y.axis")).call(p),d.dispatch.on("legendClick",function(e,t){e.disabled=!e.disabled,l.filter(function(e){return!e.disabled}).length||l.map(function(e){return e.disabled=!1,T.selectAll(".series").classed("disabled",!1),e}),a.transition().call(b)}),v.dispatch.on("legendClick",function(e,t){if(!e.disabled)return;y=y.map(function(e){return e.disabled=!0,e}),e.disabled=!1;switch(e.key){case"Grouped":f.stacked(!1);break;case"Stacked":f.stacked(!0)}a.transition().call(b)}),f.dispatch.on("elementMouseover.tooltip2",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],m.tooltipShow(e)}),u&&m.on("tooltipShow",function(e){g(e,E.parentNode)}),f.dispatch.on("elementMouseout.tooltip",function(e){m.tooltipHide(e)}),u&&m.on("tooltipHide",e.tooltip.cleanup),b.update=function(){a.transition().call(b)},b.container=this}),b}var t={top:30,right:20,bottom:50,left:60},n=null,r=null,i=d3.scale.category20().range(),s=!0,o=!0,u=!0,a=function(e,t,n,r,i){return"

"+e+"

"+"

"+n+" on "+t+"

"},f=e.models.multiBar().stacked(!1),l=f.xScale(),c=f.yScale(),h=e.models.axis().scale(l).orient("bottom").highlightZero(!1),p=e.models.axis().scale(c).orient("left"),d=e.models.legend().height(30),v=e.models.legend().height(30),m=d3.dispatch("tooltipShow","tooltipHide");h.tickFormat(function(e){return e}),p.tickFormat(d3.format(",.1f"));var g=function(t,n){var r=t.pos[0]+(n.offsetLeft||0),i=t.pos[1]+(n.offsetTop||0),s=h.tickFormat()(f.x()(t.point)),o=p.tickFormat()(f.y()(t.point)),u=a(t.series.key,s,o,t,b);e.tooltip.show([r,i],u,t.value<0?"n":"s")},y=[{key:"Grouped",disabled:f.stacked},{key:"Stacked",disabled:!f.stacked}];return b.dispatch=m,b.legend=d,b.xAxis=h,b.yAxis=p,d3.rebind(b,f,"x","y","xDomain","yDomain","forceX","forceY","clipEdge","id","stacked"),b.margin=function(e){return arguments.length?(t=e,b):t},b.width=function(e){return arguments.length?(n=e,b):n},b.height=function(e){return arguments.length?(r=e,b):r},b.color=function(e){return arguments.length?(i=e,d.color(e),b):i},b.showControls=function(e){return arguments.length?(s=e,b):s},b.showLegend=function(e){return arguments.length?(o=e,b):o},b},e.models.multiBarHorizontal=function(){function w(r){return r.each(function(d){var E=t-e.left-e.right,S=n-e.top-e.bottom;l&&(d=d3.layout.stack().offset("zero").values(function(e){return e.values}).y(u)(d)),d=d.map(function(e,t){return e.values=e.values.map(function(e){return e.series=t,e}),e});var T=v&&m?[]:d.map(function(e){return e.values.map(function(e,t){return{x:o(e,t),y:u(e,t),y0:e.y0}})});i.domain(v||d3.merge(T).map(function(e){return e.x})).rangeBands([0,S],.1),s.domain(m||d3.extent(d3.merge(T).map(function(e){return e.y+(l?e.y0:0)}).concat(a))),c&&!l?s.range([s.domain()[0]<0?h:0,E-(s.domain()[1]>0?h:0)]):s.range([0,E]),g=g||i,y=y||d3.scale.linear().domain(s.domain()).range([s(0),s(0)]);var N=d3.select(this).selectAll("g.wrap.multibarHorizontal").data([d]),C=N.enter().append("g").attr("class","wrap nvd3 multibarHorizontal"),k=C.append("defs"),L=C.append("g");L.append("g").attr("class","groups");var A=N.select("g");N.attr("transform","translate("+e.left+","+e.top+")");var O=N.select(".groups").selectAll(".group").data(function(e){return e},function(e){return e.key});O.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6),d3.transition(O.exit()).style("stroke-opacity",1e-6).style("fill-opacity",1e-6).remove(),O.attr("class",function(e,t){return"group series-"+t}).classed("hover",function(e){return e.hover}).style("fill",function(e,t){return f[t%f.length]}).style("stroke",function(e,t){return f[t%f.length]}),d3.transition(O).style("stroke-opacity",1).style("fill-opacity",.75);var M=O.selectAll("g.bar").data(function(e){return e.values});M.exit().remove();var _=M.enter().append("g").attr("transform",function(e,t,n){return"translate("+y(l?e.y0:0)+","+(l?0:n*i.rangeBand()/d.length+i(o(e,t)))+")"}).on("mouseover",function(e,t){d3.select(this).classed("hover",!0),b.elementMouseover({value:u(e,t),point:e,series:d[e.series],pos:[s(u(e,t)+(l?e.y0:0)),i(o(e,t))+i.rangeBand()*(l?d.length/2:e.series+.5)/d.length],pointIndex:t,seriesIndex:e.series,e:d3.event})}).on("mouseout",function(e,t){d3.select(this).classed("hover",!1),b.elementMouseout({value:u(e,t),point:e,series:d[e.series],pointIndex:t,seriesIndex:e.series,e:d3.event})}).on("click",function(e,t){b.elementClick({value:u(e,t),point:e,series:d[e.series],pos:[i(o(e,t))+i.rangeBand()*(l?d.length/2:e.series+.5)/d.length,s(u(e,t)+(l?e.y0:0))],pointIndex:t,seriesIndex:e.series,e:d3.event}),d3.event.stopPropagation()}).on("dblclick",function(e,t){b.elementDblClick({value:u(e,t),point:e,series:d[e.series],pos:[i(o(e,t))+i.rangeBand()*(l?d.length/2:e.series+.5)/d.length,s(u(e,t)+(l?e.y0:0))],pointIndex:t,seriesIndex:e.series,e:d3.event}),d3.event.stopPropagation()});_.append("rect").attr("width",0).attr("height",i.rangeBand()/(l?1:d.length)),c&&!l?(_.append("text").attr("text-anchor",function(e,t){return u(e,t)<0?"end":"start"}),M.selectAll("text").attr("y",i.rangeBand()/2).attr("dy","-.32em").text(function(e,t){return p(u(e,t))}),d3.transition(M).selectAll("text").attr("x",function(e,t){return u(e,t)<0?-4:s(u(e,t))-s(0)+4})):M.selectAll("text").remove(),M.attr("class",function(e,t){return u(e,t)<0?"bar negative":"bar positive"}),l?d3.transition(M).attr("transform",function(e,t){return"translate("+s(e.y0)+","+(l?0:j*i.rangeBand()/d.length)+")"}).selectAll("rect").attr("width",function(e,t){return Math.abs(s(u(e,t)+e.y0)-s(e.y0))}).attr("height",i.rangeBand()):d3.transition(M).attr("transform",function(e,t){return"translate("+(u(e,t)<0?s(u(e,t)):s(0))+","+(e.series*i.rangeBand()/d.length+i(o(e,t)))+")"}).selectAll("rect").attr("height",i.rangeBand()/d.length).attr("width",function(e,t){return Math.abs(s(u(e,t))-s(0))}),w.update=function(){r.transition().call(w)},g=i.copy(),y=s.copy()}),w}var e={top:0,right:0,bottom:0,left:0},t=960,n=500,r=Math.floor(Math.random()*1e4),i=d3.scale.ordinal(),s=d3.scale.linear(),o=function(e){return e.x},u=function(e){return e.y},a=[0],f=d3.scale.category20().range(),l=!1,c=!1,h=60,p=d3.format(",.2f"),d=1200,v,m,g,y,b=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout");return w.dispatch=b,w.x=function(e){return arguments.length?(o=e,w):o},w.y=function(e){return arguments.length?(u=e,w):u},w.margin=function(t){return arguments.length?(e=t,w):e},w.width=function(e){return arguments.length?(t=e,w):t},w.height=function(e){return arguments.length?(n=e,w):n},w.xScale=function(e){return arguments.length?(i=e,w):i},w.yScale=function(e){return arguments.length?(s=e,w):s},w.xDomain=function(e){return arguments.length?(v=e,w):v},w.yDomain=function(e){return arguments.length?(m=e,w):m},w.forceY=function(e){return arguments.length?(a=e,w):a},w.stacked=function(e){return arguments.length?(l=e,w):l},w.color=function(e){return arguments.length?(f=e,w):f},w.id=function(e){return arguments.length?(r=e,w):r},w.delay=function(e){return arguments.length?(d=e,w):d},w.showValues=function(e){return arguments.length?(c=e,w):c},w.valueFormat=function(e){return arguments.length?(p=e,w):p},w.valuePadding=function(e){return arguments.length?(h=e,w):h},w},e.models.multiBarHorizontalChart=function(){function b(a){return a.each(function(l){var c=d3.select(this),w=this,E=(n||parseInt(c.style("width"))||960)-t.left-t.right,S=(r||parseInt(c.style("height"))||400)-t.top-t.bottom,x=c.selectAll("g.wrap.multiBarHorizontalChart").data([l]) +,T=x.enter().append("g").attr("class","wrap nvd3 multiBarHorizontalChart").append("g");T.append("g").attr("class","x axis"),T.append("g").attr("class","y axis"),T.append("g").attr("class","barsWrap"),T.append("g").attr("class","legendWrap"),T.append("g").attr("class","controlsWrap"),t.top=d.height();var N=x.select("g");o&&(d.width(E/2),N.select(".legendWrap").datum(l).call(d),t.top!=d.height()&&(t.top=d.height(),S=(r||parseInt(c.style("height"))||400)-t.top-t.bottom),N.select(".legendWrap").attr("transform","translate("+E/2+","+ -t.top+")")),f.width(E).height(S).color(l.map(function(e,t){return e.color||i[t%i.length]}).filter(function(e,t){return!l[t].disabled})),s&&(v.width(180).color(["#444","#444","#444"]),N.select(".controlsWrap").datum(y).attr("transform","translate(0,"+ -t.top+")").call(v)),N.attr("transform","translate("+t.left+","+t.top+")");var C=N.select(".barsWrap").datum(l.filter(function(e){return!e.disabled}));d3.transition(C).call(f),h.ticks(S/24).tickSize(-E,0),N.select(".x.axis").transition().duration(0).call(h);var k=N.select(".x.axis").selectAll("g");k.selectAll("line, text").style("opacity",1),p.ticks(E/100).tickSize(-S,0),N.select(".y.axis").attr("transform","translate(0,"+S+")"),d3.transition(N.select(".y.axis")).call(p),d.dispatch.on("legendClick",function(e,t){e.disabled=!e.disabled,l.filter(function(e){return!e.disabled}).length||l.map(function(e){return e.disabled=!1,x.selectAll(".series").classed("disabled",!1),e}),a.transition().call(b)}),v.dispatch.on("legendClick",function(e,t){if(!e.disabled)return;y=y.map(function(e){return e.disabled=!0,e}),e.disabled=!1;switch(e.key){case"Grouped":f.stacked(!1);break;case"Stacked":f.stacked(!0)}a.transition().call(b)}),f.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],m.tooltipShow(e)}),u&&m.on("tooltipShow",function(e){g(e,w.parentNode)}),f.dispatch.on("elementMouseout.tooltip",function(e){m.tooltipHide(e)}),u&&m.on("tooltipHide",e.tooltip.cleanup),b.update=function(){a.transition().call(b)},b.container=this}),b}var t={top:30,right:20,bottom:50,left:60},n=null,r=null,i=d3.scale.category20().range(),s=!0,o=!0,u=!0,a=function(e,t,n,r,i){return"

"+t+"

"+"

"+n+"

"},f=e.models.multiBarHorizontal().stacked(!1),l=f.xScale(),c=f.yScale(),h=e.models.axis().scale(l).orient("left").highlightZero(!1).showMaxMin(!1),p=e.models.axis().scale(c).orient("bottom"),d=e.models.legend().height(30),v=e.models.legend().height(30),m=d3.dispatch("tooltipShow","tooltipHide");h.tickFormat(function(e){return e}),p.tickFormat(d3.format(",.1f"));var g=function(t,n){var r=t.pos[0]+(n.offsetLeft||0),i=t.pos[1]+(n.offsetTop||0),s=h.tickFormat()(f.x()(t.point)),o=p.tickFormat()(f.y()(t.point)),u=a(t.series.key,s,o,t,b);e.tooltip.show([r,i],u,t.value<0?"e":"w")},y=[{key:"Grouped"},{key:"Stacked",disabled:!0}];return b.dispatch=m,b.multibar=f,b.legend=d,b.xAxis=h,b.yAxis=p,d3.rebind(b,f,"x","y","xDomain","yDomain","forceX","forceY","clipEdge","id","delay","showValues","valueFormat"),b.margin=function(e){return arguments.length?(t=e,b):t},b.width=function(e){return arguments.length?(n=e,b):n},b.height=function(e){return arguments.length?(r=e,b):r},b.color=function(e){return arguments.length?(i=e,d.color(e),b):i},b.showControls=function(e){return arguments.length?(s=e,b):s},b.showLegend=function(e){return arguments.length?(o=e,b):o},b.tooltips=function(e){return arguments.length?(u=e,b):u},b.tooltipContent=function(e){return arguments.length?(a=e,b):a},b},e.models.pie=function(){function p(a){return a.each(function(a){function C(e){var t=(e.startAngle+e.endAngle)*90/Math.PI-90;return t>90?t-180:t}function k(e){c||(e.innerRadius=0);var t=d3.interpolate(this._current,e);return this._current=t(0),function(e){return E(t(e))}}function L(e){e.innerRadius=0;var t=d3.interpolate({startAngle:0,endAngle:0},e);return function(e){return E(t(e))}}var p=t-e.left-e.right,d=n-e.top-e.bottom,v=Math.min(p,d)/2,m=d3.select(this).on("click",function(e,t){h.chartClick({data:e,index:t,pos:d3.event,id:o})}),g=m.selectAll(".wrap.pie").data([r(a[0])]),y=g.enter().append("g").attr("class","wrap nvd3 pie chart-"+o),b=y.append("g"),w=g.select("g");b.append("g").attr("class","pie"),g.attr("transform","translate("+e.left+","+e.top+")"),w.select(".pie").attr("transform","translate("+p/2+","+d/2+")");var E=d3.svg.arc().outerRadius(v-v/5);c&&E.innerRadius(v/2);var S=d3.layout.pie().sort(null).value(function(e){return e.disabled?0:s(e)}),x=g.select(".pie").selectAll(".slice").data(S);x.exit().remove();var T=x.enter().append("svg:g").attr("class","slice").on("mouseover",function(e,t){d3.select(this).classed("hover",!0),h.elementMouseover({label:i(e.data),value:s(e.data),point:e.data,pointIndex:t,pos:[d3.event.pageX,d3.event.pageY],id:o})}).on("mouseout",function(e,t){d3.select(this).classed("hover",!1),h.elementMouseout({label:i(e.data),value:s(e.data),point:e.data,index:t,id:o})}).on("click",function(e,t){h.elementClick({label:i(e.data),value:s(e.data),point:e.data,index:t,pos:d3.event,id:o}),d3.event.stopPropagation()}).on("dblclick",function(e,t){h.elementDblClick({label:i(e.data),value:s(e.data),point:e.data,index:t,pos:d3.event,id:o}),d3.event.stopPropagation()});x.attr("fill",function(e,t){return u[t]}).attr("stroke",function(e,t){return u[t]});var N=T.append("svg:path").each(function(e){this._current=e});d3.transition(x.select("path")).attr("d",E).attrTween("d",k),f&&(T.append("text").attr("transform",function(e){return e.outerRadius=v+10,e.innerRadius=v+15,"translate("+E.centroid(e)+")"}).style("text-anchor","middle").style("fill","#000"),d3.transition(x.select("text")).attr("transform",function(e){return e.outerRadius=v+10,e.innerRadius=v+15,"translate("+E.centroid(e)+")"}).text(function(e,t){var n=(e.endAngle-e.startAngle)/(2*Math.PI);return e.value&&n>l?i(e.data):""}))}),p}var e={top:0,right:0,bottom:0,left:0},t=500,n=500,r=function(e){return e.values},i=function(e){return e.x},s=function(e){return e.y},o=Math.floor(Math.random()*1e4),u=d3.scale.category20().range(),a=d3.format(",.2f"),f=!0,l=.02,c=!1,h=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout");return p.dispatch=h,p.margin=function(t){return arguments.length?(e=t,p):e},p.width=function(e){return arguments.length?(t=e,p):t},p.height=function(e){return arguments.length?(n=e,p):n},p.values=function(e){return arguments.length?(r=e,p):r},p.x=function(e){return arguments.length?(i=e,p):i},p.y=function(e){return arguments.length?(s=d3.functor(e),p):s},p.showLabels=function(e){return arguments.length?(f=e,p):f},p.donut=function(e){return arguments.length?(c=e,p):c},p.id=function(e){return arguments.length?(o=e,p):o},p.color=function(e){return arguments.length?(u=e,p):u},p.valueFormat=function(e){return arguments.length?(a=e,p):a},p.labelThreshold=function(e){return arguments.length?(l=e,p):l},p},e.models.pieChart=function(){function h(s){return s.each(function(u){var p=d3.select(this),d=this,v=(n||parseInt(p.style("width"))||960)-t.left-t.right,m=(r||parseInt(p.style("height"))||400)-t.top-t.bottom,g=p.selectAll("g.wrap.pieChart").data([u]),y=g.enter().append("g").attr("class","wrap nvd3 pieChart").append("g");y.append("g").attr("class","pieWrap"),y.append("g").attr("class","legendWrap");var b=g.select("g");i&&(f.width(v).key(a.x()),g.select(".legendWrap").datum(a.values()(u[0])).call(f),t.top!=f.height()&&(t.top=f.height(),m=(r||parseInt(p.style("height"))||400)-t.top-t.bottom),g.select(".legendWrap").attr("transform","translate(0,"+ -t.top+")")),a.width(v).height(m),b.attr("transform","translate("+t.left+","+t.top+")");var w=b.select(".pieWrap").datum(u);d3.transition(w).call(a),f.dispatch.on("legendClick",function(e,t,n){e.disabled=!e.disabled,a.values()(u[0]).filter(function(e){return!e.disabled}).length||a.values()(u[0]).map(function(e){return e.disabled=!1,g.selectAll(".series").classed("disabled",!1),e}),s.transition().call(h)}),a.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],l.tooltipShow(e)}),o&&l.on("tooltipShow",function(e){c(e)}),a.dispatch.on("elementMouseout.tooltip",function(e){l.tooltipHide(e)}),o&&l.on("tooltipHide",e.tooltip.cleanup),h.update=function(){s.transition().call(h)},h.container=this}),h}var t={top:30,right:20,bottom:20,left:20},n=null,r=null,i=!0,s=d3.scale.category20().range(),o=!0,u=function(e,t,n,r){return"

"+e+"

"+"

"+t+"

"},a=e.models.pie(),f=e.models.legend().height(30),l=d3.dispatch("tooltipShow","tooltipHide"),c=function(t,n){var r=t.pos[0]+(n&&n.offsetLeft||0),i=t.pos[1]+(n&&n.offsetTop||0),s=a.valueFormat()(a.y()(t.point)),o=u(a.x()(t.point),s,t,h);e.tooltip.show([r,i],o,t.value<0?"n":"s")};return h.dispatch=l,h.pie=a,d3.rebind(h,a,"values","x","y","id","showLabels","donut","labelThreshold"),h.margin=function(e){return arguments.length?(t=e,h):t},h.width=function(e){return arguments.length?(n=e,h):n},h.height=function(e){return arguments.length?(r=e,h):r},h.color=function(e){return arguments.length?(s=e,f.color(e),a.color(e),h):s},h.tooltips=function(e){return arguments.length?(o=e,h):o},h.tooltipContent=function(e){return arguments.length?(u=e,h):u},h},e.models.scatter=function(){function k(L){return L.each(function(k){function j(){if(!v)return!1;H.append("g").attr("class","point-paths");var t=d3.merge(k.map(function(e,t){return e.values.map(function(e,n){return[s(a(e,n))*(Math.random()/1e12+1),o(f(e,n))*(Math.random()/1e12+1),t,n]})}));if(g){P.append("clipPath").attr("id","points-clip-"+i);var n=_.select("#points-clip-"+i).selectAll("circle").data(t);n.enter().append("circle").attr("r",y),n.exit().remove(),n.attr("cx",function(e){return e[0]}).attr("cy",function(e){return e[1]}),_.select(".point-paths").attr("clip-path","url(#points-clip-"+i+")")}var r=d3.geom.voronoi(t).map(function(e,n){return{data:e,series:t[n][2],point:t[n][3]}}),u=_.select(".point-paths").selectAll("path").data(r);u.enter().append("path").attr("class",function(e,t){return"path-"+t}),u.exit().remove(),u.attr("d",function(e){return"M"+e.data.join(",")+"Z"}).on("click",function(t){var n=k[t.series],r=n.values[t.point];S.elementClick({point:r,series:n,pos:[s(a(r,t.point))+e.left,o(f(r,t.point))+e.top],seriesIndex:t.series,pointIndex:t.point})}).on("mouseover",function(t){var n=k[t.series],r=n.values[t.point];S.elementMouseover({point:r,series:n,pos:[s(a(r,t.point))+e.left,o(f(r,t.point))+e.top],seriesIndex:t.series,pointIndex:t.point})}).on("mouseout",function(e,t){S.elementMouseout({point:k[e.series].values[e.point],series:k[e.series],seriesIndex:e.series,pointIndex:e.point})}),S.on("elementMouseover.point",function(e){d3.select(".chart-"+i+" .series-"+e.seriesIndex+" .point-"+e.pointIndex).classed("hover",!0)}),S.on("elementMouseout.point",function(e){d3.select(".chart-"+i+" .series-"+e.seriesIndex+" .point-"+e.pointIndex).classed("hover",!1)})}var L=t-e.left-e.right,A=n-e.top-e.bottom,O=d3.select(this);x=x||s,T=T||o,N=N||u,k=k.map(function(e,t){return e.values=e.values.map(function(e){return e.series=t,e}),e});var M=b&&w&&E?[]:k.map(function(e){return e.values.map(function(e,t){return{x:a(e,t),y:f(e,t),size:l(e,t)}})});s.domain(b||d3.extent(d3.merge(M).map(function(e){return e.x}).concat(h))).range([0,L]),o.domain(w||d3.extent(d3.merge(M).map(function(e){return e.y}).concat(p))).range([A,0]),u.domain(E||d3.extent(d3.merge(M).map(function(e){return e.size}).concat(d))).range([16,256]);var _=O.selectAll("g.wrap.scatter").data([k]),D=_.enter().append("g").attr("class","wrap nvd3 scatter chart-"+i),P=D.append("defs"),H=D.append("g"),B=_.select("g");H.append("g").attr("class","groups"),_.attr("transform","translate("+e.left+","+e.top+")"),P.append("clipPath").attr("id","edge-clip-"+i).append("rect"),_.select("#edge-clip-"+i+" rect").attr("width",L).attr("height",A),B.attr("clip-path",m?"url(#edge-clip-"+i+")":"");var F=_.select(".groups").selectAll(".group").data(function(e){return e},function(e){return e.key});F.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6),d3.transition(F.exit()).style("stroke-opacity",1e-6).style("fill-opacity",1e-6).remove(),F.attr("class",function(e,t){return"group series-"+t}).classed("hover",function(e){return e.hover}),d3.transition(F).style("fill",function(e,t){return r[t%r.length]}).style("stroke",function(e,t){return r[t%r.length]}).style("stroke-opacity",1).style("fill-opacity",.5);var I=F.selectAll("path.point").data(function(e){return e.values});I.enter().append("path").attr("transform",function(e,t){return"translate("+x(a(e,t))+","+T(f(e,t))+")"}).attr("d",d3.svg.symbol().type(c).size(function(e,t){return u(l(e,t))})),d3.transition(F.exit().selectAll("path.point")).attr("transform",function(e,t){return"translate("+s(a(e,t))+","+o(f(e,t))+")"}).remove(),I.attr("class",function(e,t){return"point point-"+t}),d3.transition(I).attr("transform",function(e,t){return"translate("+s(a(e,t))+","+o(f(e,t))+")"}).attr("d",d3.svg.symbol().type(c).size(function(e,t){return u(l(e,t))})),clearTimeout(C),C=setTimeout(j,1e3),x=s.copy(),T=o.copy(),N=u.copy()}),k}var e={top:0,right:0,bottom:0,left:0},t=960,n=500,r=d3.scale.category20().range(),i=Math.floor(Math.random()*1e5),s=d3.scale.linear(),o=d3.scale.linear(),u=d3.scale.linear(),a=function(e){return e.x},f=function(e){return e.y},l=function(e){return e.size},c=function(e){return e.shape||"circle"},h=[],p=[],d=[],v=!0,m=!1,g=!0,y=function(){return 25},b,w,E,S=d3.dispatch("elementClick","elementMouseover","elementMouseout"),x,T,N,C;return k.dispatch=S,k.x=function(e){return arguments.length?(a=d3.functor(e),k):a},k.y=function(e){return arguments.length?(f=d3.functor(e),k):f},k.size=function(e){return arguments.length?(l=d3.functor(e),k):l},k.margin=function(t){return arguments.length?(e=t,k):e},k.width=function(e){return arguments.length?(t=e,k):t},k.height=function(e){return arguments.length?(n=e,k):n},k.xScale=function(e){return arguments.length?(s=e,k):s},k.yScale=function(e){return arguments.length?(o=e,k):o},k.zScale=function(e){return arguments.length?(u=e,k):u},k.xDomain=function(e){return arguments.length?(b=e,k):b},k.yDomain=function(e){return arguments.length?(w=e,k):w},k.sizeDomain=function(e){return arguments.length?(E=e,k):E},k.forceX=function(e){return arguments.length?(h=e,k):h},k.forceY=function(e){return arguments.length?(p=e,k):p},k.forceSize=function(e){return arguments.length?(d=e,k):d},k.interactive=function(e){return arguments.length?(v=e,k):v},k.clipEdge=function(e){return arguments.length?(m=e,k):m},k.clipVoronoi=function(e){return arguments.length?(g=e,k):g},k.clipRadius=function(e){return arguments.length?(y=e,k):y},k.color=function(e){return arguments.length?(r=e,k):r},k.shape=function(e){return arguments.length?(c=e,k):c},k.id=function(e){return arguments.length?(i=e,k):i},k},e.models.scatterChart=function(){function A(s){return s.each(function(o){function H(){if(l)return D.select(".point-paths").style("pointer-events","all"),!1;D.select(".background").style("pointer-events","all"),D.select(".point-paths").style("pointer-events","none");var e=d3.mouse(this);v.distortion(f).focus(e[0]),m.distortion(f).focus(e[1]),P.call(g),D.select(".x.axis").call(y),D.select(".y.axis").call(b),D.select(".distributionX").datum(o.filter(function(e){return!e.disabled})).call(S),D.select(".distributionY").datum(o.filter(function(e){return!e.disabled})).call(x)}var h=d3.select(this),p=this,d=(n||parseInt(h.style("width"))||960)-t.left-t.right,O=(r||parseInt(h.style("height"))||400)-t.top-t.bottom;N=N||g.xScale(),C=C||g.yScale();var M=h.selectAll("g.wrap.scatterChart").data([o]),_=M.enter().append("g").attr("class","wrap nvd3 scatterChart chart-"+g.id()).append("g");_.append("rect").attr("class","nvd3 background").attr("width",d).attr("height",O),_.append("g").attr("class","x axis"),_.append("g").attr("class","y axis"),_.append("g").attr("class","scatterWrap"),_.append("g").attr("class","distWrap"),_.append("g").attr("class","legendWrap"),_.append("g").attr("class","controlsWrap");var D=M.select("g");u&&(w.width(d/2),M.select(".legendWrap").datum(o).call(w),t.top!=w.height()&&(t.top=w.height(),O=(r||parseInt(h.style("height"))||400)-t.top-t.bottom),M.select(".legendWrap").attr("transform","translate("+d/2+","+ -t.top+")")),a&&(E.width(180).color(["#444"]),D.select(".controlsWrap").datum(L).attr("transform","translate(0,"+ -t.top+")").call(E)),g.width(d).height(O).color(o.map(function(e,t){return e.color||i[t%i.length]}).filter(function(e,t){return!o[t].disabled})),D.attr("transform","translate("+t.left+","+t.top+")");var P=M.select(".scatterWrap").datum(o.filter(function(e){return!e.disabled}));d3.transition(P).call(g),y.ticks(d/100).tickSize(-O,0),D.select(".x.axis").attr("transform","translate(0,"+m.range()[0]+")"),d3.transition(D.select(".x.axis")).call(y),b.ticks(O/36).tickSize(-d,0),d3.transition(D.select(".y.axis")).call(b),S.width(d).color(o.map(function(e,t){return e.color||i[t%i.length]}).filter(function(e,t){return!o[t].disabled})),_.select(".distWrap").append("g").attr("class","distributionX").attr("transform","translate(0,"+m.range()[0]+")"),D.select(".distributionX").datum(o.filter(function(e){return!e.disabled})).call(S),x.width(O).color(o.map(function(e,t){return e.color||i[t%i.length]}).filter(function(e,t){return!o[t].disabled})),_.select(".distWrap").append("g").attr("class","distributionY").attr("transform","translate(-"+x.size()+",0)"),D.select(".distributionY").datum(o.filter(function(e){return!e.disabled})).call(x),D.select(".background").on("mousemove",H),D.select(".background").on("click",function(){l=!l}),E.dispatch.on("legendClick",function(e,t){e.disabled=!e.disabled,f=e.disabled?0:2.5,D.select(".background").style("pointer-events",e.disabled?"none":"all"),D.select(".point-paths").style("pointer-events",e.disabled?"all":"none"),e.disabled?(v.distortion(f).focus(0),m.distortion(f).focus(0),P.call(g),D.select(".x.axis").call(y),D.select(".y.axis").call(b)):l=!1,s.transition().call(A)}),w.dispatch.on("legendClick",function(e,t,n){e.disabled=!e.disabled,o.filter(function(e){return!e.disabled}).length||o.map(function(e){return e.disabled=!1,M.selectAll(".series").classed("disabled",!1),e}),s.transition().call(A)}),g.dispatch.on("elementMouseover.tooltip",function(e){d3.select(".chart-"+g.id()+" .series-"+e.seriesIndex+" .distx-"+e.pointIndex).attr("y1",e.pos[1]-O),d3.select(".chart-"+g.id()+" .series-"+e.seriesIndex+" .disty-"+e.pointIndex).attr("x2",e.pos[0]+S.size()),e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],T.tooltipShow(e)}),c&&T.on("tooltipShow",function(e){k(e,p.parentNode)}),g.dispatch.on("elementMouseout.tooltip",function(e){T.tooltipHide(e),d3.select(".chart-"+g.id()+" .series-"+e.seriesIndex+" .distx-"+e.pointIndex).attr("y1",0),d3.select(".chart-"+g.id()+" .series-"+e.seriesIndex+" .disty-"+e.pointIndex).attr("x2",x.size())}),c&&T.on("tooltipHide",e.tooltip.cleanup),N=v.copy(),C=m.copy(),A.update=function(){s.transition().call(A)},A.container=this}),A}var t={top:30,right:20,bottom:50,left:60},n=null,r=null,i=d3.scale.category20().range(),s=!1,o=!1,u=!0,a=!0,f=0,l=!1,c=!0,h=function(e,t,n){return""+t+""},p=function(e,t,n){return""+n+""},d=function(e,t,n,r,i){return"

"+e+"

"+"

"+n+" at "+t+"

"},v=d3.fisheye.scale(d3.scale.linear).distortion(0),m=d3.fisheye.scale(d3.scale.linear).distortion(0),g=e.models.scatter().xScale(v).yScale(m),y=e.models.axis().orient("bottom").scale(v).tickPadding(10),b=e.models.axis().orient("left").scale(m).tickPadding(10),w=e.models.legend().height(30),E=e.models.legend().height(30),S=e.models.distribution().axis("x").scale(v),x=e.models.distribution().axis("y").scale(m),T=d3.dispatch("tooltipShow","tooltipHide"),N,C,k=function(n,r){var i=n.pos[0]+(r.offsetLeft||0),s=m.range()[0]+t.top+(r.offsetTop||0),o=v.range()[0]+t.left+(r.offsetLeft||0),u=n.pos[1]+(r.offsetTop||0),a=y.tickFormat()(g.x()(n.point)),f=b.tickFormat()(g.y()(n.point)),l=h(n.series.key,a,f,n,A),c=p(n.series.key,a,f,n,A);e.tooltip.show([i,s],l,"n",1),e.tooltip.show([o,u],c,"e",1)},L=[{key:"Magnify",disabled:!0}];return A.dispatch=T,A.legend=w,A.xAxis=y,A.yAxis=b,d3.rebind(A,g,"interactive","shape","size","xScale","yScale","zScale","xDomain","yDomain","sizeDomain","forceX","forceY","forceSize","clipVoronoi","clipRadius","fisheye","fisheyeRadius"),A.margin=function(e){return arguments.length?(t=e,A):t},A.width=function(e){return arguments.length?(n=e,A):n},A.height=function(e){return arguments.length?(r=e,A):r},A.color=function(e){return arguments.length?(i=e,w.color(e),S.color(e),x.color(e),A):i},A.showDistX=function(e){return arguments.length?(s=e,A):s},A.showDistY=function(e){return arguments.length?(o=e,A):o},A.showControls=function(e){return arguments.length?(a=e,A):a},A.showLegend=function(e){return arguments.length?(u=e,A):u},A.fisheye=function(e){return arguments.length?(f=e,A):f},A.tooltips=function(e){return arguments.length?(c=e,A):c},A.tooltipContent=function(e){return arguments.length?(d=e,A):d},A},e.models.sparkline=function(){function c(r){return r.each(function(r){var c=t-e.left-e.right,h=n-e.top-e.bottom;f.domain(u||d3.extent(r,i)).range([0,c]),l.domain(a||d3.extent(r,s)).range([h,0]);var p=d3.select(this).selectAll("g.sparkline").data([r]),d=p.enter().append("g").attr("class","nvd3 sparkline");d.attr("transform","translate("+e.left+","+e.top+")").style("stroke",function(e,t){return e.color||o[t*o.length]});var v=d.selectAll("path").data(function(e){return[e]});v.enter().append("path"),v.exit().remove(),v.attr("d",d3.svg.line().x(function(e,t){return f(i(e,t))}).y(function(e,t){return l(s(e,t))}));var m=d.selectAll("circle.point").data(function(e){return e.filter(function(e,t){return l.domain().indexOf(s(e,t))!=-1||i(e,t)==f.domain()[1]})});m.enter().append("circle").attr("class","point"),m.exit().remove(),m.attr("cx",function(e,t){return f(i(e,t))}).attr("cy",function(e,t){return l(s(e,t))}).attr("r",2).style("stroke",function(e,t){return e.x==f.domain()[1]?"#444":e.y==l.domain()[0]?"#d62728":"#2ca02c"}).style("fill",function(e,t){return e.x==f.domain()[1]?"#444":e.y==l.domain()[0]?"#d62728":"#2ca02c"})}),c}var e={top:0,right:0,bottom:0,left:0},t=400,n=32,r=!0,i=function(e){return e.x},s=function(e){return e.y},o=d3.scale.category20().range(),u,a,f=d3.scale.linear(),l=d3.scale.linear();return c.margin=function(t){return arguments.length?(e=t,c):e},c.width=function(e){return arguments.length?(t=e,c):t},c.height=function(e){return arguments.length?(n=e,c):n},c.x=function(e){return arguments.length?(i=d3.functor(e),c):i},c.y=function(e){return arguments.length?(s=d3.functor(e),c):s},c.xDomain=function(e){return arguments.length?(u=e,c):u},c.yDomain=function(e){return arguments.length?(a=e,c):a},c.animate=function(e){return arguments.length?(r=e,c):r},c},e.models.sparklinePlus=function(){function d(e){return e.each(function(e){function T(){var n=d3.event.offsetX-t.left;w.attr("x1",n).attr("x2",n),E.attr("transform",function(e){return"translate("+(n-6)+","+ -t.top+")"}).text(f(Math.round(c.invert(n)))),S.attr("transform",function(e){return"translate("+(n+6)+","+ -t.top+")"}).text(l(o(e[Math.round(c.invert(n))])))}var i=n-t.left-t.right,a=r-t.top-t.bottom;c.domain(d3.extent(e,s)).range([0,i]),h.domain(d3.extent(e,o)).range([a,0]);var d=d3.select(this).selectAll("g.sparklineplus").data([e]),v=d.enter().append("g"),m=v.append("g").attr("class","nvd3 sparklineplus").attr("transform","translate("+t.left+","+t.top+")").style("stroke",function(e,t){return e.color||u[t%u.length]});p.xDomain(c.domain()).yDomain(h.domain()),m.call(p);var g=m.append("g").attr("class","hoverValue"),b=m.append("g").attr("class","hoverArea");g.attr("transform",function(e){return"translate("+c(e)+",0)"});var w=g.append("line").attr("x1",c.range()[1]).attr("y1",-t.top).attr("x2",c.range()[1]).attr("y2",r),E=g.append("text").attr("class","xValue").attr("text-anchor","end").attr("dy",".9em"),S=g.append("text").attr("class","yValue").attr("text-anchor","start").attr("dy",".9em");b.append("rect").attr("width",i).attr("height",a).on("mousemove",T)}),d}var t={top:15,right:40,bottom:3,left:40},n=400,r=50,i=!0,s=function(e){return e.x},o=function(e){return e.y},u=d3.scale.category20().range(),a=Math.floor(Math.random()*1e5),f=d3.format(",r"),l=d3.format(",.2f"),c=d3.scale.linear(),h=d3.scale.linear(),p=e.models.sparkline();return d.margin=function(e){return arguments.length?(t=e,d):t},d.width=function(e){return arguments.length?(n=e,p.width(e-t.left-t.right),d):n},d.height=function(e){return arguments.length?(r=e,p.height(e-t.top-t.bottom),d):r},d.x=function(e){return arguments.length?(s=d3.functor(e),p.x(e),d):s},d.y=function(e){return arguments.length?(o=d3.functor(e),p.y(e),d):o},d.id=function(e){return arguments.length?(a=e,d):a},d.animate=function(e){return arguments.length?(i=e,d):i},d},e.models.stackedArea=function(){function g(e){return e.each(function(e){var a=n-t.left-t.right,h=r-t.top-t.bottom;e=e.map(function(e,t){return e.values=e.values.map(function(t,n){return t.index=n,t.stackedY=e.disabled?0:u(t,n),t}),e}),e=d3.layout.stack().order(l).offset(f).values(function(e){return e.values}).x(o).y(function(e){return e.stackedY}).out(function(e,t,n){e.display={y:n,y0:t}})(e);var g=d3.select(this).selectAll("g.wrap.stackedarea").data([e]),b=g.enter().append("g").attr("class","wrap nvd3 stackedarea"),w=b.append("defs"),E=b.append("g"),S=g.select("g");E.append("g").attr("class","areaWrap"),p.width(a).height(h).x(o).y(function(e){return e.display.y+e.display.y0}).forceY([0]).color(e.map(function(e,t){return e.color||i[t%i.length]}).filter(function(t,n){return!e[n].disabled})),E.append("g").attr("class","scatterWrap");var T=S.select(".scatterWrap").datum(e.filter(function(e){return!e.disabled}));d3.transition(T).call(p),g.attr("transform","translate("+t.left+","+t.top+")"),w.append("clipPath").attr("id","edge-clip-"+s).append("rect"),g.select("#edge-clip-"+s+" rect").attr("width",a).attr("height",h),S.attr("clip-path",c?"url(#edge-clip-"+s+")":"");var N=d3.svg.area().x(function(e,t){return d(o(e,t))}).y0(function(e){return v(e.display.y0)}).y1(function(e){return v(e.display.y+e.display.y0)}),C=d3.svg.area().x(function(e,t){return d(o(e,t))}).y0(function(e){return v(e.display.y0)}).y1(function(e){return v(e.display.y0)}),k=S.select(".areaWrap").selectAll("path.area").data(function(e){return e});k.enter().append("path").attr("class",function(e,t){return"area area-"+t}).on("mouseover",function(e,t){d3.select(this).classed("hover",!0),m.areaMouseover({point:e,series:e.key,pos:[d3.event.pageX,d3.event.pageY],seriesIndex:t})}).on("mouseout",function(e,t){d3.select(this).classed("hover",!1),m.areaMouseout({point:e,series:e.key,pos:[d3.event.pageX,d3.event.pageY],seriesIndex:t})}).on("click",function(e,t){d3.select(this).classed("hover",!1),m.areaClick({point:e,series:e.key,pos:[d3.event.pageX,d3.event.pageY],seriesIndex:t})}),d3.transition(k.exit()).attr("d",function(e,t){return C(e.values,t)}).remove(),k.style("fill",function(e,t){return e.color||i[t%i.length]}).style("stroke",function(e,t){return e.color||i[t%i.length]}),d3.transition(k).attr("d",function(e,t){return N(e.values,t)}),p.dispatch.on("elementClick.area",function(e){m.areaClick(e)}),p.dispatch.on("elementMouseover.area",function(e){S.select(".area-"+e.seriesIndex).classed("hover",!0)}),p.dispatch.on("elementMouseout.area",function(e){S.select(".area-"+e.seriesIndex).classed("hover",!1)})}),g}var t={top:0,right:0,bottom:0,left:0},n=960,r=500,i=d3.scale.category20().range(),s=Math.floor(Math.random()*1e5),o=function(e){return e.x},u=function(e){return e.y},a="stack",f="zero",l="default",c=!1,h=d3.layout.stack().values(function(e){return e.values}).x(o).y(function(e){return e.stackedY}).out(function(e,t,n){e.display={y:n,y0:t}}),p=e.models.scatter().size(2.2).sizeDomain([2.5]),d=p.xScale(),v=p.yScale(),m=d3.dispatch("tooltipShow","tooltipHide","areaClick","areaMouseover","areaMouseout");return g.dispatch=m,g.scatter=p,d3.rebind(g,p,"interactive","size","xScale","yScale","zScale","xDomain","yDomain","sizeDomain","forceX","forceY","forceSize","clipVoronoi","clipRadius"),g.x=function(e){return arguments.length?(o=d3.functor(e),g):o},g.y=function(e){return arguments.length?(u=d3.functor(e),g):u},g.margin=function(e){return arguments.length?(t=e,g):t},g.width=function(e){return arguments.length?(n=e,g):n},g.height=function(e){return arguments.length?(r=e,g):r},g.clipEdge=function(e){return arguments.length?(c=e,g):c},g.color=function(e){return arguments.length?(i=e,g):i},g.offset=function(e){return arguments.length?(f=e,g):f},g.order=function(e){return arguments.length?(l=e,g):l},g.style=function(e){if(!arguments.length)return a;a=e;switch(a){case"stack":g.offset("zero"),g.order("default");break;case"stream":g.offset("wiggle"),g.order("inside-out");break;case"expand":g.offset("expand"),g.order("default")}return g},p.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],m.tooltipShow(e)}),p.dispatch.on("elementMouseout.tooltip",function(e){m.tooltipHide(e)}),g},e.models.stackedAreaChart=function(){function b(i){return i.each(function(a){var l=d3.select(this),c=this,w=(n||parseInt(l.style("width"))||960)-t.left-t.right,E=(r||parseInt(l.style("height"))||400)-t.top-t.bottom,S=l.selectAll("g.wrap.stackedAreaChart").data([a]),x=S.enter().append("g").attr("class","wrap nvd3 stackedAreaChart").append("g");x.append("g").attr("class","x axis"),x.append("g").attr("class","y axis"),x.append("g").attr("class","stackedWrap"),x.append("g").attr("class","legendWrap"),x.append("g").attr("class","controlsWrap");var T=S.select("g");o&&(d.width(w/2),T.select(".legendWrap").datum(a).call(d),t.top!=d.height()&&(t.top=d.height(),E=(r||parseInt(l.style("height"))||400)-t.top-t.bottom),T.select(".legendWrap").attr("transform","translate("+(w/2-t.left)+","+ -t.top+")")),f.width(w).height(E),s&&(v.width(280).color(["#444","#444","#444"]),T.select(".controlsWrap").datum(g).attr("transform","translate(0,"+ -t.top+")").call(v)),T.attr("transform","translate("+t.left+","+t.top+")");var N=T.select(".stackedWrap").datum(a);d3.transition(N).call(f),h.ticks(w/100).tickSize(-E,0),T.select(".x.axis").attr("transform","translate(0,"+E+")"),d3.transition(T.select(".x.axis")).call(h),p.ticks(f.offset()=="wiggle"?0:E/36).tickSize(-w,0).tickFormat(f.offset()=="expand"?d3.format("%"):d3.format(",.2f")),d3.transition(T.select(".y.axis")).call(p),f.dispatch.on("areaClick.toggle",function(e){a.filter(function(e){return!e.disabled}).length===1?a=a.map(function(e){return e.disabled=!1,e}):a=a.map(function(t,n){return t.disabled=n!=e.seriesIndex,t}),i.transition().call(b)}),d.dispatch.on("legendClick",function(e,t){e.disabled=!e.disabled,a.filter(function(e){return!e.disabled}).length||a.map(function(e){return e.disabled=!1,e}),i.transition().call(b)}),v.dispatch.on("legendClick",function(e,t){if(!e.disabled)return;g=g.map(function(e){return e.disabled=!0,e}),e.disabled=!1;switch(e.key){case"Stacked":f.style("stack");break;case"Stream":f.style("stream");break;case"Expanded":f.style("expand")}i.transition().call(b)}),f.dispatch.on("tooltipShow",function(e){if(!Math.round(f.y()(e.point)*100))return setTimeout(function(){d3.selectAll(".point.hover").classed("hover",!1)},0),!1;e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],m.tooltipShow(e)}),u&&m.on("tooltipShow",function(e){y(e,c.parentNode)}),f.dispatch.on("tooltipHide",function(e){m.tooltipHide(e)}),u&&m.on("tooltipHide",e.tooltip.cleanup),b.update=function(){i.transition().call(b)},b.container=this}),b}var t={top:30,right:25,bottom:50,left:60},n=null,r=null,i=d3.scale.category20().range(),s=!0,o=!0,u=!0,a=function(e,t,n,r,i){return"

"+e+"

"+"

"+n+" on "+t+"

"},f=e.models.stackedArea(),l=f.xScale(),c=f.yScale(),h=e.models.axis().scale(l).orient("bottom").tickPadding(5),p=e.models.axis().scale(c).orient("left"),d=e.models.legend().height(30),v=e.models.legend().height(30),m=d3.dispatch("tooltipShow","tooltipHide"),g=[{key:"Stacked"},{key:"Stream",disabled:!0},{key:"Expanded",disabled:!0}],y=function(t,n){var r=t.pos[0]+(n.offsetLeft||0),i=t.pos[1]+(n.offsetTop||0),s=h.tickFormat()(f.x()(t.point)),o=p.tickFormat()(f.y()(t.point)),u=a(t.series.key,s,o,t,b);e.tooltip.show([r,i],u,t.value<0?"n":"s")};return b.dispatch=m,b.stacked=f,b.xAxis=h,b.yAxis=p,d3.rebind(b,f,"x","y","interactive","offset","order","style","clipEdge","size","forceX","forceY","forceSize"),b.margin=function(e){return arguments.length?(t=e,b):t},b.width=function(e){return arguments.length?(n=e,b):getWidth},b.height=function(e){return arguments.length?(r=e,b):getHeight},b.color=function(e){return arguments.length?(i=e,d.color(e),b):i},b.showControls=function(e){return arguments.length?(s=e,b):s},b.showLegend=function(e){return arguments +.length?(o=e,b):o},b.tooltips=function(e){return arguments.length?(u=e,b):u},b.tooltipContent=function(e){return arguments.length?(a=e,b):a},b}})(); \ No newline at end of file