diff --git a/nv.d3.js b/nv.d3.js index c094862..2ce0967 100644 --- a/nv.d3.js +++ b/nv.d3.js @@ -6354,6 +6354,7 @@ nv.models.pie = function() { color = nv.utils.defaultColor(), valueFormat = d3.format(',.2f'), showLabels = true, + donutLabelsOutside = false, labelThreshold = .02, //if slice percentage is under this, don't show label donut = false; @@ -6467,27 +6468,60 @@ nv.models.pie = function() { if (showLabels) { // This does the normal label - ae.append('text') + var labelsArc = arc; + if (donutLabelsOutside) { + labelsArc = d3.svg.arc().outerRadius(arc.outerRadius()) + } + + ae.append("g").classed("nv-label", true) + .each(function(d, i) { + var group = d3.select(this); + + group + .attr('transform', function(d) { + d.outerRadius = radius + 10; // Set Outer Coordinate + d.innerRadius = radius + 15; // Set Inner Coordinate + return 'translate(' + labelsArc.centroid(d) + ')' + }); + + group.append('rect') + .style('stroke', '#fff') + .style('fill', '#fff') + .attr("rx", 3) + .attr("ry", 3); + + group.append('text') + .style('text-anchor', 'middle') //center the text on it's origin + .style('fill', '#000') + + + }); + + slices.select(".nv-label").transition() .attr('transform', function(d) { - d.outerRadius = radius + 10; // Set Outer Coordinate - d.innerRadius = radius + 15; // Set Inner Coordinate - return 'translate(' + arc.centroid(d) + ')'; - }) - .style('text-anchor', 'middle') //center the text on it's origin - .style('fill', '#000'); - - d3.transition(slices.select('text')) - //.ease('bounce') - .attr('transform', function(d) { - d.outerRadius = radius + 10; // Set Outer Coordinate - d.innerRadius = radius + 15; // Set Inner Coordinate - return 'translate(' + arc.centroid(d) + ')'; - }) - //.style('font', 'bold 12px Arial') // font style's should be set in css! - .text(function(d, i) { - var percent = (d.endAngle - d.startAngle) / (2 * Math.PI); - return (d.value && percent > labelThreshold) ? getX(d.data) : ''; + d.outerRadius = radius + 10; // Set Outer Coordinate + d.innerRadius = radius + 15; // Set Inner Coordinate + return 'translate(' + labelsArc.centroid(d) + ')'; + }); + + slices.each(function(d, i) { + var slice = d3.select(this) + + slice + .select(".nv-label text") + .text(function(d, i) { + var percent = (d.endAngle - d.startAngle) / (2 * Math.PI); + return (d.value && percent > labelThreshold) ? getX(d.data) : ''; + }); + + var textBox = $(this).find("text")[0].getBBox() + slice.select(".nv-label rect") + .attr("width", textBox.width + 10) + .attr("height", textBox.height + 10) + .attr("transform", function() { + return "translate(" + [textBox.x - 5, textBox.y - 5] + ")"; }); + }); } @@ -6564,6 +6598,12 @@ nv.models.pie = function() { return chart; }; + chart.donutLabelsOutside = function(_) { + if (!arguments.length) return donutLabelsOutside; + donutLabelsOutside = _; + return chart; + }; + chart.donut = function(_) { if (!arguments.length) return donut; donut = _; @@ -6747,7 +6787,7 @@ nv.models.pieChart = function() { chart.dispatch = dispatch; chart.pie = pie; // really just makign the accessible for discretebar.dispatch, may rethink slightly - d3.rebind(chart, pie, 'valueFormat', 'values', 'x', 'y', 'id', 'showLabels', 'donut', 'labelThreshold'); + d3.rebind(chart, pie, 'valueFormat', 'values', 'x', 'y', 'id', 'showLabels', 'donutLabelsOutside', 'donut', 'labelThreshold'); chart.margin = function(_) { diff --git a/nv.d3.min.js b/nv.d3.min.js index e2dc016..bc74fbf 100644 --- a/nv.d3.min.js +++ b/nv.d3.min.js @@ -1,4 +1,4 @@ (function(){function t(e,t){return(new Date(t,e+1,0)).getDate()}function n(e,t,n){return function(r,i,s){var o=e(r),u=[];o1)while(op+h&&(m=p-f-5);break;case"w":v=t[0]+i,m=t[1]-f/2,v+l>c&&(v=t[0]-l-i),mp+h&&(m=p-f-5);break;case"n":v=t[0]-l/2,m=t[1]+i,vc&&(v=c-l-5),m+f>p+h&&(m=t[1]-f-i);break;case"s":v=t[0]-l/2,m=t[1]-f-i,vc&&(v=c-l-5),p>m&&(m=t[1]+20)}return u.style.left=v+"px",u.style.top=m+"px",u.style.opacity=1,u.style.position="absolute",u.style.pointerEvents="none",u},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.utils.getColor=function(e){return Object.prototype.toString.call(e)==="[object Array]"?function(t,n){return t.color||e[n%e.length]}:e},e.utils.defaultColor=function(){var e=d3.scale.category20().range();return function(t,n){return e[n%e.length]}},e.models.axis=function(){function f(t){return t.each(function(t){var f=d3.select(this),l=f.selectAll("g.nv-wrap.nv-axis").data([t]),c=l.enter().append("g").attr("class","nvd3 nv-wrap nv-axis"),h=c.append("g"),p=l.select("g");(u.orient()=="top"||u.orient()=="bottom")&&u.ticks(Math.abs(n.range()[1]-n.range()[0])/100),d3.transition(p).call(u),a=a||u.scale();var d=p.selectAll("text.nv-axislabel").data([r||null]);d.exit().remove();switch(u.orient()){case"top":d.enter().append("text").attr("class","nv-axislabel").attr("text-anchor","middle").attr("y",0);var v=n.range().length==2?n.range()[1]:n.range()[n.range().length-1]+(n.range()[1]-n.range()[0]);d.attr("x",v/2);if(i){var m=l.selectAll("g.nv-axisMaxMin").data(n.domain());m.enter().append("g").attr("class","nv-axisMaxMin").append("text"),m.exit().remove(),m.attr("transform",function(e,t){return"translate("+n(e)+",0)"}).select("text").attr("dy","0em").attr("y",-u.tickPadding()).attr("text-anchor","middle").text(function(e,t){return(""+u.tickFormat()(e)).match("NaN")?"":u.tickFormat()(e)}),d3.transition(m).attr("transform",function(e,t){return"translate("+n.range()[t]+",0)"})}break;case"bottom":d.enter().append("text").attr("class","nv-axislabel").attr("text-anchor","middle").attr("y",30);var v=n.range().length==2?n.range()[1]:n.range()[n.range().length-1]+(n.range()[1]-n.range()[0]);d.attr("x",v/2);if(i){var m=l.selectAll("g.nv-axisMaxMin").data(n.domain());m.enter().append("g").attr("class","nv-axisMaxMin").append("text"),m.exit().remove(),m.attr("transform",function(e,t){return"translate("+n(e)+",0)"}).select("text").attr("dy",".71em").attr("y",u.tickPadding()).attr("text-anchor","middle").text(function(e,t){return(""+u.tickFormat()(e)).match("NaN")?"":u.tickFormat()(e)}),d3.transition(m).attr("transform",function(e,t){return"translate("+n.range()[t]+",0)"})}break;case"right":d.enter().append("text").attr("class","nv-axislabel").attr("text-anchor",o?"middle":"begin").attr("transform",o?"rotate(90)":"").attr("y",o?-Math.max(margin.right,e)-12:-10),d.attr("x",o?n.range()[0]/2:u.tickPadding());if(i){var m=l.selectAll("g.nv-axisMaxMin").data(n.domain());m.enter().append("g").attr("class","nv-axisMaxMin").append("text").style("opacity",0),m.exit().remove(),m.attr("transform",function(e,t){return"translate(0,"+n(e)+")"}).select("text").attr("dy",".32em").attr("y",0).attr("x",u.tickPadding()).attr("text-anchor","start").text(function(e,t){return(""+u.tickFormat()(e)).match("NaN")?"":u.tickFormat()(e)}),d3.transition(m).attr("transform",function(e,t){return"translate(0,"+n.range()[t]+")"}).select("text").style("opacity",1)}break;case"left":d.enter().append("text").attr("class","nv-axislabel").attr("text-anchor",o?"middle":"end").attr("transform",o?"rotate(-90)":"").attr("y",o?-Math.max(margin.left,e)+12:-10),d.attr("x",o?-n.range()[0]/2:-u.tickPadding());if(i){var m=l.selectAll("g.nv-axisMaxMin").data(n.domain());m.enter().append("g").attr("class","nv-axisMaxMin").append("text").style("opacity",0),m.exit().remove(),m.attr("transform",function(e,t){return"translate(0,"+a(e)+")"}).select("text").attr("dy",".32em").attr("y",0).attr("x",-u.tickPadding()).attr("text-anchor","end").text(function(e,t){return(""+u.tickFormat()(e)).match("NaN")?"":u.tickFormat()(e)}),d3.transition(m).attr("transform",function(e,t){return"translate(0,"+n.range()[t]+")"}).select("text").style("opacity",1)}}d.text(function(e){return e}),i&&(u.orient()==="left"||u.orient()==="right")&&p.selectAll("g").each(function(e,t){if(n(e)n.range()[0]-10)e>1e-10||e<-1e-10?d3.select(this).remove():d3.select(this).select("text").remove()});if(i&&(u.orient()==="top"||u.orient()==="bottom")){var g=[];l.selectAll("g.nv-axisMaxMin").each(function(e,t){t?g.push(n(e)-this.getBBox().width-4):g.push(n(e)+this.getBBox().width+4)}),p.selectAll("g").each(function(e,t){if(n(e)g[1])e>1e-10||e<-1e-10?d3.select(this).remove():d3.select(this).select("text").remove()})}s&&p.selectAll("line.tick").filter(function(e){return!parseFloat(Math.round(e*1e5)/1e6)}).classed("zero",!0),a=n.copy()}),f}var e=60,t=60,n=d3.scale.linear(),r=null,i=!0,s=!0,o=!0;margin={top:0,right:0,bottom:0,left:0};var u=d3.svg.axis().scale(n).orient("bottom").tickFormat(function(e){return e}),a;return d3.rebind(f,u,"orient","ticks","tickValues","tickSubdivide","tickSize","tickPadding","tickFormat"),d3.rebind(f,n,"domain","range","rangeBand","rangeBands"),f.width=function(t){return arguments.length?(e=t,f):e},f.height=function(e){return arguments.length?(t=e,f):t},f.axisLabel=function(e){return arguments.length?(r=e,f):r},f.showMaxMin=function(e){return arguments.length?(i=e,f):i},f.highlightZero=function(e){return arguments.length?(s=e,f):s},f.scale=function(e){return arguments.length?(n=e,u.scale(n),d3.rebind(f,n,"domain","range","rangeBand","rangeBands"),f):n},f.rotateYLabel=function(e){return arguments.length?(o=e,f):o},f.margin=function(e){return arguments.length?(margin=e,f):margin},f},e.models.historicalBar=function(){function y(e){return e.each(function(e){var v=n-t.left-t.right,m=r-t.top-t.bottom;p.domain(c||d3.extent(e[0].values.map(s).concat(u))).range([0,v]),d.domain(h||d3.extent(e[0].values.map(o).concat(a))).range([m,0]);if(p.domain()[0]===p.domain()[1]||d.domain()[0]===d.domain()[1])singlePoint=!0;p.domain()[0]===p.domain()[1]&&(p.domain()[0]?p.domain([p.domain()[0]-p.domain()[0]*.01,p.domain()[1]+p.domain()[1]*.01]):p.domain([-1,1])),d.domain()[0]===d.domain()[1]&&(d.domain()[0]?d.domain([d.domain()[0]+d.domain()[0]*.01,d.domain()[1]-d.domain()[1]*.01]):d.domain([-1,1]));var y=d3.select(this).on("click",function(e,t){g.chartClick({data:e,index:t,pos:d3.event,id:i})}),b=d3.select(this).selectAll("g.nv-wrap.nv-bar").data([e[0].values]),w=b.enter().append("g").attr("class","nvd3 nv-wrap nv-bar"),E=w.append("g");E.append("g").attr("class","nv-bars"),b.attr("width",n).attr("height",r);var S=b.select("g").attr("transform","translate("+t.left+","+t.top+")");w.append("defs").append("clipPath").attr("id","nv-chart-clip-path-"+i).append("rect"),b.select("#nv-chart-clip-path-"+i+" rect").attr("width",v).attr("height",m),E.attr("clip-path",f?"url(#nv-chart-clip-path-"+i+")":"");var T=E.append("g").attr("class","nv-shiftWrap"),N=b.select(".nv-bars").selectAll(".nv-bar").data(function(e){return e});N.exit().remove();var C=N.enter().append("rect").attr("class",function(e,t,n){return(o(e,t)<0?"nv-bar negative":"nv-bar positive")+" nv-bar-"+n+"-"+t}).attr("fill",function(e,t){return l(e,t)}).attr("x",0).attr("y",function(e,t){return d(Math.max(0,o(e,t)))}).attr("height",function(e,t){return Math.abs(d(o(e,t))-d(0))}).on("mouseover",function(t,n){d3.select(this).classed("hover",!0),g.elementMouseover({point:t,series:e[0],pos:[p(s(t,n)),d(o(t,n))],pointIndex:n,seriesIndex:0,e:d3.event})}).on("mouseout",function(t,n){d3.select(this).classed("hover",!1),g.elementMouseout({point:t,series:e[0],pointIndex:n,seriesIndex:0,e:d3.event})}).on("click",function(e,t){g.elementClick({value:o(e,t),data:e,index:t,pos:[p(s(e,t)),d(o(e,t))],e:d3.event,id:i}),d3.event.stopPropagation()}).on("dblclick",function(e,t){g.elementDblClick({value:o(e,t),data:e,index:t,pos:[p(s(e,t)),d(o(e,t))],e:d3.event,id:i}),d3.event.stopPropagation()});N.attr("class",function(e,t,n){return(o(e,t)<0?"nv-bar negative":"nv-bar positive")+" nv-bar-"+n+"-"+t}).attr("transform",function(t,n){return"translate("+(p(s(t,n))-v/e[0].values.length*.5)+",0)"}).attr("width",v/e[0].values.length*.9),d3.transition(N).attr("y",function(e,t){return d(Math.max(0,o(e,t)))}).attr("height",function(e,t){return Math.abs(d(o(e,t))-d(0))})}),y}var t={top:0,right:0,bottom:0,left:0},n=960,r=500,i=Math.floor(Math.random()*1e4),s=function(e){return e.x},o=function(e){return e.y},u=[],a=[],f=!0,l=e.utils.defaultColor(),c,h,p=d3.scale.linear(),d=d3.scale.linear(),v=d3.svg.axis().scale(p).orient("bottom"),m=d3.svg.axis().scale(d).orient("left"),g=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout");return y.dispatch=g,y.x=function(e){return arguments.length?(s=e,y):s},y.y=function(e){return arguments.length?(o=e,y):o},y.margin=function(e){return arguments.length?(t=e,y):t},y.width=function(e){return arguments.length?(n=e,y):n},y.height=function(e){return arguments.length?(r=e,y):r},y.xScale=function(e){return arguments.length?(p=e,y):p},y.yScale=function(e){return arguments.length?(d=e,y):d},y.xDomain=function(e){return arguments.length?(c=e,y):c},y.yDomain=function(e){return arguments.length?(h=e,y):h},y.forceX=function(e){return arguments.length?(u=e,y):u},y.forceY=function(e){return arguments.length?(a=e,y):a},y.clipEdge=function(e){return arguments.length?(f=e,y):f},y.color=function(t){return arguments.length?(l=e.utils.getColor(t),y):l},y.id=function(e){return arguments.length?(i=e,y):i},y},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.nv-wrap.nv-bullet").data([e]),m=v.enter().append("g").attr("class","nvd3 nv-wrap nv-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.nv-range").data(h);x.enter().append("rect").attr("class",function(e,t){return"nv-range nv-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.nv-measure").data(d);T.enter().append("rect").attr("class",function(e,t){return"nv-measure nv-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.nv-markerTriangle").data(p),C=c/6;N.enter().append("path").attr("class","nv-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 m(t){t.each(function(t,c){var g=d3.select(this),y=(u||parseInt(g.style("width"))||960)-r.left-r.right,b=a-r.top-r.bottom,w=this;if(!data||!data.length||!data.filter(function(e){return e.values.length}).length)return g.append("text").attr("class","nvd3 nv-noData").attr("x",y/2).attr("y",b/2).attr("dy","-.7em").style("text-anchor","middle").text(h),m;g.select(".nv-noData").remove();var E=i.call(this,t,c).slice().sort(d3.descending),S=s.call(this,t,c).slice().sort(d3.descending),x=o.call(this,t,c).slice().sort(d3.descending),T=g.selectAll("g.nv-wrap.nv-bulletChart").data([t]),N=T.enter().append("g").attr("class","nvd3 nv-wrap nv-bulletChart"),C=N.append("g");C.append("g").attr("class","nv-bulletWrap"),C.append("g").attr("class","nv-titles");var k=T.select("g");T.attr("transform","translate("+r.left+","+r.top+")");var L=d3.scale.linear().domain([0,Math.max(E[0],S[0],x[0])]).range(n?[y,0]:[0,y]),A=this.__chart__||d3.scale.linear().domain([0,Infinity]).range(L.range());this.__chart__=L;var O=function(e){return Math.abs(A(e)-A(0))},M=function(e){return Math.abs(L(e)-L(0))},_=k.select(".nv-titles").append("g").attr("text-anchor","end").attr("transform","translate(-6,"+(a-r.top-r.bottom)/2+")");_.append("text").attr("class","nv-title").text(function(e){return e.title}),_.append("text").attr("class","nv-subtitle").attr("dy","1em").text(function(e){return e.subtitle}),d.width(y).height(b);var D=k.select(".nv-bulletWrap");d3.transition(D).call(d);var P=f||L.tickFormat(8),H=k.selectAll("g.nv-tick").data(L.ticks(8),function(e){return this.textContent||P(e)}),B=H.enter().append("g").attr("class","nv-tick").attr("transform",function(e){return"translate("+A(e)+",0)"}).style("opacity",1e-6);B.append("line").attr("y1",b).attr("y2",b*7/6),B.append("text").attr("text-anchor","middle").attr("dy","1em").attr("y",b*7/6).text(P),d3.transition(B).attr("transform",function(e){return"translate("+L(e)+",0)"}).style("opacity",1);var j=d3.transition(H).attr("transform",function(e){return"translate("+L(e)+",0)"}).style("opacity",1);j.select("line").attr("y1",b).attr("y2",b*7/6),j.select("text").attr("y",b*7/6),d3.transition(H.exit()).attr("transform",function(e){return"translate("+L(e)+",0)"}).style("opacity",1e-6).remove(),d.dispatch.on("elementMouseover.tooltip",function(e){p.tooltipShow(e)}),l&&p.on("tooltipShow",function(e){v(e,w.parentNode)}),d.dispatch.on("elementMouseout.tooltip",function(e){p.tooltipHide(e)}),l&&p.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="No Data Available.",p=d3.dispatch("tooltipShow","tooltipHide"),d=e.models.bullet(),v=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 m.dispatch=p,m.bullet=d,m.orient=function(e){return arguments.length?(t=e,n=t=="right"||t=="bottom",m):t},m.ranges=function(e){return arguments.length?(i=e,m):i},m.markers=function(e){return arguments.length?(s=e,m):s},m.measures=function(e){return arguments.length?(o=e,m):o},m.width=function(e){return arguments.length?(u=e,m):u},m.height=function(e){return arguments.length?(a=e,m):a},m.margin=function(e){return arguments.length?(r=e,m):r},m.tickFormat=function(e){return arguments.length?(f=e,m):f},m.tooltips=function(e){return arguments.length?(l=e,m):l},m.tooltipContent=function(e){return arguments.length?(c=e,m):c},m.noData=function(e){return arguments.length?(h=e,m):h},m},e.models.cumulativeLineChart=function(){function N(e,t){}function C(e,t){e.x+=d3.event.dx,e.i=Math.round(d.invert(e.x)),d3.select(this).attr("transform","translate("+d(e.i)+",0)")}function k(e,t){L.update()}function L(e){return e.each(function(f){var N=d3.select(this).classed("nv-chart-"+v,!0),C=this,k=(r||parseInt(N.style("width"))||960)-t.left-t.right,O=(i||parseInt(N.style("height"))||400)-t.top-t.bottom;if(!f||!f.length||!f.filter(function(e){return e.values.length}).length)return N.append("text").attr("class","nvd3 nv-noData").attr("x",k/2).attr("y",O/2).attr("dy","-.7em").style("text-anchor","middle").text(h),L;N.select(".nv-noData").remove(),l=p.xScale(),c=p.yScale(),d.domain([0,f[0].values.length-1]).range([0,k]).clamp(!0);var f=A(E.i,f),M=N.selectAll("g.nv-wrap.nv-cumulativeLine").data([f]),_=M.enter().append("g").attr("class","nvd3 nv-wrap nv-cumulativeLine").append("g");_.append("g").attr("class","nv-x nv-axis"),_.append("g").attr("class","nv-y nv-axis"),_.append("g").attr("class","nv-linesWrap"),_.append("g").attr("class","nv-legendWrap"),_.append("g").attr("class","nv-controlsWrap");var D=M.select("g");s&&(y.width(k),D.select(".nv-legendWrap").datum(f).call(y),t.top!=y.height()&&(t.top=y.height(),O=(i||parseInt(N.style("height"))||400)-t.top-t.bottom),D.select(".nv-legendWrap").attr("transform","translate(0,"+ -t.top+")")),u&&(b.width(140).color(["#444","#444","#444"]),D.select(".nv-controlsWrap").datum(S).attr("transform","translate(0,"+ -t.top+")").call(b)),p.y(function(e){return e.display.y}).width(k).height(O).color(f.map(function(e,t){return e.color||n(e,t)}).filter(function(e,t){return!f[t].disabled})),D.attr("transform","translate("+t.left+","+t.top+")");var P=D.select(".nv-linesWrap").datum(f.filter(function(e){return!e.disabled}));d3.transition(P).call(p);var H=P.selectAll(".nv-indexLine").data([E]);H.enter().append("rect").attr("class","nv-indexLine").attr("width",3).attr("x",-2).attr("fill","red").attr("fill-opacity",.5).call(T),H.attr("transform",function(e){return"translate("+d(e.i)+",0)"}).attr("height",O),m.scale(l).ticks(k/100).tickSize(-O,0),D.select(".nv-x.nv-axis").attr("transform","translate(0,"+c.range()[0]+")"),d3.transition(D.select(".nv-x.nv-axis")).call(m),g.scale(c).ticks(O/36).tickSize(-k,0),d3.transition(D.select(".nv-y.nv-axis")).call(g),b.dispatch.on("legendClick",function(t,n){t.disabled=!t.disabled,a=!t.disabled,e.transition().call(L)}),y.dispatch.on("legendClick",function(t,n){t.disabled=!t.disabled,f.filter(function(e){return!e.disabled}).length||f.map(function(e){return e.disabled=!1,M.selectAll(".nv-series").classed("disabled",!1),e}),e.transition().call(L)}),w.on("tooltipShow",function(e){o&&x(e,C.parentNode)})}),L.update=function(){L(e)},L.container=this,L}function A(e,t){return t.map(function(t,n){var r=p.y()(t.values[e],e);return t.values=t.values.map(function(e,t){return e.display={y:(p.y()(e,t)-r)/(1+r)},e}),t})}var t={top:30,right:30,bottom:50,left:60},n=e.utils.getColor(),r=null,i=null,s=!0,o=!0,u=!1,a=!0,f=function(e,t,n,r,i){return"

"+e+"

"+"

"+n+" at "+t+"

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

"+t+"

"+"

"+n+"

"},f="No Data Available.",l=e.models.discreteBar(),c=l.xScale(),h=l.yScale(),p=e.models.axis().scale(c).orient("bottom").highlightZero(!1).showMaxMin(!1),d=e.models.axis().scale(h).orient("left"),v=d3.dispatch("tooltipShow","tooltipHide");p.tickFormat(function(e){return e}),d.tickFormat(d3.format(",.1f"));var m=function(t,n){var r=t.pos[0]+(n.offsetLeft||0),i=t.pos[1]+(n.offsetTop||0),s=p.tickFormat()(l.x()(t.point,t.pointIndex)),o=d.tickFormat()(l.y()(t.point,t.pointIndex)),u=a(t.series.key,s,o,t,y);e.tooltip.show([r,i],u,t.value<0?"n":"s")},g=[{key:"Grouped"},{key:"Stacked",disabled:!0}];return y.dispatch=v,y.discretebar=l,y.xAxis=p,y.yAxis=d,d3.rebind(y,l,"x","y","xDomain","yDomain","forceX","forceY","id","showValues","valueFormat"),y.margin=function(e){return arguments.length?(t=e,y):t},y.width=function(e){return arguments.length?(n=e,y):n},y.height=function(e){return arguments.length?(r=e,y):r},y.color=function(t){return arguments.length?(i=e.utils.getColor(t),l.color(i),y):i},y.staggerLabels=function(e){return arguments.length?(s=e,y):s},y.rotateLabels=function(e){return arguments.length?(o=e,y):o},y.tooltips=function(e){return arguments.length?(u=e,y):u},y.tooltipContent=function(e){return arguments.length?(a=e,y):a},y.noData=function(e){return arguments.length?(f=e,y):f},y},e.models.distribution=function(){function l(e){return e.each(function(e){var u=n-(i==="x"?t.left+t.right:t.top+t.bottom),l=i=="x"?"y":"x";f=f||a;var c=d3.select(this).selectAll("g.nv-distribution").data([e]),h=c.enter().append("g").attr("class","nvd3 nv-distribution"),p=h.append("g"),d=c.select("g");c.attr("transform","translate("+t.left+","+t.top+")");var v=d.selectAll("g.nv-dist").data(function(e){return e},function(e){return e.key});v.enter().append("g"),v.attr("class",function(e,t){return"nv-dist nv-series-"+t}).style("stroke",function(e,t){return o(e,t)});var m=v.selectAll("line.nv-dist"+i).data(function(e){return e.values});m.enter().append("line").attr(i+"1",function(e,t){return f(s(e,t))}).attr(i+"2",function(e,t){return f(s(e,t))}),d3.transition(v.exit().selectAll("line.nv-dist"+i)).attr(i+"1",function(e,t){return a(s(e,t))}).attr(i+"2",function(e,t){return a(s(e,t))}).style("stroke-opacity",0).remove(),m.attr("class",function(e,t){return"nv-dist"+i+" nv-dist"+i+"-"+t}).attr(l+"1",0).attr(l+"2",r),d3.transition(m).attr(i+"1",function(e,t){return a(s(e,t))}).attr(i+"2",function(e,t){return a(s (e,t))}),f=a.copy()}),l}var t={top:0,right:0,bottom:0,left:0},n=400,r=8,i="x",s=function(e){return e[i]},o=e.utils.defaultColor(),u,a=d3.scale.linear(),f;return l.margin=function(e){return arguments.length?(t=e,l):t},l.width=function(e){return arguments.length?(n=e,l):n},l.axis=function(e){return arguments.length?(i=e,l):i},l.size=function(e){return arguments.length?(r=e,l):r},l.getData=function(e){return arguments.length?(s=d3.functor(e),l):s},l.scale=function(e){return arguments.length?(a=e,l):a},l.color=function(t){return arguments.length?(o=e.utils.getColor(t),l):o},l},e.models.indentedTree=function(){function f(e){return e.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),f.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 s=n-t.left-t.right,l=r-t.top-t.bottom;f.update=function(){e.transition().call(f)};var c=0,h=1,p=d3.layout.tree().children(function(e){return e.values}).size([r,childIndent]);i[0].key||(i[0].key=u);var d=p.nodes(i[0]),v=d3.select(this).selectAll("div").data([[d]]),m=v.enter().append("div").attr("class","nvd3 nv-wrap nv-indentedtree"),g=m.append("table"),y=v.select("table").attr("width","100%").attr("class",tableClass);if(o){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([r,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.nv-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("nv-treeicon",!0).classed("nv-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","nv-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){a.elementClick({row:this,data:e,pos:[e.x,e.y]})}).on("dblclick",function(e){a.elementDblclick({row:this,data:e,pos:[e.x,e.y]})}).on("mouseover",function(e){a.elementMouseover({row:this,data:e,pos:[e.x,e.y]})}).on("mouseout",function(e){a.elementMouseout({row:this,data:e,pos:[e.x,e.y]})})}),f}var t={top:0,right:0,bottom:0,left:0},n=960,r=500,i=e.utils.defaultColor(),s=Math.floor(Math.random()*1e4),o=!0,u="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 a=d3.dispatch("elementClick","elementDblclick","elementMouseover","elementMouseout");return f.margin=function(e){return arguments.length?(t=e,f):t},f.width=function(e){return arguments.length?(n=e,f):n},f.height=function(e){return arguments.length?(r=e,f):r},f.color=function(t){return arguments.length?(i=e.utils.getColor(t),scatter.color(i),f):i},f.id=function(e){return arguments.length?(s=e,f):s},f.header=function(e){return arguments.length?(o=e,f):o},f.noResultsText=function(e){return arguments.length?(u=e,f):u},f.columns=function(e){return arguments.length?(columns=e,f):columns},f.tableClass=function(e){return arguments.length?(tableClass=e,f):tableClass},f.iconOpen=function(e){return arguments.length?(iconOpen=e,f):iconOpen},f.iconClose=function(e){return arguments.length?(iconClose=e,f):iconClose},f},e.models.legend=function(){function a(e){return e.each(function(e){var a=n-t.left-t.right,f=d3.select(this).selectAll("g.nv-legend").data([e]),l=f.enter().append("g").attr("class","nvd3 nv-legend").append("g"),c=f.select("g").attr("transform","translate("+t.left+","+t.top+")"),h=c.selectAll(".nv-series").data(function(e){return e}),p=h.enter().append("g").attr("class","nv-series").on("mouseover",function(e,t){u.legendMouseover(e,t)}).on("mouseout",function(e,t){u.legendMouseout(e,t)}).on("click",function(e,t){u.legendClick(e,t)}).on("dblclick",function(e,t){u.legendDblclick(e,t)});p.append("circle").style("fill",function(e,t){return e.color||s(e,t)}).style("stroke",function(e,t){return e.color||s(e,t)}).style("stroke-width",2).attr("r",5),p.append("text").text(i).attr("text-anchor","start").attr("dy",".32em").attr("dx","8"),h.classed("disabled",function(e){return e.disabled}),h.exit().remove();if(o){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("+(n-t.right-x)+","+t.top+")"),r=t.top+t.bottom+E+15}}),a}var t={top:5,right:0,bottom:5,left:0},n=400,r=20,i=function(e){return e.key},s=e.utils.defaultColor(),o=!0,u=d3.dispatch("legendClick","legendDblclick","legendMouseover","legendMouseout");return a.dispatch=u,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.key=function(e){return arguments.length?(i=e,a):i},a.color=function(t){return arguments.length?(s=e.utils.getColor(t),a):s},a.align=function(e){return arguments.length?(o=e,a):o},a},e.models.line=function(){function y(e){return e.each(function(e){var g=n-t.left-t.right,y=r-t.top-t.bottom,b=d3.select(this);c=d.xScale(),h=d.yScale(),v=v||c,m=m||h;var w=b.selectAll("g.nv-wrap.nv-line").data([e]),E=w.enter().append("g").attr("class","nvd3 nv-wrap nv-line"),S=E.append("defs"),T=E.append("g"),N=w.select("g");T.append("g").attr("class","nv-groups"),T.append("g").attr("class","nv-scatterWrap");var C=w.select(".nv-scatterWrap");d.width(g).height(y),d3.transition(C).call(d),w.attr("transform","translate("+t.left+","+t.top+")"),S.append("clipPath").attr("id","nv-edge-clip-"+s).append("rect"),w.select("#nv-edge-clip-"+s+" rect").attr("width",g).attr("height",y),N.attr("clip-path",l?"url(#nv-edge-clip-"+s+")":""),C.attr("clip-path",l?"url(#nv-edge-clip-"+s+")":"");var k=w.select(".nv-groups").selectAll(".nv-group").data(function(e){return e},function(e){return e.key});k.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6),d3.transition(k.exit()).style("stroke-opacity",1e-6).style("fill-opacity",1e-6).remove(),k.attr("class",function(e,t){return"nv-group nv-series-"+t}).classed("hover",function(e){return e.hover}).style("fill",function(e,t){return i(e,t)}).style("stroke",function(e,t){return i(e,t)}),d3.transition(k).style("stroke-opacity",1).style("fill-opacity",.5);var L=k.selectAll("path.nv-area").data(function(e){return[e]});L.enter().append("path").filter(f).attr("class","nv-area").attr("d",function(e){return d3.svg.area().interpolate(p).defined(a).x(function(e,t){return v(o(e,t))}).y0(function(e,t){return m(u(e,t))}).y1(function(e,t){return m(h.domain()[0]<=0?h.domain()[1]>=0?0:h.domain()[1]:h.domain()[0])}).apply(this,[e.values])}),d3.transition(k.exit().selectAll("path.nv-area")).attr("d",function(e){return d3.svg.area().interpolate(p).defined(a).x(function(e,t){return v(o(e,t))}).y0(function(e,t){return m(u(e,t))}).y1(function(e,t){return m(h.domain()[0]<=0?h.domain()[1]>=0?0:h.domain()[1]:h.domain()[0])}).apply(this,[e.values])}),d3.transition(L.filter(f)).attr("d",function(e){return d3.svg.area().interpolate(p).defined(a).x(function(e,t){return v(o(e,t))}).y0(function(e,t){return m(u(e,t))}).y1(function(e,t){return m(h.domain()[0]<=0?h.domain()[1]>=0?0:h.domain()[1]:h.domain()[0])}).apply(this,[e.values])});var A=k.selectAll("path.nv-line").data(function(e){return[e.values]});A.enter().append("path").attr("class",function(e){return"nv-line"}).attr("d",d3.svg.line().interpolate(p).defined(a).x(function(e,t){return v(o(e,t))}).y(function(e,t){return m(u(e,t))})),d3.transition(k.exit().selectAll("path.nv-line")).attr("d",d3.svg.line().interpolate(p).defined(a).x(function(e,t){return c(o(e,t))}).y(function(e,t){return h(u(e,t))})),d3.transition(A).attr("d",d3.svg.line().interpolate(p).defined(a).x(function(e,t){return c(o(e,t))}).y(function(e,t){return h(u(e,t))})),v=c.copy(),m=h.copy()}),y}var t={top:0,right:0,bottom:0,left:0},n=960,r=500,i=e.utils.defaultColor(),s=Math.floor(Math.random()*1e4),o=function(e){return e.x},u=function(e){return e.y},a=function(e,t){return!isNaN(u(e,t))&&u(e,t)!==null},f=function(e){return e.area},l=!1,c,h,p="linear",d=e.models.scatter().id(s).size(16).sizeDomain([16,256]),v,m,g;return y.dispatch=d.dispatch,d3.rebind(y,d,"interactive","size","xScale","yScale","zScale","xDomain","yDomain","sizeDomain","forceX","forceY","forceSize","clipVoronoi","clipRadius"),y.margin=function(e){return arguments.length?(t=e,y):t},y.width=function(e){return arguments.length?(n=e,y):n},y.height=function(e){return arguments.length?(r=e,y):r},y.x=function(e){return arguments.length?(o=e,d.x(e),y):o},y.y=function(e){return arguments.length?(u=e,d.y(e),y):u},y.clipEdge=function(e){return arguments.length?(l=e,y):l},y.color=function(t){return arguments.length?(i=e.utils.getColor(t),d.color(i),y):i},y.id=function(e){return arguments.length?(s=e,y):s},y.interpolate=function(e){return arguments.length?(p=e,y):p},y.defined=function(e){return arguments.length?(a=e,y):a},y.isArea=function(e){return arguments.length?(f=d3.functor(e),y):f},y},e.models.lineChart=function(){function g(e){return e.each(function(u){var b=d3.select(this),w=this,E=(r||parseInt(b.style("width"))||960)-t.left-t.right,S=(i||parseInt(b.style("height"))||400)-t.top-t.bottom;if(!u||!u.length||!u.filter(function(e){return e.values.length}).length)return b.append("text").attr("class","nvd3 nv-noData").attr("x",E/2).attr("y",S/2).attr("dy","-.7em").style("text-anchor","middle").text(l),g;b.select(".nv-noData").remove(),a=c.xScale(),f=c.yScale();var T=b.selectAll("g.nv-wrap.nv-lineChart").data([u]),N=T.enter().append("g").attr("class","nvd3 nv-wrap nv-lineChart").append("g");N.append("g").attr("class","nv-x nv-axis"),N.append("g").attr("class","nv-y nv-axis"),N.append("g").attr("class","nv-linesWrap"),N.append("g").attr("class","nv-legendWrap");var C=T.select("g");s&&(d.width(E),C.select(".nv-legendWrap").datum(u).call(d),t.top!=d.height()&&(t.top=d.height(),S=(i||parseInt(b.style("height"))||400)-t.top-t.bottom),C.select(".nv-legendWrap").attr("transform","translate(0,"+ -t.top+")")),c.width(E).height(S).color(u.map(function(e,t){return e.color||n(e,t)}).filter(function(e,t){return!u[t].disabled})),C.attr("transform","translate("+t.left+","+t.top+")");var k=C.select(".nv-linesWrap").datum(u.filter(function(e){return!e.disabled}));d3.transition(k).call(c),h.scale(a).ticks(E/100).tickSize(-S,0),C.select(".nv-x.nv-axis").attr("transform","translate(0,"+f.range()[0]+")"),d3.transition(C.select(".nv-x.nv-axis")).call(h),p.scale(f).ticks(S/36).tickSize(-E,0),d3.transition(C.select(".nv-y.nv-axis")).call(p),d.dispatch.on("legendClick",function(t,n){t.disabled=!t.disabled,u.filter(function(e){return!e.disabled}).length||u.map(function(e){return e.disabled=!1,T.selectAll(".nv-series").classed("disabled",!1),e}),e.transition().call(g)}),v.on("tooltipShow",function(e){o&&m(e,w.parentNode)})}),g.update=function(){g(e)},g.container=this,g}var t={top:30,right:20,bottom:50,left:60},n=e.utils.defaultColor(),r=null,i=null,s=!0,o=!0,u=function(e,t,n,r,i){return"

"+e+"

"+"

"+n+" at "+t+"

"},a,f,l="No Data Available.",c=e.models.line(),h=e.models.axis().orient("bottom").tickPadding(5),p=e.models.axis().orient("left"),d=e.models.legend().height(30),v=d3.dispatch("tooltipShow","tooltipHide"),m=function(t,n){if(n){var r=d3.select(n).select("svg"),i=r.attr("viewBox");if(i){i=i.split(" ");var s=parseInt(r.style("width"))/i[2];t.pos[0]=t.pos[0]*s,t.pos[1]=t.pos[1]*s}}var o=t.pos[0]+(n.offsetLeft||0),a=t.pos[1]+(n.offsetTop||0),f=h.tickFormat()(c.x()(t.point,t.pointIndex)),l=p.tickFormat()(c.y()(t.point,t.pointIndex)),d=u(t.series.key,f,l,t,g);e.tooltip.show([o,a],d)};return c.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],v.tooltipShow(e)}),c.dispatch.on("elementMouseout.tooltip",function(e){v.tooltipHide(e)}),v.on("tooltipHide",function(){o&&e.tooltip.cleanup()}),g.dispatch=v,g.legend=d,g.xAxis=h,g.yAxis=p,d3.rebind(g,c,"defined","isArea","x","y","size","xScale","yScale","xDomain","yDomain","forceX","forceY","interactive","clipEdge","clipVoronoi","id","interpolate"),g.margin=function(e){return arguments.length?(t=e,g):t},g.width=function(e){return arguments.length?(r=e,g):r},g.height=function(e){return arguments.length?(i=e,g):i},g.color=function(t){return arguments.length?(n=e.utils.getColor(t),d.color(n),g):n},g.showLegend=function(e){return arguments.length?(s=e,g):s},g.tooltips=function(e){return arguments.length?(o=e,g):o},g.tooltipContent=function(e){return arguments.length?(u=e,g):u},g.noData=function(e){return arguments.length?(l=e,g):l},g},e.models.linePlusBarChart=function(){function S(f){return f.each(function(v){var T=d3.select(this),N=this,C=(n||parseInt(T.style("width"))||960)-t.left-t.right,k=(r||parseInt(T.style("height"))||400)-t.top-t.bottom;if(!v||!v.length||!v.filter(function(e){return e.values.length}).length)return T.append("text").attr("class","nvd3 nv-noData").attr("x",C/2).attr("y",k/2).attr("dy","-.7em").style("text-anchor","middle").text(l),S;T.select(".nv-noData").remove();var L=v.filter(function(e){return!e.disabled&&e.bar}),A=v.filter(function(e){return!e.disabled&&!e.bar}),O=v.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)}})}),M=v.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)}})});p.domain(d3.extent(d3.merge(O.concat(M)),function(e){return e.x})).range([0,C]);var _=d3.select(this).selectAll("g.nv-wrap.nv-linePlusBar").data([v]),D=_.enter().append("g").attr("class","nvd3 nv-wrap nv-linePlusBar").append("g");D.append("g").attr("class","nv-x nv-axis"),D.append("g").attr("class","nv-y1 nv-axis"),D.append("g").attr("class","nv-y2 nv-axis"),D.append("g").attr("class","nv-barsWrap"),D.append("g").attr("class","nv-linesWrap"),D.append("g").attr("class","nv-legendWrap");var P=_.select("g");u&&(b.width(C/2),P.select(".nv-legendWrap").datum(v.map(function(e){return e.originalKey=e.originalKey===undefined?e.key:e.originalKey,e.key=e.originalKey+(e.bar?" (left axis)":" (right axis)"),e})).call(b),t.top!=b.height()&&(t.top=b.height(),k=(r||parseInt(T.style("height"))||400)-t.top-t.bottom),P.select(".nv-legendWrap").attr("transform","translate("+C/2+","+ -t.top+")")),c.width(C).height(k).color(v.map(function(e,t){return e.color||o(e,t)}).filter(function(e,t){return!v[t].disabled&&!v[t].bar})),h.width(C).height(k).color(v.map(function(e,t){return e.color||o(e,t)}).filter(function(e,t){return!v[t].disabled&&v[t].bar}));var H=P.select(".nv-barsWrap").datum(L.length?L:[{values:[]}]),B=P.select(".nv-linesWrap").datum(A.length?A:[{values:[]}]);d3.transition(H).call(h),d3.transition(B).call(c),P.attr("transform","translate("+t.left+","+t.top+")"),m.ticks(C/100).tickSize(-k,0),P.select(".nv-x.nv-axis").attr("transform","translate(0,"+d.range()[0]+")"),d3.transition(P.select(".nv-x.nv-axis")).call(m),g.ticks(k/36).tickSize(-C,0),d3.transition(P.select(".nv-y1.nv-axis")).style("opacity",L.length?1:0).call(g),y.ticks(k/36).tickSize(L.length?0:-C,0),P.select(".nv-y2.nv-axis").style("opacity",A.length?1:0).attr("transform","translate("+p.range()[1]+",0)"),d3.transition(P.select(".nv-y2.nv-axis")).call(y),b.dispatch.on("legendClick",function(e,t){e.disabled=!e.disabled,v.filter(function(e){return!e.disabled}).length||v.map(function(e){return e.disabled=!1,_.selectAll(".nv-series").classed("disabled",!1),e}),f.transition().call(S)}),c.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],w.tooltipShow(e)}),a&&w.on("tooltipShow",function(e){E(e,N.parentNode)}),c.dispatch.on("elementMouseout.tooltip",function(e){w.tooltipHide(e)}),a&&w.on("tooltipHide",e.tooltip.cleanup),h.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],w.tooltipShow(e)}),a&&w.on("tooltipShow",function(e){E(e,N.parentNode)}),h.dispatch.on("elementMouseout.tooltip",function(e){w.tooltipHide(e)}),a&&w.on("tooltipHide",e.tooltip.cleanup),S.update=function(){f.transition().call(S)},S.container=this}),S}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=e.utils.defaultColor(),u=!0,a=!0,f=function(e,t,n,r,i){return"

"+e+"

"+"

"+n+" at "+t+"

"},l="No Data Available.",c=e.models.line(),h=e.models.historicalBar(),p=d3.scale.linear(),d=h.yScale(),v=c.yScale(),m=e.models.axis().scale(p).orient("bottom").tickPadding(5),g=e.models.axis().scale(d).orient("left"),y=e.models.axis().scale(v).orient("right"),b=e.models.legend().height(30),w=d3.dispatch("tooltipShow","tooltipHide"),E=function(t,n){var r=t.pos[0]+(n.offsetLeft||0),i=t.pos[1]+(n.offsetTop||0),s=m.tickFormat()(c.x()(t.point,t.pointIndex)),o=(t.series.bar?g:y).tickFormat()(c.y()(t.point,t.pointIndex)),u=f(t.series.key,s,o,t,S);e.tooltip.show([r,i],u,t.value<0?"n":"s")};return S.dispatch=w,S.legend=b,S.lines=c,S.bars=h,S.xAxis=m,S.yAxis1=g,S.yAxis2=y,d3.rebind(S,c,"defined","size","clipVoronoi","interpolate"),S.x=function(e){return arguments.length?(i=e,c.x(e),h.x(e),S):i},S.y=function(e){return arguments.length?(s=e,c.y(e),h.y(e),S):s},S.margin=function(e){return arguments.length?(t=e,S):t},S.width=function(e){return arguments.length?(n=e,S):n},S.height=function(e){return arguments.length?(r=e,S):r},S.color=function(t){return arguments.length?(o=e.utils.getColor(t),b.color(o),S):o},S.showLegend=function(e){return arguments.length?(u=e,S):u},S.tooltips=function(e){return arguments.length?(a=e,S):a},S.tooltipContent=function(e){return arguments.length?(f=e,S):f},S.noData=function(e){return arguments.length?(l=e,S):l},S},e.models.lineWithFocusChart=function(){function C(l){return l.each(function(k){function R(){T.empty()||T.extent(a),I.data([T.empty()?m.domain():a]).each(function(e,t){var n=m(e[0])-d.range()[0],r=d.range()[1]-m(e[1]);d3.select(this).select(".left").attr("width",n<0?0:n),d3.select(this).select(".right").attr("x",m(e[1])).attr("width",r<0?0:r)})}function U(e){var t=+(e=="e"),n=t?1:-1,r=_/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 z(){a=T.empty()?null:T.extent(),extent=T.empty()?m.domain():T.extent(),R();var e=j.select(".nv-focus .nv-linesWrap").datum(k.filter(function(e){return!e.disabled}).map(function(e,t){return{key:e.key,values:e.values.filter(function(e,t){return h.x()(e,t)>=extent[0]&&h.x()(e,t)<=extent[1]})}}));d3.transition(e).call(h),d3.transition(j.select(".nv-focus .nv-x.nv-axis")).call(y),d3.transition(j.select(".nv-focus .nv-y.nv-axis")).call(b)}var L=d3.select(this),A=this,O=(i||parseInt(L.style("width"))||960)-t.left-t.right,M=(s||parseInt(L.style("height"))||400)-t.top-t.bottom-o,_=o-n.top-n.bottom;if(!k||!k.length||!k.filter(function(e){return e.values.length}).length)return L.append("text").attr("class","nvd3 nv-noData").attr("x",O/2).attr("y",M/2).attr("dy","-.7em").style("text-anchor","middle").text(c),C;L.select(".nv-noData").remove(),T.on("brush",z);var D=L.selectAll("g.nv-wrap.nv-lineWithFocusChart").data([k]),P=D.enter().append("g").attr("class","nvd3 nv-wrap nv-lineWithFocusChart").append("g");P.append("g").attr("class","nv-legendWrap");var H=P.append("g").attr("class","nv-focus");H.append("g").attr("class","nv-x nv-axis"),H.append("g").attr("class","nv-y nv-axis"),H.append("g").attr("class","nv-linesWrap");var B=P.append("g").attr("class","nv-context");B.append("g").attr("class","nv-x nv-axis"),B.append("g").attr("class","nv-y nv-axis"),B.append("g").attr("class","nv-linesWrap"),B.append("g").attr("class","nv-brushBackground"),B.append("g").attr("class","nv-x nv-brush");var j=D.select("g");u&&(S.width(O),j.select(".nv-legendWrap").datum(k).call(S),t.top!=S.height()&&(t.top=S.height(),M=(s||parseInt(L.style("height"))||400)-t.top-t.bottom-o),j.select(".nv-legendWrap").attr("transform","translate(0,"+ -t.top+")")),h.width(O).height(M).color(k.map(function(e,t){return e.color||r(e,t)}).filter(function(e,t){return!k[t].disabled})),p.defined(h.defined()).width(O).height(_).x(h.x()).y(h.y()).color(k.map(function(e,t){return e.color||r(e,t)}).filter(function(e,t){return!k[t].disabled})),j.attr("transform","translate("+t.left+","+t.top+")"),y.ticks(O/100).tickSize(-M,0),b.ticks(M/36).tickSize(-O,0),j.select(".nv-focus .nv-x.nv-axis").attr("transform","translate(0,"+v.range()[0]+")"),j.select(".nv-context").attr("transform","translate(0,"+(M+t.bottom+n.top)+")");var F=j.select(".nv-context .nv-linesWrap").datum(k.filter(function(e){return!e.disabled}));d3.transition(F).call(p),a&&T.extent(a);var I=j.select(".nv-brushBackground").selectAll("g").data([a||T.extent()]),q=I.enter().append("g");q.append("rect").attr("class","left").attr("x",0).attr("y",0).attr("height",_),q.append("rect").attr("class","right").attr("x",0).attr("y",0).attr("height",_),gBrush=j.select(".nv-x.nv-brush").call(T),gBrush.selectAll("rect").attr("height",_),gBrush.selectAll(".resize").append("path").attr("d",U),z(),w.ticks(O/100).tickSize(-_,0),j.select(".nv-context .nv-x.nv-axis").attr("transform","translate(0,"+g.range()[0]+")"),d3.transition(j.select(".nv-context .nv-x.nv-axis")).call(w),E.ticks(_/36).tickSize(-O,0),d3.transition(j.select(".nv-context .nv-y.nv-axis")).call(E),j.select(".nv-focus .nv-x.nv-axis").attr("transform","translate(0,"+v.range()[0]+")"),j.select(".nv-context .nv-x.nv-axis").attr("transform","translate(0,"+g.range()[0]+")"),S.dispatch.on("legendClick",function(e,t){e.disabled=!e.disabled,k.filter(function(e){return!e.disabled}).length||k.map(function(e){return e.disabled=!1,D.selectAll(".nv-series").classed("disabled",!1),e}),l.transition().call(C)}),h.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],x.tooltipShow(e)}),f&&x.on("tooltipShow",function(e){N(e,A.parentNode)}),h.dispatch.on("elementMouseout.tooltip",function(e){x.tooltipHide(e)}),f&&x.on("tooltipHide",e.tooltip.cleanup)}),C.update=function(){C(l)},C.container=this,C}var t={top:30,right:30,bottom:30,left:60},n={top:0,right:30,bottom:20,left:60},r=e.utils.defaultColor(),i=null,s=null,o=100,u=!0,a=null,f=!0,l=function(e,t,n,r,i){return"

"+e+"

"+"

"+n+" at "+t+"

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

"+e+"

"+"

"+n+" on "+t+"

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

"+e+" - "+t+"

"+"

"+n+"

"},f="No Data Available.",l=e.models.multiBarHorizontal().stacked(!1),c=l.xScale(),h=l.yScale(),p=e.models.axis().scale(c).orient("left").highlightZero(!1).showMaxMin(!1),d=e.models.axis().scale(h).orient("bottom"),v=e.models.legend().height(30),m=e.models.legend().height(30),g=d3.dispatch("tooltipShow","tooltipHide");p.tickFormat(function(e){return e}),d.tickFormat(d3.format(",.1f"));var y=function(t,n){var r=t.pos[0]+(n.offsetLeft||0),i=t.pos[1]+(n.offsetTop||0),s=p.tickFormat()(l.x()(t.point,t.pointIndex)),o=d.tickFormat()(l.y()(t.point,t.pointIndex)),u=a(t.series.key,s,o,t,w);e.tooltip.show([r,i],u,t.value<0?"e":"w")},b=[{key:"Grouped"},{key:"Stacked",disabled:!0}];return w.dispatch=g,w.multibar=l,w.legend=v,w.xAxis=p,w.yAxis=d,d3.rebind(w,l,"x","y","xDomain","yDomain","forceX","forceY","clipEdge","id","delay","showValues","valueFormat"),w.margin=function(e){return arguments.length?(t=e,w):t},w.width=function(e){return arguments.length?(n=e,w):n},w.height=function(e){return arguments.length?(r=e,w):r},w.color=function(t){return arguments.length?(i=e.utils.getColor(t),v.color(i),w):i},w.showControls=function(e){return arguments.length?(s=e,w):s},w.showLegend=function(e){return arguments.length?(o=e,w):o},w.tooltips=function(e){return arguments.length?(u=e,w):u},w.tooltipContent=function(e){return arguments.length?(a=e,w):a},w.noData=function(e){return arguments.length?(f=e,w):f},w},e.models.multiChart=function(){function T(e){return e.each(function(u){var f=d3.select(this),N=this,C=(r||parseInt(f.style("width"))||960)-t.left-t.right,k=(i||parseInt(f.style("height"))||400)-t.top-t.bottom,L=u.filter(function(e){return!e.disabled&&e.type=="line"&&e.yAxis==1}),A=u.filter(function(e){return!e.disabled&&e.type=="line"&&e.yAxis==2}),O=u.filter(function(e){return!e.disabled&&e.type=="bar"&&e.yAxis==1}),M=u.filter(function(e){return!e.disabled&&e.type=="bar"&&e.yAxis==2}),_=u.filter(function(e){return!e.disabled&&e.type=="area"&&e.yAxis==1}),D=u.filter(function(e){return!e.disabled&&e.type=="area"&&e.yAxis==2}),P=u.filter(function(e){return!e.disabled&&e.yAxis==1}).map(function(e){return e.values.map(function(e,t){return{x:e.x,y:e.y}})}),H=u.filter(function(e){return!e.disabled&&e.yAxis==2}).map(function(e){return e.values.map(function(e,t){return{x:e.x,y:e.y}})});a.domain(d3.extent(d3.merge(P.concat(H)),function(e){return e.x})).range([0,C]);var B=f.selectAll("g.wrap.multiChart").data([u]),j=B.enter().append("g").attr("class","wrap nvd3 multiChart").append("g");j.append("g").attr("class","x axis"),j.append("g").attr("class","y1 axis"),j.append("g").attr("class","y2 axis"),j.append("g").attr("class","lines1Wrap"),j.append("g").attr("class","lines2Wrap"),j.append("g").attr("class","bars1Wrap"),j.append("g").attr("class","bars2Wrap"),j.append("g").attr("class","stack1Wrap"),j.append("g").attr("class","stack2Wrap"),j.append("g").attr("class","legendWrap");var F=B.select("g");s&&(E.width(C/2),F.select(".legendWrap").datum(u.map(function(e){return e.originalKey=e.originalKey===undefined?e.key:e.originalKey,e.key=e.originalKey+(e.yAxis==1?"":" (right axis)"),e})).call(E),t.top!=E.height()&&(t.top=E.height(),k=(i||parseInt(f.style("height"))||400)-t.top-t.bottom),F.select(".legendWrap").attr("transform","translate("+C/2+","+ -t.top+")")),h.width(C).height(k).interpolate("monotone").color(u.map(function(e,t){return e.color||n[t%n.length]}).filter(function(e,t){return!u[t].disabled&&u[t].yAxis==1&&u[t].type=="line"})),p.width(C).height(k).interpolate("monotone").color(u.map(function(e,t){return e.color||n[t%n.length]}).filter(function(e,t){return!u[t].disabled&&u[t].yAxis==2&&u[t].type=="line"})),d.width(C).height(k).color(u.map(function(e,t){return e.color||n[t%n.length]}).filter(function(e,t){return!u[t].disabled&&u[t].yAxis==1&&u[t].type=="bar"})),v.width(C).height(k).color(u.map(function(e,t){return e.color||n[t%n.length]}).filter(function(e,t){return!u[t].disabled&&u[t].yAxis==2&&u[t].type=="bar"})),m.width(C).height(k).color(u.map(function(e,t){return e.color||n[t%n.length]}).filter(function(e,t){return!u[t].disabled&&u[t].yAxis==1&&u[t].type=="area"})),g.width(C).height(k).color(u.map(function(e,t){return e.color||n[t%n.length]}).filter(function(e,t){return!u[t].disabled&&u[t].yAxis==2&&u[t].type=="area"})),F.attr("transform","translate("+t.left+","+t.top+")");var I=F.select(".lines1Wrap").datum(L),q=F.select(".bars1Wrap").datum(O),R=F.select(".stack1Wrap").datum(_),U=F.select(".lines2Wrap").datum(A),z=F.select(".bars2Wrap").datum(M),W=F.select(".stack2Wrap").datum(D),X=_.length?_.map(function(e){return e.values}).reduce(function(e,t){return e.map(function(e,n){return{x:e.x,y:e.y+t[n].y}})}).concat([{x:0,y:0}]):[],V=D.length?D.map(function(e){return e.values}).reduce(function(e,t){return e.map(function(e,n){return{x:e.x,y:e.y+t[n].y}})}).concat([{x:0,y:0}]):[];l.domain(d3.extent(d3.merge(P).concat(X),function(e){return e.y})).range([0,k]),c.domain(d3.extent(d3.merge(H).concat(V),function(e){return e.y})).range([0,k]),h.yDomain(l.domain()),d.yDomain(l.domain()),m.yDomain(l.domain()),p.yDomain(c.domain()),v.yDomain(c.domain()),g.yDomain(c.domain()),_.length&&d3.transition(R).call(m),D.length&&d3.transition(W).call(g),O.length&&d3.transition(q).call(d),M.length&&d3.transition(z).call(v),L.length&&d3.transition(I).call(h),A.length&&d3.transition(U).call(p),y.ticks(C/100).tickSize(-k,0),F.select(".x.axis").attr("transform","translate(0,"+k+")"),d3.transition(F.select(".x.axis")).call(y),b.ticks(k/36).tickSize(-C,0),d3.transition(F.select(".y1.axis")).call(b),w.ticks(k/36).tickSize(-C,0),d3.transition(F.select(".y2.axis")).call(w),F.select(".y2.axis").style("opacity",H.length?1:0).attr("transform","translate("+a.range()[1]+",0)"),E.dispatch.on("legendClick",function(t,n){t.disabled=!t.disabled,u.filter(function(e){return!e.disabled}).length||u.map(function(e){return e.disabled=!1,B.selectAll(".series").classed("disabled",!1),e}),e.transition().call(T)}),S.on("tooltipShow",function(e){o&&x(e,N.parentNode)})}),T.update=function(){T(e)},T.container=this,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=function(e,t,n,r,i){return"

"+e+"

"+"

"+n+" at "+t+"

"},a,f,a=d3.scale.linear(),l=d3.scale.linear(),c=d3.scale.linear(),h=e.models.line().yScale(l),p=e.models.line().yScale(c),d=e.models.multiBar().stacked(!1).yScale(l),v=e.models.multiBar().stacked(!1).yScale(c),m=e.models.stackedArea().yScale(l),g=e.models.stackedArea().yScale(c),y=e.models.axis().scale(a).orient("bottom").tickPadding(5),b=e.models.axis().scale(l).orient("left"),w=e.models.axis().scale(c).orient("right"),E=e.models.legend().height(30),S=d3.dispatch("tooltipShow","tooltipHide"),x=function(t,n){var r=t.pos[0]+(n.offsetLeft||0),i=t.pos[1]+(n.offsetTop||0),s=y.tickFormat()(h.x()(t.point,t.pointIndex)),o=(t.series.bar?b:w).tickFormat()(h.y()(t.point,t.pointIndex)),a=u(t.series.key,s,o,t,T);e.tooltip.show([r,i],a,undefined,undefined,n.offsetParent)};return h.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],S.tooltipShow(e)}),h.dispatch.on("elementMouseout.tooltip",function(e){S.tooltipHide(e)}),p.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],S.tooltipShow(e)}),p.dispatch.on("elementMouseout.tooltip",function(e){S.tooltipHide(e)}),d.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],S.tooltipShow(e)}),d.dispatch.on("elementMouseout.tooltip",function(e){S.tooltipHide(e)}),v.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],S.tooltipShow(e)}),v.dispatch.on("elementMouseout.tooltip",function(e){S.tooltipHide(e)}),m.dispatch.on("tooltipShow",function(e){if(!Math.round(m.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],S.tooltipShow(e)}),m.dispatch.on("tooltipHide",function(e){S.tooltipHide(e)}),g.dispatch.on("tooltipShow",function(e){if(!Math.round(g.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],S.tooltipShow(e)}),g.dispatch.on("tooltipHide",function(e){S.tooltipHide(e)}),h.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],S.tooltipShow(e)}),h.dispatch.on("elementMouseout.tooltip",function(e){S.tooltipHide(e)}),p.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],S.tooltipShow(e)}),p.dispatch.on("elementMouseout.tooltip",function(e){S.tooltipHide(e)}),S.on("tooltipHide",function(){o&&e.tooltip.cleanup()}),T.dispatch=S,T.lines1=h,T.lines2=p,T.bars1=d,T.bars2=v,T.stack1=m,T.stack2=g,T.xAxis=y,T.yAxis1=b,T.yAxis2=w,T.x=function(e){return arguments.length?(getX=e,h.x(e),d.x(e),T):getX},T.y=function(e){return arguments.length?(getY=e,h.y(e),d.y(e),T):getY},T.margin=function(e){return arguments.length?(t=e,T):t},T.width=function(e){return arguments.length?(r=e,T):r},T.height=function(e){return arguments.length?(i=e,T):i},T.color=function(e){return arguments.length?(n=e,E.color(e),T):n},T.showLegend=function(e){return arguments.length?(s=e,T):s},T.tooltips=function(e){return arguments.length?(o=e,T):o},T.tooltipContent=function(e){return arguments.length?(u=e,T):u},T},e.models.ohlcBar=function(){function S(e){return e.each(function(e){var d=n-t.left-t.right,b=r-t.top-t.bottom;g.domain(v||d3.extent(e[0].values.map(s).concat(c))).range([0,d]),y.domain(m||[d3.min(e[0].values.map(l).concat(h)),d3.max(e[0].values.map(f).concat(h))]).range([b,0]);if(g.domain()[0]===g.domain()[1]||y.domain()[0]===y.domain()[1])singlePoint=!0;g.domain()[0]===g.domain()[1]&&(g.domain()[0]?g.domain([g.domain()[0]-g.domain()[0]*.01,g.domain()[1]+g.domain()[1]*.01]):g.domain([-1,1])),y.domain()[0]===y.domain()[1]&&(y.domain()[0]?y.domain([y.domain()[0]+y.domain()[0]*.01,y.domain()[1]-y.domain()[1]*.01]):y.domain([-1,1]));var w=d3.select(this).on("click",function(e,t){E.chartClick({data:e,index:t,pos:d3.event,id:i})}),S=d3.select(this).selectAll("g.nv-wrap.nv-ohlcBar").data([e[0].values]),T=S.enter().append("g").attr("class","nvd3 nv-wrap nv-ohlcBar"),N=T.append("g");N.append("g").attr("class","nv-ticks"),S.attr("width",n).attr("height",r);var C=S.select("g").attr("transform","translate("+t.left+","+t.top+")");T.append("defs").append("clipPath").attr("id","nv-chart-clip-path-"+i).append("rect"),S.select("#nv-chart-clip-path-"+i+" rect").attr("width",d).attr("height",b),N.attr("clip-path",p?"url(#nv-chart-clip-path-"+i+")":"");var k=N.append("g").attr("class","nv-shiftWrap"),L=S.select(".nv-ticks").selectAll(".nv-tick").data(function(e){return e});L.exit().remove();var A=L.enter().append("path").attr("class",function(e,t,n){return(u(e,t)>a(e,t)?"nv-tick negative":"nv-tick positive")+" nv-tick-"+n+"-"+t}).attr("d",function(t,n){var r=d/e[0].values.length*.9;return"m0,0l0,"+(y(u(t,n))-y(f(t,n)))+"l"+ -r/2+",0l"+r/2+",0l0,"+(y(l(t,n))-y(u(t,n)))+"l0,"+(y(a(t,n))-y(l(t,n)))+"l"+r/2+",0l"+ -r/2+",0z"}).attr("transform",function(e,t){return"translate("+g(s(e,t))+","+y(f(e,t))+")"}).on("mouseover",function(t,n){d3.select(this).classed("hover",!0),E.elementMouseover({point:t,series:e[0],pos:[g(s(t,n)),y(o(t,n))],pointIndex:n,seriesIndex:0,e:d3.event})}).on("mouseout",function(t,n){d3.select(this).classed("hover",!1),E.elementMouseout({point:t,series:e[0],pointIndex:n,seriesIndex:0,e:d3.event})}).on("click",function(e,t){E.elementClick({value:o(e,t),data:e,index:t,pos:[g(s(e,t)),y(o(e,t))],e:d3.event,id:i}),d3.event.stopPropagation()}).on("dblclick",function(e,t){E.elementDblClick({value:o(e,t),data:e,index:t,pos:[g(s(e,t)),y(o(e,t))],e:d3.event,id:i}),d3.event.stopPropagation()});L.attr("class",function(e,t,n){return(u(e,t)>a(e,t)?"nv-tick negative":"nv-tick positive")+" nv-tick-"+n+"-"+t}),d3.transition(L).attr("transform",function(e,t){return"translate("+g(s(e,t))+","+y(f(e,t))+")"}).attr("d",function(t,n){var r=d/e[0].values.length*.9;return"m0,0l0,"+(y(u(t,n))-y(f(t,n)))+"l"+ -r/2+",0l"+r/2+",0l0,"+(y(l(t,n))-y(u(t,n)))+"l0,"+(y(a(t,n))-y(l(t,n)))+"l"+r/2+",0l"+ -r/2+",0z"})}),S}var t={top:0,right:0,bottom:0,left:0},n=960,r=500,i=Math.floor(Math.random()*1e4),s=function(e){return e.x},o=function(e){return e.y},u=function(e){return e.open},a=function(e){return e.close},f=function(e){return e.high},l=function(e){return e.low},c=[],h=[],p=!0,d=e.utils.defaultColor(),v,m,g=d3.scale.linear(),y=d3.scale.linear(),b=d3.svg.axis().scale(g).orient("bottom"),w=d3.svg.axis().scale(y).orient("left"),E=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout");return S.dispatch=E,S.x=function(e){return arguments.length?(s=e,S):s},S.y=function(e){return arguments.length?(o=e,S):o},S.open=function(e){return arguments.length?(u=e,S):u},S.close=function(e){return arguments.length?(a=e,S):a},S.high=function(e){return arguments.length?(f=e,S):f},S.low=function(e){return arguments.length?(l=e,S):l},S.margin=function(e){return arguments.length?(t=e,S):t},S.width=function(e){return arguments.length?(n=e,S):n},S.height=function(e){return arguments.length?(r=e,S):r},S.xScale=function(e){return arguments.length?(g=e,S):g},S.yScale=function(e){return arguments.length?(y=e,S):y},S.xDomain=function(e){return arguments.length?(v=e,S):v},S.yDomain=function(e){return arguments.length?(m=e,S):m},S.forceX=function(e){return arguments.length?(c=e,S):c},S.forceY=function(e){return arguments.length?(h=e,S):h},S.clipEdge=function(e){return arguments.length?(p=e,S):p},S.color=function(t){return arguments.length?(d=e.utils.getColor(t),S):d},S.id=function(e){return arguments.length?(i=e,S):i},S},e.models.pie=function(){function d(e){return e.each(function(e){function C(e){var t=(e.startAngle+e.endAngle)*90/Math.PI-90;return t>90?t-180:t}function k(e){h||(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 f=n-t.left-t.right,d=r-t.top-t.bottom,v=Math.min(f,d)/2,m=d3.select(this).on("click",function(e,t){p.chartClick({data:e,index:t,pos:d3.event,id:u})}),g=m.selectAll(".nv-wrap.nv-pie").data([i(e[0])]),y=g.enter().append("g").attr("class","nvd3 nv-wrap nv-pie nv-chart-"+u),b=y.append("g"),w=g.select("g");b.append("g").attr("class","nv-pie"),g.attr("transform","translate("+t.left+","+t.top+")"),w.select(".nv-pie").attr("transform","translate("+f/2+","+d/2+")");var E=d3.svg.arc().outerRadius(v-v/5);h&&E.innerRadius(v/2);var S=d3.layout.pie().sort(null).value(function(e){return e.disabled?0:o(e)}),x=g.select(".nv-pie").selectAll(".nv-slice").data(S);x.exit().remove();var T=x.enter().append("g").attr("class","nv-slice").on("mouseover",function(e,t){d3.select(this).classed("hover",!0),p.elementMouseover({label:s(e.data),value:o(e.data),point:e.data,pointIndex:t,pos:[d3.event.pageX,d3.event.pageY],id:u})}).on("mouseout",function(e,t){d3.select(this).classed("hover",!1),p.elementMouseout({label:s(e.data),value:o(e.data),point:e.data,index:t,id:u})}).on("click",function(e,t){p.elementClick({label:s(e.data),value:o(e.data),point:e.data,index:t,pos:d3.event,id:u}),d3.event.stopPropagation()}).on("dblclick",function(e,t){p.elementDblClick({label:s(e.data),value:o(e.data),point:e.data,index:t,pos:d3.event,id:u}),d3.event.stopPropagation()});x.attr("fill",function(e,t){return a(e,t)}).attr("stroke",function(e,t){return a(e,t)});var N=T.append("path").each(function(e){this._current=e});d3.transition(x.select("path")).attr("d",E).attrTween("d",k),l&&(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>c?s(e.data):""}))}),d}var t={top:0,right:0,bottom:0,left:0},n=500,r=500,i=function(e){return e.values},s=function(e){return e.x},o=function(e){return e.y},u=Math.floor(Math.random()*1e4),a=e.utils.defaultColor(),f=d3.format(",.2f"),l=!0,c=.02,h=!1,p=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout");return d.dispatch=p,d.margin=function(e){return arguments.length?(t=e,d):t},d.width=function(e){return arguments.length?(n=e,d):n},d.height=function(e){return arguments.length?(r=e,d):r},d.values=function(e){return arguments.length?(i=e,d):i},d.x=function(e){return arguments.length?(s=e,d):s},d.y=function(e){return arguments.length?(o=d3.functor(e),d):o},d.showLabels=function(e){return arguments.length?(l=e,d):l},d.donut=function(e){return arguments.length?(h=e,d):h},d.id=function(e){return arguments.length?(u=e,d):u},d.color=function(t){return arguments.length?(a=e.utils.getColor(t),d):a},d.valueFormat=function(e){return arguments.length?(f=e,d):f},d.labelThreshold=function(e){return arguments.length?(c=e,d):c},d},e.models.pieChart=function(){function p(s){return s.each(function(u){var d=d3.select(this),v=this,m=(n||parseInt(d.style("width"))||960)-t.left-t.right,g=(r||parseInt(d.style("height"))||400)-t.top-t.bottom;if(!u||!u.length||!u.filter(function(e){return e.values.length}).length)return d.append("text").attr("class","nvd3 nv-noData").attr("x",m/2).attr("y",g/2).attr("dy","-.7em").style("text-anchor","middle").text(a),p;d.select(".nv-noData").remove();var y=d.selectAll("g.nv-wrap.nv-pieChart").data([u]),b=y.enter().append("g").attr("class","nvd3 nv-wrap nv-pieChart").append("g");b.append("g").attr("class","nv-pieWrap"),b.append("g").attr("class","nv-legendWrap");var w=y.select("g");i&&(l.width(m).key(f.x()),y.select(".nv-legendWrap").datum(f.values()(u[0])).call(l),t.top!=l.height()&&(t.top=l.height(),g=(r||parseInt(d.style("height"))||400)-t.top-t.bottom),y.select(".nv-legendWrap").attr("transform","translate(0,"+ -t.top+")")),f.width(m).height(g),w.attr("transform","translate("+t.left+","+t.top+")");var E=w.select(".nv-pieWrap").datum(u);d3.transition(E).call(f),l.dispatch.on("legendClick",function(e,t,n){e.disabled=!e.disabled,f.values()(u[0]).filter(function(e){return!e.disabled}).length||f.values()(u[0]).map(function(e){return e.disabled=!1,y.selectAll(".nv-series").classed("disabled",!1),e}),s.transition().call(p)}),f.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],c.tooltipShow(e)}),o&&c.on("tooltipShow",function(e){h(e)}),f.dispatch.on("elementMouseout.tooltip",function(e){c.tooltipHide(e)}),o&&c.on("tooltipHide",e.tooltip.cleanup),p.update=function(){s.transition().call(p)},p.container=this}),p}var t={top:30,right:20,bottom:20,left:20},n=null,r=null,i=!0,s=e.utils.defaultColor(),o=!0,u=function(e,t,n,r){return"

"+e+"

"+"

"+t+"

"},a="No Data Available.",f=e.models.pie(),l=e.models.legend().height(30),c=d3.dispatch("tooltipShow","tooltipHide"),h=function(t,n){var r=t.pos[0]+(n&&n.offsetLeft||0),i=t.pos[1]+(n&&n.offsetTop||0),s=f.valueFormat()(f.y()(t.point)),o=u(f.x()(t.point),s,t,p);e.tooltip.show([r,i],o,t.value<0?"n":"s")};return p.dispatch=c,p.pie=f,d3.rebind(p,f,"valueFormat","values","x","y","id","showLabels","donut","labelThreshold"),p.margin=function(e){return arguments.length?(t=e,p):t},p.width=function(e){return arguments.length?(n=e,p):n},p.height=function(e){return arguments.length?(r=e,p):r},p.color=function(t){return arguments.length?(s=e.utils.getColor(t),l.color(s),f.color(s),p):s},p.showLegend=function(e){return arguments.length?(i=e,p):i},p.tooltips=function(e){return arguments.length?(o=e,p):o},p.tooltipContent=function(e){return arguments.length?(u=e,p):u},p.noData=function(e){return arguments.length?(a=e,p):a},p},e.models.scatter=function(){function O(e){return e.each(function(e){function I(){if(!m)return!1;var n=d3.merge(e.map(function(e,t){return e.values.filter(g).map(function(e,n){return[o(f(e,n))*(Math.random()/1e12+1),u(l(e,n))*(Math.random()/1e12+1),t,n]})}));if(b){B.append("clipPath").attr("id","nv-points-clip-"+s);var r=P.select("#nv-points-clip-"+s).selectAll("circle").data(n);r.enter().append("circle").attr("r",w),r.exit().remove(),r.attr("cx",function(e){return e[0]}).attr("cy",function(e){return e[1]}),P.select(".nv-point-paths").attr("clip-path","url(#nv-points-clip-"+s+")")}var i=d3.geom.voronoi(n).map(function(e,t){return{data:e,series:n[t][2],point:n[t][3]}}),a=P.select(".nv-point-paths").selectAll("path").data(i);a.enter().append("path").attr("class",function(e,t){return"nv-path-"+t}),a.exit().remove(),a.attr("d",function(e){return"M"+e.data.join(",")+"Z"}).on("click",function(n){var r=e[n.series],i=r.values[n.point];N.elementClick({point:i,series:r,pos:[o(f(i,n.point))+t.left,u(l(i,n.point))+t.top],seriesIndex:n.series,pointIndex:n.point})}).on("mouseover",function(n){var r=e[n.series],i=r.values[n.point];N.elementMouseover({point:i,series:r,pos:[o(f(i,n.point))+t.left,u(l(i,n.point))+t.top],seriesIndex:n.series,pointIndex:n.point})}).on("mouseout",function(t,n){var r=e[t.series],i=r.values[t.point];N.elementMouseout({point:i,series:r,seriesIndex:t.series,pointIndex:t.point})})}var O=n-t.left-t.right,M=r-t.top-t.bottom,_=d3.select(this);e=e.map(function(e,t){return e.values=e.values.map(function(e){return e.series=t,e}),e});var D=E&&S&&x?[]:d3.merge(e.map(function(e){return e.values.map(function(e,t){return{x:f(e,t),y:l(e,t),size:c(e,t)}})}));o.domain(E||d3.extent(D.map(function(e){return e.x}).concat(p))).range([0,O]),u.domain(S||d3.extent(D.map(function(e){return e.y}).concat(d))).range([M,0]),a.domain(x||d3.extent(D.map(function(e){return e.size}).concat(v))).range([16,256]);if(o.domain()[0]===o.domain()[1]||u.domain()[0]===u.domain()[1])T=!0;o.domain()[0]===o.domain()[1]&&(o.domain()[0]?o.domain([o.domain()[0]-o.domain()[0]*.01,o.domain -()[1]+o.domain()[1]*.01]):o.domain([-1,1])),u.domain()[0]===u.domain()[1]&&(u.domain()[0]?u.domain([u.domain()[0]+u.domain()[0]*.01,u.domain()[1]-u.domain()[1]*.01]):u.domain([-1,1])),C=C||o,k=k||u,L=L||a;var P=_.selectAll("g.nv-wrap.nv-scatter").data([e]),H=P.enter().append("g").attr("class","nvd3 nv-wrap nv-scatter nv-chart-"+s+(T?" nv-single-point":"")),B=H.append("defs"),j=H.append("g"),F=P.select("g");j.append("g").attr("class","nv-groups"),j.append("g").attr("class","nv-point-paths"),P.attr("transform","translate("+t.left+","+t.top+")"),B.append("clipPath").attr("id","nv-edge-clip-"+s).append("rect"),P.select("#nv-edge-clip-"+s+" rect").attr("width",O).attr("height",M),F.attr("clip-path",y?"url(#nv-edge-clip-"+s+")":"");var q=P.select(".nv-groups").selectAll(".nv-group").data(function(e){return e},function(e){return e.key});q.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6),d3.transition(q.exit()).style("stroke-opacity",1e-6).style("fill-opacity",1e-6).remove(),q.attr("class",function(e,t){return"nv-group nv-series-"+t}).classed("hover",function(e){return e.hover}),d3.transition(q).style("fill",function(e,t){return i(e,t)}).style("stroke",function(e,t){return i(e,t)}).style("stroke-opacity",1).style("fill-opacity",.5);var R=q.selectAll("path.nv-point").data(function(e){return e.values});R.enter().append("path").attr("transform",function(e,t){return"translate("+C(f(e,t))+","+k(l(e,t))+")"}).attr("d",d3.svg.symbol().type(h).size(function(e,t){return a(c(e,t))})),d3.transition(q.exit().selectAll("path.nv-point")).attr("transform",function(e,t){return"translate("+o(f(e,t))+","+u(l(e,t))+")"}).remove(),R.attr("class",function(e,t){return"nv-point nv-point-"+t}),d3.transition(R).attr("transform",function(e,t){return"translate("+o(f(e,t))+","+u(l(e,t))+")"}).attr("d",d3.svg.symbol().type(h).size(function(e,t){return a(c(e,t))})),clearTimeout(A),A=setTimeout(I,1e3),C=o.copy(),k=u.copy(),L=a.copy()}),O}var t={top:0,right:0,bottom:0,left:0},n=960,r=500,i=e.utils.defaultColor(),s=Math.floor(Math.random()*1e5),o=d3.scale.linear(),u=d3.scale.linear(),a=d3.scale.linear(),f=function(e){return e.x},l=function(e){return e.y},c=function(e){return e.size},h=function(e){return e.shape||"circle"},p=[],d=[],v=[],m=!0,g=function(e){return!e.notActive},y=!1,b=!0,w=function(){return 25},E=null,S=null,x=null,T=!1,N=d3.dispatch("elementClick","elementMouseover","elementMouseout"),C,k,L,A;return N.on("elementMouseover.point",function(e){m&&d3.select(".nv-chart-"+s+" .nv-series-"+e.seriesIndex+" .nv-point-"+e.pointIndex).classed("hover",!0)}),N.on("elementMouseout.point",function(e){m&&d3.select(".nv-chart-"+s+" .nv-series-"+e.seriesIndex+" .nv-point-"+e.pointIndex).classed("hover",!1)}),O.dispatch=N,O.x=function(e){return arguments.length?(f=d3.functor(e),O):f},O.y=function(e){return arguments.length?(l=d3.functor(e),O):l},O.size=function(e){return arguments.length?(c=d3.functor(e),O):c},O.margin=function(e){return arguments.length?(t=e,O):t},O.width=function(e){return arguments.length?(n=e,O):n},O.height=function(e){return arguments.length?(r=e,O):r},O.xScale=function(e){return arguments.length?(o=e,O):o},O.yScale=function(e){return arguments.length?(u=e,O):u},O.zScale=function(e){return arguments.length?(a=e,O):a},O.xDomain=function(e){return arguments.length?(E=e,O):E},O.yDomain=function(e){return arguments.length?(S=e,O):S},O.sizeDomain=function(e){return arguments.length?(x=e,O):x},O.forceX=function(e){return arguments.length?(p=e,O):p},O.forceY=function(e){return arguments.length?(d=e,O):d},O.forceSize=function(e){return arguments.length?(v=e,O):v},O.interactive=function(e){return arguments.length?(m=e,O):m},O.pointActive=function(e){return arguments.length?(g=e,O):g},O.clipEdge=function(e){return arguments.length?(y=e,O):y},O.clipVoronoi=function(e){return arguments.length?(b=e,O):b},O.clipRadius=function(e){return arguments.length?(w=e,O):w},O.color=function(t){return arguments.length?(i=e.utils.getColor(t),O):i},O.shape=function(e){return arguments.length?(h=e,O):h},O.id=function(e){return arguments.length?(s=e,O):s},O.singlePoint=function(e){return arguments.length?(T=e,O):T},O},e.models.scatterChart=function(){function O(e){return e.each(function(u){function H(){if(h)return P.select(".nv-point-paths").style("pointer-events","all"),!1;P.select(".nv-point-paths").style("pointer-events","none");var e=d3.mouse(this);s.distortion(c).focus(e[0]),o.distortion(c).focus(e[1]),P.select(".nv-scatterWrap").datum(u.filter(function(e){return!e.disabled})).call(g),P.select(".nv-x.nv-axis").call(y),P.select(".nv-y.nv-axis").call(b),P.select(".nv-distributionX").datum(u.filter(function(e){return!e.disabled})).call(S),P.select(".nv-distributionY").datum(u.filter(function(e){return!e.disabled})).call(x)}var a=d3.select(this),d=this,v=(n||parseInt(a.style("width"))||960)-t.left-t.right,m=(r||parseInt(a.style("height"))||400)-t.top-t.bottom;if(!u||!u.length||!u.filter(function(e){return e.values.length}).length)return a.append("text").attr("class","nvd3 nv-noData").attr("x",v/2).attr("y",m/2).attr("dy","-.7em").style("text-anchor","middle").text(N),O;a.select(".nv-noData").remove(),s=g.xScale(),o=g.yScale(),C=C||s,k=k||o;var M=a.selectAll("g.nv-wrap.nv-scatterChart").data([u]),_=M.enter().append("g").attr("class","nvd3 nv-wrap nv-scatterChart nv-chart-"+g.id()),D=_.append("g"),P=M.select("g");D.append("rect").attr("class","nvd3 nv-background"),D.append("g").attr("class","nv-x nv-axis"),D.append("g").attr("class","nv-y nv-axis"),D.append("g").attr("class","nv-scatterWrap"),D.append("g").attr("class","nv-distWrap"),D.append("g").attr("class","nv-legendWrap"),D.append("g").attr("class","nv-controlsWrap"),M.attr("transform","translate("+t.left+","+t.top+")"),f&&(w.width(v/2),M.select(".nv-legendWrap").datum(u).call(w),t.top!=w.height()&&(t.top=w.height(),m=(r||parseInt(a.style("height"))||400)-t.top-t.bottom),M.select(".nv-legendWrap").attr("transform","translate("+v/2+","+ -t.top+")")),l&&(E.width(180).color(["#444"]),P.select(".nv-controlsWrap").datum(A).attr("transform","translate(0,"+ -t.top+")").call(E)),P.select(".nv-background").attr("width",v).attr("height",m),g.width(v).height(m).color(u.map(function(e,t){return e.color||i(e,t)}).filter(function(e,t){return!u[t].disabled})),M.select(".nv-scatterWrap").datum(u.filter(function(e){return!e.disabled})).call(g),y.scale(s).ticks(v/100).tickSize(-m,0),P.select(".nv-x.nv-axis").attr("transform","translate(0,"+o.range()[0]+")").call(y),b.scale(o).ticks(m/36).tickSize(-v,0),P.select(".nv-y.nv-axis").call(b),S.scale(s).width(v).color(u.map(function(e,t){return e.color||i(e,t)}).filter(function(e,t){return!u[t].disabled})),D.select(".nv-distWrap").append("g").attr("class","nv-distributionX").attr("transform","translate(0,"+o.range()[0]+")"),P.select(".nv-distributionX").datum(u.filter(function(e){return!e.disabled})).call(S),x.scale(o).width(m).color(u.map(function(e,t){return e.color||i(e,t)}).filter(function(e,t){return!u[t].disabled})),D.select(".nv-distWrap").append("g").attr("class","nv-distributionY").attr("transform","translate(-"+x.size()+",0)"),P.select(".nv-distributionY").datum(u.filter(function(e){return!e.disabled})).call(x),P.select(".nv-background").on("mousemove",H),P.select(".nv-background").on("click",function(){h=!h}),g.dispatch.on("elementClick.freezeFisheye",function(){h=!h}),E.dispatch.on("legendClick",function(t,n){t.disabled=!t.disabled,c=t.disabled?0:2.5,P.select(".nv-background").style("pointer-events",t.disabled?"none":"all"),P.select(".nv-point-paths").style("pointer-events",t.disabled?"all":"none"),t.disabled?(s.distortion(c).focus(0),o.distortion(c).focus(0),P.select(".nv-scatterWrap").call(g),P.select(".nv-x.nv-axis").call(y),P.select(".nv-y.nv-axis").call(b)):h=!1,O(e)}),w.dispatch.on("legendClick",function(t,n,r){t.disabled=!t.disabled,u.filter(function(e){return!e.disabled}).length||u.map(function(e){return e.disabled=!1,M.selectAll(".nv-series").classed("disabled",!1),e}),O(e)}),g.dispatch.on("elementMouseover.tooltip",function(e){d3.select(".nv-chart-"+g.id()+" .nv-series-"+e.seriesIndex+" .nv-distx-"+e.pointIndex).attr("y1",e.pos[1]-m),d3.select(".nv-chart-"+g.id()+" .nv-series-"+e.seriesIndex+" .nv-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)}),T.on("tooltipShow",function(e){p&&L(e,d.parentNode)}),C=s.copy(),k=o.copy(),O.update=function(){O(e)},O.container=this}),O}var t={top:30,right:20,bottom:50,left:60},n=null,r=null,i=e.utils.defaultColor(),s=d3.fisheye.scale(d3.scale.linear).distortion(0),o=d3.fisheye.scale(d3.scale.linear).distortion(0),u=!1,a=!1,f=!0,l=!0,c=0,h=!1,p=!0,d=function(e,t,n){return""+t+""},v=function(e,t,n){return""+n+""},m=null,g=e.models.scatter().xScale(s).yScale(o),y=e.models.axis().orient("bottom").tickPadding(10),b=e.models.axis().orient("left").tickPadding(10),w=e.models.legend().height(30),E=e.models.legend().height(30),S=e.models.distribution().axis("x"),x=e.models.distribution().axis("y"),T=d3.dispatch("tooltipShow","tooltipHide"),N="No Data Available.",C,k,L=function(n,r){var i=n.pos[0]+(r.offsetLeft||0),u=n.pos[1]+(r.offsetTop||0),a=n.pos[0]+(r.offsetLeft||0),f=o.range()[0]+t.top+(r.offsetTop||0),l=s.range()[0]+t.left+(r.offsetLeft||0),c=n.pos[1]+(r.offsetTop||0),h=y.tickFormat()(g.x()(n.point,n.pointIndex)),p=b.tickFormat()(g.y()(n.point,n.pointIndex));d!=null&&e.tooltip.show([a,f],d(n.series.key,h,p,n,O),"n",1,null,"x-nvtooltip"),v!=null&&e.tooltip.show([l,c],v(n.series.key,h,p,n,O),"e",1,null,"y-nvtooltip"),m!=null&&e.tooltip.show([i,u],m(n.series.key,h,p,n,O),n.value<0?"n":"s")},A=[{key:"Magnify",disabled:!0}];return g.dispatch.on("elementMouseout.tooltip",function(e){T.tooltipHide(e),d3.select(".nv-chart-"+g.id()+" .nv-series-"+e.seriesIndex+" .nv-distx-"+e.pointIndex).attr("y1",0),d3.select(".nv-chart-"+g.id()+" .nv-series-"+e.seriesIndex+" .nv-disty-"+e.pointIndex).attr("x2",x.size())}),T.on("tooltipHide",function(){p&&e.tooltip.cleanup()}),O.dispatch=T,O.legend=w,O.controls=w,O.xAxis=y,O.yAxis=b,O.distX=S,O.distY=x,d3.rebind(O,g,"id","interactive","pointActive","shape","size","xScale","yScale","zScale","xDomain","yDomain","sizeDomain","forceX","forceY","forceSize","clipVoronoi","clipRadius"),O.margin=function(e){return arguments.length?(t=e,O):t},O.width=function(e){return arguments.length?(n=e,O):n},O.height=function(e){return arguments.length?(r=e,O):r},O.color=function(t){return arguments.length?(i=e.utils.getColor(t),w.color(i),S.color(i),x.color(i),O):i},O.showDistX=function(e){return arguments.length?(u=e,O):u},O.showDistY=function(e){return arguments.length?(a=e,O):a},O.showControls=function(e){return arguments.length?(l=e,O):l},O.showLegend=function(e){return arguments.length?(f=e,O):f},O.fisheye=function(e){return arguments.length?(c=e,O):c},O.tooltips=function(e){return arguments.length?(p=e,O):p},O.tooltipContent=function(e){return arguments.length?(m=e,O):m},O.tooltipXContent=function(e){return arguments.length?(d=e,O):d},O.tooltipYContent=function(e){return arguments.length?(v=e,O):v},O.noData=function(e){return arguments.length?(N=e,O):N},O},e.models.sparkline=function(){function h(e){return e.each(function(e){var i=n-t.left-t.right,h=r-t.top-t.bottom;l.domain(a||d3.extent(e,s)).range([0,i]),c.domain(f||d3.extent(e,o)).range([h,0]);var p=d3.select(this).selectAll("g.nv-wrap.nv-sparkline").data([e]),d=p.enter().append("g").attr("class","nvd3 nv-wrap nv-sparkline");d.attr("transform","translate("+t.left+","+t.top+")").style("stroke",function(e,t){return e.color||u(e,t)});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 l(s(e,t))}).y(function(e,t){return c(o(e,t))}));var m=d.selectAll("circle.nv-point").data(function(e){return e.filter(function(e,t){return c.domain().indexOf(o(e,t))!=-1||s(e,t)==l.domain()[1]})});m.enter().append("circle").attr("class","nv-point"),m.exit().remove(),m.attr("cx",function(e,t){return l(s(e,t))}).attr("cy",function(e,t){return c(o(e,t))}).attr("r",2).style("stroke",function(e,t){return e.x==l.domain()[1]?"#444":e.y==c.domain()[0]?"#d62728":"#2ca02c"}).style("fill",function(e,t){return e.x==l.domain()[1]?"#444":e.y==c.domain()[0]?"#d62728":"#2ca02c"})}),h}var t={top:0,right:0,bottom:0,left:0},n=400,r=32,i=!0,s=function(e){return e.x},o=function(e){return e.y},u=e.utils.defaultColor(),a,f,l=d3.scale.linear(),c=d3.scale.linear();return 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.x=function(e){return arguments.length?(s=d3.functor(e),h):s},h.y=function(e){return arguments.length?(o=d3.functor(e),h):o},h.xDomain=function(e){return arguments.length?(a=e,h):a},h.yDomain=function(e){return arguments.length?(f=e,h):f},h.animate=function(e){return arguments.length?(i=e,h):i},h},e.models.sparklinePlus=function(){function v(e){return e.each(function(e){function C(){var n=d3.event.offsetX-t.left;S.attr("x1",n).attr("x2",n),T.attr("transform",function(e){return"translate("+(n-6)+","+ -t.top+")"}).text(f(Math.round(h.invert(n))));var r=function(e,t){var n=Math.abs(s(e[0])-t),r=0;for(var i=0;i"+e+""+"

"+n+" on "+t+"

"},f,l,c="No Data Available.",h=e.models.stackedArea(),p=e.models.axis().orient("bottom").tickPadding(5),d=e.models.axis().orient("left"),v=d3.format(",.2f"),m=e.models.legend().height(30),g=e.models.legend().height(30),y=d3.dispatch("tooltipShow","tooltipHide"),b=[{key:"Stacked"},{key:"Stream",disabled:!0},{key:"Expanded",disabled:!0}],w=function(t,n){var r=t.pos[0]+(n.offsetLeft||0),i=t.pos[1]+(n.offsetTop||0),s=p.tickFormat()(h.x()(t.point,t.pointIndex)),o=d.tickFormat()(h.y()(t.point,t.pointIndex)),u=a(t.series.key,s,o,t,E);e.tooltip.show([r,i],u,t.value<0?"n":"s")};return h.dispatch.on("tooltipShow",function(e){if(!Math.round(h.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],y.tooltipShow(e)}),h.dispatch.on("tooltipHide",function(e){y.tooltipHide(e)}),y.on("tooltipHide",function(){u&&e.tooltip.cleanup()}),E.dispatch=y,E.stacked=h,E.xAxis=p,E.yAxis=d,d3.rebind(E,h,"x","y","size","xScale","yScale","xDomain","yDomain","sizeDomain","interactive","offset","order","style","clipEdge","forceX","forceY","forceSize"),E.margin=function(e){return arguments.length?(t=e,E):t},E.width=function(e){return arguments.length?(n=e,E):getWidth},E.height=function(e){return arguments.length?(r=e,E):getHeight},E.color=function(t){return arguments.length?(i=e.utils.getColor(t),m.color(i),h.color(i),E):i},E.showControls=function(e){return arguments.length?(s=e,E):s},E.showLegend=function(e){return arguments.length?(o=e,E):o},E.tooltips=function(e){return arguments.length?(u=e,E):u},E.tooltipContent=function(e){return arguments.length?(a=e,E):a},E.noData=function(e){return arguments.length?(c=e,E):c},d.setTickFormat=d.tickFormat,d.tickFormat=function(e){return arguments.length?(v=e,d):v},E}})(); \ No newline at end of file +).attr("transform","translate(0,"+h.range()[0]+")"),d3.transition(A.select(".nv-x.nv-axis")).call(v);var _=A.select(".nv-x.nv-axis > g").selectAll("g");_.selectAll("line, text").style("opacity",1),u&&_.filter(function(e,t){return t%Math.ceil(l[0].values.length/(N/100))!==0}).selectAll("text, line").style("opacity",0),a&&_.selectAll("text").attr("transform",function(e,t,n){return"rotate("+a+" 0,0)"}).attr("text-transform",a>0?"start":"end"),m.scale(h).ticks(C/36).tickSize(-N,0),d3.transition(A.select(".nv-y.nv-axis")).call(m),g.dispatch.on("legendClick",function(t,n){t.disabled=!t.disabled,l.filter(function(e){return!e.disabled}).length||l.map(function(e){return e.disabled=!1,k.selectAll(".nv-series").classed("disabled",!1),e}),e.transition().call(E)}),y.dispatch.on("legendClick",function(t,n){if(!t.disabled)return;O=O.map(function(e){return e.disabled=!0,e}),t.disabled=!1;switch(t.key){case"Grouped":d.stacked(!1);break;case"Stacked":d.stacked(!0)}e.transition().call(E)}),b.on("tooltipShow",function(e){f&&w(e,T.parentNode)}),E.update=function(){e.transition().call(E)},E.container=this}),E}var t={top:30,right:20,bottom:50,left:60},n=null,r=null,i=e.utils.defaultColor(),s=!0,o=!0,u=!0,a=0,f=!0,l=function(e,t,n,r,i){return"

"+e+"

"+"

"+n+" on "+t+"

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

"+e+" - "+t+"

"+"

"+n+"

"},f="No Data Available.",l=e.models.multiBarHorizontal().stacked(!1),c=l.xScale(),h=l.yScale(),p=e.models.axis().scale(c).orient("left").highlightZero(!1).showMaxMin(!1),d=e.models.axis().scale(h).orient("bottom"),v=e.models.legend().height(30),m=e.models.legend().height(30),g=d3.dispatch("tooltipShow","tooltipHide");p.tickFormat(function(e){return e}),d.tickFormat(d3.format(",.1f"));var y=function(t,n){var r=t.pos[0]+(n.offsetLeft||0),i=t.pos[1]+(n.offsetTop||0),s=p.tickFormat()(l.x()(t.point,t.pointIndex)),o=d.tickFormat()(l.y()(t.point,t.pointIndex)),u=a(t.series.key,s,o,t,w);e.tooltip.show([r,i],u,t.value<0?"e":"w")},b=[{key:"Grouped"},{key:"Stacked",disabled:!0}];return w.dispatch=g,w.multibar=l,w.legend=v,w.xAxis=p,w.yAxis=d,d3.rebind(w,l,"x","y","xDomain","yDomain","forceX","forceY","clipEdge","id","delay","showValues","valueFormat"),w.margin=function(e){return arguments.length?(t=e,w):t},w.width=function(e){return arguments.length?(n=e,w):n},w.height=function(e){return arguments.length?(r=e,w):r},w.color=function(t){return arguments.length?(i=e.utils.getColor(t),v.color(i),w):i},w.showControls=function(e){return arguments.length?(s=e,w):s},w.showLegend=function(e){return arguments.length?(o=e,w):o},w.tooltips=function(e){return arguments.length?(u=e,w):u},w.tooltipContent=function(e){return arguments.length?(a=e,w):a},w.noData=function(e){return arguments.length?(f=e,w):f},w},e.models.multiChart=function(){function T(e){return e.each(function(u){var f=d3.select(this),N=this,C=(r||parseInt(f.style("width"))||960)-t.left-t.right,k=(i||parseInt(f.style("height"))||400)-t.top-t.bottom,L=u.filter(function(e){return!e.disabled&&e.type=="line"&&e.yAxis==1}),A=u.filter(function(e){return!e.disabled&&e.type=="line"&&e.yAxis==2}),O=u.filter(function(e){return!e.disabled&&e.type=="bar"&&e.yAxis==1}),M=u.filter(function(e){return!e.disabled&&e.type=="bar"&&e.yAxis==2}),_=u.filter(function(e){return!e.disabled&&e.type=="area"&&e.yAxis==1}),D=u.filter(function(e){return!e.disabled&&e.type=="area"&&e.yAxis==2}),P=u.filter(function(e){return!e.disabled&&e.yAxis==1}).map(function(e){return e.values.map(function(e,t){return{x:e.x,y:e.y}})}),H=u.filter(function(e){return!e.disabled&&e.yAxis==2}).map(function(e){return e.values.map(function(e,t){return{x:e.x,y:e.y}})});a.domain(d3.extent(d3.merge(P.concat(H)),function(e){return e.x})).range([0,C]);var B=f.selectAll("g.wrap.multiChart").data([u]),j=B.enter().append("g").attr("class","wrap nvd3 multiChart").append("g");j.append("g").attr("class","x axis"),j.append("g").attr("class","y1 axis"),j.append("g").attr("class","y2 axis"),j.append("g").attr("class","lines1Wrap"),j.append("g").attr("class","lines2Wrap"),j.append("g").attr("class","bars1Wrap"),j.append("g").attr("class","bars2Wrap"),j.append("g").attr("class","stack1Wrap"),j.append("g").attr("class","stack2Wrap"),j.append("g").attr("class","legendWrap");var F=B.select("g");s&&(E.width(C/2),F.select(".legendWrap").datum(u.map(function(e){return e.originalKey=e.originalKey===undefined?e.key:e.originalKey,e.key=e.originalKey+(e.yAxis==1?"":" (right axis)"),e})).call(E),t.top!=E.height()&&(t.top=E.height(),k=(i||parseInt(f.style("height"))||400)-t.top-t.bottom),F.select(".legendWrap").attr("transform","translate("+C/2+","+ -t.top+")")),h.width(C).height(k).interpolate("monotone").color(u.map(function(e,t){return e.color||n[t%n.length]}).filter(function(e,t){return!u[t].disabled&&u[t].yAxis==1&&u[t].type=="line"})),p.width(C).height(k).interpolate("monotone").color(u.map(function(e,t){return e.color||n[t%n.length]}).filter(function(e,t){return!u[t].disabled&&u[t].yAxis==2&&u[t].type=="line"})),d.width(C).height(k).color(u.map(function(e,t){return e.color||n[t%n.length]}).filter(function(e,t){return!u[t].disabled&&u[t].yAxis==1&&u[t].type=="bar"})),v.width(C).height(k).color(u.map(function(e,t){return e.color||n[t%n.length]}).filter(function(e,t){return!u[t].disabled&&u[t].yAxis==2&&u[t].type=="bar"})),m.width(C).height(k).color(u.map(function(e,t){return e.color||n[t%n.length]}).filter(function(e,t){return!u[t].disabled&&u[t].yAxis==1&&u[t].type=="area"})),g.width(C).height(k).color(u.map(function(e,t){return e.color||n[t%n.length]}).filter(function(e,t){return!u[t].disabled&&u[t].yAxis==2&&u[t].type=="area"})),F.attr("transform","translate("+t.left+","+t.top+")");var I=F.select(".lines1Wrap").datum(L),q=F.select(".bars1Wrap").datum(O),R=F.select(".stack1Wrap").datum(_),U=F.select(".lines2Wrap").datum(A),z=F.select(".bars2Wrap").datum(M),W=F.select(".stack2Wrap").datum(D),X=_.length?_.map(function(e){return e.values}).reduce(function(e,t){return e.map(function(e,n){return{x:e.x,y:e.y+t[n].y}})}).concat([{x:0,y:0}]):[],V=D.length?D.map(function(e){return e.values}).reduce(function(e,t){return e.map(function(e,n){return{x:e.x,y:e.y+t[n].y}})}).concat([{x:0,y:0}]):[];l.domain(d3.extent(d3.merge(P).concat(X),function(e){return e.y})).range([0,k]),c.domain(d3.extent(d3.merge(H).concat(V),function(e){return e.y})).range([0,k]),h.yDomain(l.domain()),d.yDomain(l.domain()),m.yDomain(l.domain()),p.yDomain(c.domain()),v.yDomain(c.domain()),g.yDomain(c.domain()),_.length&&d3.transition(R).call(m),D.length&&d3.transition(W).call(g),O.length&&d3.transition(q).call(d),M.length&&d3.transition(z).call(v),L.length&&d3.transition(I).call(h),A.length&&d3.transition(U).call(p),y.ticks(C/100).tickSize(-k,0),F.select(".x.axis").attr("transform","translate(0,"+k+")"),d3.transition(F.select(".x.axis")).call(y),b.ticks(k/36).tickSize(-C,0),d3.transition(F.select(".y1.axis")).call(b),w.ticks(k/36).tickSize(-C,0),d3.transition(F.select(".y2.axis")).call(w),F.select(".y2.axis").style("opacity",H.length?1:0).attr("transform","translate("+a.range()[1]+",0)"),E.dispatch.on("legendClick",function(t,n){t.disabled=!t.disabled,u.filter(function(e){return!e.disabled}).length||u.map(function(e){return e.disabled=!1,B.selectAll(".series").classed("disabled",!1),e}),e.transition().call(T)}),S.on("tooltipShow",function(e){o&&x(e,N.parentNode)})}),T.update=function(){T(e)},T.container=this,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=function(e,t,n,r,i){return"

"+e+"

"+"

"+n+" at "+t+"

"},a,f,a=d3.scale.linear(),l=d3.scale.linear(),c=d3.scale.linear(),h=e.models.line().yScale(l),p=e.models.line().yScale(c),d=e.models.multiBar().stacked(!1).yScale(l),v=e.models.multiBar().stacked(!1).yScale(c),m=e.models.stackedArea().yScale(l),g=e.models.stackedArea().yScale(c),y=e.models.axis().scale(a).orient("bottom").tickPadding(5),b=e.models.axis().scale(l).orient("left"),w=e.models.axis().scale(c).orient("right"),E=e.models.legend().height(30),S=d3.dispatch("tooltipShow","tooltipHide"),x=function(t,n){var r=t.pos[0]+(n.offsetLeft||0),i=t.pos[1]+(n.offsetTop||0),s=y.tickFormat()(h.x()(t.point,t.pointIndex)),o=(t.series.bar?b:w).tickFormat()(h.y()(t.point,t.pointIndex)),a=u(t.series.key,s,o,t,T);e.tooltip.show([r,i],a,undefined,undefined,n.offsetParent)};return h.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],S.tooltipShow(e)}),h.dispatch.on("elementMouseout.tooltip",function(e){S.tooltipHide(e)}),p.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],S.tooltipShow(e)}),p.dispatch.on("elementMouseout.tooltip",function(e){S.tooltipHide(e)}),d.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],S.tooltipShow(e)}),d.dispatch.on("elementMouseout.tooltip",function(e){S.tooltipHide(e)}),v.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],S.tooltipShow(e)}),v.dispatch.on("elementMouseout.tooltip",function(e){S.tooltipHide(e)}),m.dispatch.on("tooltipShow",function(e){if(!Math.round(m.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],S.tooltipShow(e)}),m.dispatch.on("tooltipHide",function(e){S.tooltipHide(e)}),g.dispatch.on("tooltipShow",function(e){if(!Math.round(g.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],S.tooltipShow(e)}),g.dispatch.on("tooltipHide",function(e){S.tooltipHide(e)}),h.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],S.tooltipShow(e)}),h.dispatch.on("elementMouseout.tooltip",function(e){S.tooltipHide(e)}),p.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],S.tooltipShow(e)}),p.dispatch.on("elementMouseout.tooltip",function(e){S.tooltipHide(e)}),S.on("tooltipHide",function(){o&&e.tooltip.cleanup()}),T.dispatch=S,T.lines1=h,T.lines2=p,T.bars1=d,T.bars2=v,T.stack1=m,T.stack2=g,T.xAxis=y,T.yAxis1=b,T.yAxis2=w,T.x=function(e){return arguments.length?(getX=e,h.x(e),d.x(e),T):getX},T.y=function(e){return arguments.length?(getY=e,h.y(e),d.y(e),T):getY},T.margin=function(e){return arguments.length?(t=e,T):t},T.width=function(e){return arguments.length?(r=e,T):r},T.height=function(e){return arguments.length?(i=e,T):i},T.color=function(e){return arguments.length?(n=e,E.color(e),T):n},T.showLegend=function(e){return arguments.length?(s=e,T):s},T.tooltips=function(e){return arguments.length?(o=e,T):o},T.tooltipContent=function(e){return arguments.length?(u=e,T):u},T},e.models.ohlcBar=function(){function S(e){return e.each(function(e){var d=n-t.left-t.right,b=r-t.top-t.bottom;g.domain(v||d3.extent(e[0].values.map(s).concat(c))).range([0,d]),y.domain(m||[d3.min(e[0].values.map(l).concat(h)),d3.max(e[0].values.map(f).concat(h))]).range([b,0]);if(g.domain()[0]===g.domain()[1]||y.domain()[0]===y.domain()[1])singlePoint=!0;g.domain()[0]===g.domain()[1]&&(g.domain()[0]?g.domain([g.domain()[0]-g.domain()[0]*.01,g.domain()[1]+g.domain()[1]*.01]):g.domain([-1,1])),y.domain()[0]===y.domain()[1]&&(y.domain()[0]?y.domain([y.domain()[0]+y.domain()[0]*.01,y.domain()[1]-y.domain()[1]*.01]):y.domain([-1,1]));var w=d3.select(this).on("click",function(e,t){E.chartClick({data:e,index:t,pos:d3.event,id:i})}),S=d3.select(this).selectAll("g.nv-wrap.nv-ohlcBar").data([e[0].values]),T=S.enter().append("g").attr("class","nvd3 nv-wrap nv-ohlcBar"),N=T.append("g");N.append("g").attr("class","nv-ticks"),S.attr("width",n).attr("height",r);var C=S.select("g").attr("transform","translate("+t.left+","+t.top+")");T.append("defs").append("clipPath").attr("id","nv-chart-clip-path-"+i).append("rect"),S.select("#nv-chart-clip-path-"+i+" rect").attr("width",d).attr("height",b),N.attr("clip-path",p?"url(#nv-chart-clip-path-"+i+")":"");var k=N.append("g").attr("class","nv-shiftWrap"),L=S.select(".nv-ticks").selectAll(".nv-tick").data(function(e){return e});L.exit().remove();var A=L.enter().append("path").attr("class",function(e,t,n){return(u(e,t)>a(e,t)?"nv-tick negative":"nv-tick positive")+" nv-tick-"+n+"-"+t}).attr("d",function(t,n){var r=d/e[0].values.length*.9;return"m0,0l0,"+(y(u(t,n))-y(f(t,n)))+"l"+ -r/2+",0l"+r/2+",0l0,"+(y(l(t,n))-y(u(t,n)))+"l0,"+(y(a(t,n))-y(l(t,n)))+"l"+r/2+",0l"+ -r/2+",0z"}).attr("transform",function(e,t){return"translate("+g(s(e,t))+","+y(f(e,t))+")"}).on("mouseover",function(t,n){d3.select(this).classed("hover",!0),E.elementMouseover({point:t,series:e[0],pos:[g(s(t,n)),y(o(t,n))],pointIndex:n,seriesIndex:0,e:d3.event})}).on("mouseout",function(t,n){d3.select(this).classed("hover",!1),E.elementMouseout({point:t,series:e[0],pointIndex:n,seriesIndex:0,e:d3.event})}).on("click",function(e,t){E.elementClick({value:o(e,t),data:e,index:t,pos:[g(s(e,t)),y(o(e,t))],e:d3.event,id:i}),d3.event.stopPropagation()}).on("dblclick",function(e,t){E.elementDblClick({value:o(e,t),data:e,index:t,pos:[g(s(e,t)),y(o(e,t))],e:d3.event,id:i}),d3.event.stopPropagation()});L.attr("class",function(e,t,n){return(u(e,t)>a(e,t)?"nv-tick negative":"nv-tick positive")+" nv-tick-"+n+"-"+t}),d3.transition(L).attr("transform",function(e,t){return"translate("+g(s(e,t))+","+y(f(e,t))+")"}).attr("d",function(t,n){var r=d/e[0].values.length*.9;return"m0,0l0,"+(y(u(t,n))-y(f(t,n)))+"l"+ -r/2+",0l"+r/2+",0l0,"+(y(l(t,n))-y(u(t,n)))+"l0,"+(y(a(t,n))-y(l(t,n)))+"l"+r/2+",0l"+ -r/2+",0z"})}),S}var t={top:0,right:0,bottom:0,left:0},n=960,r=500,i=Math.floor(Math.random()*1e4),s=function(e){return e.x},o=function(e){return e.y},u=function(e){return e.open},a=function(e){return e.close},f=function(e){return e.high},l=function(e){return e.low},c=[],h=[],p=!0,d=e.utils.defaultColor(),v,m,g=d3.scale.linear(),y=d3.scale.linear(),b=d3.svg.axis().scale(g).orient("bottom"),w=d3.svg.axis().scale(y).orient("left"),E=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout");return S.dispatch=E,S.x=function(e){return arguments.length?(s=e,S):s},S.y=function(e){return arguments.length?(o=e,S):o},S.open=function(e){return arguments.length?(u=e,S):u},S.close=function(e){return arguments.length?(a=e,S):a},S.high=function(e){return arguments.length?(f=e,S):f},S.low=function(e){return arguments.length?(l=e,S):l},S.margin=function(e){return arguments.length?(t=e,S):t},S.width=function(e){return arguments.length?(n=e,S):n},S.height=function(e){return arguments.length?(r=e,S):r},S.xScale=function(e){return arguments.length?(g=e,S):g},S.yScale=function(e){return arguments.length?(y=e,S):y},S.xDomain=function(e){return arguments.length?(v=e,S):v},S.yDomain=function(e){return arguments.length?(m=e,S):m},S.forceX=function(e){return arguments.length?(c=e,S):c},S.forceY=function(e){return arguments.length?(h=e,S):h},S.clipEdge=function(e){return arguments.length?(p=e,S):p},S.color=function(t){return arguments.length?(d=e.utils.getColor(t),S):d},S.id=function(e){return arguments.length?(i=e,S):i},S},e.models.pie=function(){function v(e){return e.each(function(e){function L(e){var t=(e.startAngle+e.endAngle)*90/Math.PI-90;return t>90?t-180:t}function A(e){p||(e.innerRadius=0);var t=d3.interpolate(this._current,e);return this._current=t(0),function(e){return S(t(e))}}function O(e){e.innerRadius=0;var t=d3.interpolate({startAngle:0,endAngle:0},e);return function(e){return S(t(e))}}var f=n-t.left-t.right,v=r-t.top-t.bottom,m=Math.min(f,v)/2,g=d3.select(this).on("click",function(e,t){d.chartClick({data:e,index:t,pos:d3.event,id:u})}),y=g.selectAll(".nv-wrap.nv-pie").data([i(e[0])]),b=y.enter().append("g").attr("class","nvd3 nv-wrap nv-pie nv-chart-"+u),w=b.append("g"),E=y.select("g");w.append("g").attr("class","nv-pie"),y.attr("transform","translate("+t.left+","+t.top+")"),E.select(".nv-pie").attr("transform","translate("+f/2+","+v/2+")");var S=d3.svg.arc().outerRadius(m-m/5);p&&S.innerRadius(m/2);var x=d3.layout.pie().sort(null).value(function(e){return e.disabled?0:o(e)}),T=y.select(".nv-pie").selectAll(".nv-slice").data(x);T.exit().remove();var N=T.enter().append("g").attr("class","nv-slice").on("mouseover",function(e,t){d3.select(this).classed("hover",!0),d.elementMouseover({label:s(e.data),value:o(e.data),point:e.data,pointIndex:t,pos:[d3.event.pageX,d3.event.pageY],id:u})}).on("mouseout",function(e,t){d3.select(this).classed("hover",!1),d.elementMouseout({label:s(e.data),value:o(e.data),point:e.data,index:t,id:u})}).on("click",function(e,t){d.elementClick({label:s(e.data),value:o(e.data),point:e.data,index:t,pos:d3.event,id:u}),d3.event.stopPropagation()}).on("dblclick",function(e,t){d.elementDblClick({label:s(e.data),value:o(e.data),point:e.data,index:t,pos:d3.event,id:u}),d3.event.stopPropagation()});T.attr("fill",function(e,t){return a(e,t)}).attr("stroke",function(e,t){return a(e,t)});var C=N.append("path").each(function(e){this._current=e});d3.transition(T.select("path")).attr("d",S).attrTween("d",A);if(l){var k=S;c&&(k=d3.svg.arc().outerRadius(S.outerRadius())),N.append("g").classed("nv-label",!0).each(function(e,t){var n=d3.select(this);n.attr("transform",function(e){return e.outerRadius=m+10,e.innerRadius=m+15,"translate("+k.centroid(e)+")"}),n.append("rect").style("stroke","#fff").style("fill","#fff").attr("rx",3).attr("ry",3),n.append("text").style("text-anchor","middle").style("fill","#000")}),T.select(".nv-label").transition().attr("transform",function(e){return e.outerRadius=m+10,e.innerRadius=m+15,"translate("+k.centroid(e)+")"}),T.each(function(e,t){var n=d3.select(this);n.select(".nv-label text").text(function(e,t){var n=(e.endAngle-e.startAngle)/(2*Math.PI);return e.value&&n>h?s(e.data):""});var r=$(this).find("text")[0].getBBox();n.select(".nv-label rect").attr("width",r.width+10).attr("height",r.height+10).attr("transform",function(){return"translate("+[r.x-5,r.y-5]+")"})})}}),v}var t={top:0,right:0,bottom:0,left:0},n=500,r=500,i=function(e){return e.values},s=function(e){return e.x},o=function(e){return e.y},u=Math.floor(Math.random()*1e4),a=e.utils.defaultColor(),f=d3.format(",.2f"),l=!0,c=!1,h=.02,p=!1,d=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout");return v.dispatch=d,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.values=function(e){return arguments.length?(i=e,v):i},v.x=function(e){return arguments.length?(s=e,v):s},v.y=function(e){return arguments.length?(o=d3.functor(e),v):o},v.showLabels=function(e){return arguments.length?(l=e,v):l},v.donutLabelsOutside=function(e){return arguments.length?(c=e,v):c},v.donut=function(e){return arguments.length?(p=e,v):p},v.id=function(e){return arguments.length?(u=e,v):u},v.color=function(t){return arguments.length?(a=e.utils.getColor(t),v):a},v.valueFormat=function(e){return arguments.length?(f=e,v):f},v.labelThreshold=function(e){return arguments.length?(h=e,v):h},v},e.models.pieChart=function(){function p(s){return s.each(function(u){var d=d3.select(this),v=this,m=(n||parseInt(d.style("width"))||960)-t.left-t.right,g=(r||parseInt(d.style("height"))||400)-t.top-t.bottom;if(!u||!u.length||!u.filter(function(e){return e.values.length}).length)return d.append("text").attr("class","nvd3 nv-noData").attr("x",m/2).attr("y",g/2).attr("dy","-.7em").style("text-anchor","middle").text(a),p;d.select(".nv-noData").remove();var y=d.selectAll("g.nv-wrap.nv-pieChart").data([u]),b=y.enter().append("g").attr("class","nvd3 nv-wrap nv-pieChart").append("g");b.append("g").attr("class","nv-pieWrap"),b.append("g").attr("class","nv-legendWrap");var w=y.select("g");i&&(l.width(m).key(f.x()),y.select(".nv-legendWrap").datum(f.values()(u[0])).call(l),t.top!=l.height()&&(t.top=l.height(),g=(r||parseInt(d.style("height"))||400)-t.top-t.bottom),y.select(".nv-legendWrap").attr("transform","translate(0,"+ -t.top+")")),f.width(m).height(g),w.attr("transform","translate("+t.left+","+t.top+")");var E=w.select(".nv-pieWrap").datum(u);d3.transition(E).call(f),l.dispatch.on("legendClick",function(e,t,n){e.disabled=!e.disabled,f.values()(u[0]).filter(function(e){return!e.disabled}).length||f.values()(u[0]).map(function(e){return e.disabled=!1,y.selectAll(".nv-series").classed("disabled",!1),e}),s.transition().call(p)}),f.dispatch.on("elementMouseover.tooltip",function(e){e.pos=[e.pos[0]+t.left,e.pos[1]+t.top],c.tooltipShow(e)}),o&&c.on("tooltipShow",function(e){h(e)}),f.dispatch.on("elementMouseout.tooltip",function(e){c.tooltipHide(e)}),o&&c.on("tooltipHide",e.tooltip.cleanup),p.update=function(){s.transition().call(p)},p.container=this}),p}var t={top:30,right:20,bottom:20,left:20},n=null,r=null,i=!0,s=e.utils.defaultColor(),o=!0,u=function(e,t,n,r){return"

"+e+"

"+"

"+t+"

"},a="No Data Available.",f=e.models.pie(),l=e.models.legend().height(30),c=d3.dispatch("tooltipShow","tooltipHide"),h=function(t,n){var r=t.pos[0]+(n&&n.offsetLeft||0),i=t.pos[1]+(n&&n.offsetTop||0),s=f.valueFormat()(f.y()(t.point)),o=u(f.x()(t.point),s,t,p);e.tooltip.show([r,i],o,t.value<0?"n":"s")};return p.dispatch=c,p.pie=f,d3.rebind(p,f,"valueFormat","values","x","y","id","showLabels","donutLabelsOutside","donut","labelThreshold"),p.margin=function(e){return arguments.length?(t=e,p):t},p.width=function(e){return arguments.length?(n=e,p):n},p.height=function(e){return arguments.length?(r=e,p):r},p.color=function(t){return arguments.length?(s=e.utils.getColor(t),l.color(s),f.color(s),p):s},p.showLegend=function(e){return arguments.length?(i=e,p):i},p.tooltips=function(e){return arguments.length?(o=e,p):o},p.tooltipContent=function(e){return arguments.length?(u=e,p):u},p.noData=function(e){return arguments.length?(a=e,p):a},p},e.models.scatter=function(){function O(e){return e.each(function(e){function I(){if(!m)return!1;var n=d3.merge(e.map(function(e,t){return e.values.filter(g).map(function(e,n){return[o(f(e,n))*(Math.random()/1e12+1),u(l(e,n))*(Math.random()/1e12+1),t,n]})}));if(b){B.append("clipPath").attr("id","nv-points-clip-"+s);var r=P.select("#nv-points-clip-"+s).selectAll("circle").data(n);r.enter().append("circle").attr("r",w),r.exit().remove(),r.attr("cx",function(e){return e[0]}).attr("cy",function(e){return e[1]}),P.select(".nv-point-paths").attr("clip-path","url(#nv-points-clip-"+s+")")}var i=d3.geom.voronoi(n).map(function(e,t){return{data:e,series:n[t][2],point:n[t][3]}}),a=P.select(".nv-point-paths").selectAll("path").data(i);a.enter().append("path").attr("class",function(e,t){return"nv-path-"+t}),a.exit().remove(),a.attr("d",function(e){return"M"+e.data.join(",")+"Z"}).on("click",function(n){var r=e[n.series],i=r.values[n.point];N.elementClick({point:i,series:r,pos:[o(f(i,n.point))+t.left,u(l(i,n.point))+t.top],seriesIndex:n.series,pointIndex:n.point})}).on("mouseover",function(n){var r=e[n.series],i=r.values[n.point];N.elementMouseover({point:i,series:r,pos:[o(f(i,n.point))+t.left,u(l(i,n.point))+t.top],seriesIndex:n.series,pointIndex:n.point})}).on("mouseout",function(t,n){var r=e[t.series],i=r.values[t.point];N.elementMouseout({point:i,series:r,seriesIndex:t.series,pointIndex:t.point})})}var O=n-t.left-t.right,M=r-t.top-t.bottom,_=d3.select(this);e=e.map(function(e,t){return e +.values=e.values.map(function(e){return e.series=t,e}),e});var D=E&&S&&x?[]:d3.merge(e.map(function(e){return e.values.map(function(e,t){return{x:f(e,t),y:l(e,t),size:c(e,t)}})}));o.domain(E||d3.extent(D.map(function(e){return e.x}).concat(p))).range([0,O]),u.domain(S||d3.extent(D.map(function(e){return e.y}).concat(d))).range([M,0]),a.domain(x||d3.extent(D.map(function(e){return e.size}).concat(v))).range([16,256]);if(o.domain()[0]===o.domain()[1]||u.domain()[0]===u.domain()[1])T=!0;o.domain()[0]===o.domain()[1]&&(o.domain()[0]?o.domain([o.domain()[0]-o.domain()[0]*.01,o.domain()[1]+o.domain()[1]*.01]):o.domain([-1,1])),u.domain()[0]===u.domain()[1]&&(u.domain()[0]?u.domain([u.domain()[0]+u.domain()[0]*.01,u.domain()[1]-u.domain()[1]*.01]):u.domain([-1,1])),C=C||o,k=k||u,L=L||a;var P=_.selectAll("g.nv-wrap.nv-scatter").data([e]),H=P.enter().append("g").attr("class","nvd3 nv-wrap nv-scatter nv-chart-"+s+(T?" nv-single-point":"")),B=H.append("defs"),j=H.append("g"),F=P.select("g");j.append("g").attr("class","nv-groups"),j.append("g").attr("class","nv-point-paths"),P.attr("transform","translate("+t.left+","+t.top+")"),B.append("clipPath").attr("id","nv-edge-clip-"+s).append("rect"),P.select("#nv-edge-clip-"+s+" rect").attr("width",O).attr("height",M),F.attr("clip-path",y?"url(#nv-edge-clip-"+s+")":"");var q=P.select(".nv-groups").selectAll(".nv-group").data(function(e){return e},function(e){return e.key});q.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6),d3.transition(q.exit()).style("stroke-opacity",1e-6).style("fill-opacity",1e-6).remove(),q.attr("class",function(e,t){return"nv-group nv-series-"+t}).classed("hover",function(e){return e.hover}),d3.transition(q).style("fill",function(e,t){return i(e,t)}).style("stroke",function(e,t){return i(e,t)}).style("stroke-opacity",1).style("fill-opacity",.5);var R=q.selectAll("path.nv-point").data(function(e){return e.values});R.enter().append("path").attr("transform",function(e,t){return"translate("+C(f(e,t))+","+k(l(e,t))+")"}).attr("d",d3.svg.symbol().type(h).size(function(e,t){return a(c(e,t))})),d3.transition(q.exit().selectAll("path.nv-point")).attr("transform",function(e,t){return"translate("+o(f(e,t))+","+u(l(e,t))+")"}).remove(),R.attr("class",function(e,t){return"nv-point nv-point-"+t}),d3.transition(R).attr("transform",function(e,t){return"translate("+o(f(e,t))+","+u(l(e,t))+")"}).attr("d",d3.svg.symbol().type(h).size(function(e,t){return a(c(e,t))})),clearTimeout(A),A=setTimeout(I,1e3),C=o.copy(),k=u.copy(),L=a.copy()}),O}var t={top:0,right:0,bottom:0,left:0},n=960,r=500,i=e.utils.defaultColor(),s=Math.floor(Math.random()*1e5),o=d3.scale.linear(),u=d3.scale.linear(),a=d3.scale.linear(),f=function(e){return e.x},l=function(e){return e.y},c=function(e){return e.size},h=function(e){return e.shape||"circle"},p=[],d=[],v=[],m=!0,g=function(e){return!e.notActive},y=!1,b=!0,w=function(){return 25},E=null,S=null,x=null,T=!1,N=d3.dispatch("elementClick","elementMouseover","elementMouseout"),C,k,L,A;return N.on("elementMouseover.point",function(e){m&&d3.select(".nv-chart-"+s+" .nv-series-"+e.seriesIndex+" .nv-point-"+e.pointIndex).classed("hover",!0)}),N.on("elementMouseout.point",function(e){m&&d3.select(".nv-chart-"+s+" .nv-series-"+e.seriesIndex+" .nv-point-"+e.pointIndex).classed("hover",!1)}),O.dispatch=N,O.x=function(e){return arguments.length?(f=d3.functor(e),O):f},O.y=function(e){return arguments.length?(l=d3.functor(e),O):l},O.size=function(e){return arguments.length?(c=d3.functor(e),O):c},O.margin=function(e){return arguments.length?(t=e,O):t},O.width=function(e){return arguments.length?(n=e,O):n},O.height=function(e){return arguments.length?(r=e,O):r},O.xScale=function(e){return arguments.length?(o=e,O):o},O.yScale=function(e){return arguments.length?(u=e,O):u},O.zScale=function(e){return arguments.length?(a=e,O):a},O.xDomain=function(e){return arguments.length?(E=e,O):E},O.yDomain=function(e){return arguments.length?(S=e,O):S},O.sizeDomain=function(e){return arguments.length?(x=e,O):x},O.forceX=function(e){return arguments.length?(p=e,O):p},O.forceY=function(e){return arguments.length?(d=e,O):d},O.forceSize=function(e){return arguments.length?(v=e,O):v},O.interactive=function(e){return arguments.length?(m=e,O):m},O.pointActive=function(e){return arguments.length?(g=e,O):g},O.clipEdge=function(e){return arguments.length?(y=e,O):y},O.clipVoronoi=function(e){return arguments.length?(b=e,O):b},O.clipRadius=function(e){return arguments.length?(w=e,O):w},O.color=function(t){return arguments.length?(i=e.utils.getColor(t),O):i},O.shape=function(e){return arguments.length?(h=e,O):h},O.id=function(e){return arguments.length?(s=e,O):s},O.singlePoint=function(e){return arguments.length?(T=e,O):T},O},e.models.scatterChart=function(){function O(e){return e.each(function(u){function H(){if(h)return P.select(".nv-point-paths").style("pointer-events","all"),!1;P.select(".nv-point-paths").style("pointer-events","none");var e=d3.mouse(this);s.distortion(c).focus(e[0]),o.distortion(c).focus(e[1]),P.select(".nv-scatterWrap").datum(u.filter(function(e){return!e.disabled})).call(g),P.select(".nv-x.nv-axis").call(y),P.select(".nv-y.nv-axis").call(b),P.select(".nv-distributionX").datum(u.filter(function(e){return!e.disabled})).call(S),P.select(".nv-distributionY").datum(u.filter(function(e){return!e.disabled})).call(x)}var a=d3.select(this),d=this,v=(n||parseInt(a.style("width"))||960)-t.left-t.right,m=(r||parseInt(a.style("height"))||400)-t.top-t.bottom;if(!u||!u.length||!u.filter(function(e){return e.values.length}).length)return a.append("text").attr("class","nvd3 nv-noData").attr("x",v/2).attr("y",m/2).attr("dy","-.7em").style("text-anchor","middle").text(N),O;a.select(".nv-noData").remove(),s=g.xScale(),o=g.yScale(),C=C||s,k=k||o;var M=a.selectAll("g.nv-wrap.nv-scatterChart").data([u]),_=M.enter().append("g").attr("class","nvd3 nv-wrap nv-scatterChart nv-chart-"+g.id()),D=_.append("g"),P=M.select("g");D.append("rect").attr("class","nvd3 nv-background"),D.append("g").attr("class","nv-x nv-axis"),D.append("g").attr("class","nv-y nv-axis"),D.append("g").attr("class","nv-scatterWrap"),D.append("g").attr("class","nv-distWrap"),D.append("g").attr("class","nv-legendWrap"),D.append("g").attr("class","nv-controlsWrap"),M.attr("transform","translate("+t.left+","+t.top+")"),f&&(w.width(v/2),M.select(".nv-legendWrap").datum(u).call(w),t.top!=w.height()&&(t.top=w.height(),m=(r||parseInt(a.style("height"))||400)-t.top-t.bottom),M.select(".nv-legendWrap").attr("transform","translate("+v/2+","+ -t.top+")")),l&&(E.width(180).color(["#444"]),P.select(".nv-controlsWrap").datum(A).attr("transform","translate(0,"+ -t.top+")").call(E)),P.select(".nv-background").attr("width",v).attr("height",m),g.width(v).height(m).color(u.map(function(e,t){return e.color||i(e,t)}).filter(function(e,t){return!u[t].disabled})),M.select(".nv-scatterWrap").datum(u.filter(function(e){return!e.disabled})).call(g),y.scale(s).ticks(v/100).tickSize(-m,0),P.select(".nv-x.nv-axis").attr("transform","translate(0,"+o.range()[0]+")").call(y),b.scale(o).ticks(m/36).tickSize(-v,0),P.select(".nv-y.nv-axis").call(b),S.scale(s).width(v).color(u.map(function(e,t){return e.color||i(e,t)}).filter(function(e,t){return!u[t].disabled})),D.select(".nv-distWrap").append("g").attr("class","nv-distributionX").attr("transform","translate(0,"+o.range()[0]+")"),P.select(".nv-distributionX").datum(u.filter(function(e){return!e.disabled})).call(S),x.scale(o).width(m).color(u.map(function(e,t){return e.color||i(e,t)}).filter(function(e,t){return!u[t].disabled})),D.select(".nv-distWrap").append("g").attr("class","nv-distributionY").attr("transform","translate(-"+x.size()+",0)"),P.select(".nv-distributionY").datum(u.filter(function(e){return!e.disabled})).call(x),P.select(".nv-background").on("mousemove",H),P.select(".nv-background").on("click",function(){h=!h}),g.dispatch.on("elementClick.freezeFisheye",function(){h=!h}),E.dispatch.on("legendClick",function(t,n){t.disabled=!t.disabled,c=t.disabled?0:2.5,P.select(".nv-background").style("pointer-events",t.disabled?"none":"all"),P.select(".nv-point-paths").style("pointer-events",t.disabled?"all":"none"),t.disabled?(s.distortion(c).focus(0),o.distortion(c).focus(0),P.select(".nv-scatterWrap").call(g),P.select(".nv-x.nv-axis").call(y),P.select(".nv-y.nv-axis").call(b)):h=!1,O(e)}),w.dispatch.on("legendClick",function(t,n,r){t.disabled=!t.disabled,u.filter(function(e){return!e.disabled}).length||u.map(function(e){return e.disabled=!1,M.selectAll(".nv-series").classed("disabled",!1),e}),O(e)}),g.dispatch.on("elementMouseover.tooltip",function(e){d3.select(".nv-chart-"+g.id()+" .nv-series-"+e.seriesIndex+" .nv-distx-"+e.pointIndex).attr("y1",e.pos[1]-m),d3.select(".nv-chart-"+g.id()+" .nv-series-"+e.seriesIndex+" .nv-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)}),T.on("tooltipShow",function(e){p&&L(e,d.parentNode)}),C=s.copy(),k=o.copy(),O.update=function(){O(e)},O.container=this}),O}var t={top:30,right:20,bottom:50,left:60},n=null,r=null,i=e.utils.defaultColor(),s=d3.fisheye.scale(d3.scale.linear).distortion(0),o=d3.fisheye.scale(d3.scale.linear).distortion(0),u=!1,a=!1,f=!0,l=!0,c=0,h=!1,p=!0,d=function(e,t,n){return""+t+""},v=function(e,t,n){return""+n+""},m=null,g=e.models.scatter().xScale(s).yScale(o),y=e.models.axis().orient("bottom").tickPadding(10),b=e.models.axis().orient("left").tickPadding(10),w=e.models.legend().height(30),E=e.models.legend().height(30),S=e.models.distribution().axis("x"),x=e.models.distribution().axis("y"),T=d3.dispatch("tooltipShow","tooltipHide"),N="No Data Available.",C,k,L=function(n,r){var i=n.pos[0]+(r.offsetLeft||0),u=n.pos[1]+(r.offsetTop||0),a=n.pos[0]+(r.offsetLeft||0),f=o.range()[0]+t.top+(r.offsetTop||0),l=s.range()[0]+t.left+(r.offsetLeft||0),c=n.pos[1]+(r.offsetTop||0),h=y.tickFormat()(g.x()(n.point,n.pointIndex)),p=b.tickFormat()(g.y()(n.point,n.pointIndex));d!=null&&e.tooltip.show([a,f],d(n.series.key,h,p,n,O),"n",1,null,"x-nvtooltip"),v!=null&&e.tooltip.show([l,c],v(n.series.key,h,p,n,O),"e",1,null,"y-nvtooltip"),m!=null&&e.tooltip.show([i,u],m(n.series.key,h,p,n,O),n.value<0?"n":"s")},A=[{key:"Magnify",disabled:!0}];return g.dispatch.on("elementMouseout.tooltip",function(e){T.tooltipHide(e),d3.select(".nv-chart-"+g.id()+" .nv-series-"+e.seriesIndex+" .nv-distx-"+e.pointIndex).attr("y1",0),d3.select(".nv-chart-"+g.id()+" .nv-series-"+e.seriesIndex+" .nv-disty-"+e.pointIndex).attr("x2",x.size())}),T.on("tooltipHide",function(){p&&e.tooltip.cleanup()}),O.dispatch=T,O.legend=w,O.controls=w,O.xAxis=y,O.yAxis=b,O.distX=S,O.distY=x,d3.rebind(O,g,"id","interactive","pointActive","shape","size","xScale","yScale","zScale","xDomain","yDomain","sizeDomain","forceX","forceY","forceSize","clipVoronoi","clipRadius"),O.margin=function(e){return arguments.length?(t=e,O):t},O.width=function(e){return arguments.length?(n=e,O):n},O.height=function(e){return arguments.length?(r=e,O):r},O.color=function(t){return arguments.length?(i=e.utils.getColor(t),w.color(i),S.color(i),x.color(i),O):i},O.showDistX=function(e){return arguments.length?(u=e,O):u},O.showDistY=function(e){return arguments.length?(a=e,O):a},O.showControls=function(e){return arguments.length?(l=e,O):l},O.showLegend=function(e){return arguments.length?(f=e,O):f},O.fisheye=function(e){return arguments.length?(c=e,O):c},O.tooltips=function(e){return arguments.length?(p=e,O):p},O.tooltipContent=function(e){return arguments.length?(m=e,O):m},O.tooltipXContent=function(e){return arguments.length?(d=e,O):d},O.tooltipYContent=function(e){return arguments.length?(v=e,O):v},O.noData=function(e){return arguments.length?(N=e,O):N},O},e.models.sparkline=function(){function h(e){return e.each(function(e){var i=n-t.left-t.right,h=r-t.top-t.bottom;l.domain(a||d3.extent(e,s)).range([0,i]),c.domain(f||d3.extent(e,o)).range([h,0]);var p=d3.select(this).selectAll("g.nv-wrap.nv-sparkline").data([e]),d=p.enter().append("g").attr("class","nvd3 nv-wrap nv-sparkline");d.attr("transform","translate("+t.left+","+t.top+")").style("stroke",function(e,t){return e.color||u(e,t)});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 l(s(e,t))}).y(function(e,t){return c(o(e,t))}));var m=d.selectAll("circle.nv-point").data(function(e){return e.filter(function(e,t){return c.domain().indexOf(o(e,t))!=-1||s(e,t)==l.domain()[1]})});m.enter().append("circle").attr("class","nv-point"),m.exit().remove(),m.attr("cx",function(e,t){return l(s(e,t))}).attr("cy",function(e,t){return c(o(e,t))}).attr("r",2).style("stroke",function(e,t){return e.x==l.domain()[1]?"#444":e.y==c.domain()[0]?"#d62728":"#2ca02c"}).style("fill",function(e,t){return e.x==l.domain()[1]?"#444":e.y==c.domain()[0]?"#d62728":"#2ca02c"})}),h}var t={top:0,right:0,bottom:0,left:0},n=400,r=32,i=!0,s=function(e){return e.x},o=function(e){return e.y},u=e.utils.defaultColor(),a,f,l=d3.scale.linear(),c=d3.scale.linear();return 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.x=function(e){return arguments.length?(s=d3.functor(e),h):s},h.y=function(e){return arguments.length?(o=d3.functor(e),h):o},h.xDomain=function(e){return arguments.length?(a=e,h):a},h.yDomain=function(e){return arguments.length?(f=e,h):f},h.animate=function(e){return arguments.length?(i=e,h):i},h},e.models.sparklinePlus=function(){function v(e){return e.each(function(e){function C(){var n=d3.event.offsetX-t.left;S.attr("x1",n).attr("x2",n),T.attr("transform",function(e){return"translate("+(n-6)+","+ -t.top+")"}).text(f(Math.round(h.invert(n))));var r=function(e,t){var n=Math.abs(s(e[0])-t),r=0;for(var i=0;i"+e+""+"

"+n+" on "+t+"

"},f,l,c="No Data Available.",h=e.models.stackedArea(),p=e.models.axis().orient("bottom").tickPadding(5),d=e.models.axis().orient("left"),v=d3.format(",.2f"),m=e.models.legend().height(30),g=e.models.legend().height(30),y=d3.dispatch("tooltipShow","tooltipHide"),b=[{key:"Stacked"},{key:"Stream",disabled:!0},{key:"Expanded",disabled:!0}],w=function(t,n){var r=t.pos[0]+(n.offsetLeft||0),i=t.pos[1]+(n.offsetTop||0),s=p.tickFormat()(h.x()(t.point,t.pointIndex)),o=d.tickFormat()(h.y()(t.point,t.pointIndex)),u=a(t.series.key,s,o,t,E);e.tooltip.show([r,i],u,t.value<0?"n":"s")};return h.dispatch.on("tooltipShow",function(e){if(!Math.round(h.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],y.tooltipShow(e)}),h.dispatch.on("tooltipHide",function(e){y.tooltipHide(e)}),y.on("tooltipHide",function(){u&&e.tooltip.cleanup()}),E.dispatch=y,E.stacked=h,E.xAxis=p,E.yAxis=d,d3.rebind(E,h,"x","y","size","xScale","yScale","xDomain","yDomain","sizeDomain","interactive","offset","order","style","clipEdge","forceX","forceY","forceSize"),E.margin=function(e){return arguments.length?(t=e,E):t},E.width=function(e){return arguments.length?(n=e,E):getWidth},E.height=function(e){return arguments.length?(r=e,E):getHeight},E.color=function(t){return arguments.length?(i=e.utils.getColor(t),m.color(i),h.color(i),E):i},E.showControls=function(e){return arguments.length?(s=e,E):s},E.showLegend=function(e){return arguments.length?(o=e,E):o},E.tooltips=function(e){return arguments.length?(u=e,E):u},E.tooltipContent=function(e){return arguments.length?(a=e,E):a},E.noData=function(e){return arguments.length?(c=e,E):c},d.setTickFormat=d.tickFormat,d.tickFormat=function(e){return arguments.length?(v=e,d):v},E}})(); \ No newline at end of file diff --git a/src/models/pie.js b/src/models/pie.js index 1dc9a6e..9cec20c 100644 --- a/src/models/pie.js +++ b/src/models/pie.js @@ -10,6 +10,7 @@ nv.models.pie = function() { color = nv.utils.defaultColor(), valueFormat = d3.format(',.2f'), showLabels = true, + donutLabelsOutside = false, labelThreshold = .02, //if slice percentage is under this, don't show label donut = false; @@ -123,27 +124,60 @@ nv.models.pie = function() { if (showLabels) { // This does the normal label - ae.append('text') + var labelsArc = arc; + if (donutLabelsOutside) { + labelsArc = d3.svg.arc().outerRadius(arc.outerRadius()) + } + + ae.append("g").classed("nv-label", true) + .each(function(d, i) { + var group = d3.select(this); + + group + .attr('transform', function(d) { + d.outerRadius = radius + 10; // Set Outer Coordinate + d.innerRadius = radius + 15; // Set Inner Coordinate + return 'translate(' + labelsArc.centroid(d) + ')' + }); + + group.append('rect') + .style('stroke', '#fff') + .style('fill', '#fff') + .attr("rx", 3) + .attr("ry", 3); + + group.append('text') + .style('text-anchor', 'middle') //center the text on it's origin + .style('fill', '#000') + + + }); + + slices.select(".nv-label").transition() .attr('transform', function(d) { - d.outerRadius = radius + 10; // Set Outer Coordinate - d.innerRadius = radius + 15; // Set Inner Coordinate - return 'translate(' + arc.centroid(d) + ')'; - }) - .style('text-anchor', 'middle') //center the text on it's origin - .style('fill', '#000'); - - d3.transition(slices.select('text')) - //.ease('bounce') - .attr('transform', function(d) { - d.outerRadius = radius + 10; // Set Outer Coordinate - d.innerRadius = radius + 15; // Set Inner Coordinate - return 'translate(' + arc.centroid(d) + ')'; - }) - //.style('font', 'bold 12px Arial') // font style's should be set in css! - .text(function(d, i) { - var percent = (d.endAngle - d.startAngle) / (2 * Math.PI); - return (d.value && percent > labelThreshold) ? getX(d.data) : ''; + d.outerRadius = radius + 10; // Set Outer Coordinate + d.innerRadius = radius + 15; // Set Inner Coordinate + return 'translate(' + labelsArc.centroid(d) + ')'; + }); + + slices.each(function(d, i) { + var slice = d3.select(this) + + slice + .select(".nv-label text") + .text(function(d, i) { + var percent = (d.endAngle - d.startAngle) / (2 * Math.PI); + return (d.value && percent > labelThreshold) ? getX(d.data) : ''; + }); + + var textBox = $(this).find("text")[0].getBBox() + slice.select(".nv-label rect") + .attr("width", textBox.width + 10) + .attr("height", textBox.height + 10) + .attr("transform", function() { + return "translate(" + [textBox.x - 5, textBox.y - 5] + ")"; }); + }); } @@ -220,6 +254,12 @@ nv.models.pie = function() { return chart; }; + chart.donutLabelsOutside = function(_) { + if (!arguments.length) return donutLabelsOutside; + donutLabelsOutside = _; + return chart; + }; + chart.donut = function(_) { if (!arguments.length) return donut; donut = _; diff --git a/src/models/pieChart.js b/src/models/pieChart.js index 4e38710..ae0dfbb 100644 --- a/src/models/pieChart.js +++ b/src/models/pieChart.js @@ -148,7 +148,7 @@ nv.models.pieChart = function() { chart.dispatch = dispatch; chart.pie = pie; // really just makign the accessible for discretebar.dispatch, may rethink slightly - d3.rebind(chart, pie, 'valueFormat', 'values', 'x', 'y', 'id', 'showLabels', 'donut', 'labelThreshold'); + d3.rebind(chart, pie, 'valueFormat', 'values', 'x', 'y', 'id', 'showLabels', 'donutLabelsOutside', 'donut', 'labelThreshold'); chart.margin = function(_) { diff --git a/src/nv.d3.css b/src/nv.d3.css index 60237b4..ccaa47b 100644 --- a/src/nv.d3.css +++ b/src/nv.d3.css @@ -1,6 +1,6 @@ /******************** - * HTML CSS + * HTML CSS */ @@ -12,7 +12,7 @@ /******************** - * TOOLTIP CSS + * TOOLTIP CSS */ .nvtooltip { @@ -69,7 +69,7 @@ /******************** - * SVG CSS + * SVG CSS */ @@ -274,8 +274,13 @@ svg .title { */ } +.nvd3.nv-pie .nv-label rect { + fill-opacity: 0; + stroke-opacity: 0; +} + /********** -* Lines +* Lines */ .nvd3 .nv-groups path.nv-line { @@ -363,7 +368,7 @@ svg .title { /********** -* Distribution +* Distribution */ .nvd3 .nv-distribution { @@ -373,7 +378,7 @@ svg .title { /********** -* Scatter +* Scatter */ .nvd3 .nv-groups .nv-point { @@ -482,7 +487,7 @@ svg .title { /********** -* Sparkline plus +* Sparkline plus */ .nvd3.nv-sparklineplus .nv-hoverValue line {