1 line
2.2 MiB
1 line
2.2 MiB
{"version":3,"file":"nv.d3.min.js","sources":["../src/core.js","../src/dom.js","../src/interactiveLayer.js","../src/tooltip.js","../src/utils.js","../src/models/axis.js","../src/models/boxPlot.js","../src/models/boxPlotChart.js","../src/models/bullet.js","../src/models/bulletChart.js","../src/models/candlestickBar.js","../src/models/cumulativeLineChart.js","../src/models/discreteBar.js","../src/models/discreteBarChart.js","../src/models/distribution.js","../src/models/distroPlot.js","../src/models/distroPlotChart.js","../src/models/focus.js","../src/models/forceDirectedGraph.js","../src/models/furiousLegend.js","../src/models/heatMap.js","../src/models/heatMapChart.js","../src/models/historicalBar.js","../src/models/historicalBarChart.js","../src/models/legend.js","../src/models/line.js","../src/models/lineChart.js","../src/models/linePlusBarChart.js","../src/models/multiBar.js","../src/models/multiBarChart.js","../src/models/multiBarHorizontal.js","../src/models/multiBarHorizontalChart.js","../src/models/multiChart.js","../src/models/ohlcBar.js","../src/models/parallelCoordinates.js","../src/models/parallelCoordinatesChart.js","../src/models/pie.js","../src/models/pieChart.js","../src/models/sankey.js","../src/models/sankeyChart.js","../src/models/scatter.js","../src/models/scatterChart.js","../src/models/sparkline.js","../src/models/sparklinePlus.js","../src/models/stackedArea.js","../src/models/stackedAreaChart.js","../src/models/sunburst.js","../src/models/sunburstChart.js"],"names":["nv","dev","tooltip","utils","models","charts","logs","dom","d3","require","dispatch","Function","prototype","bind","oThis","this","TypeError","aArgs","Array","slice","call","arguments","fToBind","fNOP","fBound","apply","concat","on","e","startTime","Date","endTime","totalTime","log","window","console","length","deprecated","name","info","warn","render","step","active","render_start","renderLoop","chart","graph","i","queue","generate","callback","splice","setTimeout","render_end","addGraph","obj","push","module","exports","write","undefined","fastdom","mutate","read","measure","interactiveGuideline","layer","selection","each","data","mouseHandler","mouseX","event","clientX","getBoundingClientRect","left","mouseY","clientY","top","subtractMargin","mouseOutAnyReason","isMSIE","offsetX","offsetY","target","tagName","className","baseVal","match","margin","type","availableWidth","availableHeight","relatedTarget","ownerSVGElement","nvPointerEventsClass","elementMouseout","renderGuideLine","hidden","scaleIsOrdinal","xScale","rangeBands","pointXValue","elementIndex","bisect","range","rangeBand","domain","invert","elementMousemove","elementDblclick","elementClick","elementMouseDown","elementMouseUp","container","select","width","height","wrap","selectAll","wrapEnter","enter","append","attr","svgContainer","guideLine","x","showGuideLine","line","NaNtoZero","String","d","exit","remove","scale","linear","ActiveXObject","duration","hideDelay","_","interactiveBisect","values","searchVal","xAccessor","_xAccessor","_cmp","v","bisector","index","max","currentValue","nextIndex","min","nextValue","Math","abs","nearestValueIndex","threshold","yDistMax","Infinity","indexToHighlight","forEach","delta","initTooltip","node","document","body","id","classes","style","classed","nvtooltip","enabled","dataSeriesExists","newContent","contentGenerator","innerHTML","positionTooltip","floor","random","gravity","distance","snapDistance","lastPosition","headerEnabled","valueFormatter","p","headerFormatter","keyFormatter","elem","table","createElement","theadEnter","html","value","tbodyEnter","trowEnter","series","highlight","color","total","key","filter","percent","format","opacityScale","opacity","outerHTML","footer","position","pos","getComputedStyle","transform","client","isArray","isObject","calcGravityOffset","tmp","offsetHeight","offsetWidth","clientWidth","documentElement","clientHeight","gravityOffset","interrupt","transition","delay","old_translate","new_translate","round","translateInterpolator","interpolateString","is_hidden","styleTween","options","optionsFunc","_options","Object","create","get","set","chartContainer","fixedTop","offset","point","y","initOptions","windowSize","size","innerWidth","innerHeight","compatMode","a","isFunction","isDate","toString","isNumber","isNaN","windowResize","handler","addEventListener","clear","removeEventListener","getColor","defaultColor","color_scale","ordinal","category20","customTheme","dictionary","getKey","defaultColors","defIndex","pjax","links","content","load","href","fragment","parentNode","replaceChild","history","pushState","textContent","preventDefault","state","calcApproxTextWidth","svgTextElem","text","fontSize","parseInt","replace","textLength","n","watchTransition","renderWatch","args","_duration","renderStack","self","model","__rendered","m","arg","renderEnd","indexOf","reset","pop","every","deepExtend","dst","sources","source","srcObj","_setState","_getState","init","changed","getter","fn","setter","update","_set","settings","JSON","stringify","change","map","calcTicksX","numTicks","numValues","stream_len","calcTicksY","initOption","_calls","_overrides","ops","getOwnPropertyNames","calls","inheritOptionsD3","d3_source","oplist","_d3options","item","ar","unshift","rebind","arrayUnique","sort","symbolMap","symbol","t","s","svg","symbolTypes","functor","inheritOptions","inherited","_inherited","d3ops","initSVG","nvd3-svg","sanitizeHeight","sanitizeWidth","bottom","right","noData","opt","noDataText","wrapTicks","word","words","split","reverse","lineNumber","lineHeight","dy","parseFloat","tspan","join","getComputedTextLength","arrayEquals","array1","array2","l","pointIsInArc","pt","ptData","d3Arc","r1","innerRadius","r2","outerRadius","theta1","startAngle","theta2","endAngle","dist","angle","atan2","PI","axis","g","ticks","orient","scale0","fmt","tickFormat","axisLabel","axisLabelText","xLabelMargin","axisMaxMin","w","isOrdinal","showMaxMin","tickPadding","formatter","tickFormatMaxMin","axisLabelDistance","maxTextWidth","textHeight","xTicks","rotateLabelsRule","rotateLabels","box","sin","staggerLabels","rotateYLabel","maxMinRange","err","copy","boxPlot","xDomain","getX","xRange","yData","yDomain","yMin","yMax","q1","getQ1","q3","getQ3","wl","getWl","wh","getWh","olItems","getOlItems","getOlValue","yScale","yRange","xScale0","yScale0","boxplots","boxEnter","j","hover","f","box_width","maxBoxWidth","box_left","box_right","endpoint","elementMouseover","getQ2","outliers","getOlColor","getOlLabel","label","Q1","Q2","Q3","whisker_low","whisker_high","q2","itemColor","outlierValue","outlierLabel","outlierColor","boxPlotChart","boxplot","showXAxis","xAxis","showYAxis","yAxis","beforeUpdate","clamp","gEnter","defsEnter","rightAlignYAxis","barsWrap","datum","disabled","tickSize","evt","tooltipContent","bullet","sortLabels","labels","lz","b","iA","iB","descending","rangez","ranges","markerz","markers","markerLinez","markerLines","measurez","measures","rangeLabelz","rangeLabels","markerLabelz","markerLabels","markerLineLabelz","markerLineLabels","measureLabelz","measureLabels","x1","extent","merge","forceX","__chart__","il","rangeClassNames","legacyRangeClassNames","w1","xp1","h3","markerData","marker","markerLinesData","defaultRangeLabels","bulletChart","x0","title","subtitle","bulletWrap","tick","tickEnter","tickUpdate","timer","flush","candlestickBar","barWidth","padData","getLow","forceY","getHigh","chartClick","clipEdge","tickGroups","getOpen","getClose","getY","open","close","high","low","interactive","highlightPoint","pointIndex","isHoverOver","clearHighlights","cumulativeLineChart","lines","dragStart","dragMove","dx","updateZero","dragEnd","stateChange","indexLine","oldDuration","stateSetter","stateGetter","defaultState","indexDrag","behavior","drag","indexify","currentYDomain","getCurrentYDomain","rescaleY","interactivePointerEvents","showLegend","legend","marginTop","showControls","controlsData","controls","rightAlign","tempDisabled","useInteractiveGuideline","interactiveLayer","display","linesWrap","seriesIndex","avgLineData","average","avgLines","getAvgLineY","yVal","_ticks","mouse","newState","singlePoint","pointXLocation","allData","yValue","domainExtent","xValue","idx","indexifyYGetter","indexValue","noErrorCheck","seriesDomains","updateState","useVoronoi","discreteBar","seriesData","y0","showValues","groups","bars","barsEnter","element","stopPropagation","elementDblClick","valueFormat","rectClass","discreteBarChart","discretebar","wrapLabels","distribution","naxis","distWrap","getData","distroPlot","select_sigma","sorted","ascending","normalize","IQR","quantile","deviation","calcBandwidth","A","pow","prepData","dat","calcStats","xGroup","colorGroup","allColorGroups","add","iqr","upper","lower","minmax","stddev","mean","wu","median","observations","beeswarm","radius","pointSize","orientation","side","distributeOn","arrange","object_constancy","isOutlier","isOutlierStdDev","randX","jitter","bandwidth","bandwidthCalc","kde","kernelDensityEstimator","eKernel","resolution","kdeDat","clampViolin","clampViolinKDE","tmpScale","yVScale","reformat","count","num_outlier","sum","notch","sqrt","reformatDatFlat","formatted","nest","rollup","entries","xGroups","allGroups","kernel","X","sample","clamped","reduce","res","u","makeNotchBox","boxLeft","notchLeft","boxCenter","boxPoints","centralTendency","getMean","notchBox","getNl","getNu","whiskerDef","nice","reformatDat","squash","areaEnter","distroplots","areaWidth","areaCenter","areaLeft","areaRight","tickLeft","tickRight","plotType","showOnlyOutliers","observationType","hideWhiskers","toFixed","violin","objData","interp","interpolate","area","getMax","getMin","getDev","fillColor","obsWrap","getValsObj","obsGroup","stroke","rgb","recalcData","distroPlotChart","dataHasChanged","arraysEqual","dataCache","parse","arr1","arr2","objectEquals","aProps","bProps","propName","distroplot","opts","colorGroup0","bandwidth0","resolution0","clampViolin0","distroWrap","xLabel","yLabel","focus","resizePath","updateBrushBG","brush","empty","brushExtent","brushBG","leftWidth","rightWidth","onBrush","shouldDispatch","contentWrap","syncBrushing","brushBGenter","gBrush","pointActive","xTickFormat","yTickFormat","forceDirectedGraph","nodes","nodeFieldSet","Set","keys","force","layout","linkStrength","friction","linkDistance","linkDist","charge","theta","alpha","start","link","py","px","nodeColor","field","linkExtras","nodeExtras","furiousLegend","setTextColor","vers","expanded","disengaged","setBGColor","seriesShape","seriesEnter","property","seriesCheckbox","seriesText","legendMouseover","legendMouseout","legendClick","radioButtonMode","userDisabled","engaged","legendDblclick","versPadding","align","seriesWidths","legendText","maxKeyLength","trimmedKey","substring","nodeTextLength","Error","padding","seriesPerRow","legendWidth","columnWidths","k","prev","cur","array","xPositions","curX","ceil","xpos","ypos","newxpos","maxwidth","heatMap","cellTextColor","bgColor","highContrastText","rgbColor","r","yiq","getHeatmapValues","vals","cell","getIY","getCellValue","getIX","mad","med","cellColor","colorVal","getNorm","cellsAreNumeric","colorScale","missingDataColor","getColorDomain","prepedData","uniqueColor","normalizeData","normTypes","uniqueX","uniqueY","includes","agg","stat","normVal","_cellPos","norm","uniqueXMeta","uniqueYMeta","uniqueCells","combo","warnings","sortedCells","ix","iy","valX","valY","valColor","xMeta","yMeta","isArrayInArray","reformatData","cellVal","cellPos","arr","item_as_string","contains","some","ele","removeAllHoverClasses","sortObjByVals","getKeyByValue","object","cellWidth","cellHeight","cellAspectRatio","cellBorderWidth","quantize","colorDomain","colorRange","RdYlBu","gridLinesV","gridLinesH","cellWrap","getIdx","xMetas","xMetaHeight","metaOffset","yMetas","xMetaColorScale","yMetaWidth","yMetaColorScale","cellsEnter","cellRadius","fill","cellValueLabel","showCellValues","numHLines","stroke-width","showGrid","allMetaRect","coordinates","getBBox","isColMeta","cellValueFormat","missingDataLabel","val","getCellPos","cellValue","heatMapChart","quantizeLegendValues","legendVals","invertExtent","hasRowMeta","hasColumnMeta","heatMapWrap","axisX","rot","stagger","yPos","alignXAxis","axisY","xPos","alignYAxis","legendWrap","legendVal","historicalBar","rval","historicalBarChart","bar_model","transitionDuration","tooltipHide","ohlcBarChart","ohlcBar","candlestickBarChart","setBGOpacity","enableDoubleClick","insert","seriesBG","scatter","scatterWrap","strokeWidth","fillOpacity","areaPaths","isArea","defined","y1","linePaths","pointDomain","lineChart","updateXAxis","updateYAxis","focusLinesWrap","disableTooltip","focusEnable","focusEnter","legendPosition","currentValues","pointYValue","defaultValueFormatter","x2Axis","y2Axis","focusHeight","focusShowAxisX","focusShowAxisY","focusMargin","lineWithFocusChart","linePlusBarChart","availableHeight2","x2","availableHeight1","bar","focusBarsWrap","dataBars","allDisabled","dataLines","dataLine","switchYAxisOrder","y1Axis","y2","barsOpacity","linesOpacity","y1Opacity","y2Opacity","margin2","y3","lines2","bars2","y4","series1","series2","contextEnter","legendXPosition","originalKey","legendRightAxisHint","legendLeftAxisHint","bars2Wrap","lines2Wrap","y3Axis","y4Axis","getBarsAxis","main","getLinesAxis","multiBar","nonStackableCount","hideable","stacked","parsed","stack","stackOffset","nonStackable","nonStackableSeries","posBase","negBase","groupSpacing","exitTransition","last_datalength","barColor","darker","barSelection","multiBarChart","multibar","controlWidth","controlLabels","grouped","getTranslate","staggerUp","staggerDown","totalInBetweenTicks","reduceXTicks","multiBarHorizontal","valuePadding","getYerr","xerr","mid","path","yerr","showBarLabels","yErr","multiBarHorizontalChart","controlsPosition","multiChart","mouseover_line","yaxis","yAxis2","yAxis1","mouseover_scatter","mouseover_stack","stack1","mouseover_bar","bars1","serieIndex","dataLines1","dataLines2","dataScatters1","dataScatters2","dataBars1","dataBars2","dataStack1","dataStack2","color_array","lines1","scatters1","scatters2","stack2","lines1Wrap","scatters1Wrap","bars1Wrap","stack1Wrap","scatters2Wrap","stack2Wrap","extraValue1BarStacked","aVal","extraValue2BarStacked","yScale1","yDomain1","yScale2","yDomain2","stackedArea","parallelCoordinates","enabledDimensions","displayMissingValuesline","axisWithUndefinedValues","newscale","missingValuesline","missingValueslineText","restoreBrush","visible","filters","brushDomain","dimension","hasOnlyNaN","oldDomainMaxValue","hasNaN","dimensions","updateTicks","brushstart","displayBrush","actives","dimensionNames","extents","foreground","isActive","brushend","hasActiveBrush","brushEnd","currentTicks","tickValues","dragging","__origin__","background","dimensionPosition","currentPosition","dimensionsOrder","newData","dataValues","dimensionData","rangePoints","onlyUndefinedValues","tension","lineTension","axisDrag","lineData","undefinedValuesLabel","dimensionsEnter","formerActive","activeChanged","dimensionFormats","parallelCoordinatesChart","originalPosition","parallelCoordinatesWrap","isSorted","nanValue","str","tp","dim","dd","pie","arcTween","donut","_current","arcs","arcsRadiusOuter","arcsRadiusInner","arcsRadius","outer","inner","donutRatio","growOnHover","g_pie","arcsOver","arc","arcOver","cornerRadius","padAngle","titleOffset","slices","pieLabels","ae","attrTween","showLabels","labelsArc","labelsOutside","group","labelSunbeamLayout","rotateAngle","centroid","labelLocationHash","avgHeight","avgWidth","createHashKey","getSlicePercentage","center","labelThreshold","hashKey","labelType","hideOverlapLabels","bb","topLeft","topRight","bottomLeft","bottomRight","pieLabelsOutside","donutLabelsOutside","labelFormat","pieChart","pieWrap","showTooltipPercent","sankey","computeNodeLinks","sourceLinks","targetLinks","computeNodeValues","computeNodeBreadths","nextNodes","remainingNodes","nodeWidth","sinksRight","moveSinksRight","scaleNodeBreadths","kx","computeNodeDepths","iterations","initializeNodeDepth","ky","nodesByBreadth","nodePadding","relaxLeftToRight","weightedSource","sy","breadth","relaxRightToLeft","weightedTarget","ty","resolveCollisions","ascendingDepth","sortKeys","computeLinkDepths","ascendingSourceDepth","ascendingTargetDepth","relayout","xi","interpolateNumber","curvature","x3","linkPath","sankeyChart","dragmove","testData","isDataValid","dataAvailable","error","showError","linkTitle","origin","appendChild","nodeFillColor","nodeStrokeColor","nodeTitle","units","formatNumber","message","nodeStyle","strokeColor","getCache","_cache","delCache","getDiffs","cache","diffs","hasOwnProperty","updateInteractiveLayer","needsUpdate","vertices","groupIndex","pX","pY","pointArray","bounds","geom","polygon","epsilon","voronoi","clip","pointPaths","vPointPaths","showVoronoi","clipVoronoi","pointClips","clipRadius","mouseEventCallback","el","mDispatch","scrollTop","pageYOffset","scrollLeft","pageXOffset","relativePos","logScale","sizeDomain","getSize","padDataOuter","z","forceSize","sizeRange","_sizeRange_def","z0","scaleDiff","width0","height0","sizeDiff","xDom","domainDiff","yDom","pointBorderColor","points","getShape","titles","interactiveUpdateDelay","clearTimeout","timeoutID","shape","notActive","pointScale","pointRange","forcePoint","pointShape","scatterChart","showDistX","distX","showDistY","distY","regWrap","regLine","intercept","slope","sparkline","paths","result","yValues","maxPoint","lastIndexOf","minPoint","currentPoint","showMinMaxPoints","showCurrentPoint","animate","sparklinePlus","updateValueLine","paused","hoverValue","hoverEnter","sparklineHover","getClosestIndex","closestIndex","sparklineWrap","showLastValue","valueWrap","rightAlignValue","alignValue","dataRaw","aseries","dataFiltered","order","out","zeroArea","areaMouseover","pageX","pageY","areaMouseout","areaClick","d3_stackedOffset_stackPercent","stackData","o","stackedAreaChart","currentFormat","oldYTickFormat","percentFormatter","stackedWrap","xAxisHeight","legendTop","metaKey","stream","stream_center","stack_percent","controlOptions","requiredTop","valueSum","allNullValues","atleastOnePoint","tooltipValue","showTotalInTooltip","stackedY0","stackedY","totalLabel","oldValueFormatter","stackedAreaWithFocusChart","sunburst","rotationToAvoidUpsideDown","centerAngle","computeCenterAngle","computeNodePercentage","labelThresholdMatched","arcTweenZoom","xd","yd","yr","arcTweenUpdate","ipo","dx0","dy0","updatePrevPosition","prevPositions","pP","storeRetrievePrevPositions","zoomClick","depth","arcText","rotation","partition","modes","mode","cG","cGE","groupColorByParent","children","parent","d1","d2","sunburstChart"],"mappings":"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","sourcesContent":["\n// set up main nv object\nvar nv = {};\n\n// the major global objects under the nv namespace\nnv.dev = false; //set false when in production\nnv.tooltip = nv.tooltip || {}; // For the tooltip system\nnv.utils = nv.utils || {}; // Utility subsystem\nnv.models = nv.models || {}; //stores all the possible models/components\nnv.charts = {}; //stores all the ready to use charts\nnv.logs = {}; //stores some statistics and potential error messages\nnv.dom = {}; //DOM manipulation functions\n\n// Node/CommonJS - require D3\nif (typeof(module) !== 'undefined' && typeof(exports) !== 'undefined' && typeof(d3) == 'undefined') {\n d3 = require('d3');\n}\n\nnv.dispatch = d3.dispatch('render_start', 'render_end');\n\n// Function bind polyfill\n// Needed ONLY for phantomJS as it's missing until version 2.0 which is unreleased as of this comment\n// https://github.com/ariya/phantomjs/issues/10522\n// http://kangax.github.io/compat-table/es5/#Function.prototype.bind\n// phantomJS is used for running the test suite\nif (!Function.prototype.bind) {\n Function.prototype.bind = function (oThis) {\n if (typeof this !== \"function\") {\n // closest thing possible to the ECMAScript 5 internal IsCallable function\n throw new TypeError(\"Function.prototype.bind - what is trying to be bound is not callable\");\n }\n\n var aArgs = Array.prototype.slice.call(arguments, 1),\n fToBind = this,\n fNOP = function () {},\n fBound = function () {\n return fToBind.apply(this instanceof fNOP && oThis\n ? this\n : oThis,\n aArgs.concat(Array.prototype.slice.call(arguments)));\n };\n\n fNOP.prototype = this.prototype;\n fBound.prototype = new fNOP();\n return fBound;\n };\n}\n\n// Development render timers - disabled if dev = false\nif (nv.dev) {\n nv.dispatch.on('render_start', function(e) {\n nv.logs.startTime = +new Date();\n });\n\n nv.dispatch.on('render_end', function(e) {\n nv.logs.endTime = +new Date();\n nv.logs.totalTime = nv.logs.endTime - nv.logs.startTime;\n nv.log('total', nv.logs.totalTime); // used for development, to keep track of graph generation times\n });\n}\n\n// Logs all arguments, and returns the last so you can test things in place\n// Note: in IE8 console.log is an object not a function, and if modernizr is used\n// then calling Function.prototype.bind with with anything other than a function\n// causes a TypeError to be thrown.\nnv.log = function() {\n if (nv.dev && window.console && console.log && console.log.apply)\n console.log.apply(console, arguments);\n else if (nv.dev && window.console && typeof console.log == \"function\" && Function.prototype.bind) {\n var log = Function.prototype.bind.call(console.log, console);\n log.apply(console, arguments);\n }\n return arguments[arguments.length - 1];\n};\n\n// print console warning, should be used by deprecated functions\nnv.deprecated = function(name, info) {\n if (console && console.warn) {\n console.warn('nvd3 warning: `' + name + '` has been deprecated. ', info || '');\n }\n};\n\n// The nv.render function is used to queue up chart rendering\n// in non-blocking async functions.\n// When all queued charts are done rendering, nv.dispatch.render_end is invoked.\nnv.render = function render(step) {\n // number of graphs to generate in each timeout loop\n step = step || 1;\n\n nv.render.active = true;\n nv.dispatch.render_start();\n\n var renderLoop = function() {\n var chart, graph;\n\n for (var i = 0; i < step && (graph = nv.render.queue[i]); i++) {\n chart = graph.generate();\n if (typeof graph.callback == typeof(Function)) graph.callback(chart);\n }\n\n nv.render.queue.splice(0, i);\n\n if (nv.render.queue.length) {\n setTimeout(renderLoop);\n }\n else {\n nv.dispatch.render_end();\n nv.render.active = false;\n }\n };\n\n setTimeout(renderLoop);\n};\n\nnv.render.active = false;\nnv.render.queue = [];\n\n/*\nAdds a chart to the async rendering queue. This method can take arguments in two forms:\nnv.addGraph({\n generate: <Function>\n callback: <Function>\n})\n\nor\n\nnv.addGraph(<generate Function>, <callback Function>)\n\nThe generate function should contain code that creates the NVD3 model, sets options\non it, adds data to an SVG element, and invokes the chart model. The generate function\nshould return the chart model. See examples/lineChart.html for a usage example.\n\nThe callback function is optional, and it is called when the generate function completes.\n*/\nnv.addGraph = function(obj) {\n if (typeof arguments[0] === typeof(Function)) {\n obj = {generate: arguments[0], callback: arguments[1]};\n }\n\n nv.render.queue.push(obj);\n\n if (!nv.render.active) {\n nv.render();\n }\n};\n\n// Node/CommonJS exports\nif (typeof(module) !== 'undefined' && typeof(exports) !== 'undefined') {\n module.exports = nv;\n}\n\nif (typeof(window) !== 'undefined') {\n window.nv = nv;\n}\n","/* Facade for queueing DOM write operations\r\n * with Fastdom (https://github.com/wilsonpage/fastdom)\r\n * if available.\r\n * This could easily be extended to support alternate\r\n * implementations in the future.\r\n */\r\nnv.dom.write = function(callback) {\r\n\tif (window.fastdom !== undefined) {\r\n\t\treturn fastdom.mutate(callback);\r\n\t}\r\n\treturn callback();\r\n};\r\n\r\n/* Facade for queueing DOM read operations\r\n * with Fastdom (https://github.com/wilsonpage/fastdom)\r\n * if available.\r\n * This could easily be extended to support alternate\r\n * implementations in the future.\r\n */\r\nnv.dom.read = function(callback) {\r\n\tif (window.fastdom !== undefined) {\r\n\t\treturn fastdom.measure(callback);\r\n\t}\r\n\treturn callback();\r\n};\r\n","/* Utility class to handle creation of an interactive layer.\n This places a rectangle on top of the chart. When you mouse move over it, it sends a dispatch\n containing the X-coordinate. It can also render a vertical line where the mouse is located.\n\n dispatch.elementMousemove is the important event to latch onto. It is fired whenever the mouse moves over\n the rectangle. The dispatch is given one object which contains the mouseX/Y location.\n It also has 'pointXValue', which is the conversion of mouseX to the x-axis scale.\n */\nnv.interactiveGuideline = function() {\n \"use strict\";\n\n var margin = { left: 0, top: 0 } //Pass the chart's top and left magins. Used to calculate the mouseX/Y.\n , width = null\n , height = null\n , xScale = d3.scale.linear()\n , dispatch = d3.dispatch('elementMousemove', 'elementMouseout', 'elementClick', 'elementDblclick', 'elementMouseDown', 'elementMouseUp')\n , showGuideLine = true\n , svgContainer = null // Must pass the chart's svg, we'll use its mousemove event.\n , tooltip = nv.models.tooltip()\n , isMSIE = window.ActiveXObject// Checkt if IE by looking for activeX. (excludes IE11)\n ;\n\n tooltip\n .duration(0)\n .hideDelay(0)\n .hidden(false);\n\n function layer(selection) {\n selection.each(function(data) {\n var container = d3.select(this);\n var availableWidth = (width || 960), availableHeight = (height || 400);\n var wrap = container.selectAll(\"g.nv-wrap.nv-interactiveLineLayer\")\n .data([data]);\n var wrapEnter = wrap.enter()\n .append(\"g\").attr(\"class\", \" nv-wrap nv-interactiveLineLayer\");\n wrapEnter.append(\"g\").attr(\"class\",\"nv-interactiveGuideLine\");\n\n if (!svgContainer) {\n return;\n }\n\n function mouseHandler() {\n var mouseX = d3.event.clientX - this.getBoundingClientRect().left;\n var mouseY = d3.event.clientY - this.getBoundingClientRect().top;\n\n var subtractMargin = true;\n var mouseOutAnyReason = false;\n if (isMSIE) {\n /*\n D3.js (or maybe SVG.getScreenCTM) has a nasty bug in Internet Explorer 10.\n d3.mouse() returns incorrect X,Y mouse coordinates when mouse moving\n over a rect in IE 10.\n However, d3.event.offsetX/Y also returns the mouse coordinates\n relative to the triggering <rect>. So we use offsetX/Y on IE.\n */\n mouseX = d3.event.offsetX;\n mouseY = d3.event.offsetY;\n\n /*\n On IE, if you attach a mouse event listener to the <svg> container,\n it will actually trigger it for all the child elements (like <path>, <circle>, etc).\n When this happens on IE, the offsetX/Y is set to where ever the child element\n is located.\n As a result, we do NOT need to subtract margins to figure out the mouse X/Y\n position under this scenario. Removing the line below *will* cause\n the interactive layer to not work right on IE.\n */\n if(d3.event.target.tagName !== \"svg\") {\n subtractMargin = false;\n }\n\n if (d3.event.target.className.baseVal.match(\"nv-legend\")) {\n mouseOutAnyReason = true;\n }\n\n }\n\n if(subtractMargin) {\n mouseX -= margin.left;\n mouseY -= margin.top;\n }\n\n /* If mouseX/Y is outside of the chart's bounds,\n trigger a mouseOut event.\n */\n if (d3.event.type === 'mouseout'\n || mouseX < 0 || mouseY < 0\n || mouseX > availableWidth || mouseY > availableHeight\n || (d3.event.relatedTarget && d3.event.relatedTarget.ownerSVGElement === undefined)\n || mouseOutAnyReason\n ) {\n\n if (isMSIE) {\n if (d3.event.relatedTarget\n && d3.event.relatedTarget.ownerSVGElement === undefined\n && (d3.event.relatedTarget.className === undefined\n || d3.event.relatedTarget.className.match(tooltip.nvPointerEventsClass))) {\n\n return;\n }\n }\n dispatch.elementMouseout({\n mouseX: mouseX,\n mouseY: mouseY\n });\n layer.renderGuideLine(null); //hide the guideline\n tooltip.hidden(true);\n return;\n } else {\n tooltip.hidden(false);\n }\n\n\n var scaleIsOrdinal = typeof xScale.rangeBands === 'function';\n var pointXValue = undefined;\n\n // Ordinal scale has no invert method\n if (scaleIsOrdinal) {\n var elementIndex = d3.bisect(xScale.range(), mouseX) - 1;\n // Check if mouseX is in the range band\n if (xScale.range()[elementIndex] + xScale.rangeBand() >= mouseX) {\n pointXValue = xScale.domain()[d3.bisect(xScale.range(), mouseX) - 1];\n }\n else {\n dispatch.elementMouseout({\n mouseX: mouseX,\n mouseY: mouseY\n });\n layer.renderGuideLine(null); //hide the guideline\n tooltip.hidden(true);\n return;\n }\n }\n else {\n pointXValue = xScale.invert(mouseX);\n }\n\n dispatch.elementMousemove({\n mouseX: mouseX,\n mouseY: mouseY,\n pointXValue: pointXValue\n });\n\n //If user double clicks the layer, fire a elementDblclick\n if (d3.event.type === \"dblclick\") {\n dispatch.elementDblclick({\n mouseX: mouseX,\n mouseY: mouseY,\n pointXValue: pointXValue\n });\n }\n\n // if user single clicks the layer, fire elementClick\n if (d3.event.type === 'click') {\n dispatch.elementClick({\n mouseX: mouseX,\n mouseY: mouseY,\n pointXValue: pointXValue\n });\n }\n\n // if user presses mouse down the layer, fire elementMouseDown\n if (d3.event.type === 'mousedown') {\n \tdispatch.elementMouseDown({\n \t\tmouseX: mouseX,\n \t\tmouseY: mouseY,\n \t\tpointXValue: pointXValue\n \t});\n }\n\n // if user presses mouse down the layer, fire elementMouseUp\n if (d3.event.type === 'mouseup') {\n \tdispatch.elementMouseUp({\n \t\tmouseX: mouseX,\n \t\tmouseY: mouseY,\n \t\tpointXValue: pointXValue\n \t});\n }\n }\n\n svgContainer\n .on(\"touchmove\",mouseHandler)\n .on(\"mousemove\",mouseHandler, true)\n .on(\"mouseout\" ,mouseHandler,true)\n .on(\"mousedown\" ,mouseHandler,true)\n .on(\"mouseup\" ,mouseHandler,true)\n .on(\"dblclick\" ,mouseHandler)\n .on(\"click\", mouseHandler)\n ;\n\n layer.guideLine = null;\n //Draws a vertical guideline at the given X postion.\n layer.renderGuideLine = function(x) {\n if (!showGuideLine) return;\n if (layer.guideLine && layer.guideLine.attr(\"x1\") === x) return;\n nv.dom.write(function() {\n var line = wrap.select(\".nv-interactiveGuideLine\")\n .selectAll(\"line\")\n .data((x != null) ? [nv.utils.NaNtoZero(x)] : [], String);\n line.enter()\n .append(\"line\")\n .attr(\"class\", \"nv-guideline\")\n .attr(\"x1\", function(d) { return d;})\n .attr(\"x2\", function(d) { return d;})\n .attr(\"y1\", availableHeight)\n .attr(\"y2\",0);\n line.exit().remove();\n });\n }\n });\n }\n\n layer.dispatch = dispatch;\n layer.tooltip = tooltip;\n\n layer.margin = function(_) {\n if (!arguments.length) return margin;\n margin.top = typeof _.top != 'undefined' ? _.top : margin.top;\n margin.left = typeof _.left != 'undefined' ? _.left : margin.left;\n return layer;\n };\n\n layer.width = function(_) {\n if (!arguments.length) return width;\n width = _;\n return layer;\n };\n\n layer.height = function(_) {\n if (!arguments.length) return height;\n height = _;\n return layer;\n };\n\n layer.xScale = function(_) {\n if (!arguments.length) return xScale;\n xScale = _;\n return layer;\n };\n\n layer.showGuideLine = function(_) {\n if (!arguments.length) return showGuideLine;\n showGuideLine = _;\n return layer;\n };\n\n layer.svgContainer = function(_) {\n if (!arguments.length) return svgContainer;\n svgContainer = _;\n return layer;\n };\n\n return layer;\n};\n\n/* Utility class that uses d3.bisect to find the index in a given array, where a search value can be inserted.\n This is different from normal bisectLeft; this function finds the nearest index to insert the search value.\n\n For instance, lets say your array is [1,2,3,5,10,30], and you search for 28.\n Normal d3.bisectLeft will return 4, because 28 is inserted after the number 10. But interactiveBisect will return 5\n because 28 is closer to 30 than 10.\n\n Unit tests can be found in: interactiveBisectTest.html\n\n Has the following known issues:\n * Will not work if the data points move backwards (ie, 10,9,8,7, etc) or if the data points are in random order.\n * Won't work if there are duplicate x coordinate values.\n */\nnv.interactiveBisect = function (values, searchVal, xAccessor) {\n \"use strict\";\n if (! (values instanceof Array)) {\n return null;\n }\n var _xAccessor;\n if (typeof xAccessor !== 'function') {\n _xAccessor = function(d) {\n return d.x;\n }\n } else {\n _xAccessor = xAccessor;\n }\n var _cmp = function(d, v) {\n // Accessors are no longer passed the index of the element along with\n // the element itself when invoked by d3.bisector.\n //\n // Starting at D3 v3.4.4, d3.bisector() started inspecting the\n // function passed to determine if it should consider it an accessor\n // or a comparator. This meant that accessors that take two arguments\n // (expecting an index as the second parameter) are treated as\n // comparators where the second argument is the search value against\n // which the first argument is compared.\n return _xAccessor(d) - v;\n };\n\n var bisect = d3.bisector(_cmp).left;\n var index = d3.max([0, bisect(values,searchVal) - 1]);\n var currentValue = _xAccessor(values[index]);\n\n if (typeof currentValue === 'undefined') {\n currentValue = index;\n }\n\n if (currentValue === searchVal) {\n return index; //found exact match\n }\n\n var nextIndex = d3.min([index+1, values.length - 1]);\n var nextValue = _xAccessor(values[nextIndex]);\n\n if (typeof nextValue === 'undefined') {\n nextValue = nextIndex;\n }\n\n if (Math.abs(nextValue - searchVal) >= Math.abs(currentValue - searchVal)) {\n return index;\n } else {\n return nextIndex\n }\n};\n\n/*\n Returns the index in the array \"values\" that is closest to searchVal.\n Only returns an index if searchVal is within some \"threshold\".\n Otherwise, returns null.\n */\nnv.nearestValueIndex = function (values, searchVal, threshold) {\n \"use strict\";\n var yDistMax = Infinity, indexToHighlight = null;\n values.forEach(function(d,i) {\n var delta = Math.abs(searchVal - d);\n if ( d != null && delta <= yDistMax && delta < threshold) {\n yDistMax = delta;\n indexToHighlight = i;\n }\n });\n return indexToHighlight;\n};\n","\n/* Model which can be instantiated to handle tooltip rendering.\n Example usage:\n var tip = nv.models.tooltip().gravity('w').distance(23)\n .data(myDataObject);\n\n tip(); //just invoke the returned function to render tooltip.\n */\nnv.models.tooltip = function() {\n \"use strict\";\n\n /*\n Tooltip data. If data is given in the proper format, a consistent tooltip is generated.\n Example Format of data:\n {\n key: \"Date\",\n value: \"August 2009\",\n series: [\n {key: \"Series 1\", value: \"Value 1\", color: \"#000\"},\n {key: \"Series 2\", value: \"Value 2\", color: \"#00f\"}\n ]\n }\n */\n var id = \"nvtooltip-\" + Math.floor(Math.random() * 100000) // Generates a unique id when you create a new tooltip() object.\n , data = null\n , gravity = 'w' // Can be 'n','s','e','w'. Determines how tooltip is positioned.\n , distance = 25 // Distance to offset tooltip from the mouse location.\n , snapDistance = 0 // Tolerance allowed before tooltip is moved from its current position (creates 'snapping' effect)\n , classes = null // Attaches additional CSS classes to the tooltip DIV that is created.\n , hidden = true // Start off hidden, toggle with hide/show functions below.\n , hideDelay = 200 // Delay (in ms) before the tooltip hides after calling hide().\n , tooltip = null // d3 select of the tooltip div.\n , lastPosition = { left: null, top: null } // Last position the tooltip was in.\n , enabled = true // True -> tooltips are rendered. False -> don't render tooltips.\n , duration = 100 // Tooltip movement duration, in ms.\n , headerEnabled = true // If is to show the tooltip header.\n , nvPointerEventsClass = \"nv-pointer-events-none\" // CSS class to specify whether element should not have mouse events.\n ;\n\n // Format function for the tooltip values column.\n // d is value,\n // i is series index\n // p is point containing the value\n var valueFormatter = function(d, i, p) {\n return d;\n };\n\n // Format function for the tooltip header value.\n var headerFormatter = function(d) {\n return d;\n };\n\n var keyFormatter = function(d, i) {\n return d;\n };\n\n // By default, the tooltip model renders a beautiful table inside a DIV, returned as HTML\n // You can override this function if a custom tooltip is desired. For instance, you could directly manipulate\n // the DOM by accessing elem and returning false.\n var contentGenerator = function(d, elem) {\n if (d === null) {\n return '';\n }\n\n var table = d3.select(document.createElement(\"table\"));\n if (headerEnabled) {\n var theadEnter = table.selectAll(\"thead\")\n .data([d])\n .enter().append(\"thead\");\n\n theadEnter.append(\"tr\")\n .append(\"td\")\n .attr(\"colspan\", 3)\n .append(\"strong\")\n .classed(\"x-value\", true)\n .html(headerFormatter(d.value));\n }\n\n var tbodyEnter = table.selectAll(\"tbody\")\n .data([d])\n .enter().append(\"tbody\");\n\n var trowEnter = tbodyEnter.selectAll(\"tr\")\n .data(function(p) { return p.series})\n .enter()\n .append(\"tr\")\n .classed(\"highlight\", function(p) { return p.highlight});\n\n trowEnter.append(\"td\")\n .classed(\"legend-color-guide\",true)\n .append(\"div\")\n .style(\"background-color\", function(p) { return p.color});\n\n trowEnter.append(\"td\")\n .classed(\"key\",true)\n .classed(\"total\",function(p) { return !!p.total})\n .html(function(p, i) { return keyFormatter(p.key, i)});\n\n trowEnter.append(\"td\")\n .classed(\"value\",true)\n .html(function(p, i) { return valueFormatter(p.value, i, p) });\n\n trowEnter.filter(function (p,i) { return p.percent !== undefined }).append(\"td\")\n .classed(\"percent\", true)\n .html(function(p, i) { return \"(\" + d3.format('%')(p.percent) + \")\" });\n\n trowEnter.selectAll(\"td\").each(function(p) {\n if (p.highlight) {\n var opacityScale = d3.scale.linear().domain([0,1]).range([\"#fff\",p.color]);\n var opacity = 0.6;\n d3.select(this)\n .style(\"border-bottom-color\", opacityScale(opacity))\n .style(\"border-top-color\", opacityScale(opacity))\n ;\n }\n });\n\n var html = table.node().outerHTML;\n if (d.footer !== undefined)\n html += \"<div class='footer'>\" + d.footer + \"</div>\";\n return html;\n\n };\n\n /*\n Function that returns the position (relative to the viewport/document.body)\n the tooltip should be placed in.\n Should return: {\n left: <leftPos>,\n top: <topPos>\n }\n */\n var position = function() {\n var pos = {\n left: d3.event !== null ? d3.event.clientX : 0,\n top: d3.event !== null ? d3.event.clientY : 0\n };\n\n if(getComputedStyle(document.body).transform != 'none') {\n // Take the offset into account, as now the tooltip is relative\n // to document.body.\n var client = document.body.getBoundingClientRect();\n pos.left -= client.left;\n pos.top -= client.top;\n }\n\n return pos;\n };\n\n var dataSeriesExists = function(d) {\n if (d && d.series) {\n if (nv.utils.isArray(d.series)) {\n return true;\n }\n // if object, it's okay just convert to array of the object\n if (nv.utils.isObject(d.series)) {\n d.series = [d.series];\n return true;\n }\n }\n return false;\n };\n\n // Calculates the gravity offset of the tooltip. Parameter is position of tooltip\n // relative to the viewport.\n var calcGravityOffset = function(pos) {\n var height = tooltip.node().offsetHeight,\n width = tooltip.node().offsetWidth,\n clientWidth = document.documentElement.clientWidth, // Don't want scrollbars.\n clientHeight = document.documentElement.clientHeight, // Don't want scrollbars.\n left, top, tmp;\n\n // calculate position based on gravity\n switch (gravity) {\n case 'e':\n left = - width - distance;\n top = - (height / 2);\n if(pos.left + left < 0) left = distance;\n if((tmp = pos.top + top) < 0) top -= tmp;\n if((tmp = pos.top + top + height) > clientHeight) top -= tmp - clientHeight;\n break;\n case 'w':\n left = distance;\n top = - (height / 2);\n if (pos.left + left + width > clientWidth) left = - width - distance;\n if ((tmp = pos.top + top) < 0) top -= tmp;\n if ((tmp = pos.top + top + height) > clientHeight) top -= tmp - clientHeight;\n break;\n case 'n':\n left = - (width / 2) - 5; // - 5 is an approximation of the mouse's height.\n top = distance;\n if (pos.top + top + height > clientHeight) top = - height - distance;\n if ((tmp = pos.left + left) < 0) left -= tmp;\n if ((tmp = pos.left + left + width) > clientWidth) left -= tmp - clientWidth;\n break;\n case 's':\n left = - (width / 2);\n top = - height - distance;\n if (pos.top + top < 0) top = distance;\n if ((tmp = pos.left + left) < 0) left -= tmp;\n if ((tmp = pos.left + left + width) > clientWidth) left -= tmp - clientWidth;\n break;\n case 'center':\n left = - (width / 2);\n top = - (height / 2);\n break;\n default:\n left = 0;\n top = 0;\n break;\n }\n\n return { 'left': left, 'top': top };\n };\n\n /*\n Positions the tooltip in the correct place, as given by the position() function.\n */\n var positionTooltip = function() {\n nv.dom.read(function() {\n var pos = position(),\n gravityOffset = calcGravityOffset(pos),\n left = pos.left + gravityOffset.left,\n top = pos.top + gravityOffset.top;\n\n // delay hiding a bit to avoid flickering\n if (hidden) {\n tooltip\n .interrupt()\n .transition()\n .delay(hideDelay)\n .duration(0)\n .style('opacity', 0);\n } else {\n // using tooltip.style('transform') returns values un-usable for tween\n var old_translate = 'translate(' + lastPosition.left + 'px, ' + lastPosition.top + 'px)';\n var new_translate = 'translate(' + Math.round(left) + 'px, ' + Math.round(top) + 'px)';\n var translateInterpolator = d3.interpolateString(old_translate, new_translate);\n var is_hidden = tooltip.style('opacity') < 0.1;\n\n tooltip\n .interrupt() // cancel running transitions\n .transition()\n .duration(is_hidden ? 0 : duration)\n // using tween since some versions of d3 can't auto-tween a translate on a div\n .styleTween('transform', function (d) {\n return translateInterpolator;\n }, 'important')\n // Safari has its own `-webkit-transform` and does not support `transform`\n .styleTween('-webkit-transform', function (d) {\n return translateInterpolator;\n })\n .style('-ms-transform', new_translate)\n .style('opacity', 1);\n }\n\n lastPosition.left = left;\n lastPosition.top = top;\n });\n };\n\n // Creates new tooltip container, or uses existing one on DOM.\n function initTooltip() {\n if (!tooltip || !tooltip.node()) {\n // Create new tooltip div if it doesn't exist on DOM.\n\n var data = [1];\n tooltip = d3.select(document.body).selectAll('#'+id).data(data);\n\n tooltip.enter().append('div')\n .attr(\"class\", \"nvtooltip \" + (classes ? classes : \"xy-tooltip\"))\n .attr(\"id\", id)\n .style(\"top\", 0).style(\"left\", 0)\n .style('opacity', 0)\n .style('position', 'absolute')\n .selectAll(\"div, table, td, tr\").classed(nvPointerEventsClass, true)\n .classed(nvPointerEventsClass, true);\n\n tooltip.exit().remove()\n }\n }\n\n // Draw the tooltip onto the DOM.\n function nvtooltip() {\n if (!enabled) return;\n if (!dataSeriesExists(data)) return;\n\n nv.dom.write(function () {\n initTooltip();\n // Generate data and set it into tooltip.\n // Bonus - If you override contentGenerator and return false, you can use something like\n // Angular, React or Knockout to bind the data for your tooltip directly to the DOM.\n var newContent = contentGenerator(data, tooltip.node());\n if (newContent) {\n tooltip.node().innerHTML = newContent;\n }\n\n positionTooltip();\n });\n\n return nvtooltip;\n }\n\n nvtooltip.nvPointerEventsClass = nvPointerEventsClass;\n nvtooltip.options = nv.utils.optionsFunc.bind(nvtooltip);\n\n nvtooltip._options = Object.create({}, {\n // simple read/write options\n duration: {get: function(){return duration;}, set: function(_){duration=_;}},\n gravity: {get: function(){return gravity;}, set: function(_){gravity=_;}},\n distance: {get: function(){return distance;}, set: function(_){distance=_;}},\n snapDistance: {get: function(){return snapDistance;}, set: function(_){snapDistance=_;}},\n classes: {get: function(){return classes;}, set: function(_){classes=_;}},\n enabled: {get: function(){return enabled;}, set: function(_){enabled=_;}},\n hideDelay: {get: function(){return hideDelay;}, set: function(_){hideDelay=_;}},\n contentGenerator: {get: function(){return contentGenerator;}, set: function(_){contentGenerator=_;}},\n valueFormatter: {get: function(){return valueFormatter;}, set: function(_){valueFormatter=_;}},\n headerFormatter: {get: function(){return headerFormatter;}, set: function(_){headerFormatter=_;}},\n keyFormatter: {get: function(){return keyFormatter;}, set: function(_){keyFormatter=_;}},\n headerEnabled: {get: function(){return headerEnabled;}, set: function(_){headerEnabled=_;}},\n position: {get: function(){return position;}, set: function(_){position=_;}},\n\n // Deprecated options\n chartContainer: {get: function(){return document.body;}, set: function(_){\n // deprecated after 1.8.3\n nv.deprecated('chartContainer', 'feature removed after 1.8.3');\n }},\n fixedTop: {get: function(){return null;}, set: function(_){\n // deprecated after 1.8.1\n nv.deprecated('fixedTop', 'feature removed after 1.8.1');\n }},\n offset: {get: function(){return {left: 0, top: 0};}, set: function(_){\n // deprecated after 1.8.1\n nv.deprecated('offset', 'use chart.tooltip.distance() instead');\n }},\n\n // options with extra logic\n hidden: {get: function(){return hidden;}, set: function(_){\n if (hidden != _) {\n hidden = !!_;\n nvtooltip();\n }\n }},\n data: {get: function(){return data;}, set: function(_){\n // if showing a single data point, adjust data format with that\n if (_.point) {\n _.value = _.point.x;\n _.series = _.series || {};\n _.series.value = _.point.y;\n _.series.color = _.point.color || _.series.color;\n }\n data = _;\n }},\n\n // read only properties\n node: {get: function(){return tooltip.node();}, set: function(_){}},\n id: {get: function(){return id;}, set: function(_){}}\n });\n\n nv.utils.initOptions(nvtooltip);\n return nvtooltip;\n};\n","\n\n/*\nGets the browser window size\n\nReturns object with height and width properties\n */\nnv.utils.windowSize = function() {\n // Sane defaults\n var size = {width: 640, height: 480};\n\n // Most recent browsers use\n if (window.innerWidth && window.innerHeight) {\n size.width = window.innerWidth;\n size.height = window.innerHeight;\n return (size);\n }\n\n // IE can use depending on mode it is in\n if (document.compatMode=='CSS1Compat' &&\n document.documentElement &&\n document.documentElement.offsetWidth ) {\n\n size.width = document.documentElement.offsetWidth;\n size.height = document.documentElement.offsetHeight;\n return (size);\n }\n\n // Earlier IE uses Doc.body\n if (document.body && document.body.offsetWidth) {\n size.width = document.body.offsetWidth;\n size.height = document.body.offsetHeight;\n return (size);\n }\n\n return (size);\n};\n\n\n/* handle dumb browser quirks... isinstance breaks if you use frames\ntypeof returns 'object' for null, NaN is a number, etc.\n */\nnv.utils.isArray = Array.isArray;\nnv.utils.isObject = function(a) {\n return a !== null && typeof a === 'object';\n};\nnv.utils.isFunction = function(a) {\n return typeof a === 'function';\n};\nnv.utils.isDate = function(a) {\n return toString.call(a) === '[object Date]';\n};\nnv.utils.isNumber = function(a) {\n return !isNaN(a) && typeof a === 'number';\n};\n\n\n/*\nBinds callback function to run when window is resized\n */\nnv.utils.windowResize = function(handler) {\n if (window.addEventListener) {\n window.addEventListener('resize', handler);\n } else {\n nv.log(\"ERROR: Failed to bind to window.resize with: \", handler);\n }\n // return object with clear function to remove the single added callback.\n return {\n callback: handler,\n clear: function() {\n window.removeEventListener('resize', handler);\n }\n }\n};\n\n\n/*\nBackwards compatible way to implement more d3-like coloring of graphs.\nCan take in nothing, an array, or a function/scale\nTo use a normal scale, get the range and pass that because we must be able\nto take two arguments and use the index to keep backward compatibility\n*/\nnv.utils.getColor = function(color) {\n //if you pass in nothing, get default colors back\n if (color === undefined) {\n return nv.utils.defaultColor();\n\n //if passed an array, turn it into a color scale\n } else if(nv.utils.isArray(color)) {\n var color_scale = d3.scale.ordinal().range(color);\n return function(d, i) {\n var key = i === undefined ? d : i;\n return d.color || color_scale(key);\n };\n\n //if passed a function or scale, return it, or whatever it may be\n //external libs, such as angularjs-nvd3-directives use this\n } else {\n //can't really help it if someone passes rubbish as color\n return color;\n }\n};\n\n\n/*\nDefault color chooser uses a color scale of 20 colors from D3\n https://github.com/mbostock/d3/wiki/Ordinal-Scales#categorical-colors\n */\nnv.utils.defaultColor = function() {\n // get range of the scale so we'll turn it into our own function.\n return nv.utils.getColor(d3.scale.category20().range());\n};\n\n\n/*\nReturns a color function that takes the result of 'getKey' for each series and\nlooks for a corresponding color from the dictionary\n*/\nnv.utils.customTheme = function(dictionary, getKey, defaultColors) {\n // use default series.key if getKey is undefined\n getKey = getKey || function(series) { return series.key };\n defaultColors = defaultColors || d3.scale.category20().range();\n\n // start at end of default color list and walk back to index 0\n var defIndex = defaultColors.length;\n\n return function(series, index) {\n var key = getKey(series);\n if (nv.utils.isFunction(dictionary[key])) {\n return dictionary[key]();\n } else if (dictionary[key] !== undefined) {\n return dictionary[key];\n } else {\n // no match in dictionary, use a default color\n if (!defIndex) {\n // used all the default colors, start over\n defIndex = defaultColors.length;\n }\n defIndex = defIndex - 1;\n return defaultColors[defIndex];\n }\n };\n};\n\n\n/*\nFrom the PJAX example on d3js.org, while this is not really directly needed\nit's a very cool method for doing pjax, I may expand upon it a little bit,\nopen to suggestions on anything that may be useful\n*/\nnv.utils.pjax = function(links, content) {\n\n var load = function(href) {\n d3.html(href, function(fragment) {\n var target = d3.select(content).node();\n target.parentNode.replaceChild(\n d3.select(fragment).select(content).node(),\n target);\n nv.utils.pjax(links, content);\n });\n };\n\n d3.selectAll(links).on(\"click\", function() {\n history.pushState(this.href, this.textContent, this.href);\n load(this.href);\n d3.event.preventDefault();\n });\n\n d3.select(window).on(\"popstate\", function() {\n if (d3.event.state) {\n load(d3.event.state);\n }\n });\n};\n\n\n/*\nFor when we want to approximate the width in pixels for an SVG:text element.\nMost common instance is when the element is in a display:none; container.\nForumla is : text.length * font-size * constant_factor\n*/\nnv.utils.calcApproxTextWidth = function (svgTextElem) {\n if (nv.utils.isFunction(svgTextElem.style) && nv.utils.isFunction(svgTextElem.text)) {\n var fontSize = parseInt(svgTextElem.style(\"font-size\").replace(\"px\",\"\"), 10);\n var textLength = svgTextElem.text().length;\n return nv.utils.NaNtoZero(textLength * fontSize * 0.5);\n }\n return 0;\n};\n\n\n/*\nNumbers that are undefined, null or NaN, convert them to zeros.\n*/\nnv.utils.NaNtoZero = function(n) {\n if (!nv.utils.isNumber(n)\n || isNaN(n)\n || n === null\n || n === Infinity\n || n === -Infinity) {\n\n return 0;\n }\n return n;\n};\n\n/*\nAdd a way to watch for d3 transition ends to d3\n*/\nd3.selection.prototype.watchTransition = function(renderWatch){\n var args = [this].concat([].slice.call(arguments, 1));\n return renderWatch.transition.apply(renderWatch, args);\n};\n\n\n/*\nHelper object to watch when d3 has rendered something\n*/\nnv.utils.renderWatch = function(dispatch, duration) {\n if (!(this instanceof nv.utils.renderWatch)) {\n return new nv.utils.renderWatch(dispatch, duration);\n }\n\n var _duration = duration !== undefined ? duration : 250;\n var renderStack = [];\n var self = this;\n\n this.models = function(models) {\n models = [].slice.call(arguments, 0);\n models.forEach(function(model){\n model.__rendered = false;\n (function(m){\n m.dispatch.on('renderEnd', function(arg){\n m.__rendered = true;\n self.renderEnd('model');\n });\n })(model);\n\n if (renderStack.indexOf(model) < 0) {\n renderStack.push(model);\n }\n });\n return this;\n };\n\n this.reset = function(duration) {\n if (duration !== undefined) {\n _duration = duration;\n }\n renderStack = [];\n };\n\n this.transition = function(selection, args, duration) {\n args = arguments.length > 1 ? [].slice.call(arguments, 1) : [];\n\n if (args.length > 1) {\n duration = args.pop();\n } else {\n duration = _duration !== undefined ? _duration : 250;\n }\n selection.__rendered = false;\n\n if (renderStack.indexOf(selection) < 0) {\n renderStack.push(selection);\n }\n\n if (duration === 0) {\n selection.__rendered = true;\n selection.delay = function() { return this; };\n selection.duration = function() { return this; };\n return selection;\n } else {\n if (selection.length === 0) {\n selection.__rendered = true;\n } else if (selection.every( function(d){ return !d.length; } )) {\n selection.__rendered = true;\n } else {\n selection.__rendered = false;\n }\n\n var n = 0;\n return selection\n .transition()\n .duration(duration)\n .each(function(){ ++n; })\n .each('end', function(d, i) {\n if (--n === 0) {\n selection.__rendered = true;\n self.renderEnd.apply(this, args);\n }\n });\n }\n };\n\n this.renderEnd = function() {\n if (renderStack.every( function(d){ return d.__rendered; } )) {\n renderStack.forEach( function(d){ d.__rendered = false; });\n dispatch.renderEnd.apply(this, arguments);\n }\n }\n\n};\n\n\n/*\nTakes multiple objects and combines them into the first one (dst)\nexample: nv.utils.deepExtend({a: 1}, {a: 2, b: 3}, {c: 4});\ngives: {a: 2, b: 3, c: 4}\n*/\nnv.utils.deepExtend = function(dst){\n var sources = arguments.length > 1 ? [].slice.call(arguments, 1) : [];\n sources.forEach(function(source) {\n for (var key in source) {\n var isArray = nv.utils.isArray(dst[key]);\n var isObject = nv.utils.isObject(dst[key]);\n var srcObj = nv.utils.isObject(source[key]);\n\n if (isObject && !isArray && srcObj) {\n nv.utils.deepExtend(dst[key], source[key]);\n } else {\n dst[key] = source[key];\n }\n }\n });\n};\n\n\n/*\nstate utility object, used to track d3 states in the models\n*/\nnv.utils.state = function(){\n if (!(this instanceof nv.utils.state)) {\n return new nv.utils.state();\n }\n var state = {};\n var _self = this;\n var _setState = function(){};\n var _getState = function(){ return {}; };\n var init = null;\n var changed = null;\n\n this.dispatch = d3.dispatch('change', 'set');\n\n this.dispatch.on('set', function(state){\n _setState(state, true);\n });\n\n this.getter = function(fn){\n _getState = fn;\n return this;\n };\n\n this.setter = function(fn, callback) {\n if (!callback) {\n callback = function(){};\n }\n _setState = function(state, update){\n fn(state);\n if (update) {\n callback();\n }\n };\n return this;\n };\n\n this.init = function(state){\n init = init || {};\n nv.utils.deepExtend(init, state);\n };\n\n var _set = function(){\n var settings = _getState();\n\n if (JSON.stringify(settings) === JSON.stringify(state)) {\n return false;\n }\n\n for (var key in settings) {\n if (state[key] === undefined) {\n state[key] = {};\n }\n state[key] = settings[key];\n changed = true;\n }\n return true;\n };\n\n this.update = function(){\n if (init) {\n _setState(init, false);\n init = null;\n }\n if (_set.call(this)) {\n this.dispatch.change(state);\n }\n };\n\n};\n\n\n/*\nSnippet of code you can insert into each nv.models.* to give you the ability to\ndo things like:\nchart.options({\n showXAxis: true,\n tooltips: true\n});\n\nTo enable in the chart:\nchart.options = nv.utils.optionsFunc.bind(chart);\n*/\nnv.utils.optionsFunc = function(args) {\n if (args) {\n d3.map(args).forEach((function(key,value) {\n if (nv.utils.isFunction(this[key])) {\n this[key](value);\n }\n }).bind(this));\n }\n return this;\n};\n\n\n/*\nnumTicks: requested number of ticks\ndata: the chart data\n\nreturns the number of ticks to actually use on X axis, based on chart data\nto avoid duplicate ticks with the same value\n*/\nnv.utils.calcTicksX = function(numTicks, data) {\n // find max number of values from all data streams\n var numValues = 1;\n var i = 0;\n for (i; i < data.length; i += 1) {\n var stream_len = data[i] && data[i].values ? data[i].values.length : 0;\n numValues = stream_len > numValues ? stream_len : numValues;\n }\n nv.log(\"Requested number of ticks: \", numTicks);\n nv.log(\"Calculated max values to be: \", numValues);\n // make sure we don't have more ticks than values to avoid duplicates\n numTicks = numTicks > numValues ? numTicks = numValues - 1 : numTicks;\n // make sure we have at least one tick\n numTicks = numTicks < 1 ? 1 : numTicks;\n // make sure it's an integer\n numTicks = Math.floor(numTicks);\n nv.log(\"Calculating tick count as: \", numTicks);\n return numTicks;\n};\n\n\n/*\nreturns number of ticks to actually use on Y axis, based on chart data\n*/\nnv.utils.calcTicksY = function(numTicks, data) {\n // currently uses the same logic but we can adjust here if needed later\n return nv.utils.calcTicksX(numTicks, data);\n};\n\n\n/*\nAdd a particular option from an options object onto chart\nOptions exposed on a chart are a getter/setter function that returns chart\non set to mimic typical d3 option chaining, e.g. svg.option1('a').option2('b');\n\noption objects should be generated via Object.create() to provide\nthe option of manipulating data via get/set functions.\n*/\nnv.utils.initOption = function(chart, name) {\n // if it's a call option, just call it directly, otherwise do get/set\n if (chart._calls && chart._calls[name]) {\n chart[name] = chart._calls[name];\n } else {\n chart[name] = function (_) {\n if (!arguments.length) return chart._options[name];\n chart._overrides[name] = true;\n chart._options[name] = _;\n return chart;\n };\n // calling the option as _option will ignore if set by option already\n // so nvd3 can set options internally but the stop if set manually\n chart['_' + name] = function(_) {\n if (!arguments.length) return chart._options[name];\n if (!chart._overrides[name]) {\n chart._options[name] = _;\n }\n return chart;\n }\n }\n};\n\n\n/*\nAdd all options in an options object to the chart\n*/\nnv.utils.initOptions = function(chart) {\n chart._overrides = chart._overrides || {};\n var ops = Object.getOwnPropertyNames(chart._options || {});\n var calls = Object.getOwnPropertyNames(chart._calls || {});\n ops = ops.concat(calls);\n for (var i in ops) {\n nv.utils.initOption(chart, ops[i]);\n }\n};\n\n\n/*\nInherit options from a D3 object\nd3.rebind makes calling the function on target actually call it on source\nAlso use _d3options so we can track what we inherit for documentation and chained inheritance\n*/\nnv.utils.inheritOptionsD3 = function(target, d3_source, oplist) {\n target._d3options = oplist.concat(target._d3options || []);\n // Find unique d3 options (string) and update d3options\n target._d3options = (target._d3options || []).filter(function(item, i, ar){ return ar.indexOf(item) === i; });\n oplist.unshift(d3_source);\n oplist.unshift(target);\n d3.rebind.apply(this, oplist);\n};\n\n\n/*\nRemove duplicates from an array\n*/\nnv.utils.arrayUnique = function(a) {\n return a.sort().filter(function(item, pos) {\n return !pos || item != a[pos - 1];\n });\n};\n\n\n/*\nKeeps a list of custom symbols to draw from in addition to d3.svg.symbol\nNecessary since d3 doesn't let you extend its list -_-\nAdd new symbols by doing nv.utils.symbols.set('name', function(size){...});\n*/\nnv.utils.symbolMap = d3.map();\n\n\n/*\nReplaces d3.svg.symbol so that we can look both there and our own map\n */\nnv.utils.symbol = function() {\n var type,\n size = 64;\n function symbol(d,i) {\n var t = type.call(this,d,i);\n var s = size.call(this,d,i);\n if (d3.svg.symbolTypes.indexOf(t) !== -1) {\n return d3.svg.symbol().type(t).size(s)();\n } else {\n return nv.utils.symbolMap.get(t)(s);\n }\n }\n symbol.type = function(_) {\n if (!arguments.length) return type;\n type = d3.functor(_);\n return symbol;\n };\n symbol.size = function(_) {\n if (!arguments.length) return size;\n size = d3.functor(_);\n return symbol;\n };\n return symbol;\n};\n\n\n/*\nInherit option getter/setter functions from source to target\nd3.rebind makes calling the function on target actually call it on source\nAlso track via _inherited and _d3options so we can track what we inherit\nfor documentation generation purposes and chained inheritance\n*/\nnv.utils.inheritOptions = function(target, source) {\n // inherit all the things\n var ops = Object.getOwnPropertyNames(source._options || {});\n var calls = Object.getOwnPropertyNames(source._calls || {});\n var inherited = source._inherited || [];\n var d3ops = source._d3options || [];\n var args = ops.concat(calls).concat(inherited).concat(d3ops);\n args.unshift(source);\n args.unshift(target);\n d3.rebind.apply(this, args);\n // pass along the lists to keep track of them, don't allow duplicates\n target._inherited = nv.utils.arrayUnique(ops.concat(calls).concat(inherited).concat(ops).concat(target._inherited || []));\n target._d3options = nv.utils.arrayUnique(d3ops.concat(target._d3options || []));\n};\n\n\n/*\nRuns common initialize code on the svg before the chart builds\n*/\nnv.utils.initSVG = function(svg) {\n svg.classed({'nvd3-svg':true});\n};\n\n\n/*\nSanitize and provide default for the container height.\n*/\nnv.utils.sanitizeHeight = function(height, container) {\n return (height || parseInt(container.style('height'), 10) || 400);\n};\n\n\n/*\nSanitize and provide default for the container width.\n*/\nnv.utils.sanitizeWidth = function(width, container) {\n return (width || parseInt(container.style('width'), 10) || 960);\n};\n\n\n/*\nCalculate the available height for a chart.\n*/\nnv.utils.availableHeight = function(height, container, margin) {\n return Math.max(0,nv.utils.sanitizeHeight(height, container) - margin.top - margin.bottom);\n};\n\n/*\nCalculate the available width for a chart.\n*/\nnv.utils.availableWidth = function(width, container, margin) {\n return Math.max(0,nv.utils.sanitizeWidth(width, container) - margin.left - margin.right);\n};\n\n/*\nClear any rendered chart components and display a chart's 'noData' message\n*/\nnv.utils.noData = function(chart, container) {\n var opt = chart.options(),\n margin = opt.margin(),\n noData = opt.noData(),\n data = (noData == null) ? [\"No Data Available.\"] : [noData],\n height = nv.utils.availableHeight(null, container, margin),\n width = nv.utils.availableWidth(null, container, margin),\n x = margin.left + width/2,\n y = margin.top + height/2;\n\n //Remove any previously created chart components\n container.selectAll('g').remove();\n\n var noDataText = container.selectAll('.nv-noData').data(data);\n\n noDataText.enter().append('text')\n .attr('class', 'nvd3 nv-noData')\n .attr('dy', '-.7em')\n .style('text-anchor', 'middle');\n\n noDataText\n .attr('x', x)\n .attr('y', y)\n .text(function(t){ return t; });\n};\n\n/*\n Wrap long labels.\n */\nnv.utils.wrapTicks = function (text, width) {\n text.each(function() {\n var text = d3.select(this),\n words = text.text().split(/\\s+/).reverse(),\n word,\n line = [],\n lineNumber = 0,\n lineHeight = 1.1,\n y = text.attr(\"y\"),\n dy = parseFloat(text.attr(\"dy\")),\n tspan = text.text(null).append(\"tspan\").attr(\"x\", 0).attr(\"y\", y).attr(\"dy\", dy + \"em\");\n while (word = words.pop()) {\n line.push(word);\n tspan.text(line.join(\" \"));\n if (tspan.node().getComputedTextLength() > width) {\n line.pop();\n tspan.text(line.join(\" \"));\n line = [word];\n tspan = text.append(\"tspan\").attr(\"x\", 0).attr(\"y\", y).attr(\"dy\", ++lineNumber * lineHeight + dy + \"em\").text(word);\n }\n }\n });\n};\n\n/*\nCheck equality of 2 array\n*/\nnv.utils.arrayEquals = function (array1, array2) {\n if (array1 === array2)\n return true;\n\n if (!array1 || !array2)\n return false;\n\n // compare lengths - can save a lot of time\n if (array1.length != array2.length)\n return false;\n\n for (var i = 0,\n l = array1.length; i < l; i++) {\n // Check if we have nested arrays\n if (array1[i] instanceof Array && array2[i] instanceof Array) {\n // recurse into the nested arrays\n if (!nv.arrayEquals(array1[i], array2[i]))\n return false;\n } else if (array1[i] != array2[i]) {\n // Warning - two different object instances will never be equal: {x:20} != {x:20}\n return false;\n }\n }\n return true;\n};\n\n/*\n Check if a point within an arc\n */\nnv.utils.pointIsInArc = function(pt, ptData, d3Arc) {\n // Center of the arc is assumed to be 0,0\n // (pt.x, pt.y) are assumed to be relative to the center\n var r1 = d3Arc.innerRadius()(ptData), // Note: Using the innerRadius\n r2 = d3Arc.outerRadius()(ptData),\n theta1 = d3Arc.startAngle()(ptData),\n theta2 = d3Arc.endAngle()(ptData);\n\n var dist = pt.x * pt.x + pt.y * pt.y,\n angle = Math.atan2(pt.x, -pt.y); // Note: different coordinate system.\n\n angle = (angle < 0) ? (angle + Math.PI * 2) : angle;\n\n return (r1 * r1 <= dist) && (dist <= r2 * r2) &&\n (theta1 <= angle) && (angle <= theta2);\n};\n\n","nv.models.axis = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var axis = d3.svg.axis();\n var scale = d3.scale.linear();\n\n var margin = {top: 0, right: 0, bottom: 0, left: 0}\n , width = 75 //only used for tickLabel currently\n , height = 60 //only used for tickLabel currently\n , axisLabelText = null\n , showMaxMin = true //TODO: showMaxMin should be disabled on all ordinal scaled axes\n , rotateLabels = 0\n , rotateYLabel = true\n , staggerLabels = false\n , isOrdinal = false\n , ticks = null\n , axisLabelDistance = 0\n , fontSize = undefined\n , duration = 250\n , dispatch = d3.dispatch('renderEnd')\n , tickFormatMaxMin\n ;\n axis\n .scale(scale)\n .orient('bottom')\n .tickFormat(function(d) { return d })\n ;\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var scale0;\n var renderWatch = nv.utils.renderWatch(dispatch, duration);\n\n function chart(selection) {\n renderWatch.reset();\n selection.each(function(data) {\n var container = d3.select(this);\n nv.utils.initSVG(container);\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-axis').data([data]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-axis');\n var gEnter = wrapEnter.append('g');\n var g = wrap.select('g');\n\n if (ticks !== null)\n axis.ticks(ticks);\n else if (axis.orient() == 'top' || axis.orient() == 'bottom')\n axis.ticks(Math.abs(scale.range()[1] - scale.range()[0]) / 100);\n\n //TODO: consider calculating width/height based on whether or not label is added, for reference in charts using this component\n g.watchTransition(renderWatch, 'axis').call(axis);\n\n scale0 = scale0 || axis.scale();\n\n var fmt = axis.tickFormat();\n if (fmt == null) {\n fmt = scale0.tickFormat();\n }\n\n var axisLabel = g.selectAll('text.nv-axislabel')\n .data([axisLabelText || null]);\n axisLabel.exit().remove();\n\n //only skip when fontSize is undefined so it can be cleared with a null or blank string\n if (fontSize !== undefined) {\n g.selectAll('g').select(\"text\").style('font-size', fontSize);\n }\n\n var xLabelMargin;\n var axisMaxMin;\n var w;\n switch (axis.orient()) {\n case 'top':\n axisLabel.enter().append('text').attr('class', 'nv-axislabel');\n w = 0;\n if (scale.range().length === 1) {\n w = isOrdinal ? scale.range()[0] * 2 + scale.rangeBand() : 0;\n } else if (scale.range().length === 2) {\n w = isOrdinal ? scale.range()[0] + scale.range()[1] + scale.rangeBand() : scale.range()[1];\n } else if ( scale.range().length > 2){\n w = scale.range()[scale.range().length-1]+(scale.range()[1]-scale.range()[0]);\n };\n axisLabel\n .attr('text-anchor', 'middle')\n .attr('y', 0)\n .attr('x', w/2);\n if (showMaxMin) {\n axisMaxMin = wrap.selectAll('g.nv-axisMaxMin')\n .data(scale.domain());\n axisMaxMin.enter().append('g').attr('class',function(d,i){\n return ['nv-axisMaxMin','nv-axisMaxMin-x',(i == 0 ? 'nv-axisMin-x':'nv-axisMax-x')].join(' ')\n }).append('text');\n axisMaxMin.exit().remove();\n axisMaxMin\n .attr('transform', function(d,i) {\n return 'translate(' + nv.utils.NaNtoZero(scale(d)) + ',0)'\n })\n .select('text')\n .attr('dy', '-0.5em')\n .attr('y', -axis.tickPadding())\n .attr('text-anchor', 'middle')\n .text(function(d,i) {\n var formatter = tickFormatMaxMin || fmt;\n var v = formatter(d);\n return ('' + v).match('NaN') ? '' : v;\n });\n axisMaxMin.watchTransition(renderWatch, 'min-max top')\n .attr('transform', function(d,i) {\n return 'translate(' + nv.utils.NaNtoZero(scale.range()[i]) + ',0)'\n });\n }\n break;\n case 'bottom':\n xLabelMargin = axisLabelDistance + 36;\n var maxTextWidth = 30;\n var textHeight = 0;\n var xTicks = g.selectAll('g').select(\"text\");\n var rotateLabelsRule = '';\n if (rotateLabels%360) {\n //Reset transform on ticks so textHeight can be calculated correctly\n xTicks.attr('transform', '');\n //Calculate the longest xTick width\n xTicks.each(function(d,i){\n var box = this.getBoundingClientRect();\n var width = box.width;\n textHeight = box.height;\n if(width > maxTextWidth) maxTextWidth = width;\n });\n rotateLabelsRule = 'rotate(' + rotateLabels + ' 0,' + (textHeight/2 + axis.tickPadding()) + ')';\n //Convert to radians before calculating sin. Add 30 to margin for healthy padding.\n var sin = Math.abs(Math.sin(rotateLabels*Math.PI/180));\n xLabelMargin = (sin ? sin*maxTextWidth : maxTextWidth)+30;\n //Rotate all xTicks\n xTicks\n .attr('transform', rotateLabelsRule)\n .style('text-anchor', rotateLabels%360 > 0 ? 'start' : 'end');\n } else {\n if (staggerLabels) {\n xTicks\n .attr('transform', function(d,i) {\n return 'translate(0,' + (i % 2 == 0 ? '0' : '12') + ')'\n });\n } else {\n xTicks.attr('transform', \"translate(0,0)\");\n }\n }\n axisLabel.enter().append('text').attr('class', 'nv-axislabel');\n w = 0;\n if (scale.range().length === 1) {\n w = isOrdinal ? scale.range()[0] * 2 + scale.rangeBand() : 0;\n } else if (scale.range().length === 2) {\n w = isOrdinal ? scale.range()[0] + scale.range()[1] + scale.rangeBand() : scale.range()[1];\n } else if ( scale.range().length > 2){\n w = scale.range()[scale.range().length-1]+(scale.range()[1]-scale.range()[0]);\n };\n axisLabel\n .attr('text-anchor', 'middle')\n .attr('y', xLabelMargin)\n .attr('x', w/2);\n if (showMaxMin) {\n //if (showMaxMin && !isOrdinal) {\n axisMaxMin = wrap.selectAll('g.nv-axisMaxMin')\n //.data(scale.domain())\n .data([scale.domain()[0], scale.domain()[scale.domain().length - 1]]);\n axisMaxMin.enter().append('g').attr('class',function(d,i){\n return ['nv-axisMaxMin','nv-axisMaxMin-x',(i == 0 ? 'nv-axisMin-x':'nv-axisMax-x')].join(' ')\n }).append('text');\n axisMaxMin.exit().remove();\n axisMaxMin\n .attr('transform', function(d,i) {\n return 'translate(' + nv.utils.NaNtoZero((scale(d) + (isOrdinal ? scale.rangeBand() / 2 : 0))) + ',0)'\n })\n .select('text')\n .attr('dy', '.71em')\n .attr('y', axis.tickPadding())\n .attr('transform', rotateLabelsRule)\n .style('text-anchor', rotateLabels ? (rotateLabels%360 > 0 ? 'start' : 'end') : 'middle')\n .text(function(d,i) {\n var formatter = tickFormatMaxMin || fmt;\n var v = formatter(d);\n return ('' + v).match('NaN') ? '' : v;\n });\n axisMaxMin.watchTransition(renderWatch, 'min-max bottom')\n .attr('transform', function(d,i) {\n return 'translate(' + nv.utils.NaNtoZero((scale(d) + (isOrdinal ? scale.rangeBand() / 2 : 0))) + ',0)'\n });\n }\n\n break;\n case 'right':\n axisLabel.enter().append('text').attr('class', 'nv-axislabel');\n axisLabel\n .style('text-anchor', rotateYLabel ? 'middle' : 'begin')\n .attr('transform', rotateYLabel ? 'rotate(90)' : '')\n .attr('y', rotateYLabel ? (-Math.max(margin.right, width) + 12 - (axisLabelDistance || 0)) : -10) //TODO: consider calculating this based on largest tick width... OR at least expose this on chart\n .attr('x', rotateYLabel ? (d3.max(scale.range()) / 2) : axis.tickPadding());\n if (showMaxMin) {\n axisMaxMin = wrap.selectAll('g.nv-axisMaxMin')\n .data(scale.domain());\n \taxisMaxMin.enter().append('g').attr('class',function(d,i){\n return ['nv-axisMaxMin','nv-axisMaxMin-y',(i == 0 ? 'nv-axisMin-y':'nv-axisMax-y')].join(' ')\n }).append('text')\n .style('opacity', 0);\n axisMaxMin.exit().remove();\n axisMaxMin\n .attr('transform', function(d,i) {\n return 'translate(0,' + nv.utils.NaNtoZero(scale(d)) + ')'\n })\n .select('text')\n .attr('dy', '.32em')\n .attr('y', 0)\n .attr('x', axis.tickPadding())\n .style('text-anchor', 'start')\n .text(function(d, i) {\n var formatter = tickFormatMaxMin || fmt;\n var v = formatter(d);\n return ('' + v).match('NaN') ? '' : v;\n });\n axisMaxMin.watchTransition(renderWatch, 'min-max right')\n .attr('transform', function(d,i) {\n return 'translate(0,' + nv.utils.NaNtoZero(scale.range()[i]) + ')'\n })\n .select('text')\n .style('opacity', 1);\n }\n break;\n case 'left':\n /*\n //For dynamically placing the label. Can be used with dynamically-sized chart axis margins\n var yTicks = g.selectAll('g').select(\"text\");\n yTicks.each(function(d,i){\n var labelPadding = this.getBoundingClientRect().width + axis.tickPadding() + 16;\n if(labelPadding > width) width = labelPadding;\n });\n */\n axisLabel.enter().append('text').attr('class', 'nv-axislabel');\n axisLabel\n .style('text-anchor', rotateYLabel ? 'middle' : 'end')\n .attr('transform', rotateYLabel ? 'rotate(-90)' : '')\n .attr('y', rotateYLabel ? (-Math.max(margin.left, width) + 25 - (axisLabelDistance || 0)) : -10)\n .attr('x', rotateYLabel ? (-d3.max(scale.range()) / 2) : -axis.tickPadding());\n if (showMaxMin) {\n axisMaxMin = wrap.selectAll('g.nv-axisMaxMin')\n .data(scale.domain());\n axisMaxMin.enter().append('g').attr('class',function(d,i){\n return ['nv-axisMaxMin','nv-axisMaxMin-y',(i == 0 ? 'nv-axisMin-y':'nv-axisMax-y')].join(' ')\n }).append('text')\n .style('opacity', 0);\n axisMaxMin.exit().remove();\n axisMaxMin\n .attr('transform', function(d,i) {\n return 'translate(0,' + nv.utils.NaNtoZero(scale0(d)) + ')'\n })\n .select('text')\n .attr('dy', '.32em')\n .attr('y', 0)\n .attr('x', -axis.tickPadding())\n .attr('text-anchor', 'end')\n .text(function(d,i) {\n var formatter = tickFormatMaxMin || fmt;\n var v = formatter(d);\n return ('' + v).match('NaN') ? '' : v;\n });\n axisMaxMin.watchTransition(renderWatch, 'min-max right')\n .attr('transform', function(d,i) {\n return 'translate(0,' + nv.utils.NaNtoZero(scale.range()[i]) + ')'\n })\n .select('text')\n .style('opacity', 1);\n }\n break;\n }\n axisLabel.text(function(d) { return d });\n\n if (showMaxMin && (axis.orient() === 'left' || axis.orient() === 'right')) {\n //check if max and min overlap other values, if so, hide the values that overlap\n g.selectAll('g') // the g's wrapping each tick\n .each(function(d,i) {\n d3.select(this).select('text').attr('opacity', 1);\n if (scale(d) < scale.range()[1] + 10 || scale(d) > scale.range()[0] - 10) { // 10 is assuming text height is 16... if d is 0, leave it!\n if (d > 1e-10 || d < -1e-10) // accounts for minor floating point errors... though could be problematic if the scale is EXTREMELY SMALL\n d3.select(this).attr('opacity', 0);\n\n d3.select(this).select('text').attr('opacity', 0); // Don't remove the ZERO line!!\n }\n });\n\n //if Max and Min = 0 only show min, Issue #281\n if (scale.domain()[0] == scale.domain()[1] && scale.domain()[0] == 0) {\n wrap.selectAll('g.nv-axisMaxMin').style('opacity', function (d, i) {\n return !i ? 1 : 0\n });\n }\n }\n\n if (showMaxMin && (axis.orient() === 'top' || axis.orient() === 'bottom')) {\n var maxMinRange = [];\n wrap.selectAll('g.nv-axisMaxMin')\n .each(function(d,i) {\n try {\n if (i) // i== 1, max position\n maxMinRange.push(scale(d) - this.getBoundingClientRect().width - 4); //assuming the max and min labels are as wide as the next tick (with an extra 4 pixels just in case)\n else // i==0, min position\n maxMinRange.push(scale(d) + this.getBoundingClientRect().width + 4)\n }catch (err) {\n if (i) // i== 1, max position\n maxMinRange.push(scale(d) - 4); //assuming the max and min labels are as wide as the next tick (with an extra 4 pixels just in case)\n else // i==0, min position\n maxMinRange.push(scale(d) + 4);\n }\n });\n // the g's wrapping each tick\n g.selectAll('g').each(function(d, i) {\n if (scale(d) < maxMinRange[0] || scale(d) > maxMinRange[1]) {\n if (d > 1e-10 || d < -1e-10) // accounts for minor floating point errors... though could be problematic if the scale is EXTREMELY SMALL\n d3.select(this).remove();\n else\n d3.select(this).select('text').remove(); // Don't remove the ZERO line!!\n }\n });\n }\n\n //Highlight zero tick line\n g.selectAll('.tick')\n .filter(function (d) {\n /*\n The filter needs to return only ticks at or near zero.\n Numbers like 0.00001 need to count as zero as well,\n and the arithmetic trick below solves that.\n */\n return !parseFloat(Math.round(d * 100000) / 1000000) && (d !== undefined)\n })\n .classed('zero', true);\n\n //store old scales for use in transitions on update\n scale0 = scale.copy();\n\n });\n\n renderWatch.renderEnd('axis immediate');\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n // expose chart's sub-components\n chart.axis = axis;\n chart.dispatch = dispatch;\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n axisLabelDistance: {get: function(){return axisLabelDistance;}, set: function(_){axisLabelDistance=_;}},\n staggerLabels: {get: function(){return staggerLabels;}, set: function(_){staggerLabels=_;}},\n rotateLabels: {get: function(){return rotateLabels;}, set: function(_){rotateLabels=_;}},\n rotateYLabel: {get: function(){return rotateYLabel;}, set: function(_){rotateYLabel=_;}},\n showMaxMin: {get: function(){return showMaxMin;}, set: function(_){showMaxMin=_;}},\n axisLabel: {get: function(){return axisLabelText;}, set: function(_){axisLabelText=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n ticks: {get: function(){return ticks;}, set: function(_){ticks=_;}},\n width: {get: function(){return width;}, set: function(_){width=_;}},\n fontSize: {get: function(){return fontSize;}, set: function(_){fontSize=_;}},\n tickFormatMaxMin: {get: function(){return tickFormatMaxMin;}, set: function(_){tickFormatMaxMin=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration=_;\n renderWatch.reset(duration);\n }},\n scale: {get: function(){return scale;}, set: function(_){\n scale = _;\n axis.scale(scale);\n isOrdinal = typeof scale.rangeBands === 'function';\n nv.utils.inheritOptionsD3(chart, scale, ['domain', 'range', 'rangeBand', 'rangeBands']);\n }}\n });\n\n nv.utils.initOptions(chart);\n nv.utils.inheritOptionsD3(chart, axis, ['orient', 'tickValues', 'tickSubdivide', 'tickSize', 'tickPadding', 'tickFormat']);\n nv.utils.inheritOptionsD3(chart, scale, ['domain', 'range', 'rangeBand', 'rangeBands']);\n\n return chart;\n};\n","nv.models.boxPlot = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 0, right: 0, bottom: 0, left: 0},\n width = 960,\n height = 500,\n id = Math.floor(Math.random() * 10000), // Create semi-unique ID in case user doesn't select one\n xScale = d3.scale.ordinal(),\n yScale = d3.scale.linear(),\n getX = function(d) { return d.label }, // Default data model selectors.\n getQ1 = function(d) { return d.values.Q1 },\n getQ2 = function(d) { return d.values.Q2 },\n getQ3 = function(d) { return d.values.Q3 },\n getWl = function(d) { return d.values.whisker_low },\n getWh = function(d) { return d.values.whisker_high },\n getColor = function(d) { return d.color },\n getOlItems = function(d) { return d.values.outliers },\n getOlValue = function(d, i, j) { return d },\n getOlLabel = function(d, i, j) { return d },\n getOlColor = function(d, i, j) { return undefined },\n color = nv.utils.defaultColor(),\n container = null,\n xDomain, xRange,\n yDomain, yRange,\n dispatch = d3.dispatch('elementMouseover', 'elementMouseout', 'elementMousemove', 'renderEnd'),\n duration = 250,\n maxBoxWidth = null;\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var xScale0, yScale0;\n var renderWatch = nv.utils.renderWatch(dispatch, duration);\n\n function chart(selection) {\n renderWatch.reset();\n selection.each(function(data) {\n var availableWidth = width - margin.left - margin.right,\n availableHeight = height - margin.top - margin.bottom;\n\n container = d3.select(this);\n nv.utils.initSVG(container);\n\n // Setup Scales\n xScale.domain(xDomain || data.map(function(d,i) { return getX(d,i); }))\n .rangeBands(xRange || [0, availableWidth], 0.1);\n\n // if we know yDomain, no need to calculate\n var yData = []\n if (!yDomain) {\n // (y-range is based on quartiles, whiskers and outliers)\n var values = [], yMin, yMax;\n data.forEach(function (d, i) {\n var q1 = getQ1(d), q3 = getQ3(d), wl = getWl(d), wh = getWh(d);\n var olItems = getOlItems(d);\n if (olItems) {\n olItems.forEach(function (e, i) {\n values.push(getOlValue(e, i, undefined));\n });\n }\n if (wl) { values.push(wl) }\n if (q1) { values.push(q1) }\n if (q3) { values.push(q3) }\n if (wh) { values.push(wh) }\n });\n yMin = d3.min(values);\n yMax = d3.max(values);\n yData = [ yMin, yMax ] ;\n }\n\n yScale.domain(yDomain || yData);\n yScale.range(yRange || [availableHeight, 0]);\n\n //store old scales if they exist\n xScale0 = xScale0 || xScale;\n yScale0 = yScale0 || yScale.copy().range([yScale(0),yScale(0)]);\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap').data([data]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap');\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n var boxplots = wrap.selectAll('.nv-boxplot').data(function(d) { return d });\n var boxEnter = boxplots.enter().append('g').style('stroke-opacity', 1e-6).style('fill-opacity', 1e-6);\n boxplots\n .attr('class', 'nv-boxplot')\n .attr('transform', function(d,i,j) { return 'translate(' + (xScale(getX(d,i)) + xScale.rangeBand() * 0.05) + ', 0)'; })\n .classed('hover', function(d) { return d.hover });\n boxplots\n .watchTransition(renderWatch, 'nv-boxplot: boxplots')\n .style('stroke-opacity', 1)\n .style('fill-opacity', 0.75)\n .delay(function(d,i) { return i * duration / data.length })\n .attr('transform', function(d,i) {\n return 'translate(' + (xScale(getX(d,i)) + xScale.rangeBand() * 0.05) + ', 0)';\n });\n boxplots.exit().remove();\n\n // ----- add the SVG elements for each boxPlot -----\n\n // conditionally append whisker lines\n boxEnter.each(function(d,i) {\n var box = d3.select(this);\n [getWl, getWh].forEach(function (f) {\n if (f(d) !== undefined && f(d) !== null) {\n var key = (f === getWl) ? 'low' : 'high';\n box.append('line')\n .style('stroke', getColor(d) || color(d,i))\n .attr('class', 'nv-boxplot-whisker nv-boxplot-' + key);\n box.append('line')\n .style('stroke', getColor(d) || color(d,i))\n .attr('class', 'nv-boxplot-tick nv-boxplot-' + key);\n }\n });\n });\n\n var box_width = function() { return (maxBoxWidth === null ? xScale.rangeBand() * 0.9 : Math.min(75, xScale.rangeBand() * 0.9)); };\n var box_left = function() { return xScale.rangeBand() * 0.45 - box_width()/2; };\n var box_right = function() { return xScale.rangeBand() * 0.45 + box_width()/2; };\n\n // update whisker lines and ticks\n [getWl, getWh].forEach(function (f) {\n var key = (f === getWl) ? 'low' : 'high';\n var endpoint = (f === getWl) ? getQ1 : getQ3;\n boxplots.select('line.nv-boxplot-whisker.nv-boxplot-' + key)\n .watchTransition(renderWatch, 'nv-boxplot: boxplots')\n .attr('x1', xScale.rangeBand() * 0.45 )\n .attr('y1', function(d,i) { return yScale(f(d)); })\n .attr('x2', xScale.rangeBand() * 0.45 )\n .attr('y2', function(d,i) { return yScale(endpoint(d)); });\n boxplots.select('line.nv-boxplot-tick.nv-boxplot-' + key)\n .watchTransition(renderWatch, 'nv-boxplot: boxplots')\n .attr('x1', box_left )\n .attr('y1', function(d,i) { return yScale(f(d)); })\n .attr('x2', box_right )\n .attr('y2', function(d,i) { return yScale(f(d)); });\n });\n\n [getWl, getWh].forEach(function (f) {\n var key = (f === getWl) ? 'low' : 'high';\n boxEnter.selectAll('.nv-boxplot-' + key)\n .on('mouseover', function(d,i,j) {\n d3.select(this).classed('hover', true);\n dispatch.elementMouseover({\n series: { key: f(d), color: getColor(d) || color(d,j) },\n e: d3.event\n });\n })\n .on('mouseout', function(d,i,j) {\n d3.select(this).classed('hover', false);\n dispatch.elementMouseout({\n series: { key: f(d), color: getColor(d) || color(d,j) },\n e: d3.event\n });\n })\n .on('mousemove', function(d,i) {\n dispatch.elementMousemove({e: d3.event});\n });\n });\n\n // boxes\n boxEnter.append('rect')\n .attr('class', 'nv-boxplot-box')\n // tooltip events\n .on('mouseover', function(d,i) {\n d3.select(this).classed('hover', true);\n dispatch.elementMouseover({\n key: getX(d),\n value: getX(d),\n series: [\n { key: 'Q3', value: getQ3(d), color: getColor(d) || color(d,i) },\n { key: 'Q2', value: getQ2(d), color: getColor(d) || color(d,i) },\n { key: 'Q1', value: getQ1(d), color: getColor(d) || color(d,i) }\n ],\n data: d,\n index: i,\n e: d3.event\n });\n })\n .on('mouseout', function(d,i) {\n d3.select(this).classed('hover', false);\n dispatch.elementMouseout({\n key: getX(d),\n value: getX(d),\n series: [\n { key: 'Q3', value: getQ3(d), color: getColor(d) || color(d,i) },\n { key: 'Q2', value: getQ2(d), color: getColor(d) || color(d,i) },\n { key: 'Q1', value: getQ1(d), color: getColor(d) || color(d,i) }\n ],\n data: d,\n index: i,\n e: d3.event\n });\n })\n .on('mousemove', function(d,i) {\n dispatch.elementMousemove({e: d3.event});\n });\n\n // box transitions\n boxplots.select('rect.nv-boxplot-box')\n .watchTransition(renderWatch, 'nv-boxplot: boxes')\n .attr('y', function(d,i) { return yScale(getQ3(d)); })\n .attr('width', box_width)\n .attr('x', box_left )\n .attr('height', function(d,i) { return Math.abs(yScale(getQ3(d)) - yScale(getQ1(d))) || 1 })\n .style('fill', function(d,i) { return getColor(d) || color(d,i) })\n .style('stroke', function(d,i) { return getColor(d) || color(d,i) });\n\n // median line\n boxEnter.append('line').attr('class', 'nv-boxplot-median');\n\n boxplots.select('line.nv-boxplot-median')\n .watchTransition(renderWatch, 'nv-boxplot: boxplots line')\n .attr('x1', box_left)\n .attr('y1', function(d,i) { return yScale(getQ2(d)); })\n .attr('x2', box_right)\n .attr('y2', function(d,i) { return yScale(getQ2(d)); });\n\n // outliers\n var outliers = boxplots.selectAll('.nv-boxplot-outlier').data(function(d) {\n return getOlItems(d) || [];\n });\n outliers.enter().append('circle')\n .style('fill', function(d,i,j) { return getOlColor(d,i,j) || color(d,j) })\n .style('stroke', function(d,i,j) { return getOlColor(d,i,j) || color(d,j) })\n .style('z-index', 9000)\n .on('mouseover', function(d,i,j) {\n d3.select(this).classed('hover', true);\n dispatch.elementMouseover({\n series: { key: getOlLabel(d,i,j), color: getOlColor(d,i,j) || color(d,j) },\n e: d3.event\n });\n })\n .on('mouseout', function(d,i,j) {\n d3.select(this).classed('hover', false);\n dispatch.elementMouseout({\n series: { key: getOlLabel(d,i,j), color: getOlColor(d,i,j) || color(d,j) },\n e: d3.event\n });\n })\n .on('mousemove', function(d,i) {\n dispatch.elementMousemove({e: d3.event});\n });\n outliers.attr('class', 'nv-boxplot-outlier');\n outliers\n .watchTransition(renderWatch, 'nv-boxplot: nv-boxplot-outlier')\n .attr('cx', xScale.rangeBand() * 0.45)\n .attr('cy', function(d,i,j) { return yScale(getOlValue(d,i,j)); })\n .attr('r', '3');\n outliers.exit().remove();\n\n //store old scales for use in transitions on update\n xScale0 = xScale.copy();\n yScale0 = yScale.copy();\n });\n\n renderWatch.renderEnd('nv-boxplot immediate');\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n maxBoxWidth: {get: function(){return maxBoxWidth;}, set: function(_){maxBoxWidth=_;}},\n x: {get: function(){return getX;}, set: function(_){getX=_;}},\n q1: {get: function(){return getQ1;}, set: function(_){getQ1=_;}},\n q2: {get: function(){return getQ2;}, set: function(_){getQ2=_;}},\n q3: {get: function(){return getQ3;}, set: function(_){getQ3=_;}},\n wl: {get: function(){return getWl;}, set: function(_){getWl=_;}},\n wh: {get: function(){return getWh;}, set: function(_){getWh=_;}},\n itemColor: {get: function(){return getColor;}, set: function(_){getColor=_;}},\n outliers: {get: function(){return getOlItems;}, set: function(_){getOlItems=_;}},\n outlierValue: {get: function(){return getOlValue;}, set: function(_){getOlValue=_;}},\n outlierLabel: {get: function(){return getOlLabel;}, set: function(_){getOlLabel=_;}},\n outlierColor: {get: function(){return getOlColor;}, set: function(_){getOlColor=_;}},\n xScale: {get: function(){return xScale;}, set: function(_){xScale=_;}},\n yScale: {get: function(){return yScale;}, set: function(_){yScale=_;}},\n xDomain: {get: function(){return xDomain;}, set: function(_){xDomain=_;}},\n yDomain: {get: function(){return yDomain;}, set: function(_){yDomain=_;}},\n xRange: {get: function(){return xRange;}, set: function(_){xRange=_;}},\n yRange: {get: function(){return yRange;}, set: function(_){yRange=_;}},\n id: {get: function(){return id;}, set: function(_){id=_;}},\n // rectClass: {get: function(){return rectClass;}, set: function(_){rectClass=_;}},\n y: {\n get: function() {\n console.warn('BoxPlot \\'y\\' chart option is deprecated. Please use model overrides instead.');\n return {};\n },\n set: function(_) {\n console.warn('BoxPlot \\'y\\' chart option is deprecated. Please use model overrides instead.');\n }\n },\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n }}\n });\n\n nv.utils.initOptions(chart);\n\n return chart;\n};\n","nv.models.boxPlotChart = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var boxplot = nv.models.boxPlot(),\n xAxis = nv.models.axis(),\n yAxis = nv.models.axis();\n\n var margin = {top: 15, right: 10, bottom: 50, left: 60},\n width = null,\n height = null,\n color = nv.utils.getColor(),\n showXAxis = true,\n showYAxis = true,\n rightAlignYAxis = false,\n staggerLabels = false,\n tooltip = nv.models.tooltip(),\n x, y,\n noData = 'No Data Available.',\n dispatch = d3.dispatch('beforeUpdate', 'renderEnd'),\n duration = 250;\n\n xAxis\n .orient('bottom')\n .showMaxMin(false)\n .tickFormat(function(d) { return d })\n ;\n yAxis\n .orient((rightAlignYAxis) ? 'right' : 'left')\n .tickFormat(d3.format(',.1f'))\n ;\n\n tooltip.duration(0);\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var renderWatch = nv.utils.renderWatch(dispatch, duration);\n\n function chart(selection) {\n renderWatch.reset();\n renderWatch.models(boxplot);\n if (showXAxis) renderWatch.models(xAxis);\n if (showYAxis) renderWatch.models(yAxis);\n\n selection.each(function(data) {\n var container = d3.select(this), that = this;\n nv.utils.initSVG(container);\n var availableWidth = (width || parseInt(container.style('width')) || 960) - margin.left - margin.right;\n var availableHeight = (height || parseInt(container.style('height')) || 400) - margin.top - margin.bottom;\n\n chart.update = function() {\n dispatch.beforeUpdate();\n container.transition().duration(duration).call(chart);\n };\n chart.container = this;\n\n // TODO still need to find a way to validate quartile data presence using boxPlot callbacks.\n // Display No Data message if there's nothing to show. (quartiles required at minimum).\n if (!data || !data.length) {\n var noDataText = container.selectAll('.nv-noData').data([noData]);\n\n noDataText.enter().append('text')\n .attr('class', 'nvd3 nv-noData')\n .attr('dy', '-.7em')\n .style('text-anchor', 'middle');\n\n noDataText\n .attr('x', margin.left + availableWidth / 2)\n .attr('y', margin.top + availableHeight / 2)\n .text(function(d) { return d });\n\n return chart;\n } else {\n container.selectAll('.nv-noData').remove();\n }\n\n // Setup Scales\n x = boxplot.xScale();\n y = boxplot.yScale().clamp(true);\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-boxPlotWithAxes').data([data]);\n var gEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-boxPlotWithAxes').append('g');\n var defsEnter = gEnter.append('defs');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-x nv-axis');\n gEnter.append('g').attr('class', 'nv-y nv-axis')\n .append('g').attr('class', 'nv-zeroLine')\n .append('line');\n\n gEnter.append('g').attr('class', 'nv-barsWrap');\n g.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n if (rightAlignYAxis) {\n g.select('.nv-y.nv-axis')\n .attr('transform', 'translate(' + availableWidth + ',0)');\n }\n\n // Main Chart Component(s)\n boxplot.width(availableWidth).height(availableHeight);\n\n var barsWrap = g.select('.nv-barsWrap')\n .datum(data.filter(function(d) { return !d.disabled }))\n\n barsWrap.transition().call(boxplot);\n\n defsEnter.append('clipPath')\n .attr('id', 'nv-x-label-clip-' + boxplot.id())\n .append('rect');\n\n g.select('#nv-x-label-clip-' + boxplot.id() + ' rect')\n .attr('width', x.rangeBand() * (staggerLabels ? 2 : 1))\n .attr('height', 16)\n .attr('x', -x.rangeBand() / (staggerLabels ? 1 : 2 ));\n\n // Setup Axes\n if (showXAxis) {\n xAxis\n .scale(x)\n .ticks( nv.utils.calcTicksX(availableWidth/100, data) )\n .tickSize(-availableHeight, 0);\n\n g.select('.nv-x.nv-axis').attr('transform', 'translate(0,' + y.range()[0] + ')');\n g.select('.nv-x.nv-axis').call(xAxis);\n\n var xTicks = g.select('.nv-x.nv-axis').selectAll('g');\n if (staggerLabels) {\n xTicks\n .selectAll('text')\n .attr('transform', function(d,i,j) { return 'translate(0,' + (j % 2 === 0 ? '5' : '17') + ')' })\n }\n }\n\n if (showYAxis) {\n yAxis\n .scale(y)\n .ticks( Math.floor(availableHeight/36) ) // can't use nv.utils.calcTicksY with Object data\n .tickSize( -availableWidth, 0);\n\n g.select('.nv-y.nv-axis').call(yAxis);\n }\n\n // Zero line\n g.select('.nv-zeroLine line')\n .attr('x1',0)\n .attr('x2',availableWidth)\n .attr('y1', y(0))\n .attr('y2', y(0))\n ;\n\n //============================================================\n // Event Handling/Dispatching (in chart's scope)\n //------------------------------------------------------------\n });\n\n renderWatch.renderEnd('nv-boxplot chart immediate');\n return chart;\n }\n\n //============================================================\n // Event Handling/Dispatching (out of chart's scope)\n //------------------------------------------------------------\n\n boxplot.dispatch.on('elementMouseover.tooltip', function(evt) {\n tooltip.data(evt).hidden(false);\n });\n\n boxplot.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.data(evt).hidden(true);\n });\n\n boxplot.dispatch.on('elementMousemove.tooltip', function(evt) {\n tooltip();\n });\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.boxplot = boxplot;\n chart.xAxis = xAxis;\n chart.yAxis = yAxis;\n chart.tooltip = tooltip;\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n staggerLabels: {get: function(){return staggerLabels;}, set: function(_){staggerLabels=_;}},\n showXAxis: {get: function(){return showXAxis;}, set: function(_){showXAxis=_;}},\n showYAxis: {get: function(){return showYAxis;}, set: function(_){showYAxis=_;}},\n tooltipContent: {get: function(){return tooltip;}, set: function(_){tooltip=_;}},\n noData: {get: function(){return noData;}, set: function(_){noData=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n boxplot.duration(duration);\n xAxis.duration(duration);\n yAxis.duration(duration);\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n boxplot.color(color);\n }},\n rightAlignYAxis: {get: function(){return rightAlignYAxis;}, set: function(_){\n rightAlignYAxis = _;\n yAxis.orient( (_) ? 'right' : 'left');\n }}\n });\n\n nv.utils.inheritOptions(chart, boxplot);\n nv.utils.initOptions(chart);\n\n return chart;\n}\n","\n// Chart design based on the recommendations of Stephen Few. Implementation\n// based on the work of Clint Ivy, Jamie Love, and Jason Davies.\n// http://projects.instantcognition.com/protovis/bulletchart/\n\nnv.models.bullet = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 0, right: 0, bottom: 0, left: 0}\n , orient = 'left' // TODO top & bottom\n , reverse = false\n , ranges = function(d) { return d.ranges }\n , markers = function(d) { return d.markers ? d.markers : [] }\n , markerLines = function(d) { return d.markerLines ? d.markerLines : [0] }\n , measures = function(d) { return d.measures }\n , rangeLabels = function(d) { return d.rangeLabels ? d.rangeLabels : [] }\n , markerLabels = function(d) { return d.markerLabels ? d.markerLabels : [] }\n , markerLineLabels = function(d) { return d.markerLineLabels ? d.markerLineLabels : [] }\n , measureLabels = function(d) { return d.measureLabels ? d.measureLabels : [] }\n , forceX = [0] // List of numbers to Force into the X scale (ie. 0, or a max / min, etc.)\n , width = 380\n , height = 30\n , container = null\n , tickFormat = null\n , color = nv.utils.getColor(['#1f77b4'])\n , dispatch = d3.dispatch('elementMouseover', 'elementMouseout', 'elementMousemove')\n , defaultRangeLabels = [\"Maximum\", \"Mean\", \"Minimum\"]\n , legacyRangeClassNames = [\"Max\", \"Avg\", \"Min\"]\n , duration = 1000\n ;\n\n function sortLabels(labels, values){\n var lz = labels.slice();\n labels.sort(function(a, b){\n var iA = lz.indexOf(a);\n var iB = lz.indexOf(b);\n return d3.descending(values[iA], values[iB]);\n });\n };\n\n function chart(selection) {\n selection.each(function(d, i) {\n var availableWidth = width - margin.left - margin.right,\n availableHeight = height - margin.top - margin.bottom;\n\n container = d3.select(this);\n nv.utils.initSVG(container);\n\n var rangez = ranges.call(this, d, i).slice(),\n markerz = markers.call(this, d, i).slice(),\n markerLinez = markerLines.call(this, d, i).slice(),\n measurez = measures.call(this, d, i).slice(),\n rangeLabelz = rangeLabels.call(this, d, i).slice(),\n markerLabelz = markerLabels.call(this, d, i).slice(),\n markerLineLabelz = markerLineLabels.call(this, d, i).slice(),\n measureLabelz = measureLabels.call(this, d, i).slice();\n\n // Sort labels according to their sorted values\n sortLabels(rangeLabelz, rangez);\n sortLabels(markerLabelz, markerz);\n sortLabels(markerLineLabelz, markerLinez);\n sortLabels(measureLabelz, measurez);\n\n // sort values descending\n rangez.sort(d3.descending);\n markerz.sort(d3.descending);\n markerLinez.sort(d3.descending);\n measurez.sort(d3.descending);\n\n // Setup Scales\n // Compute the new x-scale.\n var x1 = d3.scale.linear()\n .domain( d3.extent(d3.merge([forceX, rangez])) )\n .range(reverse ? [availableWidth, 0] : [0, availableWidth]);\n\n // Retrieve the old x-scale, if this is an update.\n var x0 = this.__chart__ || d3.scale.linear()\n .domain([0, Infinity])\n .range(x1.range());\n\n // Stash the new scale.\n this.__chart__ = x1;\n\n var rangeMin = d3.min(rangez), //rangez[2]\n rangeMax = d3.max(rangez), //rangez[0]\n rangeAvg = rangez[1];\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-bullet').data([d]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-bullet');\n var gEnter = wrapEnter.append('g');\n var g = wrap.select('g');\n\n for(var i=0,il=rangez.length; i<il; i++){\n var rangeClassNames = 'nv-range nv-range'+i;\n if(i <= 2){\n rangeClassNames = rangeClassNames + ' nv-range'+legacyRangeClassNames[i];\n }\n gEnter.append('rect').attr('class', rangeClassNames);\n }\n\n gEnter.append('rect').attr('class', 'nv-measure');\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n var w0 = function(d) { return Math.abs(x0(d) - x0(0)) }, // TODO: could optimize by precalculating x0(0) and x1(0)\n w1 = function(d) { return Math.abs(x1(d) - x1(0)) };\n var xp0 = function(d) { return d < 0 ? x0(d) : x0(0) },\n xp1 = function(d) { return d < 0 ? x1(d) : x1(0) };\n\n for(var i=0,il=rangez.length; i<il; i++){\n var range = rangez[i];\n g.select('rect.nv-range'+i)\n .datum(range)\n .attr('height', availableHeight)\n .transition()\n .duration(duration)\n .attr('width', w1(range))\n .attr('x', xp1(range))\n }\n\n g.select('rect.nv-measure')\n .style('fill', color)\n .attr('height', availableHeight / 3)\n .attr('y', availableHeight / 3)\n .on('mouseover', function() {\n dispatch.elementMouseover({\n value: measurez[0],\n label: measureLabelz[0] || 'Current',\n color: d3.select(this).style(\"fill\")\n })\n })\n .on('mousemove', function() {\n dispatch.elementMousemove({\n value: measurez[0],\n label: measureLabelz[0] || 'Current',\n color: d3.select(this).style(\"fill\")\n })\n })\n .on('mouseout', function() {\n dispatch.elementMouseout({\n value: measurez[0],\n label: measureLabelz[0] || 'Current',\n color: d3.select(this).style(\"fill\")\n })\n })\n .transition()\n .duration(duration)\n .attr('width', measurez < 0 ?\n x1(0) - x1(measurez[0])\n : x1(measurez[0]) - x1(0))\n .attr('x', xp1(measurez));\n\n var h3 = availableHeight / 6;\n\n var markerData = markerz.map( function(marker, index) {\n return {value: marker, label: markerLabelz[index]}\n });\n gEnter\n .selectAll(\"path.nv-markerTriangle\")\n .data(markerData)\n .enter()\n .append('path')\n .attr('class', 'nv-markerTriangle')\n .attr('d', 'M0,' + h3 + 'L' + h3 + ',' + (-h3) + ' ' + (-h3) + ',' + (-h3) + 'Z')\n .on('mouseover', function(d) {\n dispatch.elementMouseover({\n value: d.value,\n label: d.label || 'Previous',\n color: d3.select(this).style(\"fill\"),\n pos: [x1(d.value), availableHeight/2]\n })\n\n })\n .on('mousemove', function(d) {\n dispatch.elementMousemove({\n value: d.value,\n label: d.label || 'Previous',\n color: d3.select(this).style(\"fill\")\n })\n })\n .on('mouseout', function(d, i) {\n dispatch.elementMouseout({\n value: d.value,\n label: d.label || 'Previous',\n color: d3.select(this).style(\"fill\")\n })\n });\n\n g.selectAll(\"path.nv-markerTriangle\")\n .data(markerData)\n .transition()\n .duration(duration)\n .attr('transform', function(d) { return 'translate(' + x1(d.value) + ',' + (availableHeight / 2) + ')' });\n\n var markerLinesData = markerLinez.map( function(marker, index) {\n return {value: marker, label: markerLineLabelz[index]}\n });\n gEnter\n .selectAll(\"line.nv-markerLine\")\n .data(markerLinesData)\n .enter()\n .append('line')\n .attr('cursor', '')\n .attr('class', 'nv-markerLine')\n .attr('x1', function(d) { return x1(d.value) })\n .attr('y1', '2')\n .attr('x2', function(d) { return x1(d.value) })\n .attr('y2', availableHeight - 2)\n .on('mouseover', function(d) {\n dispatch.elementMouseover({\n value: d.value,\n label: d.label || 'Previous',\n color: d3.select(this).style(\"fill\"),\n pos: [x1(d.value), availableHeight/2]\n })\n\n })\n .on('mousemove', function(d) {\n dispatch.elementMousemove({\n value: d.value,\n label: d.label || 'Previous',\n color: d3.select(this).style(\"fill\")\n })\n })\n .on('mouseout', function(d, i) {\n dispatch.elementMouseout({\n value: d.value,\n label: d.label || 'Previous',\n color: d3.select(this).style(\"fill\")\n })\n });\n\n g.selectAll(\"line.nv-markerLine\")\n .data(markerLinesData)\n .transition()\n .duration(duration)\n .attr('x1', function(d) { return x1(d.value) })\n .attr('x2', function(d) { return x1(d.value) });\n\n wrap.selectAll('.nv-range')\n .on('mouseover', function(d,i) {\n var label = rangeLabelz[i] || defaultRangeLabels[i];\n dispatch.elementMouseover({\n value: d,\n label: label,\n color: d3.select(this).style(\"fill\")\n })\n })\n .on('mousemove', function() {\n dispatch.elementMousemove({\n value: measurez[0],\n label: measureLabelz[0] || 'Previous',\n color: d3.select(this).style(\"fill\")\n })\n })\n .on('mouseout', function(d,i) {\n var label = rangeLabelz[i] || defaultRangeLabels[i];\n dispatch.elementMouseout({\n value: d,\n label: label,\n color: d3.select(this).style(\"fill\")\n })\n });\n });\n\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n ranges: {get: function(){return ranges;}, set: function(_){ranges=_;}}, // ranges (bad, satisfactory, good)\n markers: {get: function(){return markers;}, set: function(_){markers=_;}}, // markers (previous, goal)\n measures: {get: function(){return measures;}, set: function(_){measures=_;}}, // measures (actual, forecast)\n forceX: {get: function(){return forceX;}, set: function(_){forceX=_;}},\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n tickFormat: {get: function(){return tickFormat;}, set: function(_){tickFormat=_;}},\n duration: {get: function(){return duration;}, set: function(_){duration=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n orient: {get: function(){return orient;}, set: function(_){ // left, right, top, bottom\n orient = _;\n reverse = orient == 'right' || orient == 'bottom';\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n }}\n });\n\n nv.utils.initOptions(chart);\n return chart;\n};\n\n\n","\n// Chart design based on the recommendations of Stephen Few. Implementation\n// based on the work of Clint Ivy, Jamie Love, and Jason Davies.\n// http://projects.instantcognition.com/protovis/bulletchart/\nnv.models.bulletChart = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var bullet = nv.models.bullet();\n var tooltip = nv.models.tooltip();\n\n var orient = 'left' // TODO top & bottom\n , reverse = false\n , margin = {top: 5, right: 40, bottom: 20, left: 120}\n , ranges = function(d) { return d.ranges }\n , markers = function(d) { return d.markers ? d.markers : [] }\n , measures = function(d) { return d.measures }\n , width = null\n , height = 55\n , tickFormat = null\n , ticks = null\n , noData = null\n , dispatch = d3.dispatch()\n ;\n\n tooltip\n .duration(0)\n .headerEnabled(false);\n\n function chart(selection) {\n selection.each(function(d, i) {\n var container = d3.select(this);\n nv.utils.initSVG(container);\n\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = height - margin.top - margin.bottom,\n that = this;\n\n chart.update = function() { chart(selection) };\n chart.container = this;\n\n // Display No Data message if there's nothing to show.\n if (!d || !ranges.call(this, d, i)) {\n nv.utils.noData(chart, container)\n return chart;\n } else {\n container.selectAll('.nv-noData').remove();\n }\n\n var rangez = ranges.call(this, d, i).slice().sort(d3.descending),\n markerz = markers.call(this, d, i).slice().sort(d3.descending),\n measurez = measures.call(this, d, i).slice().sort(d3.descending);\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-bulletChart').data([d]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-bulletChart');\n var gEnter = wrapEnter.append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-bulletWrap');\n gEnter.append('g').attr('class', 'nv-titles');\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n // Compute the new x-scale.\n var x1 = d3.scale.linear()\n .domain([0, Math.max(rangez[0], (markerz[0] || 0), measurez[0])]) // TODO: need to allow forceX and forceY, and xDomain, yDomain\n .range(reverse ? [availableWidth, 0] : [0, availableWidth]);\n\n // Retrieve the old x-scale, if this is an update.\n var x0 = this.__chart__ || d3.scale.linear()\n .domain([0, Infinity])\n .range(x1.range());\n\n // Stash the new scale.\n this.__chart__ = x1;\n\n var w0 = function(d) { return Math.abs(x0(d) - x0(0)) }, // TODO: could optimize by precalculating x0(0) and x1(0)\n w1 = function(d) { return Math.abs(x1(d) - x1(0)) };\n\n var title = gEnter.select('.nv-titles').append('g')\n .attr('text-anchor', 'end')\n .attr('transform', 'translate(-6,' + (height - margin.top - margin.bottom) / 2 + ')');\n title.append('text')\n .attr('class', 'nv-title')\n .text(function(d) { return d.title; });\n\n title.append('text')\n .attr('class', 'nv-subtitle')\n .attr('dy', '1em')\n .text(function(d) { return d.subtitle; });\n\n bullet\n .width(availableWidth)\n .height(availableHeight);\n\n var bulletWrap = g.select('.nv-bulletWrap');\n d3.transition(bulletWrap).call(bullet);\n\n // Compute the tick format.\n var format = tickFormat || x1.tickFormat( availableWidth / 100 );\n\n // Update the tick groups.\n var tick = g.selectAll('g.nv-tick')\n .data(x1.ticks( ticks ? ticks : (availableWidth / 50) ), function(d) {\n return this.textContent || format(d);\n });\n\n // Initialize the ticks with the old scale, x0.\n var tickEnter = tick.enter().append('g')\n .attr('class', 'nv-tick')\n .attr('transform', function(d) { return 'translate(' + x0(d) + ',0)' })\n .style('opacity', 1e-6);\n\n tickEnter.append('line')\n .attr('y1', availableHeight)\n .attr('y2', availableHeight * 7 / 6);\n\n tickEnter.append('text')\n .attr('text-anchor', 'middle')\n .attr('dy', '1em')\n .attr('y', availableHeight * 7 / 6)\n .text(format);\n\n // Transition the updating ticks to the new scale, x1.\n var tickUpdate = d3.transition(tick)\n .transition()\n .duration(bullet.duration())\n .attr('transform', function(d) { return 'translate(' + x1(d) + ',0)' })\n .style('opacity', 1);\n\n tickUpdate.select('line')\n .attr('y1', availableHeight)\n .attr('y2', availableHeight * 7 / 6);\n\n tickUpdate.select('text')\n .attr('y', availableHeight * 7 / 6);\n\n // Transition the exiting ticks to the new scale, x1.\n d3.transition(tick.exit())\n .transition()\n .duration(bullet.duration())\n .attr('transform', function(d) { return 'translate(' + x1(d) + ',0)' })\n .style('opacity', 1e-6)\n .remove();\n });\n\n d3.timer.flush();\n return chart;\n }\n\n //============================================================\n // Event Handling/Dispatching (out of chart's scope)\n //------------------------------------------------------------\n\n bullet.dispatch.on('elementMouseover.tooltip', function(evt) {\n evt['series'] = {\n key: evt.label,\n value: evt.value,\n color: evt.color\n };\n tooltip.data(evt).hidden(false);\n });\n\n bullet.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true);\n });\n\n bullet.dispatch.on('elementMousemove.tooltip', function(evt) {\n tooltip();\n });\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.bullet = bullet;\n chart.dispatch = dispatch;\n chart.tooltip = tooltip;\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n ranges: {get: function(){return ranges;}, set: function(_){ranges=_;}}, // ranges (bad, satisfactory, good)\n markers: {get: function(){return markers;}, set: function(_){markers=_;}}, // markers (previous, goal)\n measures: {get: function(){return measures;}, set: function(_){measures=_;}}, // measures (actual, forecast)\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n tickFormat: {get: function(){return tickFormat;}, set: function(_){tickFormat=_;}},\n ticks: {get: function(){return ticks;}, set: function(_){ticks=_;}},\n noData: {get: function(){return noData;}, set: function(_){noData=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n orient: {get: function(){return orient;}, set: function(_){ // left, right, top, bottom\n orient = _;\n reverse = orient == 'right' || orient == 'bottom';\n }}\n });\n\n nv.utils.inheritOptions(chart, bullet);\n nv.utils.initOptions(chart);\n\n return chart;\n};\n\n\n","\nnv.models.candlestickBar = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 0, right: 0, bottom: 0, left: 0}\n , width = null\n , height = null\n , id = Math.floor(Math.random() * 10000) //Create semi-unique ID in case user doesn't select one\n , container\n , x = d3.scale.linear()\n , y = d3.scale.linear()\n , getX = function(d) { return d.x }\n , getY = function(d) { return d.y }\n , getOpen = function(d) { return d.open }\n , getClose = function(d) { return d.close }\n , getHigh = function(d) { return d.high }\n , getLow = function(d) { return d.low }\n , forceX = []\n , forceY = []\n , padData = false // If true, adds half a data points width to front and back, for lining up a line chart with a bar chart\n , clipEdge = true\n , color = nv.utils.defaultColor()\n , interactive = false\n , xDomain\n , yDomain\n , xRange\n , yRange\n , dispatch = d3.dispatch('stateChange', 'changeState', 'renderEnd', 'chartClick', 'elementClick', 'elementDblClick', 'elementMouseover', 'elementMouseout', 'elementMousemove')\n ;\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n function chart(selection) {\n selection.each(function(data) {\n container = d3.select(this);\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin);\n\n nv.utils.initSVG(container);\n\n // Width of the candlestick bars.\n var barWidth = (availableWidth / data[0].values.length) * .45;\n\n // Setup Scales\n x.domain(xDomain || d3.extent(data[0].values.map(getX).concat(forceX) ));\n\n if (padData)\n x.range(xRange || [availableWidth * .5 / data[0].values.length, availableWidth * (data[0].values.length - .5) / data[0].values.length ]);\n else\n x.range(xRange || [5 + barWidth / 2, availableWidth - barWidth / 2 - 5]);\n\n y.domain(yDomain || [\n d3.min(data[0].values.map(getLow).concat(forceY)),\n d3.max(data[0].values.map(getHigh).concat(forceY))\n ]\n ).range(yRange || [availableHeight, 0]);\n\n // If scale's domain don't have a range, slightly adjust to make one... so a chart can show a single data point\n if (x.domain()[0] === x.domain()[1])\n x.domain()[0] ?\n x.domain([x.domain()[0] - x.domain()[0] * 0.01, x.domain()[1] + x.domain()[1] * 0.01])\n : x.domain([-1,1]);\n\n if (y.domain()[0] === y.domain()[1])\n y.domain()[0] ?\n y.domain([y.domain()[0] + y.domain()[0] * 0.01, y.domain()[1] - y.domain()[1] * 0.01])\n : y.domain([-1,1]);\n\n // Setup containers and skeleton of chart\n var wrap = d3.select(this).selectAll('g.nv-wrap.nv-candlestickBar').data([data[0].values]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-candlestickBar');\n var defsEnter = wrapEnter.append('defs');\n var gEnter = wrapEnter.append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-ticks');\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n container\n .on('click', function(d,i) {\n dispatch.chartClick({\n data: d,\n index: i,\n pos: d3.event,\n id: id\n });\n });\n\n defsEnter.append('clipPath')\n .attr('id', 'nv-chart-clip-path-' + id)\n .append('rect');\n\n wrap.select('#nv-chart-clip-path-' + id + ' rect')\n .attr('width', availableWidth)\n .attr('height', availableHeight);\n\n g .attr('clip-path', clipEdge ? 'url(#nv-chart-clip-path-' + id + ')' : '');\n\n var ticks = wrap.select('.nv-ticks').selectAll('.nv-tick')\n .data(function(d) { return d });\n ticks.exit().remove();\n\n var tickGroups = ticks.enter().append('g');\n\n // The colors are currently controlled by CSS.\n ticks\n .attr('class', function(d, i, j) { return (getOpen(d, i) > getClose(d, i) ? 'nv-tick negative' : 'nv-tick positive') + ' nv-tick-' + j + '-' + i});\n\n var lines = tickGroups.append('line')\n .attr('class', 'nv-candlestick-lines')\n .attr('transform', function(d, i) { return 'translate(' + x(getX(d, i)) + ',0)'; })\n .attr('x1', 0)\n .attr('y1', function(d, i) { return y(getHigh(d, i)); })\n .attr('x2', 0)\n .attr('y2', function(d, i) { return y(getLow(d, i)); });\n\n var rects = tickGroups.append('rect')\n .attr('class', 'nv-candlestick-rects nv-bars')\n .attr('transform', function(d, i) {\n return 'translate(' + (x(getX(d, i)) - barWidth/2) + ','\n + (y(getY(d, i)) - (getOpen(d, i) > getClose(d, i) ? (y(getClose(d, i)) - y(getOpen(d, i))) : 0))\n + ')';\n })\n .attr('x', 0)\n .attr('y', 0)\n .attr('width', barWidth)\n .attr('height', function(d, i) {\n var open = getOpen(d, i);\n var close = getClose(d, i);\n return open > close ? y(close) - y(open) : y(open) - y(close);\n });\n\n ticks.select('.nv-candlestick-lines').transition()\n .attr('transform', function(d, i) { return 'translate(' + x(getX(d, i)) + ',0)'; })\n .attr('x1', 0)\n .attr('y1', function(d, i) { return y(getHigh(d, i)); })\n .attr('x2', 0)\n .attr('y2', function(d, i) { return y(getLow(d, i)); });\n\n ticks.select('.nv-candlestick-rects').transition()\n .attr('transform', function(d, i) {\n return 'translate(' + (x(getX(d, i)) - barWidth/2) + ','\n + (y(getY(d, i)) - (getOpen(d, i) > getClose(d, i) ? (y(getClose(d, i)) - y(getOpen(d, i))) : 0))\n + ')';\n })\n .attr('x', 0)\n .attr('y', 0)\n .attr('width', barWidth)\n .attr('height', function(d, i) {\n var open = getOpen(d, i);\n var close = getClose(d, i);\n return open > close ? y(close) - y(open) : y(open) - y(close);\n });\n });\n\n return chart;\n }\n\n\n //Create methods to allow outside functions to highlight a specific bar.\n chart.highlightPoint = function(pointIndex, isHoverOver) {\n chart.clearHighlights();\n container.select(\".nv-candlestickBar .nv-tick-0-\" + pointIndex)\n .classed(\"hover\", isHoverOver)\n ;\n };\n\n chart.clearHighlights = function() {\n container.select(\".nv-candlestickBar .nv-tick.hover\")\n .classed(\"hover\", false)\n ;\n };\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n xScale: {get: function(){return x;}, set: function(_){x=_;}},\n yScale: {get: function(){return y;}, set: function(_){y=_;}},\n xDomain: {get: function(){return xDomain;}, set: function(_){xDomain=_;}},\n yDomain: {get: function(){return yDomain;}, set: function(_){yDomain=_;}},\n xRange: {get: function(){return xRange;}, set: function(_){xRange=_;}},\n yRange: {get: function(){return yRange;}, set: function(_){yRange=_;}},\n forceX: {get: function(){return forceX;}, set: function(_){forceX=_;}},\n forceY: {get: function(){return forceY;}, set: function(_){forceY=_;}},\n padData: {get: function(){return padData;}, set: function(_){padData=_;}},\n clipEdge: {get: function(){return clipEdge;}, set: function(_){clipEdge=_;}},\n id: {get: function(){return id;}, set: function(_){id=_;}},\n interactive: {get: function(){return interactive;}, set: function(_){interactive=_;}},\n\n x: {get: function(){return getX;}, set: function(_){getX=_;}},\n y: {get: function(){return getY;}, set: function(_){getY=_;}},\n open: {get: function(){return getOpen();}, set: function(_){getOpen=_;}},\n close: {get: function(){return getClose();}, set: function(_){getClose=_;}},\n high: {get: function(){return getHigh;}, set: function(_){getHigh=_;}},\n low: {get: function(){return getLow;}, set: function(_){getLow=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top != undefined ? _.top : margin.top;\n margin.right = _.right != undefined ? _.right : margin.right;\n margin.bottom = _.bottom != undefined ? _.bottom : margin.bottom;\n margin.left = _.left != undefined ? _.left : margin.left;\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n }}\n });\n\n nv.utils.initOptions(chart);\n return chart;\n};\n","\nnv.models.cumulativeLineChart = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var lines = nv.models.line()\n , xAxis = nv.models.axis()\n , yAxis = nv.models.axis()\n , legend = nv.models.legend()\n , controls = nv.models.legend()\n , interactiveLayer = nv.interactiveGuideline()\n , tooltip = nv.models.tooltip()\n ;\n\n var margin = {top: 30, right: 30, bottom: 50, left: 60}\n , marginTop = null\n , color = nv.utils.defaultColor()\n , width = null\n , height = null\n , showLegend = true\n , showXAxis = true\n , showYAxis = true\n , rightAlignYAxis = false\n , showControls = true\n , useInteractiveGuideline = false\n , rescaleY = true\n , x //can be accessed via chart.xScale()\n , y //can be accessed via chart.yScale()\n , id = lines.id()\n , state = nv.utils.state()\n , defaultState = null\n , noData = null\n , average = function(d) { return d.average }\n , dispatch = d3.dispatch('stateChange', 'changeState', 'renderEnd')\n , transitionDuration = 250\n , duration = 250\n , noErrorCheck = false //if set to TRUE, will bypass an error check in the indexify function.\n ;\n\n state.index = 0;\n state.rescaleY = rescaleY;\n\n xAxis.orient('bottom').tickPadding(7);\n yAxis.orient((rightAlignYAxis) ? 'right' : 'left');\n\n tooltip.valueFormatter(function(d, i) {\n return yAxis.tickFormat()(d, i);\n }).headerFormatter(function(d, i) {\n return xAxis.tickFormat()(d, i);\n });\n\n controls.updateState(false);\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var dx = d3.scale.linear()\n , index = {i: 0, x: 0}\n , renderWatch = nv.utils.renderWatch(dispatch, duration)\n , currentYDomain\n ;\n\n var stateGetter = function(data) {\n return function(){\n return {\n active: data.map(function(d) { return !d.disabled }),\n index: index.i,\n rescaleY: rescaleY\n };\n }\n };\n\n var stateSetter = function(data) {\n return function(state) {\n if (state.index !== undefined)\n index.i = state.index;\n if (state.rescaleY !== undefined)\n rescaleY = state.rescaleY;\n if (state.active !== undefined)\n data.forEach(function(series,i) {\n series.disabled = !state.active[i];\n });\n }\n };\n\n function chart(selection) {\n renderWatch.reset();\n renderWatch.models(lines);\n if (showXAxis) renderWatch.models(xAxis);\n if (showYAxis) renderWatch.models(yAxis);\n selection.each(function(data) {\n var container = d3.select(this);\n nv.utils.initSVG(container);\n container.classed('nv-chart-' + id, true);\n var that = this;\n\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin);\n\n chart.update = function() {\n if (duration === 0)\n container.call(chart);\n else\n container.transition().duration(duration).call(chart)\n };\n chart.container = this;\n\n state\n .setter(stateSetter(data), chart.update)\n .getter(stateGetter(data))\n .update();\n\n // DEPRECATED set state.disableddisabled\n state.disabled = data.map(function(d) { return !!d.disabled });\n\n if (!defaultState) {\n var key;\n defaultState = {};\n for (key in state) {\n if (state[key] instanceof Array)\n defaultState[key] = state[key].slice(0);\n else\n defaultState[key] = state[key];\n }\n }\n\n var indexDrag = d3.behavior.drag()\n .on('dragstart', dragStart)\n .on('drag', dragMove)\n .on('dragend', dragEnd);\n\n\n function dragStart(d,i) {\n d3.select(chart.container)\n .style('cursor', 'ew-resize');\n }\n\n function dragMove(d,i) {\n index.x = d3.event.x;\n index.i = Math.round(dx.invert(index.x));\n updateZero();\n }\n\n function dragEnd(d,i) {\n d3.select(chart.container)\n .style('cursor', 'auto');\n\n // update state and send stateChange with new index\n state.index = index.i;\n dispatch.stateChange(state);\n }\n\n // Display No Data message if there's nothing to show.\n if (!data || !data.length || !data.filter(function(d) { return d.values.length }).length) {\n nv.utils.noData(chart, container)\n return chart;\n } else {\n container.selectAll('.nv-noData').remove();\n }\n\n // Setup Scales\n x = lines.xScale();\n y = lines.yScale();\n\n\n dx.domain([0, data[0].values.length - 1]) //Assumes all series have same length\n .range([0, availableWidth])\n .clamp(true);\n\n var data = indexify(index.i, data);\n\n // initialize the starting yDomain for the not-rescale case after indexify (to have calculated point.display)\n if (typeof(currentYDomain) === \"undefined\") {\n currentYDomain = getCurrentYDomain(data);\n }\n\n if (!rescaleY) {\n lines.yDomain(currentYDomain);\n lines.clipEdge(true);\n } else {\n lines.yDomain(null);\n }\n\n // Setup containers and skeleton of chart\n var interactivePointerEvents = (useInteractiveGuideline) ? \"none\" : \"all\";\n var wrap = container.selectAll('g.nv-wrap.nv-cumulativeLine').data([data]);\n var gEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-cumulativeLine').append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-interactive');\n gEnter.append('g').attr('class', 'nv-x nv-axis').style(\"pointer-events\",\"none\");\n gEnter.append('g').attr('class', 'nv-y nv-axis');\n gEnter.append('g').attr('class', 'nv-background');\n gEnter.append('g').attr('class', 'nv-linesWrap').style(\"pointer-events\",interactivePointerEvents);\n gEnter.append('g').attr('class', 'nv-avgLinesWrap').style(\"pointer-events\",\"none\");\n gEnter.append('g').attr('class', 'nv-legendWrap');\n gEnter.append('g').attr('class', 'nv-controlsWrap');\n\n // Legend\n if (!showLegend) {\n g.select('.nv-legendWrap').selectAll('*').remove();\n } else {\n legend.width(availableWidth);\n\n g.select('.nv-legendWrap')\n .datum(data)\n .call(legend);\n\n if (!marginTop && legend.height() !== margin.top) {\n margin.top = legend.height();\n availableHeight = nv.utils.availableHeight(height, container, margin);\n }\n\n g.select('.nv-legendWrap')\n .attr('transform', 'translate(0,' + (-margin.top) +')')\n }\n\n // Controls\n if (!showControls) {\n g.select('.nv-controlsWrap').selectAll('*').remove();\n } else {\n var controlsData = [\n { key: 'Re-scale y-axis', disabled: !rescaleY }\n ];\n\n controls\n .width(140)\n .color(['#444', '#444', '#444'])\n .rightAlign(false)\n .margin({top: 5, right: 0, bottom: 5, left: 20})\n ;\n\n g.select('.nv-controlsWrap')\n .datum(controlsData)\n .attr('transform', 'translate(0,' + (-margin.top) +')')\n .call(controls);\n }\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n if (rightAlignYAxis) {\n g.select(\".nv-y.nv-axis\")\n .attr(\"transform\", \"translate(\" + availableWidth + \",0)\");\n }\n\n // Show error if index point value is 0 (division by zero avoided)\n var tempDisabled = data.filter(function(d) { return d.tempDisabled });\n\n wrap.select('.tempDisabled').remove(); //clean-up and prevent duplicates\n if (tempDisabled.length) {\n wrap.append('text').attr('class', 'tempDisabled')\n .attr('x', availableWidth / 2)\n .attr('y', '-.71em')\n .style('text-anchor', 'end')\n .text(tempDisabled.map(function(d) { return d.key }).join(', ') + ' values cannot be calculated for this time period.');\n }\n\n //Set up interactive layer\n if (useInteractiveGuideline) {\n interactiveLayer\n .width(availableWidth)\n .height(availableHeight)\n .margin({left:margin.left,top:margin.top})\n .svgContainer(container)\n .xScale(x);\n wrap.select(\".nv-interactive\").call(interactiveLayer);\n }\n\n gEnter.select('.nv-background')\n .append('rect');\n\n g.select('.nv-background rect')\n .attr('width', availableWidth)\n .attr('height', availableHeight);\n\n lines\n //.x(function(d) { return d.x })\n .y(function(d) { return d.display.y })\n .width(availableWidth)\n .height(availableHeight)\n .color(data.map(function(d,i) {\n return d.color || color(d, i);\n }).filter(function(d,i) { return !data[i].disabled && !data[i].tempDisabled; }));\n\n var linesWrap = g.select('.nv-linesWrap')\n .datum(data.filter(function(d) { return !d.disabled && !d.tempDisabled }));\n\n linesWrap.call(lines);\n\n //Store a series index number in the data array.\n data.forEach(function(d,i) {\n d.seriesIndex = i;\n });\n\n var avgLineData = data.filter(function(d) {\n return !d.disabled && !!average(d);\n });\n\n var avgLines = g.select(\".nv-avgLinesWrap\").selectAll(\"line\")\n .data(avgLineData, function(d) { return d.key; });\n\n var getAvgLineY = function(d) {\n //If average lines go off the svg element, clamp them to the svg bounds.\n var yVal = y(average(d));\n if (yVal < 0) return 0;\n if (yVal > availableHeight) return availableHeight;\n return yVal;\n };\n\n avgLines.enter()\n .append('line')\n .style('stroke-width',2)\n .style('stroke-dasharray','10,10')\n .style('stroke',function (d,i) {\n return lines.color()(d,d.seriesIndex);\n })\n .attr('x1',0)\n .attr('x2',availableWidth)\n .attr('y1', getAvgLineY)\n .attr('y2', getAvgLineY);\n\n avgLines\n .style('stroke-opacity',function(d){\n //If average lines go offscreen, make them transparent\n var yVal = y(average(d));\n if (yVal < 0 || yVal > availableHeight) return 0;\n return 1;\n })\n .attr('x1',0)\n .attr('x2',availableWidth)\n .attr('y1', getAvgLineY)\n .attr('y2', getAvgLineY);\n\n avgLines.exit().remove();\n\n //Create index line\n var indexLine = linesWrap.selectAll('.nv-indexLine')\n .data([index]);\n indexLine.enter().append('rect').attr('class', 'nv-indexLine')\n .attr('width', 3)\n .attr('x', -2)\n .attr('fill', 'red')\n .attr('fill-opacity', .5)\n .style(\"pointer-events\",\"all\")\n .call(indexDrag);\n\n indexLine\n .attr('transform', function(d) { return 'translate(' + dx(d.i) + ',0)' })\n .attr('height', availableHeight);\n\n // Setup Axes\n if (showXAxis) {\n xAxis\n .scale(x)\n ._ticks( nv.utils.calcTicksX(availableWidth/70, data) )\n .tickSize(-availableHeight, 0);\n\n g.select('.nv-x.nv-axis')\n .attr('transform', 'translate(0,' + y.range()[0] + ')');\n g.select('.nv-x.nv-axis')\n .call(xAxis);\n }\n\n if (showYAxis) {\n yAxis\n .scale(y)\n ._ticks( nv.utils.calcTicksY(availableHeight/36, data) )\n .tickSize( -availableWidth, 0);\n\n g.select('.nv-y.nv-axis')\n .call(yAxis);\n }\n\n //============================================================\n // Event Handling/Dispatching (in chart's scope)\n //------------------------------------------------------------\n\n function updateZero() {\n indexLine\n .data([index]);\n\n //When dragging the index line, turn off line transitions.\n // Then turn them back on when done dragging.\n var oldDuration = chart.duration();\n chart.duration(0);\n chart.update();\n chart.duration(oldDuration);\n }\n\n g.select('.nv-background rect')\n .on('click', function() {\n index.x = d3.mouse(this)[0];\n index.i = Math.round(dx.invert(index.x));\n\n // update state and send stateChange with new index\n state.index = index.i;\n dispatch.stateChange(state);\n\n updateZero();\n });\n\n lines.dispatch.on('elementClick', function(e) {\n index.i = e.pointIndex;\n index.x = dx(index.i);\n\n // update state and send stateChange with new index\n state.index = index.i;\n dispatch.stateChange(state);\n\n updateZero();\n });\n\n controls.dispatch.on('legendClick', function(d,i) {\n d.disabled = !d.disabled;\n rescaleY = !d.disabled;\n state.rescaleY = rescaleY;\n if (!rescaleY) {\n currentYDomain = getCurrentYDomain(data); // rescale is turned off, so set the currentYDomain\n }\n dispatch.stateChange(state);\n chart.update();\n });\n\n legend.dispatch.on('stateChange', function(newState) {\n for (var key in newState)\n state[key] = newState[key];\n dispatch.stateChange(state);\n chart.update();\n });\n\n interactiveLayer.dispatch.on('elementMousemove', function(e) {\n lines.clearHighlights();\n var singlePoint, pointIndex, pointXLocation, allData = [];\n\n data\n .filter(function(series, i) {\n series.seriesIndex = i;\n return !(series.disabled || series.tempDisabled);\n })\n .forEach(function(series,i) {\n pointIndex = nv.interactiveBisect(series.values, e.pointXValue, chart.x());\n lines.highlightPoint(i, pointIndex, true);\n var point = series.values[pointIndex];\n if (typeof point === 'undefined') return;\n if (typeof singlePoint === 'undefined') singlePoint = point;\n if (typeof pointXLocation === 'undefined') pointXLocation = chart.xScale()(chart.x()(point,pointIndex));\n allData.push({\n key: series.key,\n value: chart.y()(point, pointIndex),\n color: color(series,series.seriesIndex)\n });\n });\n\n //Highlight the tooltip entry based on which point the mouse is closest to.\n if (allData.length > 2) {\n var yValue = chart.yScale().invert(e.mouseY);\n var domainExtent = Math.abs(chart.yScale().domain()[0] - chart.yScale().domain()[1]);\n var threshold = 0.03 * domainExtent;\n var indexToHighlight = nv.nearestValueIndex(allData.map(function(d){return d.value}),yValue,threshold);\n if (indexToHighlight !== null)\n allData[indexToHighlight].highlight = true;\n }\n\n var xValue = xAxis.tickFormat()(chart.x()(singlePoint,pointIndex), pointIndex);\n interactiveLayer.tooltip\n .valueFormatter(function(d,i) {\n return yAxis.tickFormat()(d);\n })\n .data(\n {\n value: xValue,\n series: allData\n }\n )();\n\n interactiveLayer.renderGuideLine(pointXLocation);\n });\n\n interactiveLayer.dispatch.on(\"elementMouseout\",function(e) {\n lines.clearHighlights();\n });\n\n // Update chart from a state object passed to event handler\n dispatch.on('changeState', function(e) {\n if (typeof e.disabled !== 'undefined') {\n data.forEach(function(series,i) {\n series.disabled = e.disabled[i];\n });\n\n state.disabled = e.disabled;\n }\n\n if (typeof e.index !== 'undefined') {\n index.i = e.index;\n index.x = dx(index.i);\n\n state.index = e.index;\n\n indexLine\n .data([index]);\n }\n\n if (typeof e.rescaleY !== 'undefined') {\n rescaleY = e.rescaleY;\n }\n\n chart.update();\n });\n\n });\n\n renderWatch.renderEnd('cumulativeLineChart immediate');\n\n return chart;\n }\n\n //============================================================\n // Event Handling/Dispatching (out of chart's scope)\n //------------------------------------------------------------\n\n lines.dispatch.on('elementMouseover.tooltip', function(evt) {\n var point = {\n x: chart.x()(evt.point),\n y: chart.y()(evt.point),\n color: evt.point.color\n };\n evt.point = point;\n tooltip.data(evt).hidden(false);\n });\n\n lines.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true)\n });\n\n //============================================================\n // Functions\n //------------------------------------------------------------\n\n var indexifyYGetter = null;\n /* Normalize the data according to an index point. */\n function indexify(idx, data) {\n if (!indexifyYGetter) indexifyYGetter = lines.y();\n return data.map(function(line, i) {\n if (!line.values) {\n return line;\n }\n var indexValue = line.values[idx];\n if (indexValue == null) {\n return line;\n }\n var v = indexifyYGetter(indexValue, idx);\n\n // avoid divide by zero\n if (Math.abs(v) < 0.00001 && !noErrorCheck) {\n line.tempDisabled = true;\n return line;\n }\n\n line.tempDisabled = false;\n\n line.values = line.values.map(function(point, pointIndex) {\n point.display = {'y': (indexifyYGetter(point, pointIndex) - v) / v };\n return point;\n });\n\n return line;\n })\n }\n\n function getCurrentYDomain(data) {\n var seriesDomains = data\n .filter(function(series) { return !(series.disabled || series.tempDisabled)})\n .map(function(series,i) {\n return d3.extent(series.values, function (d) { return d.display.y });\n });\n\n return [\n d3.min(seriesDomains, function(d) { return d[0] }),\n d3.max(seriesDomains, function(d) { return d[1] })\n ];\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n // expose chart's sub-components\n chart.dispatch = dispatch;\n chart.lines = lines;\n chart.legend = legend;\n chart.controls = controls;\n chart.xAxis = xAxis;\n chart.yAxis = yAxis;\n chart.interactiveLayer = interactiveLayer;\n chart.state = state;\n chart.tooltip = tooltip;\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n showControls: {get: function(){return showControls;}, set: function(_){showControls=_;}},\n showLegend: {get: function(){return showLegend;}, set: function(_){showLegend=_;}},\n average: {get: function(){return average;}, set: function(_){average=_;}},\n defaultState: {get: function(){return defaultState;}, set: function(_){defaultState=_;}},\n noData: {get: function(){return noData;}, set: function(_){noData=_;}},\n showXAxis: {get: function(){return showXAxis;}, set: function(_){showXAxis=_;}},\n showYAxis: {get: function(){return showYAxis;}, set: function(_){showYAxis=_;}},\n noErrorCheck: {get: function(){return noErrorCheck;}, set: function(_){noErrorCheck=_;}},\n\n // options that require extra logic in the setter\n rescaleY: {get: function(){return rescaleY;}, set: function(_){\n rescaleY = _;\n chart.state.rescaleY = _; // also update state\n }},\n margin: {get: function(){return margin;}, set: function(_){\n if (_.top !== undefined) {\n margin.top = _.top;\n marginTop = _.top;\n }\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n legend.color(color);\n }},\n useInteractiveGuideline: {get: function(){return useInteractiveGuideline;}, set: function(_){\n useInteractiveGuideline = _;\n if (_ === true) {\n chart.interactive(false);\n chart.useVoronoi(false);\n }\n }},\n rightAlignYAxis: {get: function(){return rightAlignYAxis;}, set: function(_){\n rightAlignYAxis = _;\n yAxis.orient( (_) ? 'right' : 'left');\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n lines.duration(duration);\n xAxis.duration(duration);\n yAxis.duration(duration);\n renderWatch.reset(duration);\n }}\n });\n\n nv.utils.inheritOptions(chart, lines);\n nv.utils.initOptions(chart);\n\n return chart;\n};\n","//TODO: consider deprecating by adding necessary features to multiBar model\nnv.models.discreteBar = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 0, right: 0, bottom: 0, left: 0}\n , width = 960\n , height = 500\n , id = Math.floor(Math.random() * 10000) //Create semi-unique ID in case user doesn't select one\n , container\n , x = d3.scale.ordinal()\n , y = d3.scale.linear()\n , getX = function(d) { return d.x }\n , getY = function(d) { return d.y }\n , forceY = [0] // 0 is forced by default.. this makes sense for the majority of bar graphs... user can always do chart.forceY([]) to remove\n , color = nv.utils.defaultColor()\n , showValues = false\n , valueFormat = d3.format(',.2f')\n , xDomain\n , yDomain\n , xRange\n , yRange\n , dispatch = d3.dispatch('chartClick', 'elementClick', 'elementDblClick', 'elementMouseover', 'elementMouseout', 'elementMousemove', 'renderEnd')\n , rectClass = 'discreteBar'\n , duration = 250\n ;\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var x0, y0;\n var renderWatch = nv.utils.renderWatch(dispatch, duration);\n\n function chart(selection) {\n renderWatch.reset();\n selection.each(function(data) {\n var availableWidth = width - margin.left - margin.right,\n availableHeight = height - margin.top - margin.bottom;\n\n container = d3.select(this);\n nv.utils.initSVG(container);\n\n //add series index to each data point for reference\n data.forEach(function(series, i) {\n series.values.forEach(function(point) {\n point.series = i;\n });\n });\n\n // Setup Scales\n // remap and flatten the data for use in calculating the scales' domains\n var seriesData = (xDomain && yDomain) ? [] : // if we know xDomain and yDomain, no need to calculate\n data.map(function(d) {\n return d.values.map(function(d,i) {\n return { x: getX(d,i), y: getY(d,i), y0: d.y0 }\n })\n });\n\n x .domain(xDomain || d3.merge(seriesData).map(function(d) { return d.x }))\n .rangeBands(xRange || [0, availableWidth], .1);\n y .domain(yDomain || d3.extent(d3.merge(seriesData).map(function(d) { return d.y }).concat(forceY)));\n\n // If showValues, pad the Y axis range to account for label height\n if (showValues) y.range(yRange || [availableHeight - (y.domain()[0] < 0 ? 12 : 0), y.domain()[1] > 0 ? 12 : 0]);\n else y.range(yRange || [availableHeight, 0]);\n\n //store old scales if they exist\n x0 = x0 || x;\n y0 = y0 || y.copy().range([y(0),y(0)]);\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-discretebar').data([data]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-discretebar');\n var gEnter = wrapEnter.append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-groups');\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n //TODO: by definition, the discrete bar should not have multiple groups, will modify/remove later\n var groups = wrap.select('.nv-groups').selectAll('.nv-group')\n .data(function(d) { return d }, function(d) { return d.key });\n groups.enter().append('g')\n .style('stroke-opacity', 1e-6)\n .style('fill-opacity', 1e-6);\n groups.exit()\n .watchTransition(renderWatch, 'discreteBar: exit groups')\n .style('stroke-opacity', 1e-6)\n .style('fill-opacity', 1e-6)\n .remove();\n groups\n .attr('class', function(d,i) { return 'nv-group nv-series-' + i })\n .classed('hover', function(d) { return d.hover });\n groups\n .watchTransition(renderWatch, 'discreteBar: groups')\n .style('stroke-opacity', 1)\n .style('fill-opacity', .75);\n\n var bars = groups.selectAll('g.nv-bar')\n .data(function(d) { return d.values });\n bars.exit().remove();\n\n var barsEnter = bars.enter().append('g')\n .attr('transform', function(d,i,j) {\n return 'translate(' + (x(getX(d,i)) + x.rangeBand() * .05 ) + ', ' + y(0) + ')'\n })\n .on('mouseover', function(d,i) { //TODO: figure out why j works above, but not here\n d3.select(this).classed('hover', true);\n dispatch.elementMouseover({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\")\n });\n })\n .on('mouseout', function(d,i) {\n d3.select(this).classed('hover', false);\n dispatch.elementMouseout({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\")\n });\n })\n .on('mousemove', function(d,i) {\n dispatch.elementMousemove({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\")\n });\n })\n .on('click', function(d,i) {\n var element = this;\n dispatch.elementClick({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\"),\n event: d3.event,\n element: element\n });\n d3.event.stopPropagation();\n })\n .on('dblclick', function(d,i) {\n dispatch.elementDblClick({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\")\n });\n d3.event.stopPropagation();\n });\n\n barsEnter.append('rect')\n .attr('height', 0)\n .attr('width', x.rangeBand() * .9 / data.length )\n\n if (showValues) {\n barsEnter.append('text')\n .attr('text-anchor', 'middle')\n ;\n\n bars.select('text')\n .text(function(d,i) { return valueFormat(getY(d,i)) })\n .watchTransition(renderWatch, 'discreteBar: bars text')\n .attr('x', x.rangeBand() * .9 / 2)\n .attr('y', function(d,i) { return getY(d,i) < 0 ? y(getY(d,i)) - y(0) + 12 : -4 })\n\n ;\n } else {\n bars.selectAll('text').remove();\n }\n\n bars\n .attr('class', function(d,i) { return getY(d,i) < 0 ? 'nv-bar negative' : 'nv-bar positive' })\n .style('fill', function(d,i) { return d.color || color(d,i) })\n .style('stroke', function(d,i) { return d.color || color(d,i) })\n .select('rect')\n .attr('class', rectClass)\n .watchTransition(renderWatch, 'discreteBar: bars rect')\n .attr('width', x.rangeBand() * .9 / data.length);\n bars.watchTransition(renderWatch, 'discreteBar: bars')\n //.delay(function(d,i) { return i * 1200 / data[0].values.length })\n .attr('transform', function(d,i) {\n var left = x(getX(d,i)) + x.rangeBand() * .05,\n top = getY(d,i) < 0 ?\n y(0) :\n y(0) - y(getY(d,i)) < 1 ?\n y(0) - 1 : //make 1 px positive bars show up above y=0\n y(getY(d,i));\n\n return 'translate(' + left + ', ' + top + ')'\n })\n .select('rect')\n .attr('height', function(d,i) {\n return Math.max(Math.abs(y(getY(d,i)) - y(0)), 1)\n });\n\n\n //store old scales for use in transitions on update\n x0 = x.copy();\n y0 = y.copy();\n\n });\n\n renderWatch.renderEnd('discreteBar immediate');\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n forceY: {get: function(){return forceY;}, set: function(_){forceY=_;}},\n showValues: {get: function(){return showValues;}, set: function(_){showValues=_;}},\n x: {get: function(){return getX;}, set: function(_){getX=_;}},\n y: {get: function(){return getY;}, set: function(_){getY=_;}},\n xScale: {get: function(){return x;}, set: function(_){x=_;}},\n yScale: {get: function(){return y;}, set: function(_){y=_;}},\n xDomain: {get: function(){return xDomain;}, set: function(_){xDomain=_;}},\n yDomain: {get: function(){return yDomain;}, set: function(_){yDomain=_;}},\n xRange: {get: function(){return xRange;}, set: function(_){xRange=_;}},\n yRange: {get: function(){return yRange;}, set: function(_){yRange=_;}},\n valueFormat: {get: function(){return valueFormat;}, set: function(_){valueFormat=_;}},\n id: {get: function(){return id;}, set: function(_){id=_;}},\n rectClass: {get: function(){return rectClass;}, set: function(_){rectClass=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n }}\n });\n\n nv.utils.initOptions(chart);\n\n return chart;\n};\n","\nnv.models.discreteBarChart = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var discretebar = nv.models.discreteBar()\n , xAxis = nv.models.axis()\n , yAxis = nv.models.axis()\n\t, legend = nv.models.legend()\n , tooltip = nv.models.tooltip()\n ;\n\n var margin = {top: 15, right: 10, bottom: 50, left: 60}\n , marginTop = null\n , width = null\n , height = null\n , color = nv.utils.getColor()\n\t, showLegend = false\n , showXAxis = true\n , showYAxis = true\n , rightAlignYAxis = false\n , staggerLabels = false\n , wrapLabels = false\n , rotateLabels = 0\n , x\n , y\n , noData = null\n , dispatch = d3.dispatch('beforeUpdate','renderEnd')\n , duration = 250\n ;\n\n xAxis\n .orient('bottom')\n .showMaxMin(false)\n .tickFormat(function(d) { return d })\n ;\n yAxis\n .orient((rightAlignYAxis) ? 'right' : 'left')\n .tickFormat(d3.format(',.1f'))\n ;\n\n tooltip\n .duration(0)\n .headerEnabled(false)\n .valueFormatter(function(d, i) {\n return yAxis.tickFormat()(d, i);\n })\n .keyFormatter(function(d, i) {\n return xAxis.tickFormat()(d, i);\n });\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var renderWatch = nv.utils.renderWatch(dispatch, duration);\n\n function chart(selection) {\n renderWatch.reset();\n renderWatch.models(discretebar);\n if (showXAxis) renderWatch.models(xAxis);\n if (showYAxis) renderWatch.models(yAxis);\n\n selection.each(function(data) {\n var container = d3.select(this),\n that = this;\n nv.utils.initSVG(container);\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin);\n\n chart.update = function() {\n dispatch.beforeUpdate();\n container.transition().duration(duration).call(chart);\n };\n chart.container = this;\n\n // Display No Data message if there's nothing to show.\n if (!data || !data.length || !data.filter(function(d) { return d.values.length }).length) {\n nv.utils.noData(chart, container);\n return chart;\n } else {\n container.selectAll('.nv-noData').remove();\n }\n\n // Setup Scales\n x = discretebar.xScale();\n y = discretebar.yScale().clamp(true);\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-discreteBarWithAxes').data([data]);\n var gEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-discreteBarWithAxes').append('g');\n var defsEnter = gEnter.append('defs');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-x nv-axis');\n gEnter.append('g').attr('class', 'nv-y nv-axis')\n .append('g').attr('class', 'nv-zeroLine')\n .append('line');\n\n gEnter.append('g').attr('class', 'nv-barsWrap');\n\t gEnter.append('g').attr('class', 'nv-legendWrap');\n\n g.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n // Legend\n if (!showLegend) {\n g.select('.nv-legendWrap').selectAll('*').remove();\n } else {\n legend.width(availableWidth);\n\n g.select('.nv-legendWrap')\n .datum(data)\n .call(legend);\n\n if (!marginTop && legend.height() !== margin.top) {\n margin.top = legend.height();\n availableHeight = nv.utils.availableHeight(height, container, margin);\n }\n\n wrap.select('.nv-legendWrap')\n .attr('transform', 'translate(0,' + (-margin.top) +')')\n }\n\n if (rightAlignYAxis) {\n g.select(\".nv-y.nv-axis\")\n .attr(\"transform\", \"translate(\" + availableWidth + \",0)\");\n }\n\n // Main Chart Component(s)\n discretebar\n .width(availableWidth)\n .height(availableHeight);\n\n var barsWrap = g.select('.nv-barsWrap')\n .datum(data.filter(function(d) { return !d.disabled }));\n\n barsWrap.transition().call(discretebar);\n\n\n defsEnter.append('clipPath')\n .attr('id', 'nv-x-label-clip-' + discretebar.id())\n .append('rect');\n\n g.select('#nv-x-label-clip-' + discretebar.id() + ' rect')\n .attr('width', x.rangeBand() * (staggerLabels ? 2 : 1))\n .attr('height', 16)\n .attr('x', -x.rangeBand() / (staggerLabels ? 1 : 2 ));\n\n // Setup Axes\n if (showXAxis) {\n xAxis\n .scale(x)\n ._ticks( nv.utils.calcTicksX(availableWidth/100, data) )\n .tickSize(-availableHeight, 0);\n\n g.select('.nv-x.nv-axis')\n .attr('transform', 'translate(0,' + (y.range()[0] + ((discretebar.showValues() && y.domain()[0] < 0) ? 16 : 0)) + ')');\n g.select('.nv-x.nv-axis').call(xAxis);\n\n var xTicks = g.select('.nv-x.nv-axis').selectAll('g');\n if (staggerLabels) {\n xTicks\n .selectAll('text')\n .attr('transform', function(d,i,j) { return 'translate(0,' + (j % 2 == 0 ? '5' : '17') + ')' })\n }\n\n if (rotateLabels) {\n xTicks\n .selectAll('.tick text')\n .attr('transform', 'rotate(' + rotateLabels + ' 0,0)')\n .style('text-anchor', rotateLabels > 0 ? 'start' : 'end');\n }\n\n if (wrapLabels) {\n g.selectAll('.tick text')\n .call(nv.utils.wrapTicks, chart.xAxis.rangeBand())\n }\n }\n\n if (showYAxis) {\n yAxis\n .scale(y)\n ._ticks( nv.utils.calcTicksY(availableHeight/36, data) )\n .tickSize( -availableWidth, 0);\n\n g.select('.nv-y.nv-axis').call(yAxis);\n }\n\n // Zero line\n g.select(\".nv-zeroLine line\")\n .attr(\"x1\",0)\n .attr(\"x2\",(rightAlignYAxis) ? -availableWidth : availableWidth)\n .attr(\"y1\", y(0))\n .attr(\"y2\", y(0))\n ;\n });\n\n renderWatch.renderEnd('discreteBar chart immediate');\n return chart;\n }\n\n //============================================================\n // Event Handling/Dispatching (out of chart's scope)\n //------------------------------------------------------------\n\n discretebar.dispatch.on('elementMouseover.tooltip', function(evt) {\n evt['series'] = {\n key: chart.x()(evt.data),\n value: chart.y()(evt.data),\n color: evt.color\n };\n tooltip.data(evt).hidden(false);\n });\n\n discretebar.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true);\n });\n\n discretebar.dispatch.on('elementMousemove.tooltip', function(evt) {\n tooltip();\n });\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.discretebar = discretebar;\n chart.legend = legend;\n chart.xAxis = xAxis;\n chart.yAxis = yAxis;\n chart.tooltip = tooltip;\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n\tshowLegend: {get: function(){return showLegend;}, set: function(_){showLegend=_;}},\n staggerLabels: {get: function(){return staggerLabels;}, set: function(_){staggerLabels=_;}},\n rotateLabels: {get: function(){return rotateLabels;}, set: function(_){rotateLabels=_;}},\n wrapLabels: {get: function(){return wrapLabels;}, set: function(_){wrapLabels=!!_;}},\n showXAxis: {get: function(){return showXAxis;}, set: function(_){showXAxis=_;}},\n showYAxis: {get: function(){return showYAxis;}, set: function(_){showYAxis=_;}},\n noData: {get: function(){return noData;}, set: function(_){noData=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n if (_.top !== undefined) {\n margin.top = _.top;\n marginTop = _.top;\n }\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n discretebar.duration(duration);\n xAxis.duration(duration);\n yAxis.duration(duration);\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n discretebar.color(color);\n\t legend.color(color);\n }},\n rightAlignYAxis: {get: function(){return rightAlignYAxis;}, set: function(_){\n rightAlignYAxis = _;\n yAxis.orient( (_) ? 'right' : 'left');\n }}\n });\n\n nv.utils.inheritOptions(chart, discretebar);\n nv.utils.initOptions(chart);\n\n return chart;\n}\n","\nnv.models.distribution = function() {\n \"use strict\";\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 0, right: 0, bottom: 0, left: 0}\n , width = 400 //technically width or height depending on x or y....\n , size = 8\n , axis = 'x' // 'x' or 'y'... horizontal or vertical\n , getData = function(d) { return d[axis] } // defaults d.x or d.y\n , color = nv.utils.defaultColor()\n , scale = d3.scale.linear()\n , domain\n , duration = 250\n , dispatch = d3.dispatch('renderEnd')\n ;\n\n //============================================================\n\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var scale0;\n var renderWatch = nv.utils.renderWatch(dispatch, duration);\n\n //============================================================\n\n\n function chart(selection) {\n renderWatch.reset();\n selection.each(function(data) {\n var availableLength = width - (axis === 'x' ? margin.left + margin.right : margin.top + margin.bottom),\n naxis = axis == 'x' ? 'y' : 'x',\n container = d3.select(this);\n nv.utils.initSVG(container);\n\n //------------------------------------------------------------\n // Setup Scales\n\n scale0 = scale0 || scale;\n\n //------------------------------------------------------------\n\n\n //------------------------------------------------------------\n // Setup containers and skeleton of chart\n\n var wrap = container.selectAll('g.nv-distribution').data([data]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-distribution');\n var gEnter = wrapEnter.append('g');\n var g = wrap.select('g');\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')')\n\n //------------------------------------------------------------\n\n\n var distWrap = g.selectAll('g.nv-dist')\n .data(function(d) { return d }, function(d) { return d.key });\n\n distWrap.enter().append('g');\n distWrap\n .attr('class', function(d,i) { return 'nv-dist nv-series-' + i })\n .style('stroke', function(d,i) { return color(d, i) });\n\n var dist = distWrap.selectAll('line.nv-dist' + axis)\n .data(function(d) { return d.values })\n dist.enter().append('line')\n .attr(axis + '1', function(d,i) { return scale0(getData(d,i)) })\n .attr(axis + '2', function(d,i) { return scale0(getData(d,i)) })\n renderWatch.transition(distWrap.exit().selectAll('line.nv-dist' + axis), 'dist exit')\n // .transition()\n .attr(axis + '1', function(d,i) { return scale(getData(d,i)) })\n .attr(axis + '2', function(d,i) { return scale(getData(d,i)) })\n .style('stroke-opacity', 0)\n .remove();\n dist\n .attr('class', function(d,i) { return 'nv-dist' + axis + ' nv-dist' + axis + '-' + i })\n .attr(naxis + '1', 0)\n .attr(naxis + '2', size);\n renderWatch.transition(dist, 'dist')\n // .transition()\n .attr(axis + '1', function(d,i) { return scale(getData(d,i)) })\n .attr(axis + '2', function(d,i) { return scale(getData(d,i)) })\n\n\n scale0 = scale.copy();\n\n });\n renderWatch.renderEnd('distribution immediate');\n return chart;\n }\n\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n chart.options = nv.utils.optionsFunc.bind(chart);\n chart.dispatch = dispatch;\n\n chart.margin = function(_) {\n if (!arguments.length) return margin;\n margin.top = typeof _.top != 'undefined' ? _.top : margin.top;\n margin.right = typeof _.right != 'undefined' ? _.right : margin.right;\n margin.bottom = typeof _.bottom != 'undefined' ? _.bottom : margin.bottom;\n margin.left = typeof _.left != 'undefined' ? _.left : margin.left;\n return chart;\n };\n\n chart.width = function(_) {\n if (!arguments.length) return width;\n width = _;\n return chart;\n };\n\n chart.axis = function(_) {\n if (!arguments.length) return axis;\n axis = _;\n return chart;\n };\n\n chart.size = function(_) {\n if (!arguments.length) return size;\n size = _;\n return chart;\n };\n\n chart.getData = function(_) {\n if (!arguments.length) return getData;\n getData = d3.functor(_);\n return chart;\n };\n\n chart.scale = function(_) {\n if (!arguments.length) return scale;\n scale = _;\n return chart;\n };\n\n chart.color = function(_) {\n if (!arguments.length) return color;\n color = nv.utils.getColor(_);\n return chart;\n };\n\n chart.duration = function(_) {\n if (!arguments.length) return duration;\n duration = _;\n renderWatch.reset(duration);\n return chart;\n };\n //============================================================\n\n\n return chart;\n}\n","nv.models.distroPlot = function() {\n \"use strict\";\n\n // IMPROVEMENTS:\n // - cleanup tooltip to look like candlestick example (don't need color square for everything)\n // - extend y scale range to min/max data better visually\n // - tips of violins need to be cut off if very long\n // - transition from box to violin not great since box only has a few points, and violin has many - need to generate box with as many points as violin\n // - when providing colorGroup, should color boxes by either parent or child group category (e.g. isolator)\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 0, right: 0, bottom: 0, left: 0},\n width = 960,\n height = 500,\n id = Math.floor(Math.random() * 10000), // Create semi-unique ID in case user doesn't select one\n xScale = d3.scale.ordinal(),\n yScale = d3.scale.linear(),\n getX = function(d) { return d.label }, // Default data model selectors.\n getY = function(d) { return d.value },\n getColor = function(d) { return d.color },\n getQ1 = function(d) { return d.values.q1 },\n getQ2 = function(d) { return d.values.q2 },\n getQ3 = function(d) { return d.values.q3 },\n getNl = function(d) { return (centralTendency == 'mean' ? getMean(d) : getQ2(d)) - d.values.notch },\n getNu = function(d) { return (centralTendency == 'mean' ? getMean(d) : getQ2(d)) + d.values.notch },\n getMean = function(d) { return d.values.mean },\n getWl = function(d) { return d.values.wl[whiskerDef] },\n getWh = function(d) { return d.values.wu[whiskerDef] },\n getMin = function(d) { return d.values.min },\n getMax = function(d) { return d.values.max },\n getDev = function(d) { return d.values.dev },\n getValsObj = function(d) { return d.values.observations; },\n getValsArr = function(d) { return d.values.observations.map(function(e) { return e.y }); },\n plotType, // type of background: 'box', 'violin', 'none'/false - default: 'box' - 'none' will activate random scatter automatically\n observationType = false, // type of observations to show: 'random', 'swarm', 'line', 'centered' - default: false (don't show any observations, even if an outlier)\n whiskerDef = 'iqr', // type of whisker to render: 'iqr', 'minmax', 'stddev' - default: iqr\n hideWhiskers = false,\n notchBox = false, // bool whether to notch box\n colorGroup = false, // if specified, each x-category will be split into groups, each colored\n centralTendency = false,\n showOnlyOutliers = true, // show only outliers in box plot\n jitter = 0.7, // faction of that jitter should take up in 'random' observationType, must be in range [0,1]; see jitterX(), default 0.7\n squash = true, // whether to remove the x-axis positions for empty data groups, default is true\n bandwidth = 'scott', // bandwidth for kde calculation, can be float or str, if str, must be one of scott or silverman\n clampViolin = true, // whether to clamp the \"tails\" of the violin; prevents long 0-density area\n resolution = 50,\n pointSize = 3,\n color = nv.utils.defaultColor(),\n container = null,\n xDomain, xRange,\n yDomain, yRange,\n dispatch = d3.dispatch('elementMouseover', 'elementMouseout', 'elementMousemove', 'renderEnd'),\n duration = 250,\n maxBoxWidth = null;\n\n //============================================================\n // Helper Functions\n //------------------------------------------------------------\n\n\n /* Returns the smaller of std(X, ddof=1) or normalized IQR(X) over axis 0.\n *\n * @param (list) x - input x formatted as a single list of values\n *\n * @return float\n *\n * Source: https://github.com/statsmodels/statsmodels/blob/master/statsmodels/nonparametric/bandwidths.py#L9\n */\n function select_sigma(x) {\n var sorted = x.sort(d3.ascending); // sort our dat\n var normalize = 1.349;\n var IQR = (d3.quantile(sorted, 0.75) - d3.quantile(sorted, 0.25))/normalize; // normalized IQR\n return d3.min([d3.deviation(sorted), IQR]);\n }\n\n /*\n Scott's Rule of Thumb\n\n Parameters\n ----------\n x : array-like\n Array for which to get the bandwidth\n type : string\n The type of estimate to use, must be one of scott or silverman\n\n Returns\n -------\n bw : float\n The estimate of the bandwidth\n\n Notes\n -----\n Returns 1.059 * A * n ** (-1/5.) where ::\n A = min(std(x, ddof=1), IQR/1.349)\n IQR = np.subtract.reduce(np.percentile(x, [75,25]))\n\n References\n ----------\n Scott, D.W. (1992) Multivariate Density Estimation: Theory, Practice, and\n Visualization.\n */\n function calcBandwidth(x, type) {\n\n if (typeof type === 'undefined') type = 'scott';\n\n // TODO: consider using https://github.com/jasondavies/science.js\n var A = select_sigma(x);\n var n = x.length;\n return type==='scott' ? Math.pow(1.059 * A * n, -0.2) : Math.pow(.9 * A * n, -0.2);\n }\n\n\n\n /*\n * Prep data for use with distroPlot by grouping data\n * by .x() option set by user and then calculating\n * count, sum, mean, q1, q2 (median), q3, lower whisker (wl)\n * upper whisker (wu), iqr, min, max, and standard dev.\n *\n * NOTE: preparing this data can be resource intensive, and\n * is therefore only run once on plot load. It can\n * manually be run by calling recalcData(). This should\n * be re-run any time the axis accessors are changed or\n * when bandwidth/resolution are updated.\n *\n * NOTE: this will also setup the individual vertical scales\n * for the violins.\n *\n * @param (list) dat - input data formatted as list of objects,\n * with an object key that must exist when accessed by getX()\n *\n * @return prepared data in the form for box plotType:\n * [{\n * key : YY,\n * values: {\n * count: XX,\n * sum: XX,\n * mean: XX,\n * q1: XX,\n * q2: XX,\n * q3: XX,\n * wl: XX,\n * wu: XX,\n * iqr: XX,\n * min: XX,\n * max: XX,\n * dev: XX,\n * observations: [{y:XX,..},..],\n * key: XX,\n * kdeDat: XX,\n * notch: XX,\n * }\n * },\n * ...\n * ]\n * for violin plotType:\n * [{\n * key : YY,\n * values: {\n * original: [{y:XX,..},..]\n * }\n * },\n * ...\n * ]\n * where YY are those keys in dat that define the\n * x-axis and which are defined by .x()\n */\n function prepData(dat) {\n\n // helper function to calcuate the various boxplot stats\n function calcStats(g, xGroup) {\n\n // sort data by Y so we can calc quartiles\n var v = g.map(function(d) {\n if (colorGroup) allColorGroups.add(colorGroup(d)); // list of all colorGroups; used to set x-axis\n return getY(d);\n }).sort(d3.ascending);\n\n var q1 = d3.quantile(v, 0.25);\n var q3 = d3.quantile(v, 0.75);\n var iqr = q3 - q1;\n var upper = q3 + 1.5 * iqr;\n var lower = q1 - 1.5 * iqr;\n\n /* whisker definitions:\n * - iqr: also known as Tukey boxplot, the lowest datum still within 1.5 IQR of the lower quartile, and the highest datum still within 1.5 IQR of the upper quartile\n * - minmax: the minimum and maximum of all of the data\n * - sttdev: one standard deviation above and below the mean of the data\n * Note that the central tendency type (median or mean) does not impact the whisker location\n */\n var wl = {iqr: d3.max([d3.min(v), d3.min(v.filter(function(d) {return d > lower}))]), minmax: d3.min(v), stddev: d3.mean(v) - d3.deviation(v)};\n var wu = {iqr: d3.min([d3.max(v), d3.max(v.filter(function(d) {return d < upper}))]), minmax: d3.max(v), stddev: d3.mean(v) + d3.deviation(v)};\n var median = d3.median(v);\n var mean = d3.mean(v);\n var observations = [];\n\n\n // d3-beeswarm library must be externally loaded if being used\n // https://github.com/Kcnarf/d3-beeswarm\n if (typeof d3.beeswarm !== 'undefined') {\n observations = d3.beeswarm()\n .data(g.map(function(e) { return getY(e); }))\n .radius(pointSize+1)\n .orientation('vertical')\n .side('symmetric')\n .distributeOn(function(e) { return yScale(e); })\n .arrange()\n\n // add group info for tooltip\n observations.map(function(e,i) {\n e.key = xGroup;\n e.object_constancy = g[i].object_constancy;\n e.isOutlier = (e.datum < wl.iqr || e.datum > wu.iqr) // add isOulier meta for proper class assignment\n e.isOutlierStdDev = (e.datum < wl.stddev || e.datum > wu.stddev) // add isOulier meta for proper class assignment\n e.randX = Math.random() * jitter * (Math.floor(Math.random()*2) == 1 ? 1 : -1) // calculate random x-position only once for each point\n })\n } else {\n v.forEach(function(e,i) {\n observations.push({\n object_constancy: e.object_constancy,\n datum: e,\n key: xGroup,\n isOutlier: (e < wl.iqr || e > wu.iqr), // add isOulier meta for proper class assignment\n isOutlierStdDev: (e < wl.stddev || e > wu.stddev), // add isOulier meta for proper class assignment\n randX: Math.random() * jitter * (Math.floor(Math.random()*2) == 1 ? 1 : -1)\n })\n })\n }\n\n\n // calculate bandwidth if no number is provided\n if(isNaN(parseFloat(bandwidth))) { // if not is float\n var bandwidthCalc;\n if (['scott','silverman'].indexOf(bandwidth) != -1) {\n bandwidthCalc = calcBandwidth(v, bandwidth);\n } else {\n bandwidthCalc = calcBandwidth(v); // calculate with default 'scott'\n }\n }\n var kde = kernelDensityEstimator(eKernel(bandwidthCalc), yScale.ticks(resolution));\n var kdeDat = clampViolin ? clampViolinKDE(kde(v), d3.extent(v)) : kde(v);\n\n\n // make a new vertical scale for each group\n var tmpScale = d3.scale.linear()\n .domain([0, d3.max(kdeDat, function (e) { return e.y;})])\n .clamp(true);\n yVScale.push(tmpScale);\n\n var reformat = {\n count: v.length,\n num_outlier: observations.filter(function (e) { return e.isOutlier; }).length,\n sum: d3.sum(v),\n mean: mean,\n q1: q1,\n q2: median,\n q3: q3,\n wl: wl,\n wu: wu,\n iqr: iqr,\n min: d3.min(v),\n max: d3.max(v),\n dev: d3.deviation(v),\n observations: observations,\n key: xGroup,\n kde: kdeDat,\n notch: 1.57 * iqr / Math.sqrt(v.length), // notch distance from mean/median\n };\n\n if (colorGroup) {reformatDatFlat.push({key: xGroup, values: reformat});}\n\n return reformat;\n }\n\n // assign a unique identifier for each point for object constancy\n // this makes updating data possible\n dat.forEach(function(d,i) { d.object_constancy = i + '_' + getY(d) + '_' + getX(d); })\n\n\n // TODO not DRY\n // couldn't find a conditional way of doing the key() grouping\n var formatted;\n if (!colorGroup) {\n formatted = d3.nest()\n .key(function(d) { return getX(d); })\n .rollup(function(v,i) {\n return calcStats(v);\n })\n .entries(dat);\n } else {\n allColorGroups = d3.set() // reset\n var tmp = d3.nest()\n .key(function(d) { return getX(d); })\n .key(function(d) { return colorGroup(d); })\n .rollup(function(v) {\n return calcStats(v, getX(v[0]));\n })\n .entries(dat);\n\n // generate a final list of all x & colorGroup combinations\n // this is used to properly set the x-axis domain\n allColorGroups = allColorGroups.values(); // convert from d3.set to list\n var xGroups = tmp.map(function(d) { return d.key; });\n var allGroups = [];\n for (var i = 0; i < xGroups.length; i++) {\n for (var j = 0; j < allColorGroups.length; j++) {\n allGroups.push(xGroups[i] + '_' + allColorGroups[j]);\n }\n }\n allColorGroups = allGroups;\n\n // flatten the inner most level so that\n // the plot retains the same DOM structure\n // to allow for smooth updating between\n // all groups.\n formatted = [];\n tmp.forEach(function(d) {\n d.values.forEach(function(e) { e.key = d.key +'_'+e.key }) // generate a combo key so that each boxplot has a distinct x-position\n formatted.push.apply(formatted, d.values)\n });\n\n }\n return formatted;\n }\n\n // https://bl.ocks.org/mbostock/4341954\n function kernelDensityEstimator(kernel, X) {\n return function (sample) {\n return X.map(function(x) {\n var y = d3.mean(sample, function (v) {return kernel(x - v);});\n return {x:x, y:y};\n });\n };\n }\n\n /*\n * Limit whether the density extends past the extreme datapoints\n * of the violin.\n *\n * @param (list) kde - x & y kde cooridinates\n * @param (list) extent - min/max y-values used for clamping violing\n */\n function clampViolinKDE(kde, extent) {\n\n // this handles the case when all the x-values are equal\n // which means no kde could be properly calculated\n // just return the kde data so we can continue plotting successfully\n if (extent[0] === extent[1]) return kde;\n\n var clamped = kde.reduce(function(res, d) {\n if (d.x >= extent[0] && d.x <= extent[1]) res.push(d);\n return res;\n },[]);\n\n // add the extreme data points back in\n if (extent[0] < clamped[0].x) clamped.unshift({x:extent[0], y:clamped[0].y})\n if (extent[1] > clamped[clamped.length-1].x) clamped.push({x:extent[1], y:clamped[clamped.length-1].y})\n\n return clamped;\n\n }\n\n // https://bl.ocks.org/mbostock/4341954\n function eKernel(scale) {\n return function (u) {\n return Math.abs(u /= scale) <= 1 ? .75 * (1 - u * u) / scale : 0;\n };\n }\n\n /**\n * Makes the svg polygon string for a boxplot in either a notched\n * or square version\n *\n * NOTE: this actually only draws the left half of the box, since\n * the shape is symmetric (and since this is how violins are drawn)\n * we can simply generate half the box and mirror it.\n *\n * @param boxLeft {float} - left position of box\n * @param notchLeft {float} - left position of notch\n * @param dat {obj} - box plot data that was run through prepDat, must contain\n * data for Q1, median, Q2, notch upper and notch lower\n * @returns {string} A string in the proper format for a svg polygon\n */\n function makeNotchBox(boxLeft, notchLeft, boxCenter, dat) {\n\n var boxPoints;\n var y = centralTendency == 'mean' ? getMean(dat) : getQ2(dat); // if centralTendency is not specified, we still want to notch boxes on 'median'\n if (notchBox) {\n boxPoints = [\n {x:boxCenter, y:yScale(getQ1(dat))},\n {x:boxLeft, y:yScale(getQ1(dat))},\n {x:boxLeft, y:yScale(getNl(dat))},\n {x:notchLeft, y:yScale(y)},\n {x:boxLeft, y:yScale(getNu(dat))},\n {x:boxLeft, y:yScale(getQ3(dat))},\n {x:boxCenter, y:yScale(getQ3(dat))},\n ];\n } else {\n boxPoints = [\n {x:boxCenter, y:yScale(getQ1(dat))},\n {x:boxLeft, y:yScale(getQ1(dat))},\n {x:boxLeft, y:yScale(y)}, // repeated point so that transition between notched/regular more smooth\n {x:boxLeft, y:yScale(y)},\n {x:boxLeft, y:yScale(y)}, // repeated point so that transition between notched/regular more smooth\n {x:boxLeft, y:yScale(getQ3(dat))},\n {x:boxCenter, y:yScale(getQ3(dat))},\n ];\n }\n\n return boxPoints;\n }\n\n /**\n * Given an x-axis group, return the available color groups within it\n * provided that colorGroups is set, if not, x-axis group is returned\n */\n function getAvailableColorGroups(x) {\n if (!colorGroup) return x;\n var tmp = reformatDat.find(function(d) { return d.key == x });\n return tmp.values.map(function(d) { return d.key }).sort(d3.ascending);\n }\n\n // return true if point is an outlier\n function isOutlier(d) {\n return (whiskerDef == 'iqr' && d.isOutlier) || (whiskerDef == 'stddev' && d.isOutlierStdDev)\n }\n\n\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var allColorGroups = d3.set()\n var yVScale = [], reformatDat, reformatDatFlat = [];\n var renderWatch = nv.utils.renderWatch(dispatch, duration);\n var availableWidth, availableHeight;\n\n\n function chart(selection) {\n renderWatch.reset();\n selection.each(function(data) {\n availableWidth = width - margin.left - margin.right,\n availableHeight = height - margin.top - margin.bottom;\n\n container = d3.select(this);\n nv.utils.initSVG(container);\n\n // Setup y-scale so that beeswarm layout can use it in prepData()\n yScale.domain(yDomain || d3.extent(data.map(function(d) { return getY(d)}))).nice()\n .range(yRange || [availableHeight, 0]);\n\n\n if (typeof reformatDat === 'undefined') reformatDat = prepData(data); // this prevents us from recalculating data all the time\n\n // Setup x-scale\n xScale.rangeBands(xRange || [0, availableWidth], 0.1)\n .domain(xDomain || (colorGroup && !squash) ? allColorGroups : reformatDat.map(function(d) { return d.key }))\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap').data([reformatDat]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap');\n wrap.watchTransition(renderWatch, 'nv-wrap: wrap')\n .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n var areaEnter,\n distroplots = wrap.selectAll('.nv-distroplot-x-group')\n .data(function(d) { return d; });\n\n // rebind new data\n // we don't rebuild individual x-axis groups so that we can update transition them\n // however the data associated with each x-axis group needs to be updated\n // so we manually update it here\n distroplots.each(function(d,i) {\n d3.select(this).selectAll('line.nv-distroplot-middle').datum(d);\n })\n\n areaEnter = distroplots.enter()\n .append('g')\n .attr('class', 'nv-distroplot-x-group')\n .style('stroke-opacity', 1e-6).style('fill-opacity', 1e-6)\n .style('fill', function(d,i) { return getColor(d) || color(d,i) })\n .style('stroke', function(d,i) { return getColor(d) || color(d,i) })\n\n distroplots.exit().remove();\n\n var rangeBand = function() { return xScale.rangeBand() };\n var areaWidth = function() { return d3.min([maxBoxWidth,rangeBand() * 0.9]); };\n var areaCenter = function() { return areaWidth()/2; };\n var areaLeft = function() { return areaCenter() - areaWidth()/2; };\n var areaRight = function() { return areaCenter() + areaWidth()/2; };\n var tickLeft = function() { return areaCenter() - areaWidth()/5; };\n var tickRight = function() { return areaCenter() + areaWidth()/5; };\n\n areaEnter.attr('transform', function(d) {\n return 'translate(' + (xScale(d.key) + (rangeBand() - areaWidth()) * 0.5) + ', 0)';\n });\n\n distroplots\n .watchTransition(renderWatch, 'nv-distroplot-x-group: distroplots')\n .style('stroke-opacity', 1)\n .style('fill-opacity', 0.5)\n .attr('transform', function(d) {\n return 'translate(' + (xScale(d.key) + (rangeBand() - areaWidth()) * 0.5) + ', 0)';\n });\n\n // set range for violin scale\n yVScale.map(function(d) { d.range([areaWidth()/2, 0]) });\n\n // ----- add the SVG elements for each plot type -----\n\n // scatter plot type\n if (!plotType) {\n showOnlyOutliers = false; // force all observations to be seen\n if (!observationType) observationType = 'random'\n }\n\n // conditionally append whisker lines\n areaEnter.each(function(d,i) {\n var box = d3.select(this);\n [getWl, getWh].forEach(function (f) {\n var key = (f === getWl) ? 'low' : 'high';\n box.append('line')\n .style('opacity', function() { return !hideWhiskers ? '0' : '1' })\n .attr('class', 'nv-distroplot-whisker nv-distroplot-' + key)\n box.append('line')\n .style('opacity', function() { return hideWhiskers ? '0' : '1' })\n .attr('class', 'nv-distroplot-tick nv-distroplot-' + key)\n });\n });\n\n\n // update whisker lines and ticks\n [getWl, getWh].forEach(function (f) {\n var key = (f === getWl) ? 'low' : 'high';\n var endpoint = (f === getWl) ? getQ1 : getQ3;\n distroplots.select('line.nv-distroplot-whisker.nv-distroplot-' + key)\n .watchTransition(renderWatch, 'nv-distroplot-x-group: distroplots')\n .attr('x1', areaCenter())\n .attr('y1', function(d) { return plotType!='violin' ? yScale(f(d)) : yScale(getQ2(d)); })\n .attr('x2', areaCenter())\n .attr('y2', function(d) { return plotType=='box' ? yScale(endpoint(d)) : yScale(getQ2(d)); })\n .style('opacity', function() { return hideWhiskers ? '0' : '1' })\n distroplots.select('line.nv-distroplot-tick.nv-distroplot-' + key)\n .watchTransition(renderWatch, 'nv-distroplot-x-group: distroplots')\n .attr('x1', function(d) { return plotType!='violin' ? tickLeft() : areaCenter()} )\n .attr('y1', function(d,i) { return plotType!='violin' ? yScale(f(d)) : yScale(getQ2(d)); })\n .attr('x2', function(d) { return plotType!='violin' ? tickRight() : areaCenter()} )\n .attr('y2', function(d,i) { return plotType!='violin' ? yScale(f(d)) : yScale(getQ2(d)); })\n .style('opacity', function() { return hideWhiskers ? '0' : '1' })\n });\n\n [getWl, getWh].forEach(function (f) {\n var key = (f === getWl) ? 'low' : 'high';\n areaEnter.selectAll('.nv-distroplot-' + key)\n .on('mouseover', function(d,i,j) {\n d3.select(this.parentNode).selectAll('line.nv-distroplot-'+key).classed('hover',true);\n dispatch.elementMouseover({\n value: key == 'low' ? 'Lower whisker' : 'Upper whisker',\n series: { key: f(d).toFixed(2), color: getColor(d) || color(d,j) },\n e: d3.event\n });\n })\n .on('mouseout', function(d,i,j) {\n d3.select(this.parentNode).selectAll('line.nv-distroplot-'+key).classed('hover',false);\n dispatch.elementMouseout({\n value: key == 'low' ? 'Lower whisker' : 'Upper whisker',\n series: { key: f(d).toFixed(2), color: getColor(d) || color(d,j) },\n e: d3.event\n });\n })\n .on('mousemove', function(d,i) {\n dispatch.elementMousemove({e: d3.event});\n });\n });\n\n // setup boxes as 4 parts: left-area, left-line, right-area, right-line,\n // this way we can transition to a violin\n areaEnter.each(function(d,i) {\n var violin = d3.select(this);\n\n ['left','right'].forEach(function(side) {\n ['line','area'].forEach(function(d) {\n violin.append('path')\n .attr('class', 'nv-distribution-' + d + ' nv-distribution-' + side)\n .attr(\"transform\", \"rotate(90,0,0) translate(0,\" + (side == 'left' ? -areaWidth() : 0) + \")\" + (side == 'left' ? '' : ' scale(1,-1)')); // rotate violin\n })\n\n })\n\n areaEnter.selectAll('.nv-distribution-line')\n .style('fill','none')\n areaEnter.selectAll('.nv-distribution-area')\n .style('stroke','none')\n .style('opacity',0.7)\n\n });\n\n // transitions\n distroplots.each(function(d,i) {\n var violin = d3.select(this);\n var objData = plotType == 'box' ? makeNotchBox(areaLeft(), tickLeft(), areaCenter(), d) : d.values.kde;\n\n violin.selectAll('path')\n .datum(objData)\n\n var tmpScale = yVScale[i];\n\n var interp = plotType=='box' ? 'linear' : 'basis';\n\n if (plotType == 'box' || plotType == 'violin') {\n ['left','right'].forEach(function(side) {\n\n // line\n distroplots.selectAll('.nv-distribution-line.nv-distribution-' + side)\n //.watchTransition(renderWatch, 'nv-distribution-line: distroplots') // disable transition for now because it's jaring\n .attr(\"d\", d3.svg.line()\n .x(function(e) { return plotType=='box' ? e.y : yScale(e.x); })\n .y(function(e) { return plotType=='box' ? e.x : tmpScale(e.y) })\n .interpolate(interp)\n )\n .attr(\"transform\", \"rotate(90,0,0) translate(0,\" + (side == 'left' ? -areaWidth() : 0) + \")\" + (side == 'left' ? '' : ' scale(1,-1)')) // rotate violin\n .style('opacity', !plotType ? '0' : '1');\n\n // area\n distroplots.selectAll('.nv-distribution-area.nv-distribution-' + side)\n //.watchTransition(renderWatch, 'nv-distribution-line: distroplots') // disable transition for now because it's jaring\n .attr(\"d\", d3.svg.area()\n .x(function(e) { return plotType=='box' ? e.y : yScale(e.x); })\n .y(function(e) { return plotType=='box' ? e.x : tmpScale(e.y) })\n .y0(areaWidth()/2)\n .interpolate(interp)\n )\n .attr(\"transform\", \"rotate(90,0,0) translate(0,\" + (side == 'left' ? -areaWidth() : 0) + \")\" + (side == 'left' ? '' : ' scale(1,-1)')) // rotate violin\n .style('opacity', !plotType ? '0' : '1');\n\n })\n } else { // scatter type, hide areas\n distroplots.selectAll('.nv-distribution-area')\n .watchTransition(renderWatch, 'nv-distribution-area: distroplots')\n .style('opacity', !plotType ? '0' : '1');\n\n distroplots.selectAll('.nv-distribution-line')\n .watchTransition(renderWatch, 'nv-distribution-line: distroplots')\n .style('opacity', !plotType ? '0' : '1');\n }\n\n })\n\n // tooltip events\n distroplots.selectAll('path')\n .on('mouseover', function(d,i,j) {\n d = d3.select(this.parentNode).datum(); // grab data from parent g\n d3.select(this).classed('hover', true);\n dispatch.elementMouseover({\n key: d.key,\n value: 'Group ' + d.key + ' stats',\n series: [\n { key: 'max', value: getMax(d).toFixed(2), color: getColor(d) || color(d,j) },\n { key: 'Q3', value: getQ3(d).toFixed(2), color: getColor(d) || color(d,j) },\n { key: 'Q2', value: getQ2(d).toFixed(2), color: getColor(d) || color(d,j) },\n { key: 'Q1', value: getQ1(d).toFixed(2), color: getColor(d) || color(d,j) },\n { key: 'min', value: getMin(d).toFixed(2), color: getColor(d) || color(d,j) },\n { key: 'mean', value: getMean(d).toFixed(2), color: getColor(d) || color(d,j) },\n { key: 'std. dev.', value: getDev(d).toFixed(2), color: getColor(d) || color(d,j) },\n { key: 'count', value: d.values.count, color: getColor(d) || color(d,j) },\n { key: 'num. outliers', value: d.values.num_outlier, color: getColor(d) || color(d,j) },\n ],\n data: d,\n index: i,\n e: d3.event\n });\n })\n .on('mouseout', function(d,i,j) {\n d3.select(this).classed('hover', false);\n d = d3.select(this.parentNode).datum(); // grab data from parent g\n dispatch.elementMouseout({\n key: d.key,\n value: 'Group ' + d.key + ' stats',\n series: [\n { key: 'max', value: getMax(d).toFixed(2), color: getColor(d) || color(d,j) },\n { key: 'Q3', value: getQ3(d).toFixed(2), color: getColor(d) || color(d,j) },\n { key: 'Q2', value: getQ2(d).toFixed(2), color: getColor(d) || color(d,j) },\n { key: 'Q1', value: getQ1(d).toFixed(2), color: getColor(d) || color(d,j) },\n { key: 'min', value: getMin(d).toFixed(2), color: getColor(d) || color(d,j) },\n { key: 'mean', value: getMean(d).toFixed(2), color: getColor(d) || color(d,j) },\n { key: 'std. dev.', value: getDev(d).toFixed(2), color: getColor(d) || color(d,j) },\n { key: 'count', value: d.values.count, color: getColor(d) || color(d,j) },\n { key: 'num. outliers', value: d.values.num_outlier, color: getColor(d) || color(d,j) },\n ],\n data: d,\n index: i,\n e: d3.event\n });\n })\n .on('mousemove', function(d,i) {\n dispatch.elementMousemove({e: d3.event});\n });\n\n\n // median/mean line\n areaEnter.append('line')\n .attr('class', function(d) { return 'nv-distroplot-middle'})\n\n\n distroplots.selectAll('line.nv-distroplot-middle')\n .watchTransition(renderWatch, 'nv-distroplot-x-group: distroplots line')\n .attr('x1', notchBox ? tickLeft : plotType != 'violin' ? areaLeft : tickLeft())\n .attr('y1', function(d,i,j) { return centralTendency == 'mean' ? yScale(getMean(d)) : yScale(getQ2(d)); })\n .attr('x2', notchBox ? tickRight : plotType != 'violin' ? areaRight : tickRight())\n .attr('y2', function(d,i) { return centralTendency == 'mean' ? yScale(getMean(d)) : yScale(getQ2(d)); })\n .style('opacity', centralTendency ? '1' : '0');\n\n\n // tooltip\n distroplots.selectAll('.nv-distroplot-middle')\n .on('mouseover', function(d,i,j) {\n if (d3.select(this).style('opacity') == 0) return; // don't show tooltip for hidden lines\n var fillColor = d3.select(this.parentNode).style('fill'); // color set by parent g fill\n d3.select(this).classed('hover', true);\n dispatch.elementMouseover({\n value: centralTendency == 'mean' ? 'Mean' : 'Median',\n series: { key: centralTendency == 'mean' ? getMean(d).toFixed(2) : getQ2(d).toFixed(2), color: fillColor },\n e: d3.event\n });\n })\n .on('mouseout', function(d,i,j) {\n if (d3.select(this).style('opacity') == 0) return; // don't show tooltip for hidden lines\n d3.select(this).classed('hover', false);\n var fillColor = d3.select(this.parentNode).style('fill'); // color set by parent g fill\n dispatch.elementMouseout({\n value: centralTendency == 'mean' ? 'Mean' : 'Median',\n series: { key: centralTendency == 'mean' ? getMean(d).toFixed(2) : getQ2(d).toFixed(2), color: fillColor },\n e: d3.event\n });\n })\n .on('mousemove', function(d,i) {\n dispatch.elementMousemove({e: d3.event});\n });\n\n\n // setup observations\n // create DOMs even if not requested (and hide them), so that\n // we can do transitions on them\n var obsWrap = distroplots.selectAll('g.nv-distroplot-observation')\n .data(function(d) { return getValsObj(d) }, function(d) { return d.object_constancy; });\n\n var obsGroup = obsWrap.enter()\n .append('g')\n .attr('class', 'nv-distroplot-observation')\n\n obsGroup.append('circle')\n .style({'opacity': 0})\n\n obsGroup.append('line')\n .style('stroke-width', 1)\n .style({'stroke': d3.rgb(85, 85, 85), 'opacity': 0})\n\n obsWrap.exit().remove();\n obsWrap.attr('class', function(d) { return 'nv-distroplot-observation ' + (isOutlier(d) && plotType == 'box' ? 'nv-distroplot-outlier' : 'nv-distroplot-non-outlier')})\n\n // transition observations\n if (observationType == 'line') {\n distroplots.selectAll('g.nv-distroplot-observation line')\n .watchTransition(renderWatch, 'nv-distrolot-x-group: nv-distoplot-observation')\n .attr(\"x1\", tickLeft() + areaWidth()/4)\n .attr(\"x2\", tickRight() - areaWidth()/4)\n .attr('y1', function(d) { return yScale(d.datum)})\n .attr('y2', function(d) { return yScale(d.datum)});\n } else {\n distroplots.selectAll('g.nv-distroplot-observation circle')\n .watchTransition(renderWatch, 'nv-distroplot: nv-distroplot-observation')\n .attr('cy', function(d) { return yScale(d.datum); })\n .attr('r', pointSize);\n\n // NOTE: this update can be slow when re-sizing window when many point visible \n // TODO: filter selection down to only visible points, no need to update x-position\n // of the hidden points\n distroplots.selectAll('g.nv-distroplot-observation circle')\n .watchTransition(renderWatch, 'nv-distroplot: nv-distroplot-observation')\n .attr('cx', function(d) { return observationType == 'swarm' ? d.x + areaWidth()/2 : observationType == 'random' ? areaWidth()/2 + d.randX * areaWidth()/2 : areaWidth()/2; })\n\n }\n\n // set opacity on outliers/non-outliers\n // any circle/line entering has opacity 0\n if (observationType !== false) { // observationType is False when hidding all circle/lines\n if (!showOnlyOutliers) { // show all line/circle\n distroplots.selectAll(observationType== 'line' ? 'line':'circle')\n .watchTransition(renderWatch, 'nv-distroplot: nv-distroplot-observation')\n .style('opacity',1)\n } else { // show only outliers\n distroplots.selectAll('.nv-distroplot-outlier '+ (observationType== 'line' ? 'line':'circle'))\n .watchTransition(renderWatch, 'nv-distroplot: nv-distroplot-observation')\n .style('opacity',1)\n distroplots.selectAll('.nv-distroplot-non-outlier '+ (observationType== 'line' ? 'line':'circle'))\n .watchTransition(renderWatch, 'nv-distroplot: nv-distroplot-observation')\n .style('opacity',0)\n }\n }\n\n // hide all other observations\n distroplots.selectAll('.nv-distroplot-observation' + (observationType=='line'?' circle':' line'))\n .watchTransition(renderWatch, 'nv-distroplot: nv-distoplot-observation')\n .style('opacity',0)\n\n // tooltip events for observations\n distroplots.selectAll('.nv-distroplot-observation')\n .on('mouseover', function(d,i,j) {\n var pt = d3.select(this);\n if (showOnlyOutliers && plotType == 'box' && !isOutlier(d)) return; // don't show tooltip for hidden observation\n var fillColor = d3.select(this.parentNode).style('fill'); // color set by parent g fill\n pt.classed('hover', true);\n dispatch.elementMouseover({\n value: (plotType == 'box' && isOutlier(d)) ? 'Outlier' : 'Observation',\n series: { key: d.datum.toFixed(2), color: fillColor },\n e: d3.event\n });\n })\n .on('mouseout', function(d,i,j) {\n var pt = d3.select(this);\n var fillColor = d3.select(this.parentNode).style('fill'); // color set by parent g fill\n pt.classed('hover', false);\n dispatch.elementMouseout({\n value: (plotType == 'box' && isOutlier(d)) ? 'Outlier' : 'Observation',\n series: { key: d.datum.toFixed(2), color: fillColor },\n e: d3.event\n });\n })\n .on('mousemove', function(d,i) {\n dispatch.elementMousemove({e: d3.event});\n });\n\n });\n\n renderWatch.renderEnd('nv-distroplot-x-group immediate');\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n maxBoxWidth: {get: function(){return maxBoxWidth;}, set: function(_){maxBoxWidth=_;}},\n x: {get: function(){return getX;}, set: function(_){getX=_;}},\n y: {get: function(){return getY;}, set: function(_){getY=_;}},\n plotType: {get: function(){return plotType;}, set: function(_){plotType=_;}}, // plotType of background: 'box', 'violin' - default: 'box'\n observationType: {get: function(){return observationType;}, set: function(_){observationType=_;}}, // type of observations to show: 'random', 'swarm', 'line', 'point' - default: false (don't show observations)\n whiskerDef: {get: function(){return whiskerDef;}, set: function(_){whiskerDef=_;}}, // type of whisker to render: 'iqr', 'minmax', 'stddev' - default: iqr\n notchBox: {get: function(){return notchBox;}, set: function(_){notchBox=_;}}, // bool whether to notch box\n hideWhiskers: {get: function(){return hideWhiskers;}, set: function(_){hideWhiskers=_;}},\n colorGroup: {get: function(){return colorGroup;}, set: function(_){colorGroup=_;}}, // data key to use to set color group of each x-category - default: don't group\n centralTendency: {get: function(){return centralTendency;}, set: function(_){centralTendency=_;}}, // add a mean or median line to the data - default: don't show, must be one of 'mean' or 'median'\n bandwidth: {get: function(){return bandwidth;}, set: function(_){bandwidth=_;}}, // bandwidth for kde calculation, can be float or str, if str, must be one of scott or silverman\n clampViolin: {get: function(){return clampViolin;}, set: function(_){clampViolin=_;}},\n resolution: {get: function(){return resolution;}, set: function(_){resolution=_;}}, // resolution for kde calculation, default 50\n xScale: {get: function(){return xScale;}, set: function(_){xScale=_;}},\n yScale: {get: function(){return yScale;}, set: function(_){yScale=_;}},\n showOnlyOutliers: {get: function(){return showOnlyOutliers;}, set: function(_){showOnlyOutliers=_;}}, // show only outliers in box plot, default true\n jitter: {get: function(){return jitter;}, set: function(_){jitter=_;}}, // faction of that jitter should take up in 'random' observationType, must be in range [0,1]; see jitterX(), default 0.7\n squash: {get: function(){return squash;}, set: function(_){squash=_;}}, // whether to squash sparse distribution of color groups towards middle of x-axis position\n pointSize: {get: function(){return pointSize;}, set: function(_){pointSize=_;}},\n xDomain: {get: function(){return xDomain;}, set: function(_){xDomain=_;}},\n yDomain: {get: function(){return yDomain;}, set: function(_){yDomain=_;}},\n xRange: {get: function(){return xRange;}, set: function(_){xRange=_;}},\n yRange: {get: function(){return yRange;}, set: function(_){yRange=_;}},\n recalcData: {get: function() { reformatDat = prepData(container.datum()); } },\n itemColor: {get: function(){return getColor;}, set: function(_){getColor=_;}},\n id: {get: function(){return id;}, set: function(_){id=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n }}\n });\n\n nv.utils.initOptions(chart);\n\n return chart;\n};\n","nv.models.distroPlotChart = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var distroplot = nv.models.distroPlot(),\n xAxis = nv.models.axis(),\n yAxis = nv.models.axis()\n\n var margin = {top: 25, right: 10, bottom: 40, left: 60},\n width = null,\n height = null,\n color = nv.utils.getColor(),\n showXAxis = true,\n showYAxis = true,\n rightAlignYAxis = false,\n staggerLabels = false,\n xLabel = false,\n yLabel = false,\n tooltip = nv.models.tooltip(),\n x, y,\n noData = 'No Data Available.',\n dispatch = d3.dispatch('stateChange', 'beforeUpdate', 'renderEnd'),\n duration = 500;\n\n xAxis\n .orient('bottom')\n .showMaxMin(false)\n .tickFormat(function(d) { return d })\n ;\n yAxis\n .orient((rightAlignYAxis) ? 'right' : 'left')\n .tickFormat(d3.format(',.1f'))\n ;\n\n tooltip.duration(0);\n\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var renderWatch = nv.utils.renderWatch(dispatch, duration);\n var colorGroup0, marginTop0 = margin.top, x0, y0, resolution0, bandwidth0, clampViolin0;\n var dataCache;\n\n\n // return true if data has changed somehow after\n // an .update() was called\n // works by comparing current data set to the\n // one previously cached\n // TODO - since we keep another version of the dataset\n // around for comparison, it doubles the memory usage :(\n function dataHasChanged(d) {\n if (arraysEqual(d, dataCache)) {\n return false;\n } else {\n dataCache = JSON.parse(JSON.stringify(d)) // deep copy\n return true;\n }\n }\n\n // return true if array of objects equivalent\n function arraysEqual(arr1, arr2) {\n if(arr1.length !== arr2.length) return false;\n\n for(var i = arr1.length; i--;) {\n if ('object_constancy' in arr1[i]) delete arr1[i].object_constancy\n if ('object_constancy' in arr2[i]) delete arr2[i].object_constancy\n\n if(!objectEquals(arr1[i], arr2[i])) {\n return false;\n }\n }\n\n return true;\n }\n\n // return true if objects are equivalent\n function objectEquals(a, b) {\n // Create arrays of property names\n var aProps = Object.getOwnPropertyNames(a);\n var bProps = Object.getOwnPropertyNames(b);\n\n // If number of properties is different,\n // objects are not equivalent\n if (aProps.length != bProps.length) {\n return false;\n }\n\n for (var i = 0; i < aProps.length; i++) {\n var propName = aProps[i];\n\n // If values of same property are not equal,\n // objects are not equivalent\n if (a[propName] !== b[propName]) {\n return false;\n }\n }\n\n return true;\n }\n\n\n function chart(selection) {\n renderWatch.reset();\n renderWatch.models(distroplot);\n if (showXAxis) renderWatch.models(xAxis);\n if (showYAxis) renderWatch.models(yAxis);\n\n selection.each(function(data) {\n var container = d3.select(this), that = this;\n nv.utils.initSVG(container);\n var availableWidth = (width || parseInt(container.style('width')) || 960) - margin.left - margin.right;\n var availableHeight = (height || parseInt(container.style('height')) || 400) - margin.top - margin.bottom;\n\n if (typeof dataCache === 'undefined') {\n dataCache = JSON.parse(JSON.stringify(data)) // deep copy\n }\n\n chart.update = function() {\n dispatch.beforeUpdate();\n var opts = distroplot.options()\n if (colorGroup0 !== opts.colorGroup() || // recalc data when any of the axis accessors are changed\n x0 !== opts.x() ||\n y0 !== opts.y() ||\n bandwidth0 !== opts.bandwidth() ||\n resolution0 !== opts.resolution() ||\n clampViolin0 !== opts.clampViolin() ||\n dataHasChanged(data)\n ) {\n distroplot.recalcData();\n }\n container.transition().duration(duration).call(chart);\n };\n chart.container = this;\n\n\n if (typeof d3.beeswarm !== 'function' && chart.options().observationType() == 'swarm') {\n var xPos = margin.left + availableWidth/2;\n noData = 'Please include the library https://github.com/Kcnarf/d3-beeswarm to use \"swarm\".'\n nv.utils.noData(chart, container);\n return chart;\n } else if (!data || !data.length) {\n nv.utils.noData(chart, container);\n return chart;\n } else {\n container.selectAll('.nv-noData').remove();\n }\n\n // Setup Scales\n x = distroplot.xScale();\n y = distroplot.yScale().clamp(true);\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-distroPlot').data([data]);\n var gEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-distroPlot').append('g');\n var defsEnter = gEnter.append('defs');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-x nv-axis');\n gEnter.append('g').attr('class', 'nv-y nv-axis')\n .append('g').attr('class', 'nv-zeroLine')\n .append('line');\n\n gEnter.append('g').attr('class', 'nv-distroWrap');\n gEnter.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n g.watchTransition(renderWatch, 'nv-wrap: wrap')\n .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n if (rightAlignYAxis) {\n g.select('.nv-y.nv-axis')\n .attr('transform', 'translate(' + availableWidth + ',0)');\n }\n\n\n // Main Chart Component(s)\n distroplot.width(availableWidth).height(availableHeight);\n\n var distroWrap = g.select('.nv-distroWrap')\n .datum(data)\n\n distroWrap.transition().call(distroplot);\n\n defsEnter.append('clipPath')\n .attr('id', 'nv-x-label-clip-' + distroplot.id())\n .append('rect');\n\n g.select('#nv-x-label-clip-' + distroplot.id() + ' rect')\n .attr('width', x.rangeBand() * (staggerLabels ? 2 : 1))\n .attr('height', 16)\n .attr('x', -x.rangeBand() / (staggerLabels ? 1 : 2 ));\n\n // Setup Axes\n if (showXAxis) {\n xAxis\n .scale(x)\n .ticks( nv.utils.calcTicksX(availableWidth/100, data) )\n .tickSize(-availableHeight, 0);\n\n g.select('.nv-x.nv-axis').attr('transform', 'translate(0,' + y.range()[0] + ')')\n g.select('.nv-x.nv-axis').call(xAxis);\n\n //g.select('.nv-x.nv-axis').select('.nv-axislabel')\n // .style('font-size', d3.min([availableWidth * 0.05,20]) + 'px')\n\n var xTicks = g.select('.nv-x.nv-axis').selectAll('g');\n if (staggerLabels) {\n xTicks\n .selectAll('text')\n .attr('transform', function(d,i,j) { return 'translate(0,' + (j % 2 === 0 ? '5' : '17') + ')' })\n }\n }\n\n if (showYAxis) {\n yAxis\n .scale(y)\n .ticks( Math.floor(availableHeight/36) ) // can't use nv.utils.calcTicksY with Object data\n .tickSize( -availableWidth, 0);\n\n g.select('.nv-y.nv-axis').call(yAxis);\n\n //g.select('.nv-y.nv-axis').select('.nv-axislabel')\n // .style('font-size', d3.min([availableHeight * 0.05,20]) + 'px')\n }\n\n\n\n\n // Zero line on chart bottom\n g.select('.nv-zeroLine line')\n .attr('x1',0)\n .attr('x2',availableWidth)\n .attr('y1', y(0))\n .attr('y2', y(0))\n ;\n\n // store original values so that we can\n // call 'recalcData()' if needed\n colorGroup0 = distroplot.options().colorGroup();\n x0 = distroplot.options().x();\n y0 = distroplot.options().y();\n bandwidth0 = distroplot.options().bandwidth();\n resolution0 = distroplot.options().resolution();\n clampViolin0 = distroplot.options().clampViolin();\n\n //============================================================\n // Event Handling/Dispatching (in chart's scope)\n //------------------------------------------------------------\n\n });\n\n renderWatch.renderEnd('nv-distroplot chart immediate');\n return chart;\n }\n\n //============================================================\n // Event Handling/Dispatching (out of chart's scope)\n //------------------------------------------------------------\n\n distroplot.dispatch.on('elementMouseover.tooltip', function(evt) {\n tooltip.data(evt).hidden(false);\n });\n\n distroplot.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.data(evt).hidden(true);\n });\n\n distroplot.dispatch.on('elementMousemove.tooltip', function(evt) {\n tooltip();\n });\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.distroplot = distroplot;\n chart.xAxis = xAxis;\n chart.yAxis = yAxis;\n chart.tooltip = tooltip;\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n staggerLabels: {get: function(){return staggerLabels;}, set: function(_){staggerLabels=_;}},\n showXAxis: {get: function(){return showXAxis;}, set: function(_){showXAxis=_;}},\n showYAxis: {get: function(){return showYAxis;}, set: function(_){showYAxis=_;}},\n tooltipContent: {get: function(){return tooltip;}, set: function(_){tooltip=_;}},\n noData: {get: function(){return noData;}, set: function(_){noData=_;}},\n defaultState: {get: function(){return defaultState;}, set: function(_){defaultState=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n distroplot.duration(duration);\n xAxis.duration(duration);\n yAxis.duration(duration);\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n distroplot.color(color);\n }},\n rightAlignYAxis: {get: function(){return rightAlignYAxis;}, set: function(_){\n rightAlignYAxis = _;\n yAxis.orient( (_) ? 'right' : 'left');\n }},\n xLabel: {get: function(){return xLabel;}, set: function(_){\n xLabel=_;\n xAxis.axisLabel(xLabel);\n }},\n yLabel: {get: function(){return yLabel;}, set: function(_){\n yLabel=_;\n yAxis.axisLabel(yLabel);\n }},\n });\n\n\n nv.utils.inheritOptions(chart, distroplot);\n nv.utils.initOptions(chart);\n\n return chart;\n}\n","nv.models.focus = function(content) {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var content = content || nv.models.line()\n , xAxis = nv.models.axis()\n , yAxis = nv.models.axis()\n , brush = d3.svg.brush()\n ;\n\n var margin = {top: 10, right: 0, bottom: 30, left: 0}\n , color = nv.utils.defaultColor()\n , width = null\n , height = 70\n , showXAxis = true\n , showYAxis = false\n , rightAlignYAxis = false\n , ticks = null\n , x\n , y\n , brushExtent = null\n , duration = 250\n , dispatch = d3.dispatch('brush', 'onBrush', 'renderEnd')\n , syncBrushing = true\n ;\n\n content.interactive(false);\n content.pointActive(function(d) { return false; });\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var renderWatch = nv.utils.renderWatch(dispatch, duration);\n\n function chart(selection) {\n renderWatch.reset();\n renderWatch.models(content);\n if (showXAxis) renderWatch.models(xAxis);\n if (showYAxis) renderWatch.models(yAxis);\n\n selection.each(function(data) {\n var container = d3.select(this);\n nv.utils.initSVG(container);\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = height - margin.top - margin.bottom;\n\n chart.update = function() { \n if( duration === 0 ) {\n container.call( chart );\n } else {\n container.transition().duration(duration).call(chart);\n }\n };\n chart.container = this;\n\n // Setup Scales\n x = content.xScale();\n y = content.yScale();\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-focus').data([data]);\n var gEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-focus').append('g');\n var g = wrap.select('g');\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n gEnter.append('g').attr('class', 'nv-background').append('rect');\n gEnter.append('g').attr('class', 'nv-x nv-axis');\n gEnter.append('g').attr('class', 'nv-y nv-axis');\n gEnter.append('g').attr('class', 'nv-contentWrap');\n gEnter.append('g').attr('class', 'nv-brushBackground');\n gEnter.append('g').attr('class', 'nv-x nv-brush');\n\n if (rightAlignYAxis) {\n g.select(\".nv-y.nv-axis\")\n .attr(\"transform\", \"translate(\" + availableWidth + \",0)\");\n }\n\n g.select('.nv-background rect')\n .attr('width', availableWidth)\n .attr('height', availableHeight);\n \n content\n .width(availableWidth)\n .height(availableHeight)\n .color(data.map(function(d,i) {\n return d.color || color(d, i);\n }).filter(function(d,i) { return !data[i].disabled; }));\n\n var contentWrap = g.select('.nv-contentWrap')\n .datum(data.filter(function(d) { return !d.disabled; }));\n\n d3.transition(contentWrap).call(content);\n \n // Setup Brush\n brush\n .x(x)\n .on('brush', function() {\n onBrush(syncBrushing);\n });\n\n brush.on('brushend', function () {\n if (!syncBrushing) {\n dispatch.onBrush(brush.empty() ? x.domain() : brush.extent());\n }\n });\n\n if (brushExtent) brush.extent(brushExtent);\n\n var brushBG = g.select('.nv-brushBackground').selectAll('g')\n .data([brushExtent || brush.extent()]);\n \n var brushBGenter = brushBG.enter()\n .append('g');\n\n brushBGenter.append('rect')\n .attr('class', 'left')\n .attr('x', 0)\n .attr('y', 0)\n .attr('height', availableHeight);\n\n brushBGenter.append('rect')\n .attr('class', 'right')\n .attr('x', 0)\n .attr('y', 0)\n .attr('height', availableHeight);\n\n var gBrush = g.select('.nv-x.nv-brush')\n .call(brush);\n gBrush.selectAll('rect')\n .attr('height', availableHeight);\n gBrush.selectAll('.resize').append('path').attr('d', resizePath);\n\n onBrush(true);\n\n g.select('.nv-background rect')\n .attr('width', availableWidth)\n .attr('height', availableHeight);\n\n if (showXAxis) {\n xAxis.scale(x)\n ._ticks( nv.utils.calcTicksX(availableWidth/100, data) )\n .tickSize(-availableHeight, 0);\n \n g.select('.nv-x.nv-axis')\n .attr('transform', 'translate(0,' + y.range()[0] + ')');\n d3.transition(g.select('.nv-x.nv-axis'))\n .call(xAxis);\n }\n\n if (showYAxis) {\n yAxis\n .scale(y)\n ._ticks( nv.utils.calcTicksY(availableHeight/36, data) )\n .tickSize( -availableWidth, 0);\n\n d3.transition(g.select('.nv-y.nv-axis'))\n .call(yAxis);\n }\n \n g.select('.nv-x.nv-axis')\n .attr('transform', 'translate(0,' + y.range()[0] + ')');\n\n //============================================================\n // Event Handling/Dispatching (in chart's scope)\n //------------------------------------------------------------\n\n //============================================================\n // Functions\n //------------------------------------------------------------\n \n // Taken from crossfilter (http://square.github.com/crossfilter/)\n function resizePath(d) {\n var e = +(d == 'e'),\n x = e ? 1 : -1,\n y = availableHeight / 3;\n return 'M' + (0.5 * x) + ',' + y\n + 'A6,6 0 0 ' + e + ' ' + (6.5 * x) + ',' + (y + 6)\n + 'V' + (2 * y - 6)\n + 'A6,6 0 0 ' + e + ' ' + (0.5 * x) + ',' + (2 * y)\n + 'Z'\n + 'M' + (2.5 * x) + ',' + (y + 8)\n + 'V' + (2 * y - 8)\n + 'M' + (4.5 * x) + ',' + (y + 8)\n + 'V' + (2 * y - 8);\n }\n \n \n function updateBrushBG() {\n if (!brush.empty()) brush.extent(brushExtent);\n brushBG\n .data([brush.empty() ? x.domain() : brushExtent])\n .each(function(d,i) {\n var leftWidth = x(d[0]) - x.range()[0],\n rightWidth = availableWidth - x(d[1]);\n d3.select(this).select('.left')\n .attr('width', leftWidth < 0 ? 0 : leftWidth);\n \n d3.select(this).select('.right')\n .attr('x', x(d[1]))\n .attr('width', rightWidth < 0 ? 0 : rightWidth);\n });\n }\n\n\n function onBrush(shouldDispatch) {\n brushExtent = brush.empty() ? null : brush.extent();\n var extent = brush.empty() ? x.domain() : brush.extent();\n dispatch.brush({extent: extent, brush: brush});\n updateBrushBG();\n if (shouldDispatch) {\n dispatch.onBrush(extent);\n }\n }\n });\n\n renderWatch.renderEnd('focus immediate');\n return chart;\n }\n\n\n //============================================================\n // Event Handling/Dispatching (out of chart's scope)\n //------------------------------------------------------------\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n // expose chart's sub-components\n chart.dispatch = dispatch;\n chart.content = content;\n chart.brush = brush;\n chart.xAxis = xAxis;\n chart.yAxis = yAxis;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n showXAxis: {get: function(){return showXAxis;}, set: function(_){showXAxis=_;}},\n showYAxis: {get: function(){return showYAxis;}, set: function(_){showYAxis=_;}},\n brushExtent: {get: function(){return brushExtent;}, set: function(_){brushExtent=_;}},\n syncBrushing: {get: function(){return syncBrushing;}, set: function(_){syncBrushing=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n content.duration(duration);\n xAxis.duration(duration);\n yAxis.duration(duration);\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n content.color(color);\n }},\n interpolate: {get: function(){return content.interpolate();}, set: function(_){\n content.interpolate(_);\n }},\n xTickFormat: {get: function(){return xAxis.tickFormat();}, set: function(_){\n xAxis.tickFormat(_);\n }},\n yTickFormat: {get: function(){return yAxis.tickFormat();}, set: function(_){\n yAxis.tickFormat(_);\n }},\n x: {get: function(){return content.x();}, set: function(_){\n content.x(_);\n }},\n y: {get: function(){return content.y();}, set: function(_){\n content.y(_);\n }},\n rightAlignYAxis: {get: function(){return rightAlignYAxis;}, set: function(_){\n rightAlignYAxis = _;\n yAxis.orient( rightAlignYAxis ? 'right' : 'left');\n }}\n });\n\n nv.utils.inheritOptions(chart, content);\n nv.utils.initOptions(chart);\n\n return chart;\n};\n","nv.models.forceDirectedGraph = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n var margin = {top: 2, right: 0, bottom: 2, left: 0}\n , width = 400\n , height = 32\n , container = null\n , dispatch = d3.dispatch('renderEnd')\n , color = nv.utils.getColor(['#000'])\n , tooltip = nv.models.tooltip()\n , noData = null\n // Force directed graph specific parameters [default values]\n , linkStrength = 0.1\n , friction = 0.9\n , linkDist = 30\n , charge = -120\n , gravity = 0.1\n , theta = 0.8\n , alpha = 0.1\n , radius = 5\n // These functions allow to add extra attributes to ndes and links\n ,nodeExtras = function(nodes) { /* Do nothing */ }\n ,linkExtras = function(links) { /* Do nothing */ }\n , getX=d3.functor(0.0)\n , getY=d3.functor(0.0)\n ;\n\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var renderWatch = nv.utils.renderWatch(dispatch);\n\n function chart(selection) {\n renderWatch.reset();\n\n selection.each(function(data) {\n container = d3.select(this);\n nv.utils.initSVG(container);\n\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin);\n\n container\n .attr(\"width\", availableWidth)\n .attr(\"height\", availableHeight);\n\n // Display No Data message if there's nothing to show.\n if (!data || !data.links || !data.nodes) {\n nv.utils.noData(chart, container)\n return chart;\n } else {\n container.selectAll('.nv-noData').remove();\n }\n container.selectAll('*').remove();\n\n // Collect names of all fields in the nodes\n var nodeFieldSet = new Set();\n data.nodes.forEach(function(node) {\n var keys = Object.keys(node);\n keys.forEach(function(key) {\n nodeFieldSet.add(key);\n });\n });\n\n var force = d3.layout.force()\n .nodes(data.nodes)\n .links(data.links)\n .size([availableWidth, availableHeight])\n .linkStrength(linkStrength)\n .friction(friction)\n .linkDistance(linkDist)\n .charge(charge)\n .gravity(gravity)\n .theta(theta)\n .alpha(alpha)\n .start();\n\n var link = container.selectAll(\".link\")\n .data(data.links)\n .enter().append(\"line\")\n .attr(\"class\", \"nv-force-link\")\n .style(\"stroke-width\", function(d) { return Math.sqrt(d.value); });\n\n var node = container.selectAll(\".node\")\n .data(data.nodes)\n .enter()\n .append(\"g\")\n .attr(\"class\", \"nv-force-node\")\n .call(force.drag);\n\n node\n .append(\"circle\")\n .attr(\"r\", radius)\n .style(\"fill\", function(d) { return color(d) } )\n .on(\"mouseover\", function(evt) {\n container.select('.nv-series-' + evt.seriesIndex + ' .nv-distx-' + evt.pointIndex)\n .attr('y1', evt.py);\n container.select('.nv-series-' + evt.seriesIndex + ' .nv-disty-' + evt.pointIndex)\n .attr('x2', evt.px);\n\n // Add 'series' object to\n var nodeColor = color(evt);\n evt.series = [];\n nodeFieldSet.forEach(function(field) {\n evt.series.push({\n color: nodeColor,\n key: field,\n value: evt[field]\n });\n });\n tooltip.data(evt).hidden(false);\n })\n .on(\"mouseout\", function(d) {\n tooltip.hidden(true);\n });\n\n tooltip.headerFormatter(function(d) {return \"Node\";});\n\n // Apply extra attributes to nodes and links (if any)\n linkExtras(link);\n nodeExtras(node);\n\n force.on(\"tick\", function() {\n link.attr(\"x1\", function(d) { return d.source.x; })\n .attr(\"y1\", function(d) { return d.source.y; })\n .attr(\"x2\", function(d) { return d.target.x; })\n .attr(\"y2\", function(d) { return d.target.y; });\n\n node.attr(\"transform\", function(d) {\n return \"translate(\" + d.x + \", \" + d.y + \")\";\n });\n });\n });\n\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n\n // Force directed graph specific parameters\n linkStrength:{get: function(){return linkStrength;}, set: function(_){linkStrength=_;}},\n friction: {get: function(){return friction;}, set: function(_){friction=_;}},\n linkDist: {get: function(){return linkDist;}, set: function(_){linkDist=_;}},\n charge: {get: function(){return charge;}, set: function(_){charge=_;}},\n gravity: {get: function(){return gravity;}, set: function(_){gravity=_;}},\n theta: {get: function(){return theta;}, set: function(_){theta=_;}},\n alpha: {get: function(){return alpha;}, set: function(_){alpha=_;}},\n radius: {get: function(){return radius;}, set: function(_){radius=_;}},\n\n //functor options\n x: {get: function(){return getX;}, set: function(_){getX=d3.functor(_);}},\n y: {get: function(){return getY;}, set: function(_){getY=d3.functor(_);}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n }},\n noData: {get: function(){return noData;}, set: function(_){noData=_;}},\n nodeExtras: {get: function(){return nodeExtras;}, set: function(_){\n nodeExtras = _;\n }},\n linkExtras: {get: function(){return linkExtras;}, set: function(_){\n linkExtras = _;\n }}\n });\n\n chart.dispatch = dispatch;\n chart.tooltip = tooltip;\n nv.utils.initOptions(chart);\n return chart;\n};\n","nv.models.furiousLegend = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 5, right: 0, bottom: 5, left: 0}\n , width = 400\n , height = 20\n , getKey = function(d) { return d.key }\n , keyFormatter = function (d) { return d }\n , color = nv.utils.getColor()\n , maxKeyLength = 20 //default value for key lengths\n , align = true\n , padding = 28 //define how much space between legend items. - recommend 32 for furious version\n , rightAlign = true\n , updateState = true //If true, legend will update data.disabled and trigger a 'stateChange' dispatch.\n , radioButtonMode = false //If true, clicking legend items will cause it to behave like a radio button. (only one can be selected at a time)\n , expanded = false\n , dispatch = d3.dispatch('legendClick', 'legendDblclick', 'legendMouseover', 'legendMouseout', 'stateChange')\n , vers = 'classic' //Options are \"classic\" and \"furious\"\n ;\n\n function chart(selection) {\n selection.each(function(data) {\n var availableWidth = width - margin.left - margin.right,\n container = d3.select(this);\n nv.utils.initSVG(container);\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-legend').data([data]);\n var gEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-legend').append('g');\n var g = wrap.select('g');\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n var series = g.selectAll('.nv-series')\n .data(function(d) {\n if(vers != 'furious') return d;\n\n return d.filter(function(n) {\n return expanded ? true : !n.disengaged;\n });\n });\n var seriesEnter = series.enter().append('g').attr('class', 'nv-series')\n\n var seriesShape;\n\n if(vers == 'classic') {\n seriesEnter.append('circle')\n .style('stroke-width', 2)\n .attr('class','nv-legend-symbol')\n .attr('r', 5);\n\n seriesShape = series.select('circle');\n } else if (vers == 'furious') {\n seriesEnter.append('rect')\n .style('stroke-width', 2)\n .attr('class','nv-legend-symbol')\n .attr('rx', 3)\n .attr('ry', 3);\n\n seriesShape = series.select('rect');\n\n seriesEnter.append('g')\n .attr('class', 'nv-check-box')\n .property('innerHTML','<path d=\"M0.5,5 L22.5,5 L22.5,26.5 L0.5,26.5 L0.5,5 Z\" class=\"nv-box\"></path><path d=\"M5.5,12.8618467 L11.9185089,19.2803556 L31,0.198864511\" class=\"nv-check\"></path>')\n .attr('transform', 'translate(-10,-8)scale(0.5)');\n\n var seriesCheckbox = series.select('.nv-check-box');\n\n seriesCheckbox.each(function(d,i) {\n d3.select(this).selectAll('path')\n .attr('stroke', setTextColor(d,i));\n });\n }\n\n seriesEnter.append('text')\n .attr('text-anchor', 'start')\n .attr('class','nv-legend-text')\n .attr('dy', '.32em')\n .attr('dx', '8');\n\n var seriesText = series.select('text.nv-legend-text');\n\n series\n .on('mouseover', function(d,i) {\n dispatch.legendMouseover(d,i); //TODO: Make consistent with other event objects\n })\n .on('mouseout', function(d,i) {\n dispatch.legendMouseout(d,i);\n })\n .on('click', function(d,i) {\n dispatch.legendClick(d,i);\n // make sure we re-get data in case it was modified\n var data = series.data();\n if (updateState) {\n if(vers =='classic') {\n if (radioButtonMode) {\n //Radio button mode: set every series to disabled,\n // and enable the clicked series.\n data.forEach(function(series) { series.disabled = true});\n d.disabled = false;\n }\n else {\n d.disabled = !d.disabled;\n if (data.every(function(series) { return series.disabled})) {\n //the default behavior of NVD3 legends is, if every single series\n // is disabled, turn all series' back on.\n data.forEach(function(series) { series.disabled = false});\n }\n }\n } else if(vers == 'furious') {\n if(expanded) {\n d.disengaged = !d.disengaged;\n d.userDisabled = d.userDisabled == undefined ? !!d.disabled : d.userDisabled;\n d.disabled = d.disengaged || d.userDisabled;\n } else if (!expanded) {\n d.disabled = !d.disabled;\n d.userDisabled = d.disabled;\n var engaged = data.filter(function(d) { return !d.disengaged; });\n if (engaged.every(function(series) { return series.userDisabled })) {\n //the default behavior of NVD3 legends is, if every single series\n // is disabled, turn all series' back on.\n data.forEach(function(series) {\n series.disabled = series.userDisabled = false;\n });\n }\n }\n }\n dispatch.stateChange({\n disabled: data.map(function(d) { return !!d.disabled }),\n disengaged: data.map(function(d) { return !!d.disengaged })\n });\n\n }\n })\n .on('dblclick', function(d,i) {\n if(vers == 'furious' && expanded) return;\n dispatch.legendDblclick(d,i);\n if (updateState) {\n // make sure we re-get data in case it was modified\n var data = series.data();\n //the default behavior of NVD3 legends, when double clicking one,\n // is to set all other series' to false, and make the double clicked series enabled.\n data.forEach(function(series) {\n series.disabled = true;\n if(vers == 'furious') series.userDisabled = series.disabled;\n });\n d.disabled = false;\n if(vers == 'furious') d.userDisabled = d.disabled;\n dispatch.stateChange({\n disabled: data.map(function(d) { return !!d.disabled })\n });\n }\n });\n\n series.classed('nv-disabled', function(d) { return d.userDisabled });\n series.exit().remove();\n\n seriesText\n .attr('fill', setTextColor)\n .text(function (d) { return keyFormatter(getKey(d)) });\n\n //TODO: implement fixed-width and max-width options (max-width is especially useful with the align option)\n // NEW ALIGNING CODE, TODO: clean up\n\n var versPadding;\n switch(vers) {\n case 'furious' :\n versPadding = 23;\n break;\n case 'classic' :\n versPadding = 20;\n }\n\n if (align) {\n\n var seriesWidths = [];\n series.each(function(d,i) {\n var legendText;\n if (keyFormatter(getKey(d)) && keyFormatter(getKey(d)).length > maxKeyLength) {\n var trimmedKey = keyFormatter(getKey(d)).substring(0, maxKeyLength);\n legendText = d3.select(this).select('text').text(trimmedKey + \"...\");\n d3.select(this).append(\"svg:title\").text(keyFormatter(getKey(d)));\n } else {\n legendText = d3.select(this).select('text');\n }\n var nodeTextLength;\n try {\n nodeTextLength = legendText.node().getComputedTextLength();\n // If the legendText is display:none'd (nodeTextLength == 0), simulate an error so we approximate, instead\n if(nodeTextLength <= 0) throw Error();\n }\n catch(e) {\n nodeTextLength = nv.utils.calcApproxTextWidth(legendText);\n }\n\n seriesWidths.push(nodeTextLength + padding);\n });\n\n var seriesPerRow = 0;\n var legendWidth = 0;\n var columnWidths = [];\n\n while ( legendWidth < availableWidth && seriesPerRow < seriesWidths.length) {\n columnWidths[seriesPerRow] = seriesWidths[seriesPerRow];\n legendWidth += seriesWidths[seriesPerRow++];\n }\n if (seriesPerRow === 0) seriesPerRow = 1; //minimum of one series per row\n\n while ( legendWidth > availableWidth && seriesPerRow > 1 ) {\n columnWidths = [];\n seriesPerRow--;\n\n for (var k = 0; k < seriesWidths.length; k++) {\n if (seriesWidths[k] > (columnWidths[k % seriesPerRow] || 0) )\n columnWidths[k % seriesPerRow] = seriesWidths[k];\n }\n\n legendWidth = columnWidths.reduce(function(prev, cur, index, array) {\n return prev + cur;\n });\n }\n\n var xPositions = [];\n for (var i = 0, curX = 0; i < seriesPerRow; i++) {\n xPositions[i] = curX;\n curX += columnWidths[i];\n }\n\n series\n .attr('transform', function(d, i) {\n return 'translate(' + xPositions[i % seriesPerRow] + ',' + (5 + Math.floor(i / seriesPerRow) * versPadding) + ')';\n });\n\n //position legend as far right as possible within the total width\n if (rightAlign) {\n g.attr('transform', 'translate(' + (width - margin.right - legendWidth) + ',' + margin.top + ')');\n }\n else {\n g.attr('transform', 'translate(0' + ',' + margin.top + ')');\n }\n\n height = margin.top + margin.bottom + (Math.ceil(seriesWidths.length / seriesPerRow) * versPadding);\n\n } else {\n\n var ypos = 5,\n newxpos = 5,\n maxwidth = 0,\n xpos;\n series\n .attr('transform', function(d, i) {\n var length = d3.select(this).select('text').node().getComputedTextLength() + padding;\n xpos = newxpos;\n\n if (width < margin.left + margin.right + xpos + length) {\n newxpos = xpos = 5;\n ypos += versPadding;\n }\n\n newxpos += length;\n if (newxpos > maxwidth) maxwidth = newxpos;\n\n return 'translate(' + xpos + ',' + ypos + ')';\n });\n\n //position legend as far right as possible within the total width\n g.attr('transform', 'translate(' + (width - margin.right - maxwidth) + ',' + margin.top + ')');\n\n height = margin.top + margin.bottom + ypos + 15;\n }\n\n if(vers == 'furious') {\n // Size rectangles after text is placed\n seriesShape\n .attr('width', function(d,i) {\n return seriesText[0][i].getComputedTextLength() + 27;\n })\n .attr('height', 18)\n .attr('y', -9)\n .attr('x', -15)\n }\n\n seriesShape\n .style('fill', setBGColor)\n .style('stroke', function(d,i) { return d.color || color(d, i) });\n });\n\n function setTextColor(d,i) {\n if(vers != 'furious') return '#000';\n if(expanded) {\n return d.disengaged ? color(d,i) : '#fff';\n } else if (!expanded) {\n return !!d.disabled ? color(d,i) : '#fff';\n }\n }\n\n function setBGColor(d,i) {\n if(expanded && vers == 'furious') {\n return d.disengaged ? '#fff' : color(d,i);\n } else {\n return !!d.disabled ? '#fff' : color(d,i);\n }\n }\n\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n key: {get: function(){return getKey;}, set: function(_){getKey=_;}},\n keyFormatter: {get: function(){return keyFormatter;}, set: function(_){keyFormatter=_;}},\n align: {get: function(){return align;}, set: function(_){align=_;}},\n rightAlign: {get: function(){return rightAlign;}, set: function(_){rightAlign=_;}},\n maxKeyLength: {get: function(){return maxKeyLength;}, set: function(_){maxKeyLength=_;}},\n padding: {get: function(){return padding;}, set: function(_){padding=_;}},\n updateState: {get: function(){return updateState;}, set: function(_){updateState=_;}},\n radioButtonMode:{get: function(){return radioButtonMode;}, set: function(_){radioButtonMode=_;}},\n expanded: {get: function(){return expanded;}, set: function(_){expanded=_;}},\n vers: {get: function(){return vers;}, set: function(_){vers=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n }}\n });\n\n nv.utils.initOptions(chart);\n\n return chart;\n};\n","/* \nImprovements:\n- consistenly apply no-hover classes to rect isntead of to containing g, see example CSS style for .no-hover rect, rect.no-hover\n- row/column order (user specified) or 'ascending' / 'descending'\n- I haven't tested for transitions between changing datasets\n*/\n\nnv.models.heatMap = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 0, right: 0, bottom: 0, left: 0}\n , width = 960\n , height = 500\n , id = Math.floor(Math.random() * 10000) //Create semi-unique ID in case user doesn't select one\n , container\n , xScale = d3.scale.ordinal()\n , yScale = d3.scale.ordinal()\n , colorScale = false\n , getX = function(d) { return d.x }\n , getY = function(d) { return d.y }\n , getCellValue = function(d) { return d.value }\n , showCellValues = true\n , cellValueFormat = function(d) { return typeof d === 'number' ? d.toFixed(0) : d }\n , cellAspectRatio = false // width / height of cell\n , cellRadius = 2\n , cellBorderWidth = 4 // pixels between cells\n , normalize = false\n , highContrastText = true\n , xDomain\n , yDomain\n , xMetaColorScale = nv.utils.defaultColor()\n , yMetaColorScale = nv.utils.defaultColor()\n , missingDataColor = '#bcbcbc'\n , missingDataLabel = ''\n , metaOffset = 5 // spacing between meta rects and cells\n , xRange\n , yRange\n , xMeta\n , yMeta\n , colorRange\n , colorDomain\n , dispatch = d3.dispatch('chartClick', 'elementClick', 'elementDblClick', 'elementMouseover', 'elementMouseout', 'elementMousemove', 'renderEnd')\n , duration = 250\n , xMetaHeight = function(d) { return cellHeight / 3 }\n , yMetaWidth = function(d) { return cellWidth / 3 }\n , showGrid = false\n ;\n\n\n\n //============================================================\n // Aux helper function for heatmap\n //------------------------------------------------------------\n // choose high contrast text color based on background\n // shameful steal: https://github.com/alexandersimoes/d3plus/blob/master/src/color/text.coffee\n function cellTextColor(bgColor) {\n\n if (highContrastText) {\n var rgbColor = d3.rgb(bgColor);\n var r = rgbColor.r;\n var g = rgbColor.g;\n var b = rgbColor.b;\n var yiq = (r * 299 + g * 587 + b * 114) / 1000;\n return yiq >= 128 ? \"#404040\" : \"#EDEDED\"; // dark text else light text\n } else {\n return 'black';\n }\n }\n\n /* go through heatmap data and generate array of values\n * for each row/column or for entire dataset; for use in\n * calculating means/medians of data for normalizing\n * @param {str} axis - 'row', 'col' or null\n *\n * @returns {row/column index: [array of values for row/col]}\n * note that if axis is not specified, the return will be\n * {0: [all values in heatmap]}\n */\n function getHeatmapValues(data, axis) {\n var vals = {};\n\n data.forEach(function(cell, i) {\n if (axis == 'row') {\n if (!(getIY(cell) in vals)) vals[getIY(cell)] = [];\n vals[getIY(cell)].push(getCellValue(cell));\n } else if (axis == 'col') {\n if (!(getIX(cell) in vals)) vals[getIX(cell)] = [];\n vals[getIX(cell)].push(getCellValue(cell));\n } else if (axis == null) { // if calculating stat over entire dataset\n if (!(0 in vals)) vals[0] = [];\n vals[0].push(getCellValue(cell)); \n }\n })\n\n return vals;\n }\n\n // calculate the median absolute deviation of the given array of data\n // https://en.wikipedia.org/wiki/Median_absolute_deviation\n // MAD = median(abs(Xi - median(X)))\n function mad(dat) {\n var med = d3.median(dat);\n var vals = dat.map(function(d) { return Math.abs(d - med); })\n return d3.median(vals);\n }\n\n\n // set cell color based on cell value\n // depending on whether it should be normalized or not\n function cellColor(d) {\n var colorVal = normalize ? getNorm(d) : getCellValue(d);\n return (cellsAreNumeric() && !isNaN(colorVal) || typeof colorVal !== 'undefined') ? colorScale(colorVal) : missingDataColor;\n }\n\n // return the domain of the color data\n // if ordinal data is given for the cells, this will\n // return all possible cells values; otherwise it\n // returns the extent of the cell values\n // will take into account normalization if specified\n function getColorDomain() {\n \n if (cellsAreNumeric()) { // if cell values are numeric\n return normalize ? d3.extent(prepedData, function(d) { return getNorm(d); }) : d3.extent(uniqueColor);\n } else if (!cellsAreNumeric()) { // if cell values are ordinal\n return uniqueColor;\n }\n }\n\n // return true if cells are numeric\n // as opposed to categorical\n function cellsAreNumeric() {\n return typeof uniqueColor[0] === 'number';\n }\n\n /*\n * Normalize input data\n *\n * normalize must be one of centerX, robustCenterX, centerScaleX, robustCenterScaleX, centerAll, \n * robustCenterAll, centerScaleAll, robustCenterScaleAll where X is either 'Row' or 'Column'\n *\n * - centerX: subtract row/column mean from cell\n * - centerAll: subtract mean of whole data set from cell\n * - centerScaleX: scale so that row/column has mean 0 and variance 1 (Z-score)\n * - centerScaleAll: scale by overall normalization factor so that the whole data set has mean 0 and variance 1 (Z-score)\n * - robustCenterX: subtract row/column median from cell\n * - robustCenterScaleX: subtract row/column median from cell and then scale row/column by median absolute deviation\n * - robustCenterAll: subtract median of whole data set from cell\n * - robustCenterScaleAll: subtract overall median from cell and scale by overall median absolute deviation\n */\n function normalizeData(dat) {\n \n var normTypes = ['centerRow',\n 'robustCenterRow',\n 'centerScaleRow',\n 'robustCenterScaleRow',\n 'centerColumn',\n 'robustCenterColumn',\n 'centerScaleColumn',\n 'robustCenterScaleColumn',\n 'centerAll',\n 'robustCenterAll',\n 'centerScaleAll',\n 'robustCenterScaleAll'];\n\n\n if(normTypes.indexOf(normalize) != -1) {\n\n var xVals = Object.keys(uniqueX), yVals = Object.keys(uniqueY);\n\n // setup normalization options\n var scale = normalize.includes('Scale') ? true: false,\n agg = normalize.includes('robust') ? 'median': 'mean',\n axis = normalize.includes('Row') ? 'row' : normalize.includes('Column') ? 'col' : null,\n vals = getHeatmapValues(dat, axis);\n\n // calculate mean or median\n // calculate standard dev or median absolute deviation\n var stat = {};\n var dev = {};\n for (var key in vals) {\n stat[key] = agg == 'mean' ? d3.mean(vals[key]) : d3.median(vals[key]);\n if (scale) dev[key] = agg == 'mean' ? d3.deviation(vals[key]) : mad(vals[key]);\n }\n\n\n // do the normalizing\n dat.forEach(function(cell, i) {\n if (cellsAreNumeric()) {\n if (axis == 'row') {\n var key = getIY(cell);\n } else if (axis == 'col') {\n var key = getIX(cell);\n } else if (axis == null) { // if calculating stat over entire dataset\n var key = 0;\n }\n\n var normVal = getCellValue(cell) - stat[key];\n if (scale) {\n cell._cellPos.norm = normVal / dev[key];\n } else {\n cell._cellPos.norm = normVal;\n }\n } else {\n cell._cellPos.norm = getCellValue(cell); // if trying to normalize ordinal cells, just set norm to cell value\n }\n })\n\n } else {\n normalize = false; // proper normalize option was not provided, disable it so heatmap still shows colors\n }\n\n return dat;\n }\n\n /*\n * Process incoming data for use with heatmap including:\n * - adding a unique key indexer to each data point (idx)\n * - getting a unique list of all x & y values\n * - generating a position index (x & y) for each data point\n * - sorting that data for correct traversal when generating rect\n * - generating placeholders for missing data\n *\n * In order to allow for the flexibility of the user providing either\n * categorical or quantitative data, we're going to position the cells\n * through indices that we increment based on previously seen data\n * this way we can use ordinal() axes even if the data is quantitative.\n *\n * When we generate the SVG elements, we assumes traversal occures from\n * top to bottom and from left to right.\n *\n * @param data {list} - input data organize as a list of objects\n *\n * @return - copy of input data with additional '_cellPos' key\n * formatted as {idx: XXX, ix, XXX, iy: XXX}\n * where idx is a global identifier; ix is an identifier\n * within each column, and iy is an identifier within\n * each row. \n */\n function prepData(data) {\n\n // reinitialize\n uniqueX = {}, // {cell x value: ix index}\n uniqueY = {}, // {cell y value: iy index}\n uniqueColor = [], // [cell color value]\n uniqueXMeta = [], // [cell x metadata value]\n uniqueYMeta = [], // [cell y metadata value]\n uniqueCells = []; // [cell x,y values stored as array]\n var warnings = [];\n var sortedCells = {}; // {cell x values: {cell y value: cell data, ... }, ... }\n\n var ix = 0, iy = 0; // use these indices to position cell in x & y direction\n var combo, idx=0;\n data.forEach(function(cell) {\n var valX = getX(cell),\n valY = getY(cell),\n valColor = getCellValue(cell); \n\n // assemble list of unique values for each dimension\n if (!(valX in uniqueX)) { \n uniqueX[valX] = ix; \n ix++;\n\n sortedCells[valX] = {}\n\n if (typeof xMeta === 'function') uniqueXMeta.push(xMeta(cell));\n }\n\n if (!(valY in uniqueY)) {\n uniqueY[valY] = iy; \n iy++;\n\n sortedCells[valX][valY] = {}\n\n if (typeof yMeta === 'function') uniqueYMeta.push(yMeta(cell));\n }\n if (uniqueColor.indexOf(valColor) == -1) uniqueColor.push(valColor)\n\n\n // for each data point, we generate an object of data\n // needed to properly position each cell\n cell._cellPos = {\n idx: idx,\n ix: uniqueX[valX],\n iy: uniqueY[valY],\n }\n idx++;\n\n\n // keep track of row & column combinations we've already seen\n // this prevents the same cells from being generated when\n // the user hasn't provided proper data (one value for each\n // row & column).\n // if properly formatted data is not provided, only the first\n // row & column value is used (the rest are ignored)\n combo = [valX, valY];\n if (!isArrayInArray(uniqueCells, combo)) {\n uniqueCells.push(combo)\n sortedCells[valX][valY] = cell;\n } else if (warnings.indexOf(valX + valY) == -1) {\n warnings.push(valX + valY);\n console.warn(\"The row/column position \" + valX + \"/\" + valY + \" has multiple values; ensure each cell has only a single value.\");\n }\n\n });\n\n uniqueColor = uniqueColor.sort()\n\n // check in sortedCells that each x has all the y's\n // if not, generate an empty placeholder\n // this will also sort all cells from left to right\n // and top to bottom\n var reformatData = [];\n Object.keys(uniqueY).forEach(function(j) {\n Object.keys(uniqueX).forEach(function(i) {\n var cellVal = sortedCells[i][j];\n \n if (cellVal) {\n reformatData.push(cellVal);\n } else {\n var cellPos = {\n idx: idx,\n ix: uniqueX[i],\n iy: uniqueY[j],\n }\n idx++;\n reformatData.push({_cellPos: cellPos}); // empty cell placeholder\n }\n })\n })\n\n\n // normalize data is needed\n return normalize ? normalizeData(reformatData) : reformatData;\n\n }\n\n // https://stackoverflow.com/a/41661388/1153897\n function isArrayInArray(arr, item){\n var item_as_string = JSON.stringify(item);\n\n var contains = arr.some(function(ele){\n return JSON.stringify(ele) === item_as_string;\n });\n return contains;\n }\n\n function removeAllHoverClasses() {\n // remove all hover classes\n d3.selectAll('.cell-hover').classed('cell-hover', false);\n d3.selectAll('.no-hover').classed('no-hover', false);\n d3.selectAll('.row-hover').classed('row-hover', false);\n d3.selectAll('.column-hover').classed('column-hover', false);\n }\n\n // return the formatted cell value if it is\n // a number, otherwise return missingDataLabel\n var cellValueLabel = function(d) {\n var val = !normalize ? cellValueFormat(getCellValue(d)) : cellValueFormat(getNorm(d));\n return (cellsAreNumeric() && !isNaN(val) || typeof val !== 'undefined') ? val : missingDataLabel;\n }\n\n // https://stackoverflow.com/a/16794116/1153897\n // note this returns the obj keys\n function sortObjByVals(obj) {\n return Object.keys(obj).sort(function(a,b){return obj[a]-obj[b]})\n }\n\n // https://stackoverflow.com/a/28191966/1153897\n function getKeyByValue(object, value) {\n //return Object.keys(object).find(key => object[key] === value);\n return Object.keys(object).filter(function(key) {return object[key] === value})[0];\n }\n\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var prepedData, cellHeight, cellWidth;\n var uniqueX = {}, uniqueY = {}, uniqueColor = [];\n var uniqueXMeta = [], uniqueYMeta = [], uniqueCells = []\n var renderWatch = nv.utils.renderWatch(dispatch, duration);\n var RdYlBu = [\"#a50026\",\"#d73027\",\"#f46d43\",\"#fdae61\",\"#fee090\",\"#ffffbf\",\"#e0f3f8\",\"#abd9e9\",\"#74add1\",\"#4575b4\",\"#313695\"];\n\n var getCellPos = function(d) { return d._cellPos; };\n var getIX = function(d) { return getCellPos(d).ix; } // get the given cell's x index position\n var getIY = function(d) { return getCellPos(d).iy; } // get the given cell's y index position\n var getNorm = function(d) { return getCellPos(d).norm; }\n var getIdx = function(d) { return getCellPos(d).idx; }\n\n\n function chart(selection) {\n renderWatch.reset();\n selection.each(function(data) {\n\n prepedData = prepData(data);\n\n var availableWidth = width - margin.left - margin.right,\n availableHeight = height - margin.top - margin.bottom;\n\n // available width/height set the cell dimenions unless\n // the aspect ratio is defined - in that case the cell\n // height is adjusted and availableHeight updated\n cellWidth = availableWidth / Object.keys(uniqueX).length;\n cellHeight = cellAspectRatio ? cellWidth / cellAspectRatio : availableHeight / Object.keys(uniqueY).length;\n if (cellAspectRatio) availableHeight = cellHeight * Object.keys(uniqueY).length - margin.top - margin.bottom;\n\n\n container = d3.select(this);\n nv.utils.initSVG(container);\n \n // Setup Scales\n xScale.domain(xDomain || sortObjByVals(uniqueX))\n .rangeBands(xRange || [0, availableWidth-cellBorderWidth/2]);\n yScale.domain(yDomain || sortObjByVals(uniqueY))\n .rangeBands(yRange || [0, availableHeight-cellBorderWidth/2]);\n colorScale = cellsAreNumeric() ? d3.scale.quantize() : d3.scale.ordinal();\n colorScale.domain(colorDomain || getColorDomain())\n .range(colorRange || RdYlBu);\n\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-heatMapWrap').data([prepedData]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-heatMapWrap');\n wrapEnter\n .append('g')\n .attr('class','cellWrap')\n\n wrap.watchTransition(renderWatch, 'nv-wrap: heatMapWrap')\n .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n var gridWrap = wrapEnter\n .append('g')\n .attr('class','cellGrid')\n .style('opacity',1e-6)\n\n var gridLinesV = wrap.select('.cellGrid').selectAll('.gridLines.verticalGrid')\n .data(Object.values(uniqueX).concat([Object.values(uniqueX).length]))\n \n gridLinesV.enter()\n .append('line')\n .attr('class','gridLines verticalGrid')\n\n gridLinesV.exit()\n .remove()\n\n var gridLinesH = wrap.select('.cellGrid').selectAll('.gridLines.horizontalGrid')\n .data(Object.values(uniqueY).concat([Object.values(uniqueY).length]))\n \n gridLinesH.enter()\n .append('line')\n .attr('class','gridLines horizontalGrid')\n\n gridLinesH.exit()\n .remove()\n\n var cellWrap = wrap.select('.cellWrap')\n .selectAll(\".nv-cell\")\n .data(function(d) { return d; }, function(e) { return getIdx(e); })\n\n var xMetaWrap = wrapEnter\n .append('g')\n .attr('class','xMetaWrap')\n .attr(\"transform\", function() { return \"translate(0,\" + (-xMetaHeight()-cellBorderWidth-metaOffset) + \")\" })\n\n var xMetas = wrap.select('.xMetaWrap').selectAll('.x-meta')\n .data(uniqueXMeta)\n\n var xMetaEnter = xMetas\n .enter()\n .append('rect')\n .attr('class','x-meta meta')\n .attr(\"width\", cellWidth-cellBorderWidth)\n .attr(\"height\", xMetaHeight())\n .attr(\"transform\", \"translate(0,0)\")\n .attr(\"fill\", function(d) { return xMetaColorScale(d); })\n\n var yMetaWrap = wrapEnter\n .append('g')\n .attr('class','yMetaWrap')\n .attr(\"transform\", function(d,i) { return \"translate(\" + (-yMetaWidth()-cellBorderWidth-metaOffset) + \",0)\" })\n\n var yMetas = wrap.select('.yMetaWrap').selectAll('.y-meta')\n .data(uniqueYMeta)\n\n var yMetaEnter = yMetas\n .enter()\n .append('rect')\n .attr('class','y-meta meta')\n .attr(\"width\", yMetaWidth())\n .attr(\"height\", cellHeight-cellBorderWidth)\n .attr(\"transform\", function(d,i) { return \"translate(0,0)\" })\n .attr(\"fill\", function(d,i) { return yMetaColorScale(d); })\n\n xMetas.exit().remove()\n yMetas.exit().remove()\n \n // CELLS \n var cellsEnter = cellWrap\n .enter()\n .append('g')\n .style('opacity', 1e-6)\n .attr(\"transform\", function(d) { return \"translate(0,\" + getIY(d) * cellHeight + \")\" }) // enter all g's here for a sweep-right transition\n .attr('data-row', function(d) { return getIY(d) })\n .attr('data-column', function(d) { return getIX(d) });\n\n cellsEnter\n .append(\"rect\") \n\n cellsEnter\n .append('text')\n .attr('text-anchor', 'middle')\n .attr(\"dy\", 4)\n .attr(\"class\",\"cell-text\")\n\n \n // transition cell (rect) size\n cellWrap.selectAll('rect')\n .watchTransition(renderWatch, 'heatMap: rect')\n .attr(\"width\", cellWidth-cellBorderWidth)\n .attr(\"height\", cellHeight-cellBorderWidth)\n .attr('rx', cellRadius)\n .attr('ry', cellRadius)\n .style('stroke', function(d) { return cellColor(d) })\n\n // transition cell (g) position, opacity and fill\n cellWrap\n .attr(\"class\",function(d) { return isNaN(getCellValue(d)) ? 'nv-cell cell-missing' : 'nv-cell'}) \n .watchTransition(renderWatch, 'heatMap: cells')\n .style({\n 'opacity': 1,\n 'fill': function(d) { return cellColor(d) },\n })\n .attr(\"transform\", function(d) { return \"translate(\" + getIX(d) * cellWidth + \",\" + getIY(d) * cellHeight + \")\" })\n .attr(\"class\",function(d) { return isNaN(getCellValue(d)) ? 'nv-cell cell-missing' : 'nv-cell'}) \n\n cellWrap.exit().remove();\n\n // transition text position and fill\n cellWrap.selectAll('text')\n .watchTransition(renderWatch, 'heatMap: cells text')\n .text(function(d) { return cellValueLabel(d); })\n .attr(\"x\", function(d) { return (cellWidth-cellBorderWidth) / 2; })\n .attr(\"y\", function(d) { return (cellHeight-cellBorderWidth) / 2; })\n .style(\"fill\", function(d) { return cellTextColor(cellColor(d)) })\n .style('opacity', function() { return showCellValues ? 1 : 0 })\n\n // transition grid\n wrap.selectAll('.verticalGrid')\n .watchTransition(renderWatch, 'heatMap: gridLines') \n .attr('y1',0)\n .attr('y2',availableHeight-cellBorderWidth)\n .attr('x1',function(d) { return d*cellWidth-cellBorderWidth/2; })\n .attr('x2',function(d) { return d*cellWidth-cellBorderWidth/2; })\n\n var numHLines = Object.keys(uniqueY).length;\n wrap.selectAll('.horizontalGrid')\n .watchTransition(renderWatch, 'heatMap: gridLines') \n .attr('x1',function(d) { return (d == 0 || d == numHLines) ? -cellBorderWidth : 0 })\n .attr('x2',function(d) { return (d == 0 || d == numHLines) ? availableWidth : availableWidth-cellBorderWidth})\n .attr('y1',function(d) { return d*cellHeight-cellBorderWidth/2; })\n .attr('y2',function(d) { return d*cellHeight-cellBorderWidth/2; })\n\n wrap.select('.cellGrid')\n .watchTransition(renderWatch, 'heatMap: gridLines')\n .style({\n 'stroke-width': cellBorderWidth,\n 'opacity': function() { return showGrid ? 1 : 1e-6 },\n })\n\n var xMetaRect = wrap.selectAll('.x-meta')\n var yMetaRect = wrap.selectAll('.y-meta')\n var allMetaRect = wrap.selectAll('.meta')\n\n // transition meta rect size\n xMetas\n .watchTransition(renderWatch, 'heatMap: xMetaRect') \n .attr(\"width\", cellWidth-cellBorderWidth)\n .attr(\"height\", xMetaHeight())\n .attr(\"transform\", function(d,i) { return \"translate(\" + (i * cellWidth) + \",0)\" })\n\n yMetas\n .watchTransition(renderWatch, 'heatMap: yMetaRect') \n .attr(\"width\", yMetaWidth())\n .attr(\"height\", cellHeight-cellBorderWidth)\n .attr(\"transform\", function(d,i) { return \"translate(0,\" + (i * cellHeight) + \")\" })\n\n\n // transition position of meta wrap g & opacity\n wrap.select('.xMetaWrap')\n .watchTransition(renderWatch, 'heatMap: xMetaWrap') \n .attr(\"transform\", function(d,i) { return \"translate(0,\" + (-xMetaHeight()-cellBorderWidth-metaOffset) + \")\" })\n .style(\"opacity\", function() { return xMeta !== false ? 1 : 0 })\n wrap.select('.yMetaWrap')\n .watchTransition(renderWatch, 'heatMap: yMetaWrap') \n .attr(\"transform\", function(d,i) { return \"translate(\" + (-yMetaWidth()-cellBorderWidth-metaOffset) + \",0)\" })\n .style(\"opacity\", function() { return yMeta !== false ? 1 : 0 })\n\n // TOOLTIPS\n cellWrap\n .on('mouseover', function(d,i) {\n\n var idx = getIdx(d);\n var ix = getIX(d);\n var iy = getIY(d);\n\n // set the proper classes for all cells\n // hover row gets class .row-hover\n // hover column gets class .column-hover\n // hover cell gets class .cell-hover\n // all remaining cells get class .no-hover\n d3.selectAll('.nv-cell').each(function(e) {\n if (idx == getIdx(e)) {\n d3.select(this).classed('cell-hover', true);\n d3.select(this).classed('no-hover', false);\n } else {\n d3.select(this).classed('no-hover', true);\n d3.select(this).classed('cell-hover', false);\n }\n if (ix == getIX(e)) {\n d3.select(this).classed('no-hover', false);\n d3.select(this).classed('column-hover', true);\n }\n if (iy == getIY(e)) {\n d3.select(this).classed('no-hover', false);\n d3.select(this).classed('row-hover', true);\n }\n })\n \n // set hover classes for column metadata\n d3.selectAll('.x-meta').each(function(e, j) {\n if (j == ix) {\n d3.select(this).classed('cell-hover', true);\n d3.select(this).classed('no-hover', false);\n } else {\n d3.select(this).classed('no-hover', true);\n d3.select(this).classed('cell-hover', false);\n }\n });\n\n // set hover class for row metadata\n d3.selectAll('.y-meta').each(function(e, j) {\n if (j == iy) {\n d3.select(this).classed('cell-hover', true);\n d3.select(this).classed('no-hover', false);\n } else {\n d3.select(this).classed('no-hover', true);\n d3.select(this).classed('cell-hover', false);\n }\n });\n \n dispatch.elementMouseover({\n value: getKeyByValue(uniqueX, ix) + ' & ' + getKeyByValue(uniqueY, iy), \n series: {\n value: cellValueLabel(d), \n color: d3.select(this).select('rect').style(\"fill\")\n },\n e: d3.event,\n });\n\n })\n .on('mouseout', function(d,i) {\n\n // allow tooltip to remain even when mouse is over the\n // space between the cell;\n // this prevents cells from \"flashing\" when transitioning\n // between cells\n var bBox = d3.select(this).select('rect').node().getBBox();\n var coordinates = d3.mouse(d3.select('.nv-heatMap').node());\n var x = coordinates[0];\n var y = coordinates[1];\n\n // we only trigger mouseout when mouse moves outside of\n // .nv-heatMap\n if (x + cellBorderWidth >= availableWidth || y + cellBorderWidth >= availableHeight || x < 0 || y < 0) {\n // remove all hover classes\n removeAllHoverClasses();\n\n dispatch.elementMouseout({e: d3.event});\n }\n })\n .on('mousemove', function(d,i) {\n\n dispatch.elementMousemove({e: d3.event});\n })\n\n allMetaRect\n .on('mouseover', function(d,i) {\n\n // true if hovering over a row metadata rect\n var isColMeta = d3.select(this).attr('class').indexOf('x-meta') != -1 ? true : false;\n\n // apply proper .row-hover & .column-hover\n // classes to cells\n d3.selectAll('.nv-cell').each(function(e) {\n\n if (isColMeta && i == getIX(e)) {\n d3.select(this).classed('column-hover', true);\n d3.select(this).classed('no-hover', false);\n } else if (!isColMeta && i-uniqueXMeta.length == getIY(e)) {\n // since allMetaRect selects all the meta rects, the index for the y's will\n // be offset by the number of x rects. TODO - write seperate tooltip sections\n // for x meta rect & y meta rect\n d3.select(this).classed('row-hover', true);\n d3.select(this).classed('no-hover', false);\n } else {\n d3.select(this).classed('no-hover', true);\n d3.select(this).classed('column-hover', false);\n d3.select(this).classed('row-hover', false);\n }\n d3.select(this).classed('cell-hover', false);\n })\n\n // apply proper .row-hover & .column-hover\n // classes to meta rects\n d3.selectAll('.meta').classed('no-hover', true);\n d3.select(this).classed('cell-hover', true);\n d3.select(this).classed('no-hover', false);\n\n dispatch.elementMouseover({\n value: isColMeta ? 'Column meta' : 'Row meta',\n series: { value: d, color: d3.select(this).style('fill'), }\n });\n })\n .on('mouseout', function(d,i) {\n\n // true if hovering over a row metadata rect\n var isColMeta = d3.select(this).attr('class').indexOf('x-meta') != -1 ? true : false;\n\n // allow tooltip to remain even when mouse is over the\n // space between the cell;\n // this prevents cells from \"flashing\" when transitioning\n // between cells\n var bBox = d3.select(this).node().getBBox();\n var coordinates = d3.mouse(d3.select(isColMeta ? '.xMetaWrap' : '.yMetaWrap').node());\n var x = coordinates[0];\n var y = coordinates[1];\n\n if ( y < 0 || x < 0 || \n (isColMeta && x + cellBorderWidth >= availableWidth) ||\n (!isColMeta && y + cellBorderWidth >= availableHeight)\n ) {\n // remove all hover classes\n removeAllHoverClasses();\n\n dispatch.elementMouseout({e: d3.event});\n }\n })\n .on('mousemove', function(d,i) {\n dispatch.elementMousemove({e: d3.event});\n })\n\n });\n\n\n renderWatch.renderEnd('heatMap immediate');\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n showCellValues: {get: function(){return showCellValues;}, set: function(_){showCellValues=_;}},\n x: {get: function(){return getX;}, set: function(_){getX=_;}}, // data attribute for horizontal axis\n y: {get: function(){return getY;}, set: function(_){getY=_;}}, // data attribute for vertical axis\n cellValue: {get: function(){return getCellValue;}, set: function(_){getCellValue=_;}}, // data attribute that sets cell value and color\n missingDataColor: {get: function(){return missingDataColor;}, set: function(_){missingDataColor=_;}},\n missingDataLabel: {get: function(){return missingDataLabel;}, set: function(_){missingDataLabel=_;}},\n xScale: {get: function(){return xScale;}, set: function(_){xScale=_;}},\n yScale: {get: function(){return yScale;}, set: function(_){yScale=_;}},\n colorScale: {get: function(){return colorScale;}, set: function(_){colorScale=_;}}, // scale to map cell values to colors\n xDomain: {get: function(){return xDomain;}, set: function(_){xDomain=_;}},\n yDomain: {get: function(){return yDomain;}, set: function(_){yDomain=_;}},\n xRange: {get: function(){return xRange;}, set: function(_){xRange=_;}},\n yRange: {get: function(){return yRange;}, set: function(_){yRange=_;}},\n colorRange: {get: function(){return colorRange;}, set: function(_){colorRange=_;}},\n colorDomain: {get: function(){return colorDomain;}, set: function(_){colorDomain=_;}},\n xMeta: {get: function(){return xMeta;}, set: function(_){xMeta=_;}},\n yMeta: {get: function(){return yMeta;}, set: function(_){yMeta=_;}},\n xMetaColorScale: {get: function(){return color;}, set: function(_){color = nv.utils.getColor(_);}},\n yMetaColorScale: {get: function(){return color;}, set: function(_){color = nv.utils.getColor(_);}},\n cellAspectRatio: {get: function(){return cellAspectRatio;}, set: function(_){cellAspectRatio=_;}}, // cell width / height\n cellRadius: {get: function(){return cellRadius;}, set: function(_){cellRadius=_;}}, // cell width / height\n cellHeight: {get: function(){return cellHeight;}}, // TODO - should not be exposed since we don't want user setting this\n cellWidth: {get: function(){return cellWidth;}}, // TODO - should not be exposed since we don't want user setting this\n normalize: {get: function(){return normalize;}, set: function(_){normalize=_;}},\n cellBorderWidth: {get: function(){return cellBorderWidth;}, set: function(_){cellBorderWidth=_;}},\n highContrastText: {get: function(){return highContrastText;}, set: function(_){highContrastText=_;}},\n cellValueFormat: {get: function(){return cellValueFormat;}, set: function(_){cellValueFormat=_;}},\n id: {get: function(){return id;}, set: function(_){id=_;}},\n metaOffset: {get: function(){return metaOffset;}, set: function(_){metaOffset=_;}},\n xMetaHeight: {get: function(){return xMetaHeight;}, set: function(_){xMetaHeight=_;}},\n yMetaWidth: {get: function(){return yMetaWidth;}, set: function(_){yMetaWidth=_;}},\n showGrid: {get: function(){return showGrid;}, set: function(_){showGrid=_;}},\n\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n }}\n });\n\n nv.utils.initOptions(chart);\n\n\n return chart;\n};\n","/* Heatmap Chart Type\n\nA heatmap is a graphical representation of data where the individual values\ncontained in a matrix are represented as colors within cells. Furthermore,\nmetadata can be associated with each of the matrix rows or columns. By grouping\nthese rows/columns together by a given metadata value, data trends can be spotted.\n\nFormat for input data should be:\nvar data = [\n {day: 'mo', hour: '1a', value: 16, timeperiod: 'early morning', weekperiod: 'week', category: 1},\n {day: 'mo', hour: '2a', value: 20, timeperiod: 'early morning', weekperiod: 'week', category: 2},\n {day: 'mo', hour: '3a', value: 0, timeperiod: 'early morning', weekperiod: 'week', category: 1},\n ...\n]\nwhere the keys 'day' and 'hour' specify the row/column of the heatmap, 'value' specifies the cell\nvalue and the keys 'timeperiod', 'weekperiod' and 'week' are extra metadata that can be associated\nwith rows/columns.\n\n\nOptions for chart:\n*/\nnv.models.heatMapChart = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var heatMap = nv.models.heatMap()\n , legend = nv.models.legend()\n , legendRowMeta = nv.models.legend()\n , legendColumnMeta = nv.models.legend()\n , tooltip = nv.models.tooltip()\n , xAxis = nv.models.axis()\n , yAxis = nv.models.axis()\n ;\n\n\n var margin = {top: 20, right: 10, bottom: 50, left: 60}\n , marginTop = null\n , width = null\n , height = null\n , color = nv.utils.getColor()\n , showLegend = true\n , staggerLabels = false\n , showXAxis = true\n , showYAxis = true\n , alignYAxis = 'left'\n , alignXAxis = 'top'\n , rotateLabels = 0\n , title = false\n , x\n , y\n , noData = null\n , dispatch = d3.dispatch('beforeUpdate','renderEnd')\n , duration = 250\n ;\n\n xAxis\n .orient(alignXAxis)\n .showMaxMin(false)\n .tickFormat(function(d) { return d })\n ;\n yAxis\n .orient(alignYAxis)\n .showMaxMin(false)\n .tickFormat(function(d) { return d })\n ;\n\n tooltip\n .duration(0)\n .headerEnabled(true)\n .keyFormatter(function(d, i) {\n return xAxis.tickFormat()(d, i);\n })\n\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n // https://bl.ocks.org/mbostock/4573883\n // get max/min range for all the quantized cell values\n // returns an array where each element is [start,stop]\n // of color bin\n function quantizeLegendValues() {\n\n var e = heatMap.colorScale(), legendVals;\n\n if (typeof e.domain()[0] === 'string') { // if color scale is ordinal\n\n legendVals = e.domain();\n\n } else { // if color scale is numeric\n\n legendVals = e.range().map(function(color) {\n var d = e.invertExtent(color);\n if (d[0] === null) d[0] = e.domain()[0];\n if (d[1] === null) d[1] = e.domain()[1];\n return d;\n })\n\n }\n\n return legendVals\n\n }\n\n // return true if row metadata specified by user\n function hasRowMeta() {\n return typeof heatMap.yMeta() === 'function'\n }\n // return true if col metadata specified by user\n function hasColumnMeta() {\n return typeof heatMap.xMeta() === 'function'\n }\n\n var renderWatch = nv.utils.renderWatch(dispatch, duration);\n\n function chart(selection) {\n renderWatch.reset();\n renderWatch.models(heatMap);\n renderWatch.models(xAxis);\n renderWatch.models(yAxis);\n\n selection.each(function(data) {\n var container = d3.select(this),\n that = this;\n nv.utils.initSVG(container);\n\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin);\n\n chart.update = function() {\n dispatch.beforeUpdate();\n container.transition().duration(duration).call(chart);\n };\n chart.container = this;\n\n // Display No Data message if there's nothing to show.\n if (!data || !data.length) {\n nv.utils.noData(chart, container);\n return chart;\n } else {\n container.selectAll('.nv-noData').remove();\n }\n\n // Setup Scales\n x = heatMap.xScale();\n y = heatMap.yScale();\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap').data([data]);\n var gEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap').append('g');\n var g = wrap.select('g');\n\n\n gEnter.append('g').attr('class', 'nv-heatMap');\n gEnter.append('g').attr('class', 'nv-legendWrap');\n gEnter.append('g').attr('class', 'nv-x nv-axis');\n gEnter.append('g').attr('class', 'nv-y nv-axis')\n\n g.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n\n heatMap\n .width(availableWidth)\n .height(availableHeight);\n\n\n var heatMapWrap = g.select('.nv-heatMap')\n .datum(data.filter(function(d) { return !d.disabled }));\n\n\n heatMapWrap.transition().call(heatMap);\n\n\n if (heatMap.cellAspectRatio()) {\n availableHeight = heatMap.cellHeight() * y.domain().length;\n heatMap.height(availableHeight);\n }\n\n\n // Setup Axes\n xAxis\n .scale(x)\n ._ticks( nv.utils.calcTicksX(availableWidth/100, data) )\n .tickSize(-availableHeight, 0);\n\n var axisX = g.select('.nv-x.nv-axis')\n\n axisX.call(xAxis)\n .watchTransition(renderWatch, 'heatMap: axisX')\n .selectAll('.tick')\n .style('opacity', function() { return showXAxis ? 1 : 0 } )\n\n var xTicks = axisX.selectAll('g');\n\n xTicks\n .selectAll('.tick text')\n .attr('transform', function(d,i,j) {\n var rot = rotateLabels != 0 ? rotateLabels : '0';\n var stagger = staggerLabels ? j % 2 == 0 ? '5' : '17' : '0';\n return 'translate(0, ' + stagger + ') rotate(' + rot + ' 0,0)';\n })\n .style('text-anchor', rotateLabels > 0 ? 'start' : rotateLabels < 0 ? 'end' : 'middle');\n\n // position text in center of meta rects\n var yPos = -5;\n if (hasColumnMeta()) {\n axisX.selectAll('text').style('text-anchor', 'middle')\n yPos = -heatMap.xMetaHeight()()/2 - heatMap.metaOffset() + 3;\n }\n\n // adjust position of axis based on presence of metadata group\n if (alignXAxis == 'bottom') {\n axisX\n .watchTransition(renderWatch, 'heatMap: axisX')\n .attr(\"transform\", \"translate(0,\" + (availableHeight - yPos) + \")\");\n if (heatMap.xMeta() !== false) { // if showing x metadata\n var pos = availableHeight+heatMap.metaOffset()+heatMap.cellBorderWidth()\n g.select('.xMetaWrap')\n .watchTransition(renderWatch, 'heatMap: xMetaWrap')\n .attr(\"transform\", function(d,i) { return \"translate(0,\" + pos + \")\" })\n }\n } else {\n axisX\n .watchTransition(renderWatch, 'heatMap: axisX')\n .attr(\"transform\", \"translate(0,\" + yPos + \")\");\n }\n\n\n yAxis\n .scale(y)\n ._ticks( nv.utils.calcTicksY(availableHeight/36, data) )\n .tickSize( -availableWidth, 0);\n\n var axisY = g.select('.nv-y.nv-axis')\n\n axisY.call(yAxis)\n .watchTransition(renderWatch, 'heatMap: axisY')\n .selectAll('.tick')\n .style('opacity', function() { return showYAxis ? 1 : 0 } )\n\n // position text in center of meta rects\n var xPos = -5;\n if (hasRowMeta()) {\n axisY.selectAll('text').style('text-anchor', 'middle')\n xPos = -heatMap.yMetaWidth()()/2 - heatMap.metaOffset();\n }\n\n // adjust position of axis based on presence of metadata group\n if (alignYAxis == 'right') {\n axisY.attr(\"transform\", \"translate(\" + (availableWidth - xPos) + \",0)\");\n if (heatMap.yMeta() !== false) { // if showing y meatdata\n var pos = availableWidth+heatMap.metaOffset()+heatMap.cellBorderWidth()\n g.select('.yMetaWrap')\n .watchTransition(renderWatch, 'heatMap: yMetaWrap')\n .attr(\"transform\", function(d,i) { return \"translate(\" + pos + \",0)\" })\n }\n } else {\n axisY.attr(\"transform\", \"translate(\" + xPos + \",0)\");\n }\n\n\n\n // Legend\n var legendWrap = g.select('.nv-legendWrap')\n\n legend\n .width(availableWidth)\n .color(heatMap.colorScale().range())\n\n var legendVal = quantizeLegendValues().map(function(d) {\n if (Array.isArray(d)) { // if cell values are numeric\n return {key: d[0].toFixed(1) + \" - \" + d[1].toFixed(1)};\n } else { // if cell values are ordinal\n return {key: d};\n }\n })\n \n\n legendWrap\n .datum(legendVal)\n .call(legend)\n .attr('transform', 'translate(0,' + (alignXAxis == 'top' ? availableHeight : -30) + ')'); // TODO: more intelligent offset (-30) when top aligning legend\n\n legendWrap\n .watchTransition(renderWatch, 'heatMap: nv-legendWrap')\n .style('opacity', function() { return showLegend ? 1 : 0 } )\n\n });\n\n // axis don't have a flag for disabling the zero line, so we do it manually\n d3.selectAll('.nv-axis').selectAll('line')\n .style('stroke-opacity', 0)\n d3.select('.nv-y').select('path.domain').remove()\n\n renderWatch.renderEnd('heatMap chart immediate');\n\n return chart;\n }\n\n //============================================================\n // Event Handling/Dispatching (out of chart's scope)\n //------------------------------------------------------------\n\n heatMap.dispatch.on('elementMouseover.tooltip', function(evt) {\n tooltip.data(evt).hidden(false);\n });\n\n heatMap.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true);\n });\n\n heatMap.dispatch.on('elementMousemove.tooltip', function(evt) {\n tooltip();\n });\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.heatMap = heatMap;\n chart.legend = legend;\n chart.xAxis = xAxis;\n chart.yAxis = yAxis;\n chart.tooltip = tooltip;\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n showLegend: {get: function(){return showLegend;}, set: function(_){showLegend=_;}},\n noData: {get: function(){return noData;}, set: function(_){noData=_;}},\n showXAxis: {get: function(){return showXAxis;}, set: function(_){showXAxis=_;}},\n showYAxis: {get: function(){return showYAxis;}, set: function(_){showYAxis=_;}},\n staggerLabels: {get: function(){return staggerLabels;}, set: function(_){staggerLabels=_;}},\n rotateLabels: {get: function(){return rotateLabels;}, set: function(_){rotateLabels=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n if (_.top !== undefined) {\n margin.top = _.top;\n marginTop = _.top;\n }\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n heatMap.duration(duration);\n xAxis.duration(duration);\n yAxis.duration(duration);\n }},\n alignYAxis: {get: function(){return alignYAxis;}, set: function(_){\n alignYAxis = _;\n yAxis.orient(_);\n }},\n alignXAxis: {get: function(){return alignXAxis;}, set: function(_){\n alignXAxis = _;\n xAxis.orient(_);\n }},\n });\n\n nv.utils.inheritOptions(chart, heatMap);\n nv.utils.initOptions(chart);\n\n return chart;\n}\n","//TODO: consider deprecating and using multibar with single series for this\nnv.models.historicalBar = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 0, right: 0, bottom: 0, left: 0}\n , width = null\n , height = null\n , id = Math.floor(Math.random() * 10000) //Create semi-unique ID in case user doesn't select one\n , container = null\n , x = d3.scale.linear()\n , y = d3.scale.linear()\n , getX = function(d) { return d.x }\n , getY = function(d) { return d.y }\n , forceX = []\n , forceY = [0]\n , padData = false\n , clipEdge = true\n , color = nv.utils.defaultColor()\n , xDomain\n , yDomain\n , xRange\n , yRange\n , dispatch = d3.dispatch('chartClick', 'elementClick', 'elementDblClick', 'elementMouseover', 'elementMouseout', 'elementMousemove', 'renderEnd')\n , interactive = true\n ;\n\n var renderWatch = nv.utils.renderWatch(dispatch, 0);\n\n function chart(selection) {\n selection.each(function(data) {\n renderWatch.reset();\n\n container = d3.select(this);\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin);\n\n nv.utils.initSVG(container);\n\n // Setup Scales\n x.domain(xDomain || d3.extent(data[0].values.map(getX).concat(forceX) ));\n\n if (padData)\n x.range(xRange || [availableWidth * .5 / data[0].values.length, availableWidth * (data[0].values.length - .5) / data[0].values.length ]);\n else\n x.range(xRange || [0, availableWidth]);\n\n y.domain(yDomain || d3.extent(data[0].values.map(getY).concat(forceY) ))\n .range(yRange || [availableHeight, 0]);\n\n // If scale's domain don't have a range, slightly adjust to make one... so a chart can show a single data point\n if (x.domain()[0] === x.domain()[1])\n x.domain()[0] ?\n x.domain([x.domain()[0] - x.domain()[0] * 0.01, x.domain()[1] + x.domain()[1] * 0.01])\n : x.domain([-1,1]);\n\n if (y.domain()[0] === y.domain()[1])\n y.domain()[0] ?\n y.domain([y.domain()[0] + y.domain()[0] * 0.01, y.domain()[1] - y.domain()[1] * 0.01])\n : y.domain([-1,1]);\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-historicalBar-' + id).data([data[0].values]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-historicalBar-' + id);\n var defsEnter = wrapEnter.append('defs');\n var gEnter = wrapEnter.append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-bars');\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n container\n .on('click', function(d,i) {\n dispatch.chartClick({\n data: d,\n index: i,\n pos: d3.event,\n id: id\n });\n });\n\n defsEnter.append('clipPath')\n .attr('id', 'nv-chart-clip-path-' + id)\n .append('rect');\n\n wrap.select('#nv-chart-clip-path-' + id + ' rect')\n .attr('width', availableWidth)\n .attr('height', availableHeight);\n\n g.attr('clip-path', clipEdge ? 'url(#nv-chart-clip-path-' + id + ')' : '');\n\n var bars = wrap.select('.nv-bars').selectAll('.nv-bar')\n .data(function(d) { return d }, function(d,i) {return getX(d,i)});\n bars.exit().remove();\n\n bars.enter().append('rect')\n .attr('x', 0 )\n .attr('y', function(d,i) { return nv.utils.NaNtoZero(y(Math.max(0, getY(d,i)))) })\n .attr('height', function(d,i) { return nv.utils.NaNtoZero(Math.abs(y(getY(d,i)) - y(0))) })\n .attr('transform', function(d,i) { return 'translate(' + (x(getX(d,i)) - availableWidth / data[0].values.length * .45) + ',0)'; })\n .on('mouseover', function(d,i) {\n if (!interactive) return;\n d3.select(this).classed('hover', true);\n dispatch.elementMouseover({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\")\n });\n\n })\n .on('mouseout', function(d,i) {\n if (!interactive) return;\n d3.select(this).classed('hover', false);\n dispatch.elementMouseout({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\")\n });\n })\n .on('mousemove', function(d,i) {\n if (!interactive) return;\n dispatch.elementMousemove({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\")\n });\n })\n .on('click', function(d,i) {\n if (!interactive) return;\n var element = this;\n dispatch.elementClick({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\"),\n event: d3.event,\n element: element\n });\n d3.event.stopPropagation();\n })\n .on('dblclick', function(d,i) {\n if (!interactive) return;\n dispatch.elementDblClick({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\")\n });\n d3.event.stopPropagation();\n });\n\n bars\n .attr('fill', function(d,i) { return color(d, i); })\n .attr('class', function(d,i,j) { return (getY(d,i) < 0 ? 'nv-bar negative' : 'nv-bar positive') + ' nv-bar-' + j + '-' + i })\n .watchTransition(renderWatch, 'bars')\n .attr('transform', function(d,i) { return 'translate(' + (x(getX(d,i)) - availableWidth / data[0].values.length * .45) + ',0)'; })\n //TODO: better width calculations that don't assume always uniform data spacing;w\n .attr('width', (availableWidth / data[0].values.length) * .9 );\n\n bars.watchTransition(renderWatch, 'bars')\n .attr('y', function(d,i) {\n var rval = getY(d,i) < 0 ?\n y(0) :\n y(0) - y(getY(d,i)) < 1 ?\n y(0) - 1 :\n y(getY(d,i));\n return nv.utils.NaNtoZero(rval);\n })\n .attr('height', function(d,i) { return nv.utils.NaNtoZero(Math.max(Math.abs(y(getY(d,i)) - y(0)),1)) });\n\n });\n\n renderWatch.renderEnd('historicalBar immediate');\n return chart;\n }\n\n //Create methods to allow outside functions to highlight a specific bar.\n chart.highlightPoint = function(pointIndex, isHoverOver) {\n container\n .select(\".nv-bars .nv-bar-0-\" + pointIndex)\n .classed(\"hover\", isHoverOver)\n ;\n };\n\n chart.clearHighlights = function() {\n container\n .select(\".nv-bars .nv-bar.hover\")\n .classed(\"hover\", false)\n ;\n };\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n forceX: {get: function(){return forceX;}, set: function(_){forceX=_;}},\n forceY: {get: function(){return forceY;}, set: function(_){forceY=_;}},\n padData: {get: function(){return padData;}, set: function(_){padData=_;}},\n x: {get: function(){return getX;}, set: function(_){getX=_;}},\n y: {get: function(){return getY;}, set: function(_){getY=_;}},\n xScale: {get: function(){return x;}, set: function(_){x=_;}},\n yScale: {get: function(){return y;}, set: function(_){y=_;}},\n xDomain: {get: function(){return xDomain;}, set: function(_){xDomain=_;}},\n yDomain: {get: function(){return yDomain;}, set: function(_){yDomain=_;}},\n xRange: {get: function(){return xRange;}, set: function(_){xRange=_;}},\n yRange: {get: function(){return yRange;}, set: function(_){yRange=_;}},\n clipEdge: {get: function(){return clipEdge;}, set: function(_){clipEdge=_;}},\n id: {get: function(){return id;}, set: function(_){id=_;}},\n interactive: {get: function(){return interactive;}, set: function(_){interactive=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n }}\n });\n\n nv.utils.initOptions(chart);\n\n return chart;\n};\n","\nnv.models.historicalBarChart = function(bar_model) {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var bars = bar_model || nv.models.historicalBar()\n , xAxis = nv.models.axis()\n , yAxis = nv.models.axis()\n , legend = nv.models.legend()\n , interactiveLayer = nv.interactiveGuideline()\n , tooltip = nv.models.tooltip()\n ;\n\n\n var margin = {top: 30, right: 90, bottom: 50, left: 90}\n , marginTop = null\n , color = nv.utils.defaultColor()\n , width = null\n , height = null\n , showLegend = false\n , showXAxis = true\n , showYAxis = true\n , rightAlignYAxis = false\n , useInteractiveGuideline = false\n , x\n , y\n , state = {}\n , defaultState = null\n , noData = null\n , dispatch = d3.dispatch('tooltipHide', 'stateChange', 'changeState', 'renderEnd')\n , transitionDuration = 250\n ;\n\n xAxis.orient('bottom').tickPadding(7);\n yAxis.orient( (rightAlignYAxis) ? 'right' : 'left');\n tooltip\n .duration(0)\n .headerEnabled(false)\n .valueFormatter(function(d, i) {\n return yAxis.tickFormat()(d, i);\n })\n .headerFormatter(function(d, i) {\n return xAxis.tickFormat()(d, i);\n });\n\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var renderWatch = nv.utils.renderWatch(dispatch, 0);\n\n function chart(selection) {\n selection.each(function(data) {\n renderWatch.reset();\n renderWatch.models(bars);\n if (showXAxis) renderWatch.models(xAxis);\n if (showYAxis) renderWatch.models(yAxis);\n\n var container = d3.select(this),\n that = this;\n nv.utils.initSVG(container);\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin);\n\n chart.update = function() { container.transition().duration(transitionDuration).call(chart) };\n chart.container = this;\n\n //set state.disabled\n state.disabled = data.map(function(d) { return !!d.disabled });\n\n if (!defaultState) {\n var key;\n defaultState = {};\n for (key in state) {\n if (state[key] instanceof Array)\n defaultState[key] = state[key].slice(0);\n else\n defaultState[key] = state[key];\n }\n }\n\n // Display noData message if there's nothing to show.\n if (!data || !data.length || !data.filter(function(d) { return d.values.length }).length) {\n nv.utils.noData(chart, container)\n return chart;\n } else {\n container.selectAll('.nv-noData').remove();\n }\n\n // Setup Scales\n x = bars.xScale();\n y = bars.yScale();\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-historicalBarChart').data([data]);\n var gEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-historicalBarChart').append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-x nv-axis');\n gEnter.append('g').attr('class', 'nv-y nv-axis');\n gEnter.append('g').attr('class', 'nv-barsWrap');\n gEnter.append('g').attr('class', 'nv-legendWrap');\n gEnter.append('g').attr('class', 'nv-interactive');\n\n // Legend\n if (!showLegend) {\n g.select('.nv-legendWrap').selectAll('*').remove();\n } else {\n legend.width(availableWidth);\n\n g.select('.nv-legendWrap')\n .datum(data)\n .call(legend);\n\n if (!marginTop && legend.height() !== margin.top) {\n margin.top = legend.height();\n availableHeight = nv.utils.availableHeight(height, container, margin);\n }\n\n wrap.select('.nv-legendWrap')\n .attr('transform', 'translate(0,' + (-margin.top) +')')\n }\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n if (rightAlignYAxis) {\n g.select(\".nv-y.nv-axis\")\n .attr(\"transform\", \"translate(\" + availableWidth + \",0)\");\n }\n\n //Set up interactive layer\n if (useInteractiveGuideline) {\n interactiveLayer\n .width(availableWidth)\n .height(availableHeight)\n .margin({left:margin.left, top:margin.top})\n .svgContainer(container)\n .xScale(x);\n wrap.select(\".nv-interactive\").call(interactiveLayer);\n }\n bars\n .width(availableWidth)\n .height(availableHeight)\n .color(data.map(function(d,i) {\n return d.color || color(d, i);\n }).filter(function(d,i) { return !data[i].disabled }));\n\n var barsWrap = g.select('.nv-barsWrap')\n .datum(data.filter(function(d) { return !d.disabled }));\n barsWrap.transition().call(bars);\n\n // Setup Axes\n if (showXAxis) {\n xAxis\n .scale(x)\n ._ticks( nv.utils.calcTicksX(availableWidth/100, data) )\n .tickSize(-availableHeight, 0);\n\n g.select('.nv-x.nv-axis')\n .attr('transform', 'translate(0,' + y.range()[0] + ')');\n g.select('.nv-x.nv-axis')\n .transition()\n .call(xAxis);\n }\n\n if (showYAxis) {\n yAxis\n .scale(y)\n ._ticks( nv.utils.calcTicksY(availableHeight/36, data) )\n .tickSize( -availableWidth, 0);\n\n g.select('.nv-y.nv-axis')\n .transition()\n .call(yAxis);\n }\n\n //============================================================\n // Event Handling/Dispatching (in chart's scope)\n //------------------------------------------------------------\n\n interactiveLayer.dispatch.on('elementMousemove', function(e) {\n bars.clearHighlights();\n\n var singlePoint, pointIndex, pointXLocation, allData = [];\n data\n .filter(function(series, i) {\n series.seriesIndex = i;\n return !series.disabled;\n })\n .forEach(function(series,i) {\n pointIndex = nv.interactiveBisect(series.values, e.pointXValue, chart.x());\n bars.highlightPoint(pointIndex,true);\n var point = series.values[pointIndex];\n if (point === undefined) return;\n if (singlePoint === undefined) singlePoint = point;\n if (pointXLocation === undefined) pointXLocation = chart.xScale()(chart.x()(point,pointIndex));\n allData.push({\n key: series.key,\n value: chart.y()(point, pointIndex),\n color: color(series,series.seriesIndex),\n data: series.values[pointIndex]\n });\n });\n\n var xValue = xAxis.tickFormat()(chart.x()(singlePoint,pointIndex));\n interactiveLayer.tooltip\n .valueFormatter(function(d,i) {\n return yAxis.tickFormat()(d);\n })\n .data({\n value: xValue,\n index: pointIndex,\n series: allData\n })();\n\n interactiveLayer.renderGuideLine(pointXLocation);\n\n });\n\n interactiveLayer.dispatch.on(\"elementMouseout\",function(e) {\n dispatch.tooltipHide();\n bars.clearHighlights();\n });\n\n legend.dispatch.on('legendClick', function(d,i) {\n d.disabled = !d.disabled;\n\n if (!data.filter(function(d) { return !d.disabled }).length) {\n data.map(function(d) {\n d.disabled = false;\n wrap.selectAll('.nv-series').classed('disabled', false);\n return d;\n });\n }\n\n state.disabled = data.map(function(d) { return !!d.disabled });\n dispatch.stateChange(state);\n\n selection.transition().call(chart);\n });\n\n legend.dispatch.on('legendDblclick', function(d) {\n //Double clicking should always enable current series, and disabled all others.\n data.forEach(function(d) {\n d.disabled = true;\n });\n d.disabled = false;\n\n state.disabled = data.map(function(d) { return !!d.disabled });\n dispatch.stateChange(state);\n chart.update();\n });\n\n dispatch.on('changeState', function(e) {\n if (typeof e.disabled !== 'undefined') {\n data.forEach(function(series,i) {\n series.disabled = e.disabled[i];\n });\n\n state.disabled = e.disabled;\n }\n\n chart.update();\n });\n });\n\n renderWatch.renderEnd('historicalBarChart immediate');\n return chart;\n }\n\n //============================================================\n // Event Handling/Dispatching (out of chart's scope)\n //------------------------------------------------------------\n\n bars.dispatch.on('elementMouseover.tooltip', function(evt) {\n evt['series'] = {\n key: chart.x()(evt.data),\n value: chart.y()(evt.data),\n color: evt.color\n };\n tooltip.data(evt).hidden(false);\n });\n\n bars.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true);\n });\n\n bars.dispatch.on('elementMousemove.tooltip', function(evt) {\n tooltip();\n });\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n // expose chart's sub-components\n chart.dispatch = dispatch;\n chart.bars = bars;\n chart.legend = legend;\n chart.xAxis = xAxis;\n chart.yAxis = yAxis;\n chart.interactiveLayer = interactiveLayer;\n chart.tooltip = tooltip;\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n showLegend: {get: function(){return showLegend;}, set: function(_){showLegend=_;}},\n showXAxis: {get: function(){return showXAxis;}, set: function(_){showXAxis=_;}},\n showYAxis: {get: function(){return showYAxis;}, set: function(_){showYAxis=_;}},\n defaultState: {get: function(){return defaultState;}, set: function(_){defaultState=_;}},\n noData: {get: function(){return noData;}, set: function(_){noData=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n if (_.top !== undefined) {\n margin.top = _.top;\n marginTop = _.top;\n }\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n legend.color(color);\n bars.color(color);\n }},\n duration: {get: function(){return transitionDuration;}, set: function(_){\n transitionDuration=_;\n renderWatch.reset(transitionDuration);\n yAxis.duration(transitionDuration);\n xAxis.duration(transitionDuration);\n }},\n rightAlignYAxis: {get: function(){return rightAlignYAxis;}, set: function(_){\n rightAlignYAxis = _;\n yAxis.orient( (_) ? 'right' : 'left');\n }},\n useInteractiveGuideline: {get: function(){return useInteractiveGuideline;}, set: function(_){\n useInteractiveGuideline = _;\n if (_ === true) {\n chart.interactive(false);\n }\n }}\n });\n\n nv.utils.inheritOptions(chart, bars);\n nv.utils.initOptions(chart);\n\n return chart;\n};\n\n\n// ohlcChart is just a historical chart with ohlc bars and some tweaks\nnv.models.ohlcBarChart = function() {\n var chart = nv.models.historicalBarChart(nv.models.ohlcBar());\n\n // special default tooltip since we show multiple values per x\n chart.useInteractiveGuideline(true);\n chart.interactiveLayer.tooltip.contentGenerator(function(data) {\n // we assume only one series exists for this chart\n var d = data.series[0].data;\n // match line colors as defined in nv.d3.css\n var color = d.open < d.close ? \"2ca02c\" : \"d62728\";\n return '' +\n '<h3 style=\"color: #' + color + '\">' + data.value + '</h3>' +\n '<table>' +\n '<tr><td>open:</td><td>' + chart.yAxis.tickFormat()(d.open) + '</td></tr>' +\n '<tr><td>close:</td><td>' + chart.yAxis.tickFormat()(d.close) + '</td></tr>' +\n '<tr><td>high</td><td>' + chart.yAxis.tickFormat()(d.high) + '</td></tr>' +\n '<tr><td>low:</td><td>' + chart.yAxis.tickFormat()(d.low) + '</td></tr>' +\n '</table>';\n });\n return chart;\n};\n\n// candlestickChart is just a historical chart with candlestick bars and some tweaks\nnv.models.candlestickBarChart = function() {\n var chart = nv.models.historicalBarChart(nv.models.candlestickBar());\n\n // special default tooltip since we show multiple values per x\n chart.useInteractiveGuideline(true);\n chart.interactiveLayer.tooltip.contentGenerator(function(data) {\n // we assume only one series exists for this chart\n var d = data.series[0].data;\n // match line colors as defined in nv.d3.css\n var color = d.open < d.close ? \"2ca02c\" : \"d62728\";\n return '' +\n '<h3 style=\"color: #' + color + '\">' + data.value + '</h3>' +\n '<table>' +\n '<tr><td>open:</td><td>' + chart.yAxis.tickFormat()(d.open) + '</td></tr>' +\n '<tr><td>close:</td><td>' + chart.yAxis.tickFormat()(d.close) + '</td></tr>' +\n '<tr><td>high</td><td>' + chart.yAxis.tickFormat()(d.high) + '</td></tr>' +\n '<tr><td>low:</td><td>' + chart.yAxis.tickFormat()(d.low) + '</td></tr>' +\n '</table>';\n });\n return chart;\n};\n","nv.models.legend = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 5, right: 0, bottom: 5, left: 0}\n , width = 400\n , height = 20\n , getKey = function(d) { return d.key }\n , keyFormatter = function (d) { return d }\n , color = nv.utils.getColor()\n , maxKeyLength = 20 //default value for key lengths\n , align = true\n , padding = 32 //define how much space between legend items. - recommend 32 for furious version\n , rightAlign = true\n , updateState = true //If true, legend will update data.disabled and trigger a 'stateChange' dispatch.\n , enableDoubleClick = true //If true, legend will enable double click handling\n , radioButtonMode = false //If true, clicking legend items will cause it to behave like a radio button. (only one can be selected at a time)\n , expanded = false\n , dispatch = d3.dispatch('legendClick', 'legendDblclick', 'legendMouseover', 'legendMouseout', 'stateChange')\n , vers = 'classic' //Options are \"classic\" and \"furious\"\n ;\n\n function chart(selection) {\n selection.each(function(data) {\n var availableWidth = width - margin.left - margin.right,\n container = d3.select(this);\n nv.utils.initSVG(container);\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-legend').data([data]);\n var gEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-legend').append('g');\n var g = wrap.select('g');\n\n if (rightAlign)\n wrap.attr('transform', 'translate(' + (- margin.right) + ',' + margin.top + ')');\n else\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n var series = g.selectAll('.nv-series')\n .data(function(d) {\n if(vers != 'furious') return d;\n\n return d.filter(function(n) {\n return expanded ? true : !n.disengaged;\n });\n });\n\n var seriesEnter = series.enter().append('g').attr('class', 'nv-series');\n var seriesShape;\n\n var versPadding;\n switch(vers) {\n case 'furious' :\n versPadding = 23;\n break;\n case 'classic' :\n versPadding = 20;\n }\n\n if(vers == 'classic') {\n seriesEnter.append('circle')\n .style('stroke-width', 2)\n .attr('class','nv-legend-symbol')\n .attr('r', 5);\n\n seriesShape = series.select('.nv-legend-symbol');\n } else if (vers == 'furious') {\n seriesEnter.append('rect')\n .style('stroke-width', 2)\n .attr('class','nv-legend-symbol')\n .attr('rx', 3)\n .attr('ry', 3);\n seriesShape = series.select('.nv-legend-symbol');\n\n seriesEnter.append('g')\n .attr('class', 'nv-check-box')\n .property('innerHTML','<path d=\"M0.5,5 L22.5,5 L22.5,26.5 L0.5,26.5 L0.5,5 Z\" class=\"nv-box\"></path><path d=\"M5.5,12.8618467 L11.9185089,19.2803556 L31,0.198864511\" class=\"nv-check\"></path>')\n .attr('transform', 'translate(-10,-8)scale(0.5)');\n\n var seriesCheckbox = series.select('.nv-check-box');\n\n seriesCheckbox.each(function(d,i) {\n d3.select(this).selectAll('path')\n .attr('stroke', setTextColor(d,i));\n });\n }\n\n seriesEnter.append('text')\n .attr('text-anchor', 'start')\n .attr('class','nv-legend-text')\n .attr('dy', '.32em')\n .attr('dx', '8');\n\n var seriesText = series.select('text.nv-legend-text');\n\n series\n .on('mouseover', function(d,i) {\n dispatch.legendMouseover(d,i); //TODO: Make consistent with other event objects\n })\n .on('mouseout', function(d,i) {\n dispatch.legendMouseout(d,i);\n })\n .on('click', function(d,i) {\n dispatch.legendClick(d,i);\n // make sure we re-get data in case it was modified\n var data = series.data();\n if (updateState) {\n if(vers =='classic') {\n if (radioButtonMode) {\n //Radio button mode: set every series to disabled,\n // and enable the clicked series.\n data.forEach(function(series) { series.disabled = true});\n d.disabled = false;\n }\n else {\n d.disabled = !d.disabled;\n if (data.every(function(series) { return series.disabled})) {\n //the default behavior of NVD3 legends is, if every single series\n // is disabled, turn all series' back on.\n data.forEach(function(series) { series.disabled = false});\n }\n }\n } else if(vers == 'furious') {\n if(expanded) {\n d.disengaged = !d.disengaged;\n d.userDisabled = d.userDisabled == undefined ? !!d.disabled : d.userDisabled;\n d.disabled = d.disengaged || d.userDisabled;\n } else if (!expanded) {\n d.disabled = !d.disabled;\n d.userDisabled = d.disabled;\n var engaged = data.filter(function(d) { return !d.disengaged; });\n if (engaged.every(function(series) { return series.userDisabled })) {\n //the default behavior of NVD3 legends is, if every single series\n // is disabled, turn all series' back on.\n data.forEach(function(series) {\n series.disabled = series.userDisabled = false;\n });\n }\n }\n }\n dispatch.stateChange({\n disabled: data.map(function(d) { return !!d.disabled }),\n disengaged: data.map(function(d) { return !!d.disengaged })\n });\n\n }\n })\n .on('dblclick', function(d,i) {\n if (enableDoubleClick) {\n if (vers == 'furious' && expanded) return;\n dispatch.legendDblclick(d, i);\n if (updateState) {\n // make sure we re-get data in case it was modified\n var data = series.data();\n //the default behavior of NVD3 legends, when double clicking one,\n // is to set all other series' to false, and make the double clicked series enabled.\n data.forEach(function (series) {\n series.disabled = true;\n if (vers == 'furious') series.userDisabled = series.disabled;\n });\n d.disabled = false;\n if (vers == 'furious') d.userDisabled = d.disabled;\n dispatch.stateChange({\n disabled: data.map(function (d) {\n return !!d.disabled\n })\n });\n }\n }\n });\n\n series.classed('nv-disabled', function(d) { return d.userDisabled });\n series.exit().remove();\n\n seriesText\n .attr('fill', setTextColor)\n .text(function (d) { return keyFormatter(getKey(d)) });\n\n //TODO: implement fixed-width and max-width options (max-width is especially useful with the align option)\n // NEW ALIGNING CODE, TODO: clean up\n var legendWidth = 0;\n if (align) {\n\n var seriesWidths = [];\n series.each(function(d,i) {\n var legendText;\n if (keyFormatter(getKey(d)) && keyFormatter(getKey(d)).length > maxKeyLength) {\n var trimmedKey = keyFormatter(getKey(d)).substring(0, maxKeyLength);\n legendText = d3.select(this).select('text').text(trimmedKey + \"...\");\n d3.select(this).append(\"svg:title\").text(keyFormatter(getKey(d)));\n } else {\n legendText = d3.select(this).select('text');\n }\n var nodeTextLength;\n try {\n nodeTextLength = legendText.node().getComputedTextLength();\n // If the legendText is display:none'd (nodeTextLength == 0), simulate an error so we approximate, instead\n if(nodeTextLength <= 0) throw Error();\n }\n catch(e) {\n nodeTextLength = nv.utils.calcApproxTextWidth(legendText);\n }\n\n seriesWidths.push(nodeTextLength + padding);\n });\n\n var seriesPerRow = 0;\n var columnWidths = [];\n legendWidth = 0;\n\n while ( legendWidth < availableWidth && seriesPerRow < seriesWidths.length) {\n columnWidths[seriesPerRow] = seriesWidths[seriesPerRow];\n legendWidth += seriesWidths[seriesPerRow++];\n }\n if (seriesPerRow === 0) seriesPerRow = 1; //minimum of one series per row\n\n while ( legendWidth > availableWidth && seriesPerRow > 1 ) {\n columnWidths = [];\n seriesPerRow--;\n\n for (var k = 0; k < seriesWidths.length; k++) {\n if (seriesWidths[k] > (columnWidths[k % seriesPerRow] || 0) )\n columnWidths[k % seriesPerRow] = seriesWidths[k];\n }\n\n legendWidth = columnWidths.reduce(function(prev, cur, index, array) {\n return prev + cur;\n });\n }\n\n var xPositions = [];\n for (var i = 0, curX = 0; i < seriesPerRow; i++) {\n xPositions[i] = curX;\n curX += columnWidths[i];\n }\n\n series\n .attr('transform', function(d, i) {\n return 'translate(' + xPositions[i % seriesPerRow] + ',' + (5 + Math.floor(i / seriesPerRow) * versPadding) + ')';\n });\n\n //position legend as far right as possible within the total width\n if (rightAlign) {\n g.attr('transform', 'translate(' + (width - margin.right - legendWidth) + ',' + margin.top + ')');\n }\n else {\n g.attr('transform', 'translate(0' + ',' + margin.top + ')');\n }\n\n height = margin.top + margin.bottom + (Math.ceil(seriesWidths.length / seriesPerRow) * versPadding);\n\n } else {\n\n var ypos = 5,\n newxpos = 5,\n maxwidth = 0,\n xpos;\n series\n .attr('transform', function(d, i) {\n var length = d3.select(this).select('text').node().getComputedTextLength() + padding;\n xpos = newxpos;\n\n if (width < margin.left + margin.right + xpos + length) {\n newxpos = xpos = 5;\n ypos += versPadding;\n }\n\n newxpos += length;\n if (newxpos > maxwidth) maxwidth = newxpos;\n\n if(legendWidth < xpos + maxwidth) {\n legendWidth = xpos + maxwidth;\n }\n return 'translate(' + xpos + ',' + ypos + ')';\n });\n\n //position legend as far right as possible within the total width\n g.attr('transform', 'translate(' + (width - margin.right - maxwidth) + ',' + margin.top + ')');\n\n height = margin.top + margin.bottom + ypos + 15;\n }\n\n if(vers == 'furious') {\n // Size rectangles after text is placed\n seriesShape\n .attr('width', function(d,i) {\n return seriesText[0][i].getComputedTextLength() + 27;\n })\n .attr('height', 18)\n .attr('y', -9)\n .attr('x', -15);\n\n // The background for the expanded legend (UI)\n gEnter.insert('rect',':first-child')\n .attr('class', 'nv-legend-bg')\n .attr('fill', '#eee')\n // .attr('stroke', '#444')\n .attr('opacity',0);\n\n var seriesBG = g.select('.nv-legend-bg');\n\n seriesBG\n .transition().duration(300)\n .attr('x', -versPadding )\n .attr('width', legendWidth + versPadding - 12)\n .attr('height', height + 10)\n .attr('y', -margin.top - 10)\n .attr('opacity', expanded ? 1 : 0);\n\n\n }\n\n seriesShape\n .style('fill', setBGColor)\n .style('fill-opacity', setBGOpacity)\n .style('stroke', setBGColor);\n });\n\n function setTextColor(d,i) {\n if(vers != 'furious') return '#000';\n if(expanded) {\n return d.disengaged ? '#000' : '#fff';\n } else if (!expanded) {\n if(!d.color) d.color = color(d,i);\n return !!d.disabled ? d.color : '#fff';\n }\n }\n\n function setBGColor(d,i) {\n if(expanded && vers == 'furious') {\n return d.disengaged ? '#eee' : d.color || color(d,i);\n } else {\n return d.color || color(d,i);\n }\n }\n\n\n function setBGOpacity(d,i) {\n if(expanded && vers == 'furious') {\n return 1;\n } else {\n return !!d.disabled ? 0 : 1;\n }\n }\n\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n key: {get: function(){return getKey;}, set: function(_){getKey=_;}},\n keyFormatter: {get: function(){return keyFormatter;}, set: function(_){keyFormatter=_;}},\n align: {get: function(){return align;}, set: function(_){align=_;}},\n maxKeyLength: {get: function(){return maxKeyLength;}, set: function(_){maxKeyLength=_;}},\n rightAlign: {get: function(){return rightAlign;}, set: function(_){rightAlign=_;}},\n padding: {get: function(){return padding;}, set: function(_){padding=_;}},\n updateState: {get: function(){return updateState;}, set: function(_){updateState=_;}},\n enableDoubleClick: {get: function(){return enableDoubleClick;}, set: function(_){enableDoubleClick=_;}},\n radioButtonMode:{get: function(){return radioButtonMode;}, set: function(_){radioButtonMode=_;}},\n expanded: {get: function(){return expanded;}, set: function(_){expanded=_;}},\n vers: {get: function(){return vers;}, set: function(_){vers=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n }}\n });\n\n nv.utils.initOptions(chart);\n\n return chart;\n};\n","\nnv.models.line = function() {\n \"use strict\";\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var scatter = nv.models.scatter()\n ;\n\n var margin = {top: 0, right: 0, bottom: 0, left: 0}\n , width = 960\n , height = 500\n , container = null\n , strokeWidth = 1.5\n , color = nv.utils.defaultColor() // a function that returns a color\n , getX = function(d) { return d.x } // accessor to get the x value from a data point\n , getY = function(d) { return d.y } // accessor to get the y value from a data point\n , defined = function(d,i) { return !isNaN(getY(d,i)) && getY(d,i) !== null } // allows a line to be not continuous when it is not defined\n , isArea = function(d) { return d.area } // decides if a line is an area or just a line\n , clipEdge = false // if true, masks lines within x and y scale\n , x //can be accessed via chart.xScale()\n , y //can be accessed via chart.yScale()\n , interpolate = \"linear\" // controls the line interpolation\n , duration = 250\n , dispatch = d3.dispatch('elementClick', 'elementMouseover', 'elementMouseout', 'renderEnd')\n ;\n\n scatter\n .pointSize(16) // default size\n .pointDomain([16,256]) //set to speed up calculation, needs to be unset if there is a custom size accessor\n ;\n\n //============================================================\n\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var x0, y0 //used to store previous scales\n , renderWatch = nv.utils.renderWatch(dispatch, duration)\n ;\n\n //============================================================\n\n\n function chart(selection) {\n renderWatch.reset();\n renderWatch.models(scatter);\n selection.each(function(data) {\n container = d3.select(this);\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin);\n nv.utils.initSVG(container);\n\n // Setup Scales\n x = scatter.xScale();\n y = scatter.yScale();\n\n x0 = x0 || x;\n y0 = y0 || y;\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-line').data([data]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-line');\n var defsEnter = wrapEnter.append('defs');\n var gEnter = wrapEnter.append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-groups');\n gEnter.append('g').attr('class', 'nv-scatterWrap');\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n scatter\n .width(availableWidth)\n .height(availableHeight);\n\n var scatterWrap = wrap.select('.nv-scatterWrap');\n scatterWrap.call(scatter);\n\n defsEnter.append('clipPath')\n .attr('id', 'nv-edge-clip-' + scatter.id())\n .append('rect');\n\n wrap.select('#nv-edge-clip-' + scatter.id() + ' rect')\n .attr('width', availableWidth)\n .attr('height', (availableHeight > 0) ? availableHeight : 0);\n\n g .attr('clip-path', clipEdge ? 'url(#nv-edge-clip-' + scatter.id() + ')' : '');\n scatterWrap\n .attr('clip-path', clipEdge ? 'url(#nv-edge-clip-' + scatter.id() + ')' : '');\n\n var groups = wrap.select('.nv-groups').selectAll('.nv-group')\n .data(function(d) { return d }, function(d) { return d.key });\n groups.enter().append('g')\n .style('stroke-opacity', 1e-6)\n .style('stroke-width', function(d) { return d.strokeWidth || strokeWidth })\n .style('fill-opacity', 1e-6);\n\n groups.exit().remove();\n\n groups\n .attr('class', function(d,i) {\n return (d.classed || '') + ' nv-group nv-series-' + i;\n })\n .classed('hover', function(d) { return d.hover })\n .style('fill', function(d,i){ return color(d, i) })\n .style('stroke', function(d,i){ return color(d, i)});\n groups.watchTransition(renderWatch, 'line: groups')\n .style('stroke-opacity', 1)\n .style('fill-opacity', function(d) { return d.fillOpacity || .5});\n\n var areaPaths = groups.selectAll('path.nv-area')\n .data(function(d) { return isArea(d) ? [d] : [] }); // this is done differently than lines because I need to check if series is an area\n areaPaths.enter().append('path')\n .attr('class', 'nv-area')\n .attr('d', function(d) {\n return d3.svg.area()\n .interpolate(interpolate)\n .defined(defined)\n .x(function(d,i) { return nv.utils.NaNtoZero(x0(getX(d,i))) })\n .y0(function(d,i) { return nv.utils.NaNtoZero(y0(getY(d,i))) })\n .y1(function(d,i) { return y0( y.domain()[0] <= 0 ? y.domain()[1] >= 0 ? 0 : y.domain()[1] : y.domain()[0] ) })\n //.y1(function(d,i) { return y0(0) }) //assuming 0 is within y domain.. may need to tweak this\n .apply(this, [d.values])\n });\n groups.exit().selectAll('path.nv-area')\n .remove();\n\n areaPaths.watchTransition(renderWatch, 'line: areaPaths')\n .attr('d', function(d) {\n return d3.svg.area()\n .interpolate(interpolate)\n .defined(defined)\n .x(function(d,i) { return nv.utils.NaNtoZero(x(getX(d,i))) })\n .y0(function(d,i) { return nv.utils.NaNtoZero(y(getY(d,i))) })\n .y1(function(d,i) { return y( y.domain()[0] <= 0 ? y.domain()[1] >= 0 ? 0 : y.domain()[1] : y.domain()[0] ) })\n //.y1(function(d,i) { return y0(0) }) //assuming 0 is within y domain.. may need to tweak this\n .apply(this, [d.values])\n });\n\n var linePaths = groups.selectAll('path.nv-line')\n .data(function(d) { return [d.values] });\n\n linePaths.enter().append('path')\n .attr('class', 'nv-line')\n .attr('d',\n d3.svg.line()\n .interpolate(interpolate)\n .defined(defined)\n .x(function(d,i) { return nv.utils.NaNtoZero(x0(getX(d,i))) })\n .y(function(d,i) { return nv.utils.NaNtoZero(y0(getY(d,i))) })\n );\n\n linePaths.watchTransition(renderWatch, 'line: linePaths')\n .attr('d',\n d3.svg.line()\n .interpolate(interpolate)\n .defined(defined)\n .x(function(d,i) { return nv.utils.NaNtoZero(x(getX(d,i))) })\n .y(function(d,i) { return nv.utils.NaNtoZero(y(getY(d,i))) })\n );\n\n //store old scales for use in transitions on update\n x0 = x.copy();\n y0 = y.copy();\n });\n renderWatch.renderEnd('line immediate');\n return chart;\n }\n\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.scatter = scatter;\n // Pass through events\n scatter.dispatch.on('elementClick', function(){ dispatch.elementClick.apply(this, arguments); });\n scatter.dispatch.on('elementMouseover', function(){ dispatch.elementMouseover.apply(this, arguments); });\n scatter.dispatch.on('elementMouseout', function(){ dispatch.elementMouseout.apply(this, arguments); });\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n defined: {get: function(){return defined;}, set: function(_){defined=_;}},\n interpolate: {get: function(){return interpolate;}, set: function(_){interpolate=_;}},\n clipEdge: {get: function(){return clipEdge;}, set: function(_){clipEdge=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n scatter.duration(duration);\n }},\n isArea: {get: function(){return isArea;}, set: function(_){\n isArea = d3.functor(_);\n }},\n x: {get: function(){return getX;}, set: function(_){\n getX = _;\n scatter.x(_);\n }},\n y: {get: function(){return getY;}, set: function(_){\n getY = _;\n scatter.y(_);\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n scatter.color(color);\n }}\n });\n\n nv.utils.inheritOptions(chart, scatter);\n nv.utils.initOptions(chart);\n\n return chart;\n};\n","nv.models.lineChart = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var lines = nv.models.line()\n , xAxis = nv.models.axis()\n , yAxis = nv.models.axis()\n , legend = nv.models.legend()\n , interactiveLayer = nv.interactiveGuideline()\n , tooltip = nv.models.tooltip()\n , focus = nv.models.focus(nv.models.line())\n ;\n\n var margin = {top: 30, right: 20, bottom: 50, left: 60}\n , marginTop = null\n , color = nv.utils.defaultColor()\n , width = null\n , height = null\n , showLegend = true\n , legendPosition = 'top'\n , showXAxis = true\n , showYAxis = true\n , rightAlignYAxis = false\n , useInteractiveGuideline = false\n , x\n , y\n , focusEnable = false\n , state = nv.utils.state()\n , defaultState = null\n , noData = null\n , dispatch = d3.dispatch('stateChange', 'changeState', 'renderEnd')\n , duration = 250\n ;\n\n // set options on sub-objects for this chart\n xAxis.orient('bottom').tickPadding(7);\n yAxis.orient(rightAlignYAxis ? 'right' : 'left');\n\n lines.clipEdge(true).duration(0);\n\n tooltip.valueFormatter(function(d, i) {\n return yAxis.tickFormat()(d, i);\n }).headerFormatter(function(d, i) {\n return xAxis.tickFormat()(d, i);\n });\n\n interactiveLayer.tooltip.valueFormatter(function(d, i) {\n return yAxis.tickFormat()(d, i);\n }).headerFormatter(function(d, i) {\n return xAxis.tickFormat()(d, i);\n });\n\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var renderWatch = nv.utils.renderWatch(dispatch, duration);\n\n var stateGetter = function(data) {\n return function(){\n return {\n active: data.map(function(d) { return !d.disabled; })\n };\n };\n };\n\n var stateSetter = function(data) {\n return function(state) {\n if (state.active !== undefined)\n data.forEach(function(series,i) {\n series.disabled = !state.active[i];\n });\n };\n };\n\n function chart(selection) {\n renderWatch.reset();\n renderWatch.models(lines);\n if (showXAxis) renderWatch.models(xAxis);\n if (showYAxis) renderWatch.models(yAxis);\n\n selection.each(function(data) {\n var container = d3.select(this);\n nv.utils.initSVG(container);\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin) - (focusEnable ? focus.height() : 0);\n chart.update = function() {\n if( duration === 0 ) {\n container.call( chart );\n } else {\n container.transition().duration(duration).call(chart);\n }\n };\n chart.container = this;\n\n state\n .setter(stateSetter(data), chart.update)\n .getter(stateGetter(data))\n .update();\n\n // DEPRECATED set state.disabled\n state.disabled = data.map(function(d) { return !!d.disabled; });\n\n if (!defaultState) {\n var key;\n defaultState = {};\n for (key in state) {\n if (state[key] instanceof Array)\n defaultState[key] = state[key].slice(0);\n else\n defaultState[key] = state[key];\n }\n }\n\n // Display noData message if there's nothing to show.\n if (!data || !data.length || !data.filter(function(d) { return d.values.length; }).length) {\n nv.utils.noData(chart, container);\n return chart;\n } else {\n container.selectAll('.nv-noData').remove();\n }\n\n /* Update `main' graph on brush update. */\n focus.dispatch.on(\"onBrush\", function(extent) {\n onBrush(extent);\n });\n\n // Setup Scales\n x = lines.xScale();\n y = lines.yScale();\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-lineChart').data([data]);\n var gEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-lineChart').append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-legendWrap');\n\n var focusEnter = gEnter.append('g').attr('class', 'nv-focus');\n focusEnter.append('g').attr('class', 'nv-background').append('rect');\n focusEnter.append('g').attr('class', 'nv-x nv-axis');\n focusEnter.append('g').attr('class', 'nv-y nv-axis');\n focusEnter.append('g').attr('class', 'nv-linesWrap');\n focusEnter.append('g').attr('class', 'nv-interactive');\n\n var contextEnter = gEnter.append('g').attr('class', 'nv-focusWrap');\n\n // Legend\n if (!showLegend) {\n g.select('.nv-legendWrap').selectAll('*').remove();\n } else {\n legend.width(availableWidth);\n\n g.select('.nv-legendWrap')\n .datum(data)\n .call(legend);\n\n if (legendPosition === 'bottom') {\n margin.bottom = xAxis.height() + legend.height();\n availableHeight = nv.utils.availableHeight(height, container, margin);\n g.select('.nv-legendWrap')\n .attr('transform', 'translate(0,' + (availableHeight + xAxis.height()) +')');\n } else if (legendPosition === 'top') {\n if (!marginTop && legend.height() !== margin.top) {\n margin.top = legend.height();\n availableHeight = nv.utils.availableHeight(height, container, margin) - (focusEnable ? focus.height() : 0);\n }\n\n wrap.select('.nv-legendWrap')\n .attr('transform', 'translate(0,' + (-margin.top) +')');\n }\n }\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n if (rightAlignYAxis) {\n g.select(\".nv-y.nv-axis\")\n .attr(\"transform\", \"translate(\" + availableWidth + \",0)\");\n }\n\n //Set up interactive layer\n if (useInteractiveGuideline) {\n interactiveLayer\n .width(availableWidth)\n .height(availableHeight)\n .margin({left:margin.left, top:margin.top})\n .svgContainer(container)\n .xScale(x);\n wrap.select(\".nv-interactive\").call(interactiveLayer);\n }\n\n g.select('.nv-focus .nv-background rect')\n .attr('width', availableWidth)\n .attr('height', availableHeight);\n\n lines\n .width(availableWidth)\n .height(availableHeight)\n .color(data.map(function(d,i) {\n return d.color || color(d, i);\n }).filter(function(d,i) { return !data[i].disabled; }));\n\n var linesWrap = g.select('.nv-linesWrap')\n .datum(data.filter(function(d) { return !d.disabled; }));\n\n\n // Setup Main (Focus) Axes\n if (showXAxis) {\n xAxis\n .scale(x)\n ._ticks(nv.utils.calcTicksX(availableWidth/100, data) )\n .tickSize(-availableHeight, 0);\n }\n\n if (showYAxis) {\n yAxis\n .scale(y)\n ._ticks( nv.utils.calcTicksY(availableHeight/36, data) )\n .tickSize( -availableWidth, 0);\n }\n\n //============================================================\n // Update Axes\n //============================================================\n function updateXAxis() {\n if(showXAxis) {\n g.select('.nv-focus .nv-x.nv-axis')\n .transition()\n .duration(duration)\n .call(xAxis)\n ;\n }\n }\n\n function updateYAxis() {\n if(showYAxis) {\n g.select('.nv-focus .nv-y.nv-axis')\n .transition()\n .duration(duration)\n .call(yAxis)\n ;\n }\n }\n\n g.select('.nv-focus .nv-x.nv-axis')\n .attr('transform', 'translate(0,' + availableHeight + ')');\n\n //============================================================\n // Update Focus\n //============================================================\n if (!focusEnable && focus.brush.extent() === null) {\n linesWrap.transition().call(lines);\n updateXAxis();\n updateYAxis();\n } else {\n focus.width(availableWidth);\n g.select('.nv-focusWrap')\n .style('display', focusEnable ? 'initial' : 'none')\n .attr('transform', 'translate(0,' + ( availableHeight + margin.bottom + focus.margin().top) + ')')\n .call(focus);\n var extent = focus.brush.empty() ? focus.xDomain() : focus.brush.extent();\n if (extent !== null) {\n onBrush(extent);\n }\n }\n //============================================================\n // Event Handling/Dispatching (in chart's scope)\n //------------------------------------------------------------\n\n legend.dispatch.on('stateChange', function(newState) {\n for (var key in newState)\n state[key] = newState[key];\n dispatch.stateChange(state);\n chart.update();\n });\n\n interactiveLayer.dispatch.on('elementMousemove', function(e) {\n lines.clearHighlights();\n var singlePoint, pointIndex, pointXLocation, allData = [];\n data\n .filter(function(series, i) {\n series.seriesIndex = i;\n return !series.disabled && !series.disableTooltip;\n })\n .forEach(function(series,i) {\n var extent = focus.brush.extent() !== null ? (focus.brush.empty() ? focus.xScale().domain() : focus.brush.extent()) : x.domain();\n var currentValues = series.values.filter(function(d,i) {\n // Checks if the x point is between the extents, handling case where extent[0] is greater than extent[1]\n // (e.g. x domain is manually set to reverse the x-axis)\n if(extent[0] <= extent[1]) {\n return lines.x()(d,i) >= extent[0] && lines.x()(d,i) <= extent[1];\n } else {\n return lines.x()(d,i) >= extent[1] && lines.x()(d,i) <= extent[0];\n }\n });\n\n if (currentValues.length > 0) {\n pointIndex = nv.interactiveBisect(currentValues, e.pointXValue, lines.x());\n var point = currentValues[pointIndex];\n var pointYValue = chart.y()(point, pointIndex);\n if (pointYValue !== null) {\n lines.highlightPoint(i, series.values.indexOf(point), true);\n }\n if (point === undefined) return;\n if (singlePoint === undefined) singlePoint = point;\n if (pointXLocation === undefined) pointXLocation = chart.xScale()(chart.x()(point,pointIndex));\n allData.push({\n key: series.key,\n value: pointYValue,\n color: color(series,series.seriesIndex),\n data: point\n });\n }\n });\n //Highlight the tooltip entry based on which point the mouse is closest to.\n if (allData.length > 2) {\n var yValue = chart.yScale().invert(e.mouseY);\n var domainExtent = Math.abs(chart.yScale().domain()[0] - chart.yScale().domain()[1]);\n var threshold = 0.03 * domainExtent;\n var indexToHighlight = nv.nearestValueIndex(allData.map(function(d){return d.value;}),yValue,threshold);\n if (indexToHighlight !== null)\n allData[indexToHighlight].highlight = true;\n }\n\n var defaultValueFormatter = function(d,i) {\n return d == null ? \"N/A\" : yAxis.tickFormat()(d);\n };\n\n if (typeof pointIndex !== 'undefined') {\n interactiveLayer.tooltip\n .valueFormatter(interactiveLayer.tooltip.valueFormatter() || defaultValueFormatter)\n .data({\n value: chart.x()( singlePoint,pointIndex ),\n index: pointIndex,\n series: allData\n })();\n\n interactiveLayer.renderGuideLine(pointXLocation);\n }\n });\n\n interactiveLayer.dispatch.on('elementClick', function(e) {\n var pointXLocation, allData = [];\n\n data.filter(function(series, i) {\n series.seriesIndex = i;\n return !series.disabled;\n }).forEach(function(series) {\n var pointIndex = nv.interactiveBisect(series.values, e.pointXValue, chart.x());\n var point = series.values[pointIndex];\n if (typeof point === 'undefined') return;\n if (typeof pointXLocation === 'undefined') pointXLocation = chart.xScale()(chart.x()(point,pointIndex));\n var yPos = chart.yScale()(chart.y()(point,pointIndex));\n allData.push({\n point: point,\n pointIndex: pointIndex,\n pos: [pointXLocation, yPos],\n seriesIndex: series.seriesIndex,\n series: series\n });\n });\n\n lines.dispatch.elementClick(allData);\n });\n\n interactiveLayer.dispatch.on(\"elementMouseout\",function(e) {\n lines.clearHighlights();\n });\n\n dispatch.on('changeState', function(e) {\n if (typeof e.disabled !== 'undefined' && data.length === e.disabled.length) {\n data.forEach(function(series,i) {\n series.disabled = e.disabled[i];\n });\n\n state.disabled = e.disabled;\n }\n chart.update();\n });\n\n //============================================================\n // Functions\n //------------------------------------------------------------\n\n // Taken from crossfilter (http://square.github.com/crossfilter/)\n function resizePath(d) {\n var e = +(d == 'e'),\n x = e ? 1 : -1,\n y = availableHeight / 3;\n return 'M' + (0.5 * x) + ',' + y\n + 'A6,6 0 0 ' + e + ' ' + (6.5 * x) + ',' + (y + 6)\n + 'V' + (2 * y - 6)\n + 'A6,6 0 0 ' + e + ' ' + (0.5 * x) + ',' + (2 * y)\n + 'Z'\n + 'M' + (2.5 * x) + ',' + (y + 8)\n + 'V' + (2 * y - 8)\n + 'M' + (4.5 * x) + ',' + (y + 8)\n + 'V' + (2 * y - 8);\n }\n\n function onBrush(extent) {\n // Update Main (Focus)\n var focusLinesWrap = g.select('.nv-focus .nv-linesWrap')\n .datum(\n data.filter(function(d) { return !d.disabled; })\n .map(function(d,i) {\n return {\n key: d.key,\n area: d.area,\n classed: d.classed,\n values: d.values.filter(function(d,i) {\n return lines.x()(d,i) >= extent[0] && lines.x()(d,i) <= extent[1];\n }),\n disableTooltip: d.disableTooltip\n };\n })\n );\n focusLinesWrap.transition().duration(duration).call(lines);\n\n // Update Main (Focus) Axes\n updateXAxis();\n updateYAxis();\n }\n });\n\n renderWatch.renderEnd('lineChart immediate');\n return chart;\n }\n\n\n //============================================================\n // Event Handling/Dispatching (out of chart's scope)\n //------------------------------------------------------------\n\n lines.dispatch.on('elementMouseover.tooltip', function(evt) {\n if(!evt.series.disableTooltip){\n tooltip.data(evt).hidden(false);\n }\n });\n\n lines.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true);\n });\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n // expose chart's sub-components\n chart.dispatch = dispatch;\n chart.lines = lines;\n chart.legend = legend;\n chart.focus = focus;\n chart.xAxis = xAxis;\n chart.x2Axis = focus.xAxis\n chart.yAxis = yAxis;\n chart.y2Axis = focus.yAxis\n chart.interactiveLayer = interactiveLayer;\n chart.tooltip = tooltip;\n chart.state = state;\n chart.dispatch = dispatch;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n showLegend: {get: function(){return showLegend;}, set: function(_){showLegend=_;}},\n legendPosition: {get: function(){return legendPosition;}, set: function(_){legendPosition=_;}},\n showXAxis: {get: function(){return showXAxis;}, set: function(_){showXAxis=_;}},\n showYAxis: {get: function(){return showYAxis;}, set: function(_){showYAxis=_;}},\n defaultState: {get: function(){return defaultState;}, set: function(_){defaultState=_;}},\n noData: {get: function(){return noData;}, set: function(_){noData=_;}},\n // Focus options, mostly passed onto focus model.\n focusEnable: {get: function(){return focusEnable;}, set: function(_){focusEnable=_;}},\n focusHeight: {get: function(){return focus.height();}, set: function(_){focus.height(_);}},\n focusShowAxisX: {get: function(){return focus.showXAxis();}, set: function(_){focus.showXAxis(_);}},\n focusShowAxisY: {get: function(){return focus.showYAxis();}, set: function(_){focus.showYAxis(_);}},\n brushExtent: {get: function(){return focus.brushExtent();}, set: function(_){focus.brushExtent(_);}},\n\n // options that require extra logic in the setter\n focusMargin: {get: function(){return focus.margin}, set: function(_){\n if (_.top !== undefined) {\n margin.top = _.top;\n marginTop = _.top;\n }\n focus.margin.right = _.right !== undefined ? _.right : focus.margin.right;\n focus.margin.bottom = _.bottom !== undefined ? _.bottom : focus.margin.bottom;\n focus.margin.left = _.left !== undefined ? _.left : focus.margin.left;\n }},\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n lines.duration(duration);\n focus.duration(duration);\n xAxis.duration(duration);\n yAxis.duration(duration);\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n legend.color(color);\n lines.color(color);\n focus.color(color);\n }},\n interpolate: {get: function(){return lines.interpolate();}, set: function(_){\n lines.interpolate(_);\n focus.interpolate(_);\n }},\n xTickFormat: {get: function(){return xAxis.tickFormat();}, set: function(_){\n xAxis.tickFormat(_);\n focus.xTickFormat(_);\n }},\n yTickFormat: {get: function(){return yAxis.tickFormat();}, set: function(_){\n yAxis.tickFormat(_);\n focus.yTickFormat(_);\n }},\n x: {get: function(){return lines.x();}, set: function(_){\n lines.x(_);\n focus.x(_);\n }},\n y: {get: function(){return lines.y();}, set: function(_){\n lines.y(_);\n focus.y(_);\n }},\n rightAlignYAxis: {get: function(){return rightAlignYAxis;}, set: function(_){\n rightAlignYAxis = _;\n yAxis.orient( rightAlignYAxis ? 'right' : 'left');\n }},\n useInteractiveGuideline: {get: function(){return useInteractiveGuideline;}, set: function(_){\n useInteractiveGuideline = _;\n if (useInteractiveGuideline) {\n lines.interactive(false);\n lines.useVoronoi(false);\n }\n }}\n });\n\n nv.utils.inheritOptions(chart, lines);\n nv.utils.initOptions(chart);\n\n return chart;\n};\n\nnv.models.lineWithFocusChart = function() {\n return nv.models.lineChart()\n .margin({ bottom: 30 })\n .focusEnable( true );\n};\n","nv.models.linePlusBarChart = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var lines = nv.models.line()\n , lines2 = nv.models.line()\n , bars = nv.models.historicalBar()\n , bars2 = nv.models.historicalBar()\n , xAxis = nv.models.axis()\n , x2Axis = nv.models.axis()\n , y1Axis = nv.models.axis()\n , y2Axis = nv.models.axis()\n , y3Axis = nv.models.axis()\n , y4Axis = nv.models.axis()\n , legend = nv.models.legend()\n , brush = d3.svg.brush()\n , tooltip = nv.models.tooltip()\n ;\n\n var margin = {top: 30, right: 30, bottom: 30, left: 60}\n , marginTop = null\n , margin2 = {top: 0, right: 30, bottom: 20, left: 60}\n , width = null\n , height = null\n , getX = function(d) { return d.x }\n , getY = function(d) { return d.y }\n , color = nv.utils.defaultColor()\n , showLegend = true\n , focusEnable = true\n , focusShowAxisY = false\n , focusShowAxisX = true\n , focusHeight = 50\n , extent\n , brushExtent = null\n , x\n , x2\n , y1\n , y2\n , y3\n , y4\n , noData = null\n , dispatch = d3.dispatch('brush', 'stateChange', 'changeState')\n , transitionDuration = 0\n , state = nv.utils.state()\n , defaultState = null\n , legendLeftAxisHint = ' (left axis)'\n , legendRightAxisHint = ' (right axis)'\n , switchYAxisOrder = false\n ;\n\n lines.clipEdge(true);\n lines2.interactive(false);\n // We don't want any points emitted for the focus chart's scatter graph.\n lines2.pointActive(function(d) { return false });\n xAxis.orient('bottom').tickPadding(5);\n y1Axis.orient('left');\n y2Axis.orient('right');\n x2Axis.orient('bottom').tickPadding(5);\n y3Axis.orient('left');\n y4Axis.orient('right');\n\n tooltip.headerEnabled(true).headerFormatter(function(d, i) {\n return xAxis.tickFormat()(d, i);\n });\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var getBarsAxis = function() {\n return switchYAxisOrder\n ? { main: y2Axis, focus: y4Axis }\n : { main: y1Axis, focus: y3Axis }\n }\n\n var getLinesAxis = function() {\n return switchYAxisOrder\n ? { main: y1Axis, focus: y3Axis }\n : { main: y2Axis, focus: y4Axis }\n }\n\n var stateGetter = function(data) {\n return function(){\n return {\n active: data.map(function(d) { return !d.disabled })\n };\n }\n };\n\n var stateSetter = function(data) {\n return function(state) {\n if (state.active !== undefined)\n data.forEach(function(series,i) {\n series.disabled = !state.active[i];\n });\n }\n };\n\n var allDisabled = function(data) {\n return data.every(function(series) {\n return series.disabled;\n });\n }\n\n function chart(selection) {\n selection.each(function(data) {\n var container = d3.select(this),\n that = this;\n nv.utils.initSVG(container);\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight1 = nv.utils.availableHeight(height, container, margin)\n - (focusEnable ? focusHeight : 0),\n availableHeight2 = focusHeight - margin2.top - margin2.bottom;\n\n chart.update = function() { container.transition().duration(transitionDuration).call(chart); };\n chart.container = this;\n\n state\n .setter(stateSetter(data), chart.update)\n .getter(stateGetter(data))\n .update();\n\n // DEPRECATED set state.disableddisabled\n state.disabled = data.map(function(d) { return !!d.disabled });\n\n if (!defaultState) {\n var key;\n defaultState = {};\n for (key in state) {\n if (state[key] instanceof Array)\n defaultState[key] = state[key].slice(0);\n else\n defaultState[key] = state[key];\n }\n }\n\n // Display No Data message if there's nothing to show.\n if (!data || !data.length || !data.filter(function(d) { return d.values.length }).length) {\n nv.utils.noData(chart, container)\n return chart;\n } else {\n container.selectAll('.nv-noData').remove();\n }\n\n // Setup Scales\n var dataBars = data.filter(function(d) { return !d.disabled && d.bar });\n var dataLines = data.filter(function(d) { return !d.bar }); // removed the !d.disabled clause here to fix Issue #240\n\n if (dataBars.length && !switchYAxisOrder) {\n x = bars.xScale();\n } else {\n x = lines.xScale();\n }\n\n x2 = x2Axis.scale();\n\n // select the scales and series based on the position of the yAxis\n y1 = switchYAxisOrder ? lines.yScale() : bars.yScale();\n y2 = switchYAxisOrder ? bars.yScale() : lines.yScale();\n y3 = switchYAxisOrder ? lines2.yScale() : bars2.yScale();\n y4 = switchYAxisOrder ? bars2.yScale() : lines2.yScale();\n\n var series1 = data\n .filter(function(d) { return !d.disabled && (switchYAxisOrder ? !d.bar : d.bar) })\n .map(function(d) {\n return d.values.map(function(d,i) {\n return { x: getX(d,i), y: getY(d,i) }\n })\n });\n\n var series2 = data\n .filter(function(d) { return !d.disabled && (switchYAxisOrder ? d.bar : !d.bar) })\n .map(function(d) {\n return d.values.map(function(d,i) {\n return { x: getX(d,i), y: getY(d,i) }\n })\n });\n\n x.range([0, availableWidth]);\n\n x2 .domain(d3.extent(d3.merge(series1.concat(series2)), function(d) { return d.x } ))\n .range([0, availableWidth]);\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-linePlusBar').data([data]);\n var gEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-linePlusBar').append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-legendWrap');\n\n // this is the main chart\n var focusEnter = gEnter.append('g').attr('class', 'nv-focus');\n focusEnter.append('g').attr('class', 'nv-x nv-axis');\n focusEnter.append('g').attr('class', 'nv-y1 nv-axis');\n focusEnter.append('g').attr('class', 'nv-y2 nv-axis');\n focusEnter.append('g').attr('class', 'nv-barsWrap');\n focusEnter.append('g').attr('class', 'nv-linesWrap');\n\n // context chart is where you can focus in\n var contextEnter = gEnter.append('g').attr('class', 'nv-context');\n contextEnter.append('g').attr('class', 'nv-x nv-axis');\n contextEnter.append('g').attr('class', 'nv-y1 nv-axis');\n contextEnter.append('g').attr('class', 'nv-y2 nv-axis');\n contextEnter.append('g').attr('class', 'nv-barsWrap');\n contextEnter.append('g').attr('class', 'nv-linesWrap');\n contextEnter.append('g').attr('class', 'nv-brushBackground');\n contextEnter.append('g').attr('class', 'nv-x nv-brush');\n\n //============================================================\n // Legend\n //------------------------------------------------------------\n\n if (!showLegend) {\n g.select('.nv-legendWrap').selectAll('*').remove();\n } else {\n var legendWidth = legend.align() ? availableWidth / 2 : availableWidth;\n var legendXPosition = legend.align() ? legendWidth : 0;\n\n legend.width(legendWidth);\n\n g.select('.nv-legendWrap')\n .datum(data.map(function(series) {\n series.originalKey = series.originalKey === undefined ? series.key : series.originalKey;\n if(switchYAxisOrder) {\n series.key = series.originalKey + (series.bar ? legendRightAxisHint : legendLeftAxisHint);\n } else {\n series.key = series.originalKey + (series.bar ? legendLeftAxisHint : legendRightAxisHint);\n }\n return series;\n }))\n .call(legend);\n\n if (!marginTop && legend.height() !== margin.top) {\n margin.top = legend.height();\n // FIXME: shouldn't this be \"- (focusEnabled ? focusHeight : 0)\"?\n availableHeight1 = nv.utils.availableHeight(height, container, margin) - focusHeight;\n }\n\n g.select('.nv-legendWrap')\n .attr('transform', 'translate(' + legendXPosition + ',' + (-margin.top) +')');\n }\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n //============================================================\n // Context chart (focus chart) components\n //------------------------------------------------------------\n\n // hide or show the focus context chart\n g.select('.nv-context').style('display', focusEnable ? 'initial' : 'none');\n\n bars2\n .width(availableWidth)\n .height(availableHeight2)\n .color(data.map(function (d, i) {\n return d.color || color(d, i);\n }).filter(function (d, i) {\n return !data[i].disabled && data[i].bar\n }));\n lines2\n .width(availableWidth)\n .height(availableHeight2)\n .color(data.map(function (d, i) {\n return d.color || color(d, i);\n }).filter(function (d, i) {\n return !data[i].disabled && !data[i].bar\n }));\n\n var bars2Wrap = g.select('.nv-context .nv-barsWrap')\n .datum(dataBars.length ? dataBars : [\n {values: []}\n ]);\n var lines2Wrap = g.select('.nv-context .nv-linesWrap')\n .datum(allDisabled(dataLines) ?\n [{values: []}] :\n dataLines.filter(function(dataLine) {\n return !dataLine.disabled;\n }));\n\n g.select('.nv-context')\n .attr('transform', 'translate(0,' + ( availableHeight1 + margin.bottom + margin2.top) + ')');\n\n bars2Wrap.transition().call(bars2);\n lines2Wrap.transition().call(lines2);\n\n // context (focus chart) axis controls\n if (focusShowAxisX) {\n x2Axis\n ._ticks( nv.utils.calcTicksX(availableWidth / 100, data))\n .tickSize(-availableHeight2, 0);\n g.select('.nv-context .nv-x.nv-axis')\n .attr('transform', 'translate(0,' + y3.range()[0] + ')');\n g.select('.nv-context .nv-x.nv-axis').transition()\n .call(x2Axis);\n }\n\n if (focusShowAxisY) {\n y3Axis\n .scale(y3)\n ._ticks( availableHeight2 / 36 )\n .tickSize( -availableWidth, 0);\n y4Axis\n .scale(y4)\n ._ticks( availableHeight2 / 36 )\n .tickSize(dataBars.length ? 0 : -availableWidth, 0); // Show the y2 rules only if y1 has none\n\n g.select('.nv-context .nv-y3.nv-axis')\n .style('opacity', dataBars.length ? 1 : 0)\n .attr('transform', 'translate(0,' + x2.range()[0] + ')');\n g.select('.nv-context .nv-y2.nv-axis')\n .style('opacity', dataLines.length ? 1 : 0)\n .attr('transform', 'translate(' + x2.range()[1] + ',0)');\n\n g.select('.nv-context .nv-y1.nv-axis').transition()\n .call(y3Axis);\n g.select('.nv-context .nv-y2.nv-axis').transition()\n .call(y4Axis);\n }\n\n // Setup Brush\n brush.x(x2).on('brush', onBrush);\n\n if (brushExtent) brush.extent(brushExtent);\n\n var brushBG = g.select('.nv-brushBackground').selectAll('g')\n .data([brushExtent || brush.extent()]);\n\n var brushBGenter = brushBG.enter()\n .append('g');\n\n brushBGenter.append('rect')\n .attr('class', 'left')\n .attr('x', 0)\n .attr('y', 0)\n .attr('height', availableHeight2);\n\n brushBGenter.append('rect')\n .attr('class', 'right')\n .attr('x', 0)\n .attr('y', 0)\n .attr('height', availableHeight2);\n\n var gBrush = g.select('.nv-x.nv-brush')\n .call(brush);\n gBrush.selectAll('rect')\n //.attr('y', -5)\n .attr('height', availableHeight2);\n gBrush.selectAll('.resize').append('path').attr('d', resizePath);\n\n //============================================================\n // Event Handling/Dispatching (in chart's scope)\n //------------------------------------------------------------\n\n legend.dispatch.on('stateChange', function(newState) {\n for (var key in newState)\n state[key] = newState[key];\n dispatch.stateChange(state);\n chart.update();\n });\n\n // Update chart from a state object passed to event handler\n dispatch.on('changeState', function(e) {\n if (typeof e.disabled !== 'undefined') {\n data.forEach(function(series,i) {\n series.disabled = e.disabled[i];\n });\n state.disabled = e.disabled;\n }\n chart.update();\n });\n\n //============================================================\n // Functions\n //------------------------------------------------------------\n\n // Taken from crossfilter (http://square.github.com/crossfilter/)\n function resizePath(d) {\n var e = +(d == 'e'),\n x = e ? 1 : -1,\n y = availableHeight2 / 3;\n return 'M' + (.5 * x) + ',' + y\n + 'A6,6 0 0 ' + e + ' ' + (6.5 * x) + ',' + (y + 6)\n + 'V' + (2 * y - 6)\n + 'A6,6 0 0 ' + e + ' ' + (.5 * x) + ',' + (2 * y)\n + 'Z'\n + 'M' + (2.5 * x) + ',' + (y + 8)\n + 'V' + (2 * y - 8)\n + 'M' + (4.5 * x) + ',' + (y + 8)\n + 'V' + (2 * y - 8);\n }\n\n\n function updateBrushBG() {\n if (!brush.empty()) brush.extent(brushExtent);\n brushBG\n .data([brush.empty() ? x2.domain() : brushExtent])\n .each(function(d,i) {\n var leftWidth = x2(d[0]) - x2.range()[0],\n rightWidth = x2.range()[1] - x2(d[1]);\n d3.select(this).select('.left')\n .attr('width', leftWidth < 0 ? 0 : leftWidth);\n\n d3.select(this).select('.right')\n .attr('x', x2(d[1]))\n .attr('width', rightWidth < 0 ? 0 : rightWidth);\n });\n }\n\n function onBrush() {\n brushExtent = brush.empty() ? null : brush.extent();\n extent = brush.empty() ? x2.domain() : brush.extent();\n dispatch.brush({extent: extent, brush: brush});\n updateBrushBG();\n\n // Prepare Main (Focus) Bars and Lines\n bars\n .width(availableWidth)\n .height(availableHeight1)\n .color(data.map(function(d,i) {\n return d.color || color(d, i);\n }).filter(function(d,i) { return !data[i].disabled && data[i].bar }));\n\n lines\n .width(availableWidth)\n .height(availableHeight1)\n .color(data.map(function(d,i) {\n return d.color || color(d, i);\n }).filter(function(d,i) { return !data[i].disabled && !data[i].bar }));\n\n var focusBarsWrap = g.select('.nv-focus .nv-barsWrap')\n .datum(!dataBars.length ? [{values:[]}] :\n dataBars\n .map(function(d,i) {\n return {\n key: d.key,\n values: d.values.filter(function(d,i) {\n return bars.x()(d,i) >= extent[0] && bars.x()(d,i) <= extent[1];\n })\n }\n })\n );\n\n var focusLinesWrap = g.select('.nv-focus .nv-linesWrap')\n .datum(allDisabled(dataLines) ? [{values:[]}] :\n dataLines\n .filter(function(dataLine) { return !dataLine.disabled; })\n .map(function(d,i) {\n return {\n area: d.area,\n fillOpacity: d.fillOpacity,\n strokeWidth: d.strokeWidth,\n key: d.key,\n values: d.values.filter(function(d,i) {\n return lines.x()(d,i) >= extent[0] && lines.x()(d,i) <= extent[1];\n })\n }\n })\n );\n\n // Update Main (Focus) X Axis\n if (dataBars.length && !switchYAxisOrder) {\n x = bars.xScale();\n } else {\n x = lines.xScale();\n }\n\n xAxis\n .scale(x)\n ._ticks( nv.utils.calcTicksX(availableWidth/100, data) )\n .tickSize(-availableHeight1, 0);\n\n xAxis.domain([Math.ceil(extent[0]), Math.floor(extent[1])]);\n\n g.select('.nv-x.nv-axis').transition().duration(transitionDuration)\n .call(xAxis);\n\n // Update Main (Focus) Bars and Lines\n focusBarsWrap.transition().duration(transitionDuration).call(bars);\n focusLinesWrap.transition().duration(transitionDuration).call(lines);\n\n // Setup and Update Main (Focus) Y Axes\n g.select('.nv-focus .nv-x.nv-axis')\n .attr('transform', 'translate(0,' + y1.range()[0] + ')');\n\n y1Axis\n .scale(y1)\n ._ticks( nv.utils.calcTicksY(availableHeight1/36, data) )\n .tickSize(-availableWidth, 0);\n y2Axis\n .scale(y2)\n ._ticks( nv.utils.calcTicksY(availableHeight1/36, data) );\n\n // Show the y2 rules only if y1 has none\n if(!switchYAxisOrder) {\n y2Axis.tickSize(dataBars.length ? 0 : -availableWidth, 0);\n } else {\n y2Axis.tickSize(dataLines.length ? 0 : -availableWidth, 0);\n }\n\n // Calculate opacity of the axis\n var barsOpacity = dataBars.length ? 1 : 0;\n var linesOpacity = dataLines.length && !allDisabled(dataLines) ? 1 : 0;\n\n var y1Opacity = switchYAxisOrder ? linesOpacity : barsOpacity;\n var y2Opacity = switchYAxisOrder ? barsOpacity : linesOpacity;\n\n g.select('.nv-focus .nv-y1.nv-axis')\n .style('opacity', y1Opacity);\n g.select('.nv-focus .nv-y2.nv-axis')\n .style('opacity', y2Opacity)\n .attr('transform', 'translate(' + x.range()[1] + ',0)');\n\n g.select('.nv-focus .nv-y1.nv-axis').transition().duration(transitionDuration)\n .call(y1Axis);\n g.select('.nv-focus .nv-y2.nv-axis').transition().duration(transitionDuration)\n .call(y2Axis);\n }\n\n onBrush();\n\n });\n\n return chart;\n }\n\n //============================================================\n // Event Handling/Dispatching (out of chart's scope)\n //------------------------------------------------------------\n\n lines.dispatch.on('elementMouseover.tooltip', function(evt) {\n tooltip\n .duration(100)\n .valueFormatter(function(d, i) {\n return getLinesAxis().main.tickFormat()(d, i);\n })\n .data(evt)\n .hidden(false);\n });\n\n lines.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true)\n });\n\n bars.dispatch.on('elementMouseover.tooltip', function(evt) {\n evt.value = chart.x()(evt.data);\n evt['series'] = {\n value: chart.y()(evt.data),\n color: evt.color\n };\n tooltip\n .duration(0)\n .valueFormatter(function(d, i) {\n return getBarsAxis().main.tickFormat()(d, i);\n })\n .data(evt)\n .hidden(false);\n });\n\n bars.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true);\n });\n\n bars.dispatch.on('elementMousemove.tooltip', function(evt) {\n tooltip();\n });\n\n //============================================================\n\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n // expose chart's sub-components\n chart.dispatch = dispatch;\n chart.legend = legend;\n chart.lines = lines;\n chart.lines2 = lines2;\n chart.bars = bars;\n chart.bars2 = bars2;\n chart.xAxis = xAxis;\n chart.x2Axis = x2Axis;\n chart.y1Axis = y1Axis;\n chart.y2Axis = y2Axis;\n chart.y3Axis = y3Axis;\n chart.y4Axis = y4Axis;\n chart.tooltip = tooltip;\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n showLegend: {get: function(){return showLegend;}, set: function(_){showLegend=_;}},\n brushExtent: {get: function(){return brushExtent;}, set: function(_){brushExtent=_;}},\n noData: {get: function(){return noData;}, set: function(_){noData=_;}},\n focusEnable: {get: function(){return focusEnable;}, set: function(_){focusEnable=_;}},\n focusHeight: {get: function(){return focusHeight;}, set: function(_){focusHeight=_;}},\n focusShowAxisX: {get: function(){return focusShowAxisX;}, set: function(_){focusShowAxisX=_;}},\n focusShowAxisY: {get: function(){return focusShowAxisY;}, set: function(_){focusShowAxisY=_;}},\n legendLeftAxisHint: {get: function(){return legendLeftAxisHint;}, set: function(_){legendLeftAxisHint=_;}},\n legendRightAxisHint: {get: function(){return legendRightAxisHint;}, set: function(_){legendRightAxisHint=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n if (_.top !== undefined) {\n margin.top = _.top;\n marginTop = _.top;\n }\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n focusMargin: {get: function(){return margin2;}, set: function(_){\n margin2.top = _.top !== undefined ? _.top : margin2.top;\n margin2.right = _.right !== undefined ? _.right : margin2.right;\n margin2.bottom = _.bottom !== undefined ? _.bottom : margin2.bottom;\n margin2.left = _.left !== undefined ? _.left : margin2.left;\n }},\n duration: {get: function(){return transitionDuration;}, set: function(_){\n transitionDuration = _;\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n legend.color(color);\n }},\n x: {get: function(){return getX;}, set: function(_){\n getX = _;\n lines.x(_);\n lines2.x(_);\n bars.x(_);\n bars2.x(_);\n }},\n y: {get: function(){return getY;}, set: function(_){\n getY = _;\n lines.y(_);\n lines2.y(_);\n bars.y(_);\n bars2.y(_);\n }},\n switchYAxisOrder: {get: function(){return switchYAxisOrder;}, set: function(_){\n // Switch the tick format for the yAxis\n if(switchYAxisOrder !== _) {\n var y1 = y1Axis;\n y1Axis = y2Axis;\n y2Axis = y1;\n\n var y3 = y3Axis;\n y3Axis = y4Axis;\n y4Axis = y3;\n }\n switchYAxisOrder=_;\n\n y1Axis.orient('left');\n y2Axis.orient('right');\n y3Axis.orient('left');\n y4Axis.orient('right');\n }}\n });\n\n nv.utils.inheritOptions(chart, lines);\n nv.utils.initOptions(chart);\n\n return chart;\n};\n","\nnv.models.multiBar = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 0, right: 0, bottom: 0, left: 0}\n , width = 960\n , height = 500\n , x = d3.scale.ordinal()\n , y = d3.scale.linear()\n , id = Math.floor(Math.random() * 10000) //Create semi-unique ID in case user doesn't select one\n , container = null\n , getX = function(d) { return d.x }\n , getY = function(d) { return d.y }\n , forceY = [0] // 0 is forced by default.. this makes sense for the majority of bar graphs... user can always do chart.forceY([]) to remove\n , clipEdge = true\n , stacked = false\n , stackOffset = 'zero' // options include 'silhouette', 'wiggle', 'expand', 'zero', or a custom function\n , color = nv.utils.defaultColor()\n , hideable = false\n , barColor = null // adding the ability to set the color for each rather than the whole group\n , disabled // used in conjunction with barColor to communicate from multiBarHorizontalChart what series are disabled\n , duration = 500\n , xDomain\n , yDomain\n , xRange\n , yRange\n , groupSpacing = 0.1\n , fillOpacity = 0.75\n , dispatch = d3.dispatch('chartClick', 'elementClick', 'elementDblClick', 'elementMouseover', 'elementMouseout', 'elementMousemove', 'renderEnd')\n ;\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var x0, y0 //used to store previous scales\n , renderWatch = nv.utils.renderWatch(dispatch, duration)\n ;\n\n var last_datalength = 0;\n\n function chart(selection) {\n renderWatch.reset();\n selection.each(function(data) {\n var availableWidth = width - margin.left - margin.right,\n availableHeight = height - margin.top - margin.bottom;\n\n container = d3.select(this);\n nv.utils.initSVG(container);\n var nonStackableCount = 0;\n // This function defines the requirements for render complete\n var endFn = function(d, i) {\n if (d.series === data.length - 1 && i === data[0].values.length - 1)\n return true;\n return false;\n };\n\n if(hideable && data.length) hideable = [{\n values: data[0].values.map(function(d) {\n return {\n x: d.x,\n y: 0,\n series: d.series,\n size: 0.01\n };}\n )}];\n\n if (stacked) {\n var parsed = d3.layout.stack()\n .offset(stackOffset)\n .values(function(d){ return d.values })\n .y(getY)\n (!data.length && hideable ? hideable : data);\n\n parsed.forEach(function(series, i){\n // if series is non-stackable, use un-parsed data\n if (series.nonStackable) {\n data[i].nonStackableSeries = nonStackableCount++;\n parsed[i] = data[i];\n } else {\n // don't stack this seires on top of the nonStackable seriees\n if (i > 0 && parsed[i - 1].nonStackable){\n parsed[i].values.map(function(d,j){\n d.y0 -= parsed[i - 1].values[j].y;\n d.y1 = d.y0 + d.y;\n });\n }\n }\n });\n data = parsed;\n }\n //add series index and key to each data point for reference\n data.forEach(function(series, i) {\n series.values.forEach(function(point) {\n point.series = i;\n point.key = series.key;\n });\n });\n\n // HACK for negative value stacking\n if (stacked && data.length > 0) {\n data[0].values.map(function(d,i) {\n var posBase = 0, negBase = 0;\n data.map(function(d, idx) {\n if (!data[idx].nonStackable) {\n var f = d.values[i]\n f.size = Math.abs(f.y);\n if (f.y<0) {\n f.y1 = negBase;\n negBase = negBase - f.size;\n } else\n {\n f.y1 = f.size + posBase;\n posBase = posBase + f.size;\n }\n }\n\n });\n });\n }\n // Setup Scales\n // remap and flatten the data for use in calculating the scales' domains\n var seriesData = (xDomain && yDomain) ? [] : // if we know xDomain and yDomain, no need to calculate\n data.map(function(d, idx) {\n return d.values.map(function(d,i) {\n return { x: getX(d,i), y: getY(d,i), y0: d.y0, y1: d.y1, idx:idx }\n })\n });\n\n x.domain(xDomain || d3.merge(seriesData).map(function(d) { return d.x }))\n .rangeBands(xRange || [0, availableWidth], groupSpacing);\n\n y.domain(yDomain || d3.extent(d3.merge(seriesData).map(function(d) {\n var domain = d.y;\n // increase the domain range if this series is stackable\n if (stacked && !data[d.idx].nonStackable) {\n if (d.y > 0){\n domain = d.y1\n } else {\n domain = d.y1 + d.y\n }\n }\n return domain;\n }).concat(forceY)))\n .range(yRange || [availableHeight, 0]);\n\n // If scale's domain don't have a range, slightly adjust to make one... so a chart can show a single data point\n if (x.domain()[0] === x.domain()[1])\n x.domain()[0] ?\n x.domain([x.domain()[0] - x.domain()[0] * 0.01, x.domain()[1] + x.domain()[1] * 0.01])\n : x.domain([-1,1]);\n\n if (y.domain()[0] === y.domain()[1])\n y.domain()[0] ?\n y.domain([y.domain()[0] + y.domain()[0] * 0.01, y.domain()[1] - y.domain()[1] * 0.01])\n : y.domain([-1,1]);\n\n x0 = x0 || x;\n y0 = y0 || y;\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-multibar').data([data]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-multibar');\n var defsEnter = wrapEnter.append('defs');\n var gEnter = wrapEnter.append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-groups');\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n defsEnter.append('clipPath')\n .attr('id', 'nv-edge-clip-' + id)\n .append('rect');\n wrap.select('#nv-edge-clip-' + id + ' rect')\n .attr('width', availableWidth)\n .attr('height', availableHeight);\n\n g.attr('clip-path', clipEdge ? 'url(#nv-edge-clip-' + id + ')' : '');\n\n var groups = wrap.select('.nv-groups').selectAll('.nv-group')\n .data(function(d) { return d }, function(d,i) { return i });\n groups.enter().append('g')\n .style('stroke-opacity', 1e-6)\n .style('fill-opacity', 1e-6);\n\n var exitTransition = renderWatch\n .transition(groups.exit().selectAll('rect.nv-bar'), 'multibarExit', Math.min(100, duration))\n .attr('y', function(d, i, j) {\n var yVal = y0(0) || 0;\n if (stacked) {\n if (data[d.series] && !data[d.series].nonStackable) {\n yVal = y0(d.y0);\n }\n }\n return yVal;\n })\n .attr('height', 0)\n .remove();\n if (exitTransition.delay)\n exitTransition.delay(function(d,i) {\n var delay = i * (duration / (last_datalength + 1)) - i;\n return delay;\n });\n groups\n .attr('class', function(d,i) { return 'nv-group nv-series-' + i })\n .classed('hover', function(d) { return d.hover })\n .style('fill', function(d,i){ return color(d, i) })\n .style('stroke', function(d,i){ return color(d, i) });\n groups\n .style('stroke-opacity', 1)\n .style('fill-opacity', fillOpacity);\n\n var bars = groups.selectAll('rect.nv-bar')\n .data(function(d) { return (hideable && !data.length) ? hideable.values : d.values });\n bars.exit().remove();\n\n var barsEnter = bars.enter().append('rect')\n .attr('class', function(d,i) { return getY(d,i) < 0 ? 'nv-bar negative' : 'nv-bar positive'})\n .attr('x', function(d,i,j) {\n return stacked && !data[j].nonStackable ? 0 : (j * x.rangeBand() / data.length )\n })\n .attr('y', function(d,i,j) { return y0(stacked && !data[j].nonStackable ? d.y0 : 0) || 0 })\n .attr('height', 0)\n .attr('width', function(d,i,j) { return x.rangeBand() / (stacked && !data[j].nonStackable ? 1 : data.length) })\n .attr('transform', function(d,i) { return 'translate(' + x(getX(d,i)) + ',0)'; })\n ;\n bars\n .style('fill', function(d,i,j){ return color(d, j, i); })\n .style('stroke', function(d,i,j){ return color(d, j, i); })\n .on('mouseover', function(d,i,j) {\n d3.select(this).classed('hover', true);\n dispatch.elementMouseover({\n data: d,\n index: i,\n series: data[j],\n color: d3.select(this).style(\"fill\")\n });\n })\n .on('mouseout', function(d,i,j) {\n d3.select(this).classed('hover', false);\n dispatch.elementMouseout({\n data: d,\n index: i,\n series: data[j],\n color: d3.select(this).style(\"fill\")\n });\n })\n .on('mousemove', function(d,i,j) {\n dispatch.elementMousemove({\n data: d,\n index: i,\n series: data[j],\n color: d3.select(this).style(\"fill\")\n });\n })\n .on('click', function(d,i,j) {\n var element = this;\n dispatch.elementClick({\n data: d,\n index: i,\n series: data[j],\n color: d3.select(this).style(\"fill\"),\n event: d3.event,\n element: element\n });\n d3.event.stopPropagation();\n })\n .on('dblclick', function(d,i,j) {\n dispatch.elementDblClick({\n data: d,\n index: i,\n series: data[j],\n color: d3.select(this).style(\"fill\")\n });\n d3.event.stopPropagation();\n });\n bars\n .attr('class', function(d,i) { return getY(d,i) < 0 ? 'nv-bar negative' : 'nv-bar positive'})\n .attr('transform', function(d,i) { return 'translate(' + x(getX(d,i)) + ',0)'; })\n\n if (barColor) {\n if (!disabled) disabled = data.map(function() { return true });\n bars\n .style('fill', function(d,i,j) { return d3.rgb(barColor(d,i)).darker( disabled.map(function(d,i) { return i }).filter(function(d,i){ return !disabled[i] })[j] ).toString(); })\n .style('stroke', function(d,i,j) { return d3.rgb(barColor(d,i)).darker( disabled.map(function(d,i) { return i }).filter(function(d,i){ return !disabled[i] })[j] ).toString(); });\n }\n\n var barSelection =\n bars.watchTransition(renderWatch, 'multibar', Math.min(250, duration))\n .delay(function(d,i) {\n return i * duration / data[0].values.length;\n });\n if (stacked){\n barSelection\n .attr('y', function(d,i,j) {\n var yVal = 0;\n // if stackable, stack it on top of the previous series\n if (!data[j].nonStackable) {\n yVal = y(d.y1);\n } else {\n if (getY(d,i) < 0){\n yVal = y(0);\n } else {\n if (y(0) - y(getY(d,i)) < -1){\n yVal = y(0) - 1;\n } else {\n yVal = y(getY(d, i)) || 0;\n }\n }\n }\n return yVal;\n })\n .attr('height', function(d,i,j) {\n if (!data[j].nonStackable) {\n return Math.max(Math.abs(y(d.y+d.y0) - y(d.y0)), 0);\n } else {\n return Math.max(Math.abs(y(getY(d,i)) - y(0)), 0) || 0;\n }\n })\n .attr('x', function(d,i,j) {\n var width = 0;\n if (data[j].nonStackable) {\n width = d.series * x.rangeBand() / data.length;\n if (data.length !== nonStackableCount){\n width = data[j].nonStackableSeries * x.rangeBand()/(nonStackableCount*2);\n }\n }\n return width;\n })\n .attr('width', function(d,i,j){\n if (!data[j].nonStackable) {\n return x.rangeBand();\n } else {\n // if all series are nonStacable, take the full width\n var width = (x.rangeBand() / nonStackableCount);\n // otherwise, nonStackable graph will be only taking the half-width\n // of the x rangeBand\n if (data.length !== nonStackableCount) {\n width = x.rangeBand()/(nonStackableCount*2);\n }\n return width;\n }\n });\n }\n else {\n barSelection\n .attr('x', function(d,i) {\n return d.series * x.rangeBand() / data.length;\n })\n .attr('width', x.rangeBand() / data.length)\n .attr('y', function(d,i) {\n return getY(d,i) < 0 ?\n y(0) :\n y(0) - y(getY(d,i)) < 1 ?\n y(0) - 1 :\n y(getY(d,i)) || 0;\n })\n .attr('height', function(d,i) {\n return Math.max(Math.abs(y(getY(d,i)) - y(0)),1) || 0;\n });\n }\n\n //store old scales for use in transitions on update\n x0 = x.copy();\n y0 = y.copy();\n\n // keep track of the last data value length for transition calculations\n if (data[0] && data[0].values) {\n last_datalength = data[0].values.length;\n }\n\n });\n\n renderWatch.renderEnd('multibar immediate');\n\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n x: {get: function(){return getX;}, set: function(_){getX=_;}},\n y: {get: function(){return getY;}, set: function(_){getY=_;}},\n xScale: {get: function(){return x;}, set: function(_){x=_;}},\n yScale: {get: function(){return y;}, set: function(_){y=_;}},\n xDomain: {get: function(){return xDomain;}, set: function(_){xDomain=_;}},\n yDomain: {get: function(){return yDomain;}, set: function(_){yDomain=_;}},\n xRange: {get: function(){return xRange;}, set: function(_){xRange=_;}},\n yRange: {get: function(){return yRange;}, set: function(_){yRange=_;}},\n forceY: {get: function(){return forceY;}, set: function(_){forceY=_;}},\n stacked: {get: function(){return stacked;}, set: function(_){stacked=_;}},\n stackOffset: {get: function(){return stackOffset;}, set: function(_){stackOffset=_;}},\n clipEdge: {get: function(){return clipEdge;}, set: function(_){clipEdge=_;}},\n disabled: {get: function(){return disabled;}, set: function(_){disabled=_;}},\n id: {get: function(){return id;}, set: function(_){id=_;}},\n hideable: {get: function(){return hideable;}, set: function(_){hideable=_;}},\n groupSpacing:{get: function(){return groupSpacing;}, set: function(_){groupSpacing=_;}},\n fillOpacity: {get: function(){return fillOpacity;}, set: function(_){fillOpacity=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n }},\n barColor: {get: function(){return barColor;}, set: function(_){\n barColor = _ ? nv.utils.getColor(_) : null;\n }}\n });\n\n nv.utils.initOptions(chart);\n\n return chart;\n};\n","nv.models.multiBarChart = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var multibar = nv.models.multiBar()\n , xAxis = nv.models.axis()\n , yAxis = nv.models.axis()\n , interactiveLayer = nv.interactiveGuideline()\n , legend = nv.models.legend()\n , controls = nv.models.legend()\n , tooltip = nv.models.tooltip()\n ;\n\n var margin = {top: 30, right: 20, bottom: 50, left: 60}\n , marginTop = null\n , width = null\n , height = null\n , color = nv.utils.defaultColor()\n , showControls = true\n , controlLabels = {}\n , showLegend = true\n , legendPosition = null\n , showXAxis = true\n , showYAxis = true\n , rightAlignYAxis = false\n , reduceXTicks = true // if false a tick will show for every data point\n , staggerLabels = false\n , wrapLabels = false\n , rotateLabels = 0\n , x //can be accessed via chart.xScale()\n , y //can be accessed via chart.yScale()\n , state = nv.utils.state()\n , defaultState = null\n , noData = null\n , dispatch = d3.dispatch('stateChange', 'changeState', 'renderEnd')\n , controlWidth = function() { return showControls ? 180 : 0 }\n , duration = 250\n , useInteractiveGuideline = false\n ;\n\n state.stacked = false // DEPRECATED Maintained for backward compatibility\n\n multibar.stacked(false);\n xAxis\n .orient('bottom')\n .tickPadding(7)\n .showMaxMin(false)\n .tickFormat(function(d) { return d })\n ;\n yAxis\n .orient((rightAlignYAxis) ? 'right' : 'left')\n .tickFormat(d3.format(',.1f'))\n ;\n\n tooltip\n .duration(0)\n .valueFormatter(function(d, i) {\n return yAxis.tickFormat()(d, i);\n })\n .headerFormatter(function(d, i) {\n return xAxis.tickFormat()(d, i);\n });\n\n interactiveLayer.tooltip\n .valueFormatter(function(d, i) {\n return d == null ? \"N/A\" : yAxis.tickFormat()(d, i);\n })\n .headerFormatter(function(d, i) {\n return xAxis.tickFormat()(d, i);\n });\n\n interactiveLayer.tooltip\n .valueFormatter(function (d, i) {\n return d == null ? \"N/A\" : yAxis.tickFormat()(d, i);\n })\n .headerFormatter(function (d, i) {\n return xAxis.tickFormat()(d, i);\n });\n\n interactiveLayer.tooltip\n .duration(0)\n .valueFormatter(function(d, i) {\n return yAxis.tickFormat()(d, i);\n })\n .headerFormatter(function(d, i) {\n return xAxis.tickFormat()(d, i);\n });\n\n controls.updateState(false);\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var renderWatch = nv.utils.renderWatch(dispatch);\n var stacked = false;\n\n var stateGetter = function(data) {\n return function(){\n return {\n active: data.map(function(d) { return !d.disabled }),\n stacked: stacked\n };\n }\n };\n\n var stateSetter = function(data) {\n return function(state) {\n if (state.stacked !== undefined)\n stacked = state.stacked;\n if (state.active !== undefined)\n data.forEach(function(series,i) {\n series.disabled = !state.active[i];\n });\n }\n };\n\n function chart(selection) {\n renderWatch.reset();\n renderWatch.models(multibar);\n if (showXAxis) renderWatch.models(xAxis);\n if (showYAxis) renderWatch.models(yAxis);\n\n selection.each(function(data) {\n var container = d3.select(this),\n that = this;\n nv.utils.initSVG(container);\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin);\n\n chart.update = function() {\n if (duration === 0)\n container.call(chart);\n else\n container.transition()\n .duration(duration)\n .call(chart);\n };\n chart.container = this;\n\n state\n .setter(stateSetter(data), chart.update)\n .getter(stateGetter(data))\n .update();\n\n // DEPRECATED set state.disableddisabled\n state.disabled = data.map(function(d) { return !!d.disabled });\n\n if (!defaultState) {\n var key;\n defaultState = {};\n for (key in state) {\n if (state[key] instanceof Array)\n defaultState[key] = state[key].slice(0);\n else\n defaultState[key] = state[key];\n }\n }\n\n // Display noData message if there's nothing to show.\n if (!data || !data.length || !data.filter(function(d) { return d.values.length }).length) {\n nv.utils.noData(chart, container)\n return chart;\n } else {\n container.selectAll('.nv-noData').remove();\n }\n\n // Setup Scales\n x = multibar.xScale();\n y = multibar.yScale();\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-multiBarWithLegend').data([data]);\n var gEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-multiBarWithLegend').append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-x nv-axis');\n gEnter.append('g').attr('class', 'nv-y nv-axis');\n gEnter.append('g').attr('class', 'nv-barsWrap');\n gEnter.append('g').attr('class', 'nv-legendWrap');\n gEnter.append('g').attr('class', 'nv-controlsWrap');\n gEnter.append('g').attr('class', 'nv-interactive');\n\n // Legend\n if (!showLegend) {\n g.select('.nv-legendWrap').selectAll('*').remove();\n } else {\n if (legendPosition === 'bottom') {\n legend.width(availableWidth - margin.right);\n\n g.select('.nv-legendWrap')\n .datum(data)\n .call(legend);\n\n margin.bottom = xAxis.height() + legend.height();\n availableHeight = nv.utils.availableHeight(height, container, margin);\n g.select('.nv-legendWrap')\n .attr('transform', 'translate(0,' + (availableHeight + xAxis.height()) +')');\n } else {\n legend.width(availableWidth - controlWidth());\n\n g.select('.nv-legendWrap')\n .datum(data)\n .call(legend);\n\n if (!marginTop && legend.height() !== margin.top) {\n margin.top = legend.height();\n availableHeight = nv.utils.availableHeight(height, container, margin);\n }\n\n g.select('.nv-legendWrap')\n .attr('transform', 'translate(' + controlWidth() + ',' + (-margin.top) +')');\n }\n }\n\n // Controls\n if (!showControls) {\n g.select('.nv-controlsWrap').selectAll('*').remove();\n } else {\n var controlsData = [\n { key: controlLabels.grouped || 'Grouped', disabled: multibar.stacked() },\n { key: controlLabels.stacked || 'Stacked', disabled: !multibar.stacked() }\n ];\n\n controls.width(controlWidth()).color(['#444', '#444', '#444']);\n g.select('.nv-controlsWrap')\n .datum(controlsData)\n .attr('transform', 'translate(0,' + (-margin.top) +')')\n .call(controls);\n }\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n if (rightAlignYAxis) {\n g.select(\".nv-y.nv-axis\")\n .attr(\"transform\", \"translate(\" + availableWidth + \",0)\");\n }\n\n // Main Chart Component(s)\n multibar\n .disabled(data.map(function(series) { return series.disabled }))\n .width(availableWidth)\n .height(availableHeight)\n .color(data.map(function(d,i) {\n return d.color || color(d, i);\n }).filter(function(d,i) { return !data[i].disabled }));\n\n\n var barsWrap = g.select('.nv-barsWrap')\n .datum(data.filter(function(d) { return !d.disabled }));\n\n barsWrap.call(multibar);\n\n // Setup Axes\n if (showXAxis) {\n xAxis\n .scale(x)\n ._ticks( nv.utils.calcTicksX(availableWidth/100, data) )\n .tickSize(-availableHeight, 0);\n\n g.select('.nv-x.nv-axis')\n .attr('transform', 'translate(0,' + y.range()[0] + ')');\n g.select('.nv-x.nv-axis')\n .call(xAxis);\n\n var xTicks = g.select('.nv-x.nv-axis > g').selectAll('g');\n\n xTicks\n .selectAll('line, text')\n .style('opacity', 1)\n\n if (staggerLabels) {\n var getTranslate = function(x,y) {\n return \"translate(\" + x + \",\" + y + \")\";\n };\n\n var staggerUp = 5, staggerDown = 17; //pixels to stagger by\n // Issue #140\n xTicks\n .selectAll(\"text\")\n .attr('transform', function(d,i,j) {\n return getTranslate(0, (j % 2 == 0 ? staggerUp : staggerDown));\n });\n\n var totalInBetweenTicks = d3.selectAll(\".nv-x.nv-axis .nv-wrap g g text\")[0].length;\n g.selectAll(\".nv-x.nv-axis .nv-axisMaxMin text\")\n .attr(\"transform\", function(d,i) {\n return getTranslate(0, (i === 0 || totalInBetweenTicks % 2 !== 0) ? staggerDown : staggerUp);\n });\n }\n\n if (wrapLabels) {\n g.selectAll('.tick text')\n .call(nv.utils.wrapTicks, chart.xAxis.rangeBand())\n }\n\n if (reduceXTicks)\n xTicks\n .filter(function(d,i) {\n return i % Math.ceil(data[0].values.length / (availableWidth / 100)) !== 0;\n })\n .selectAll('text, line')\n .style('opacity', 0);\n\n if(rotateLabels)\n xTicks\n .selectAll('.tick text')\n .attr('transform', 'rotate(' + rotateLabels + ' 0,0)')\n .style('text-anchor', rotateLabels > 0 ? 'start' : 'end');\n\n g.select('.nv-x.nv-axis').selectAll('g.nv-axisMaxMin text')\n .style('opacity', 1);\n }\n\n if (showYAxis) {\n yAxis\n .scale(y)\n ._ticks( nv.utils.calcTicksY(availableHeight/36, data) )\n .tickSize( -availableWidth, 0);\n\n g.select('.nv-y.nv-axis')\n .call(yAxis);\n }\n\n //Set up interactive layer\n if (useInteractiveGuideline) {\n interactiveLayer\n .width(availableWidth)\n .height(availableHeight)\n .margin({left:margin.left, top:margin.top})\n .svgContainer(container)\n .xScale(x);\n wrap.select(\".nv-interactive\").call(interactiveLayer);\n }\n\n //============================================================\n // Event Handling/Dispatching (in chart's scope)\n //------------------------------------------------------------\n\n legend.dispatch.on('stateChange', function(newState) {\n for (var key in newState)\n state[key] = newState[key];\n dispatch.stateChange(state);\n chart.update();\n });\n\n controls.dispatch.on('legendClick', function(d,i) {\n if (!d.disabled) return;\n controlsData = controlsData.map(function(s) {\n s.disabled = true;\n return s;\n });\n d.disabled = false;\n\n switch (d.key) {\n case 'Grouped':\n case controlLabels.grouped:\n multibar.stacked(false);\n break;\n case 'Stacked':\n case controlLabels.stacked:\n multibar.stacked(true);\n break;\n }\n\n state.stacked = multibar.stacked();\n dispatch.stateChange(state);\n chart.update();\n });\n\n // Update chart from a state object passed to event handler\n dispatch.on('changeState', function(e) {\n if (typeof e.disabled !== 'undefined') {\n data.forEach(function(series,i) {\n series.disabled = e.disabled[i];\n });\n state.disabled = e.disabled;\n }\n if (typeof e.stacked !== 'undefined') {\n multibar.stacked(e.stacked);\n state.stacked = e.stacked;\n stacked = e.stacked;\n }\n chart.update();\n });\n\n if (useInteractiveGuideline) {\n interactiveLayer.dispatch.on('elementMousemove', function(e) {\n if (e.pointXValue == undefined) return;\n\n var singlePoint, pointIndex, pointXLocation, xValue, allData = [];\n data\n .filter(function(series, i) {\n series.seriesIndex = i;\n return !series.disabled;\n })\n .forEach(function(series,i) {\n pointIndex = x.domain().indexOf(e.pointXValue)\n\n var point = series.values[pointIndex];\n if (point === undefined) return;\n\n xValue = point.x;\n if (singlePoint === undefined) singlePoint = point;\n if (pointXLocation === undefined) pointXLocation = e.mouseX\n allData.push({\n key: series.key,\n value: chart.y()(point, pointIndex),\n color: color(series,series.seriesIndex),\n data: series.values[pointIndex]\n });\n });\n\n interactiveLayer.tooltip\n .data({\n value: xValue,\n index: pointIndex,\n series: allData\n })();\n\n interactiveLayer.renderGuideLine(pointXLocation);\n });\n\n interactiveLayer.dispatch.on(\"elementMouseout\",function(e) {\n interactiveLayer.tooltip.hidden(true);\n });\n }\n else {\n multibar.dispatch.on('elementMouseover.tooltip', function(evt) {\n evt.value = chart.x()(evt.data);\n evt['series'] = {\n key: evt.data.key,\n value: chart.y()(evt.data),\n color: evt.color\n };\n tooltip.data(evt).hidden(false);\n });\n\n multibar.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true);\n });\n\n multibar.dispatch.on('elementMousemove.tooltip', function(evt) {\n tooltip();\n });\n }\n });\n\n renderWatch.renderEnd('multibarchart immediate');\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n // expose chart's sub-components\n chart.dispatch = dispatch;\n chart.multibar = multibar;\n chart.legend = legend;\n chart.controls = controls;\n chart.xAxis = xAxis;\n chart.yAxis = yAxis;\n chart.state = state;\n chart.tooltip = tooltip;\n chart.interactiveLayer = interactiveLayer;\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n showLegend: {get: function(){return showLegend;}, set: function(_){showLegend=_;}},\n legendPosition: {get: function(){return legendPosition;}, set: function(_){legendPosition=_;}},\n showControls: {get: function(){return showControls;}, set: function(_){showControls=_;}},\n controlLabels: {get: function(){return controlLabels;}, set: function(_){controlLabels=_;}},\n showXAxis: {get: function(){return showXAxis;}, set: function(_){showXAxis=_;}},\n showYAxis: {get: function(){return showYAxis;}, set: function(_){showYAxis=_;}},\n defaultState: {get: function(){return defaultState;}, set: function(_){defaultState=_;}},\n noData: {get: function(){return noData;}, set: function(_){noData=_;}},\n reduceXTicks: {get: function(){return reduceXTicks;}, set: function(_){reduceXTicks=_;}},\n rotateLabels: {get: function(){return rotateLabels;}, set: function(_){rotateLabels=_;}},\n staggerLabels: {get: function(){return staggerLabels;}, set: function(_){staggerLabels=_;}},\n wrapLabels: {get: function(){return wrapLabels;}, set: function(_){wrapLabels=!!_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n if (_.top !== undefined) {\n margin.top = _.top;\n marginTop = _.top;\n }\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n multibar.duration(duration);\n xAxis.duration(duration);\n yAxis.duration(duration);\n renderWatch.reset(duration);\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n legend.color(color);\n }},\n rightAlignYAxis: {get: function(){return rightAlignYAxis;}, set: function(_){\n rightAlignYAxis = _;\n yAxis.orient( rightAlignYAxis ? 'right' : 'left');\n }},\n useInteractiveGuideline: {get: function(){return useInteractiveGuideline;}, set: function(_){\n useInteractiveGuideline = _;\n }},\n barColor: {get: function(){return multibar.barColor;}, set: function(_){\n multibar.barColor(_);\n legend.color(function(d,i) {return d3.rgb('#ccc').darker(i * 1.5).toString();})\n }}\n });\n\n nv.utils.inheritOptions(chart, multibar);\n nv.utils.initOptions(chart);\n\n return chart;\n};\n","\nnv.models.multiBarHorizontal = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 0, right: 0, bottom: 0, left: 0}\n , width = 960\n , height = 500\n , id = Math.floor(Math.random() * 10000) //Create semi-unique ID in case user doesn't select one\n , container = null\n , x = d3.scale.ordinal()\n , y = d3.scale.linear()\n , getX = function(d) { return d.x }\n , getY = function(d) { return d.y }\n , getYerr = function(d) { return d.yErr }\n , forceY = [0] // 0 is forced by default.. this makes sense for the majority of bar graphs... user can always do chart.forceY([]) to remove\n , color = nv.utils.defaultColor()\n , barColor = null // adding the ability to set the color for each rather than the whole group\n , disabled // used in conjunction with barColor to communicate from multiBarHorizontalChart what series are disabled\n , stacked = false\n , showValues = false\n , showBarLabels = false\n , valuePadding = 60\n , groupSpacing = 0.1\n , fillOpacity = 0.75\n , valueFormat = d3.format(',.2f')\n , delay = 1200\n , xDomain\n , yDomain\n , xRange\n , yRange\n , duration = 250\n , dispatch = d3.dispatch('chartClick', 'elementClick', 'elementDblClick', 'elementMouseover', 'elementMouseout', 'elementMousemove', 'renderEnd')\n ;\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var x0, y0; //used to store previous scales\n var renderWatch = nv.utils.renderWatch(dispatch, duration);\n\n function chart(selection) {\n renderWatch.reset();\n selection.each(function(data) {\n var availableWidth = width - margin.left - margin.right,\n availableHeight = height - margin.top - margin.bottom;\n\n container = d3.select(this);\n nv.utils.initSVG(container);\n\n if (stacked)\n data = d3.layout.stack()\n .offset('zero')\n .values(function(d){ return d.values })\n .y(getY)\n (data);\n\n //add series index and key to each data point for reference\n data.forEach(function(series, i) {\n series.values.forEach(function(point) {\n point.series = i;\n point.key = series.key;\n });\n });\n\n // HACK for negative value stacking\n if (stacked)\n data[0].values.map(function(d,i) {\n var posBase = 0, negBase = 0;\n data.map(function(d) {\n var f = d.values[i]\n f.size = Math.abs(f.y);\n if (f.y<0) {\n f.y1 = negBase - f.size;\n negBase = negBase - f.size;\n } else\n {\n f.y1 = posBase;\n posBase = posBase + f.size;\n }\n });\n });\n\n // Setup Scales\n // remap and flatten the data for use in calculating the scales' domains\n var seriesData = (xDomain && yDomain) ? [] : // if we know xDomain and yDomain, no need to calculate\n data.map(function(d) {\n return d.values.map(function(d,i) {\n return { x: getX(d,i), y: getY(d,i), y0: d.y0, y1: d.y1 }\n })\n });\n\n x.domain(xDomain || d3.merge(seriesData).map(function(d) { return d.x }))\n .rangeBands(xRange || [0, availableHeight], groupSpacing);\n\n y.domain(yDomain || d3.extent(d3.merge(seriesData).map(function(d) { return stacked ? (d.y > 0 ? d.y1 + d.y : d.y1 ) : d.y }).concat(forceY)))\n\n if (showValues && !stacked)\n y.range(yRange || [(y.domain()[0] < 0 ? valuePadding : 0), availableWidth - (y.domain()[1] > 0 ? valuePadding : 0) ]);\n else\n y.range(yRange || [0, availableWidth]);\n\n x0 = x0 || x;\n y0 = y0 || d3.scale.linear().domain(y.domain()).range([y(0),y(0)]);\n\n // Setup containers and skeleton of chart\n var wrap = d3.select(this).selectAll('g.nv-wrap.nv-multibarHorizontal').data([data]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-multibarHorizontal');\n var defsEnter = wrapEnter.append('defs');\n var gEnter = wrapEnter.append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-groups');\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n var groups = wrap.select('.nv-groups').selectAll('.nv-group')\n .data(function(d) { return d }, function(d,i) { return i });\n groups.enter().append('g')\n .style('stroke-opacity', 1e-6)\n .style('fill-opacity', 1e-6);\n groups.exit().watchTransition(renderWatch, 'multibarhorizontal: exit groups')\n .style('stroke-opacity', 1e-6)\n .style('fill-opacity', 1e-6)\n .remove();\n groups\n .attr('class', function(d,i) { return 'nv-group nv-series-' + i })\n .classed('hover', function(d) { return d.hover })\n .style('fill', function(d,i){ return color(d, i) })\n .style('stroke', function(d,i){ return color(d, i) });\n groups.watchTransition(renderWatch, 'multibarhorizontal: groups')\n .style('stroke-opacity', 1)\n .style('fill-opacity', fillOpacity);\n\n var bars = groups.selectAll('g.nv-bar')\n .data(function(d) { return d.values });\n bars.exit().remove();\n\n var barsEnter = bars.enter().append('g')\n .attr('transform', function(d,i,j) {\n return 'translate(' + y0(stacked ? d.y0 : 0) + ',' + (stacked ? 0 : (j * x.rangeBand() / data.length ) + x(getX(d,i))) + ')'\n });\n\n barsEnter.append('rect')\n .attr('width', 0)\n .attr('height', x.rangeBand() / (stacked ? 1 : data.length) )\n\n bars\n .on('mouseover', function(d,i) { //TODO: figure out why j works above, but not here\n d3.select(this).classed('hover', true);\n dispatch.elementMouseover({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\")\n });\n })\n .on('mouseout', function(d,i) {\n d3.select(this).classed('hover', false);\n dispatch.elementMouseout({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\")\n });\n })\n .on('mouseout', function(d,i) {\n dispatch.elementMouseout({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\")\n });\n })\n .on('mousemove', function(d,i) {\n dispatch.elementMousemove({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\")\n });\n })\n .on('click', function(d,i) {\n var element = this;\n dispatch.elementClick({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\"),\n event: d3.event,\n element: element\n });\n d3.event.stopPropagation();\n })\n .on('dblclick', function(d,i) {\n dispatch.elementDblClick({\n data: d,\n index: i,\n color: d3.select(this).style(\"fill\")\n });\n d3.event.stopPropagation();\n });\n\n if (getYerr(data[0],0)) {\n barsEnter.append('polyline');\n\n bars.select('polyline')\n .attr('fill', 'none')\n .attr('points', function(d,i) {\n var xerr = getYerr(d,i)\n , mid = 0.8 * x.rangeBand() / ((stacked ? 1 : data.length) * 2);\n xerr = xerr.length ? xerr : [-Math.abs(xerr), Math.abs(xerr)];\n xerr = xerr.map(function(e) { return y(e + ((getY(d,i) < 0) ? 0 : getY(d,i))) - y(0); });\n var a = [[xerr[0],-mid], [xerr[0],mid], [xerr[0],0], [xerr[1],0], [xerr[1],-mid], [xerr[1],mid]];\n return a.map(function (path) { return path.join(',') }).join(' ');\n })\n .attr('transform', function(d,i) {\n var mid = x.rangeBand() / ((stacked ? 1 : data.length) * 2);\n return 'translate(0, ' + mid + ')';\n });\n }\n\n barsEnter.append('text');\n\n if (showValues && !stacked) {\n bars.select('text')\n .attr('text-anchor', function(d,i) { return getY(d,i) < 0 ? 'end' : 'start' })\n .attr('y', x.rangeBand() / (data.length * 2))\n .attr('dy', '.32em')\n .text(function(d,i) {\n var t = valueFormat(getY(d,i))\n , yerr = getYerr(d,i);\n if (yerr === undefined)\n return t;\n if (!yerr.length)\n return t + '±' + valueFormat(Math.abs(yerr));\n return t + '+' + valueFormat(Math.abs(yerr[1])) + '-' + valueFormat(Math.abs(yerr[0]));\n });\n bars.watchTransition(renderWatch, 'multibarhorizontal: bars')\n .select('text')\n .attr('x', function(d,i) { return getY(d,i) < 0 ? -4 : y(getY(d,i)) - y(0) + 4 })\n } else {\n bars.selectAll('text').text('');\n }\n\n if (showBarLabels && !stacked) {\n barsEnter.append('text').classed('nv-bar-label',true);\n bars.select('text.nv-bar-label')\n .attr('text-anchor', function(d,i) { return getY(d,i) < 0 ? 'start' : 'end' })\n .attr('y', x.rangeBand() / (data.length * 2))\n .attr('dy', '.32em')\n .text(function(d,i) { return getX(d,i) });\n bars.watchTransition(renderWatch, 'multibarhorizontal: bars')\n .select('text.nv-bar-label')\n .attr('x', function(d,i) { return getY(d,i) < 0 ? y(0) - y(getY(d,i)) + 4 : -4 });\n }\n else {\n bars.selectAll('text.nv-bar-label').text('');\n }\n\n bars\n .attr('class', function(d,i) { return getY(d,i) < 0 ? 'nv-bar negative' : 'nv-bar positive'})\n\n if (barColor) {\n if (!disabled) disabled = data.map(function() { return true });\n bars\n .style('fill', function(d,i,j) { return d3.rgb(barColor(d,i)).darker( disabled.map(function(d,i) { return i }).filter(function(d,i){ return !disabled[i] })[j] ).toString(); })\n .style('stroke', function(d,i,j) { return d3.rgb(barColor(d,i)).darker( disabled.map(function(d,i) { return i }).filter(function(d,i){ return !disabled[i] })[j] ).toString(); });\n }\n\n if (stacked)\n bars.watchTransition(renderWatch, 'multibarhorizontal: bars')\n .attr('transform', function(d,i) {\n return 'translate(' + y(d.y1) + ',' + x(getX(d,i)) + ')'\n })\n .select('rect')\n .attr('width', function(d,i) {\n return Math.abs(y(getY(d,i) + d.y0) - y(d.y0)) || 0\n })\n .attr('height', x.rangeBand() );\n else\n bars.watchTransition(renderWatch, 'multibarhorizontal: bars')\n .attr('transform', function(d,i) {\n //TODO: stacked must be all positive or all negative, not both?\n return 'translate(' +\n (getY(d,i) < 0 ? y(getY(d,i)) : y(0))\n + ',' +\n (d.series * x.rangeBand() / data.length\n +\n x(getX(d,i)) )\n + ')'\n })\n .select('rect')\n .attr('height', x.rangeBand() / data.length )\n .attr('width', function(d,i) {\n return Math.max(Math.abs(y(getY(d,i)) - y(0)),1) || 0\n });\n\n //store old scales for use in transitions on update\n x0 = x.copy();\n y0 = y.copy();\n\n });\n\n renderWatch.renderEnd('multibarHorizontal immediate');\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n x: {get: function(){return getX;}, set: function(_){getX=_;}},\n y: {get: function(){return getY;}, set: function(_){getY=_;}},\n yErr: {get: function(){return getYerr;}, set: function(_){getYerr=_;}},\n xScale: {get: function(){return x;}, set: function(_){x=_;}},\n yScale: {get: function(){return y;}, set: function(_){y=_;}},\n xDomain: {get: function(){return xDomain;}, set: function(_){xDomain=_;}},\n yDomain: {get: function(){return yDomain;}, set: function(_){yDomain=_;}},\n xRange: {get: function(){return xRange;}, set: function(_){xRange=_;}},\n yRange: {get: function(){return yRange;}, set: function(_){yRange=_;}},\n forceY: {get: function(){return forceY;}, set: function(_){forceY=_;}},\n stacked: {get: function(){return stacked;}, set: function(_){stacked=_;}},\n showValues: {get: function(){return showValues;}, set: function(_){showValues=_;}},\n // this shows the group name, seems pointless?\n //showBarLabels: {get: function(){return showBarLabels;}, set: function(_){showBarLabels=_;}},\n disabled: {get: function(){return disabled;}, set: function(_){disabled=_;}},\n id: {get: function(){return id;}, set: function(_){id=_;}},\n valueFormat: {get: function(){return valueFormat;}, set: function(_){valueFormat=_;}},\n valuePadding: {get: function(){return valuePadding;}, set: function(_){valuePadding=_;}},\n groupSpacing: {get: function(){return groupSpacing;}, set: function(_){groupSpacing=_;}},\n fillOpacity: {get: function(){return fillOpacity;}, set: function(_){fillOpacity=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n }},\n barColor: {get: function(){return barColor;}, set: function(_){\n barColor = _ ? nv.utils.getColor(_) : null;\n }}\n });\n\n nv.utils.initOptions(chart);\n\n return chart;\n};\n","\nnv.models.multiBarHorizontalChart = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var multibar = nv.models.multiBarHorizontal()\n , xAxis = nv.models.axis()\n , yAxis = nv.models.axis()\n , legend = nv.models.legend().height(30)\n , controls = nv.models.legend().height(30)\n , tooltip = nv.models.tooltip()\n ;\n\n var margin = {top: 30, right: 20, bottom: 50, left: 60}\n , marginTop = null\n , width = null\n , height = null\n , color = nv.utils.defaultColor()\n , showControls = true\n , controlsPosition = 'top' \n , controlLabels = {}\n , showLegend = true\n , legendPosition = 'top'\n , showXAxis = true\n , showYAxis = true\n , stacked = false\n , x //can be accessed via chart.xScale()\n , y //can be accessed via chart.yScale()\n , state = nv.utils.state()\n , defaultState = null\n , noData = null\n , dispatch = d3.dispatch('stateChange', 'changeState','renderEnd')\n , controlWidth = function() { return showControls ? 180 : 0 }\n , duration = 250\n ;\n\n state.stacked = false; // DEPRECATED Maintained for backward compatibility\n\n multibar.stacked(stacked);\n\n xAxis\n .orient('left')\n .tickPadding(5)\n .showMaxMin(false)\n .tickFormat(function(d) { return d })\n ;\n yAxis\n .orient('bottom')\n .tickFormat(d3.format(',.1f'))\n ;\n\n tooltip\n .duration(0)\n .valueFormatter(function(d, i) {\n return yAxis.tickFormat()(d, i);\n })\n .headerFormatter(function(d, i) {\n return xAxis.tickFormat()(d, i);\n });\n\n controls.updateState(false);\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var stateGetter = function(data) {\n return function(){\n return {\n active: data.map(function(d) { return !d.disabled }),\n stacked: stacked\n };\n }\n };\n\n var stateSetter = function(data) {\n return function(state) {\n if (state.stacked !== undefined)\n stacked = state.stacked;\n if (state.active !== undefined)\n data.forEach(function(series,i) {\n series.disabled = !state.active[i];\n });\n }\n };\n\n var renderWatch = nv.utils.renderWatch(dispatch, duration);\n\n function chart(selection) {\n renderWatch.reset();\n renderWatch.models(multibar);\n if (showXAxis) renderWatch.models(xAxis);\n if (showYAxis) renderWatch.models(yAxis);\n\n selection.each(function(data) {\n var container = d3.select(this),\n that = this;\n nv.utils.initSVG(container);\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin);\n\n chart.update = function() { container.transition().duration(duration).call(chart) };\n chart.container = this;\n\n stacked = multibar.stacked();\n\n state\n .setter(stateSetter(data), chart.update)\n .getter(stateGetter(data))\n .update();\n\n // DEPRECATED set state.disableddisabled\n state.disabled = data.map(function(d) { return !!d.disabled });\n\n if (!defaultState) {\n var key;\n defaultState = {};\n for (key in state) {\n if (state[key] instanceof Array)\n defaultState[key] = state[key].slice(0);\n else\n defaultState[key] = state[key];\n }\n }\n\n // Display No Data message if there's nothing to show.\n if (!data || !data.length || !data.filter(function(d) { return d.values.length }).length) {\n nv.utils.noData(chart, container)\n return chart;\n } else {\n container.selectAll('.nv-noData').remove();\n }\n\n // Setup Scales\n x = multibar.xScale();\n y = multibar.yScale().clamp(true);\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-multiBarHorizontalChart').data([data]);\n var gEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-multiBarHorizontalChart').append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-x nv-axis');\n gEnter.append('g').attr('class', 'nv-y nv-axis')\n .append('g').attr('class', 'nv-zeroLine')\n .append('line');\n gEnter.append('g').attr('class', 'nv-barsWrap');\n gEnter.append('g').attr('class', 'nv-legendWrap');\n gEnter.append('g').attr('class', 'nv-controlsWrap');\n\n // Legend\n if (!showLegend) {\n g.select('.nv-legendWrap').selectAll('*').remove();\n } else {\n legend.width(availableWidth - controlWidth());\n\n g.select('.nv-legendWrap')\n .datum(data)\n .call(legend);\n if (legendPosition === 'bottom') {\n margin.bottom = xAxis.height() + legend.height();\n availableHeight = nv.utils.availableHeight(height, container, margin);\n g.select('.nv-legendWrap')\n .attr('transform', 'translate(' + controlWidth() + ',' + (availableHeight + xAxis.height()) +')');\n } else if (legendPosition === 'top') {\n\n if (!marginTop && legend.height() !== margin.top) {\n margin.top = legend.height();\n availableHeight = nv.utils.availableHeight(height, container, margin);\n }\n\n g.select('.nv-legendWrap')\n .attr('transform', 'translate(' + controlWidth() + ',' + (-margin.top) +')');\n } \n }\n\n // Controls\n if (!showControls) {\n g.select('.nv-controlsWrap').selectAll('*').remove();\n } else {\n var controlsData = [\n { key: controlLabels.grouped || 'Grouped', disabled: multibar.stacked() },\n { key: controlLabels.stacked || 'Stacked', disabled: !multibar.stacked() }\n ];\n\n controls.width(controlWidth()).color(['#444', '#444', '#444']);\n\n if (controlsPosition === 'bottom') {\n margin.bottom = xAxis.height() + legend.height();\n availableHeight = nv.utils.availableHeight(height, container, margin);\n g.select('.nv-controlsWrap')\n .datum(controlsData)\n .attr('transform', 'translate(0,' + (availableHeight + xAxis.height()) +')')\n .call(controls); \n\n } else if (controlsPosition === 'top') {\n g.select('.nv-controlsWrap')\n .datum(controlsData)\n .attr('transform', 'translate(0,' + (-margin.top) +')')\n .call(controls); \n }\n }\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n // Main Chart Component(s)\n multibar\n .disabled(data.map(function(series) { return series.disabled }))\n .width(availableWidth)\n .height(availableHeight)\n .color(data.map(function(d,i) {\n return d.color || color(d, i);\n }).filter(function(d,i) { return !data[i].disabled }));\n\n var barsWrap = g.select('.nv-barsWrap')\n .datum(data.filter(function(d) { return !d.disabled }));\n\n barsWrap.transition().call(multibar);\n\n // Setup Axes\n if (showXAxis) {\n xAxis\n .scale(x)\n ._ticks( nv.utils.calcTicksY(availableHeight/24, data) )\n .tickSize(-availableWidth, 0);\n\n g.select('.nv-x.nv-axis').call(xAxis);\n\n var xTicks = g.select('.nv-x.nv-axis').selectAll('g');\n\n xTicks\n .selectAll('line, text');\n }\n\n if (showYAxis) {\n yAxis\n .scale(y)\n ._ticks( nv.utils.calcTicksX(availableWidth/100, data) )\n .tickSize( -availableHeight, 0);\n\n g.select('.nv-y.nv-axis')\n .attr('transform', 'translate(0,' + availableHeight + ')');\n g.select('.nv-y.nv-axis').call(yAxis);\n }\n\n // Zero line\n g.select(\".nv-zeroLine line\")\n .attr(\"x1\", y(0))\n .attr(\"x2\", y(0))\n .attr(\"y1\", 0)\n .attr(\"y2\", -availableHeight)\n ;\n\n //============================================================\n // Event Handling/Dispatching (in chart's scope)\n //------------------------------------------------------------\n\n legend.dispatch.on('stateChange', function(newState) {\n for (var key in newState)\n state[key] = newState[key];\n dispatch.stateChange(state);\n chart.update();\n });\n\n controls.dispatch.on('legendClick', function(d,i) {\n if (!d.disabled) return;\n controlsData = controlsData.map(function(s) {\n s.disabled = true;\n return s;\n });\n d.disabled = false;\n\n switch (d.key) {\n case 'Grouped':\n case controlLabels.grouped:\n multibar.stacked(false);\n break;\n case 'Stacked':\n case controlLabels.stacked:\n multibar.stacked(true);\n break;\n }\n\n state.stacked = multibar.stacked();\n dispatch.stateChange(state);\n stacked = multibar.stacked();\n\n chart.update();\n });\n\n // Update chart from a state object passed to event handler\n dispatch.on('changeState', function(e) {\n\n if (typeof e.disabled !== 'undefined') {\n data.forEach(function(series,i) {\n series.disabled = e.disabled[i];\n });\n\n state.disabled = e.disabled;\n }\n\n if (typeof e.stacked !== 'undefined') {\n multibar.stacked(e.stacked);\n state.stacked = e.stacked;\n stacked = e.stacked;\n }\n\n chart.update();\n });\n });\n renderWatch.renderEnd('multibar horizontal chart immediate');\n return chart;\n }\n\n //============================================================\n // Event Handling/Dispatching (out of chart's scope)\n //------------------------------------------------------------\n\n multibar.dispatch.on('elementMouseover.tooltip', function(evt) {\n evt.value = chart.x()(evt.data);\n evt['series'] = {\n key: evt.data.key,\n value: chart.y()(evt.data),\n color: evt.color\n };\n tooltip.data(evt).hidden(false);\n });\n\n multibar.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true);\n });\n\n multibar.dispatch.on('elementMousemove.tooltip', function(evt) {\n tooltip();\n });\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n // expose chart's sub-components\n chart.dispatch = dispatch;\n chart.multibar = multibar;\n chart.legend = legend;\n chart.controls = controls;\n chart.xAxis = xAxis;\n chart.yAxis = yAxis;\n chart.state = state;\n chart.tooltip = tooltip;\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n showLegend: {get: function(){return showLegend;}, set: function(_){showLegend=_;}},\n legendPosition: {get: function(){return legendPosition;}, set: function(_){legendPosition=_;}},\n controlsPosition: {get: function(){return controlsPosition;}, set: function(_){controlsPosition=_;}},\n showControls: {get: function(){return showControls;}, set: function(_){showControls=_;}},\n controlLabels: {get: function(){return controlLabels;}, set: function(_){controlLabels=_;}},\n showXAxis: {get: function(){return showXAxis;}, set: function(_){showXAxis=_;}},\n showYAxis: {get: function(){return showYAxis;}, set: function(_){showYAxis=_;}},\n defaultState: {get: function(){return defaultState;}, set: function(_){defaultState=_;}},\n noData: {get: function(){return noData;}, set: function(_){noData=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n if (_.top !== undefined) {\n margin.top = _.top;\n marginTop = _.top;\n }\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n multibar.duration(duration);\n xAxis.duration(duration);\n yAxis.duration(duration);\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n legend.color(color);\n }},\n barColor: {get: function(){return multibar.barColor;}, set: function(_){\n multibar.barColor(_);\n legend.color(function(d,i) {return d3.rgb('#ccc').darker(i * 1.5).toString();})\n }}\n });\n\n nv.utils.inheritOptions(chart, multibar);\n nv.utils.initOptions(chart);\n\n return chart;\n};\n","nv.models.multiChart = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 30, right: 20, bottom: 50, left: 60},\n marginTop = null,\n color = nv.utils.defaultColor(),\n width = null,\n height = null,\n showLegend = true,\n noData = null,\n yDomain1,\n yDomain2,\n getX = function(d) { return d.x },\n getY = function(d) { return d.y},\n interpolate = 'linear',\n useVoronoi = true,\n interactiveLayer = nv.interactiveGuideline(),\n useInteractiveGuideline = false,\n legendRightAxisHint = ' (right axis)',\n duration = 250\n ;\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var x = d3.scale.linear(),\n yScale1 = d3.scale.linear(),\n yScale2 = d3.scale.linear(),\n\n lines1 = nv.models.line().yScale(yScale1).duration(duration),\n lines2 = nv.models.line().yScale(yScale2).duration(duration),\n\n scatters1 = nv.models.scatter().yScale(yScale1).duration(duration),\n scatters2 = nv.models.scatter().yScale(yScale2).duration(duration),\n\n bars1 = nv.models.multiBar().stacked(false).yScale(yScale1).duration(duration),\n bars2 = nv.models.multiBar().stacked(false).yScale(yScale2).duration(duration),\n\n stack1 = nv.models.stackedArea().yScale(yScale1).duration(duration),\n stack2 = nv.models.stackedArea().yScale(yScale2).duration(duration),\n\n xAxis = nv.models.axis().scale(x).orient('bottom').tickPadding(5).duration(duration),\n yAxis1 = nv.models.axis().scale(yScale1).orient('left').duration(duration),\n yAxis2 = nv.models.axis().scale(yScale2).orient('right').duration(duration),\n\n legend = nv.models.legend().height(30),\n tooltip = nv.models.tooltip(),\n dispatch = d3.dispatch();\n\n var charts = [lines1, lines2, scatters1, scatters2, bars1, bars2, stack1, stack2];\n\n function chart(selection) {\n selection.each(function(data) {\n var container = d3.select(this),\n that = this;\n nv.utils.initSVG(container);\n\n chart.update = function() { container.transition().call(chart); };\n chart.container = this;\n\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin);\n\n var dataLines1 = data.filter(function(d) {return d.type == 'line' && d.yAxis == 1});\n var dataLines2 = data.filter(function(d) {return d.type == 'line' && d.yAxis == 2});\n var dataScatters1 = data.filter(function(d) {return d.type == 'scatter' && d.yAxis == 1});\n var dataScatters2 = data.filter(function(d) {return d.type == 'scatter' && d.yAxis == 2});\n var dataBars1 = data.filter(function(d) {return d.type == 'bar' && d.yAxis == 1});\n var dataBars2 = data.filter(function(d) {return d.type == 'bar' && d.yAxis == 2});\n var dataStack1 = data.filter(function(d) {return d.type == 'area' && d.yAxis == 1});\n var dataStack2 = data.filter(function(d) {return d.type == 'area' && d.yAxis == 2});\n\n // Display noData message if there's nothing to show.\n if (!data || !data.length || !data.filter(function(d) { return d.values.length }).length) {\n nv.utils.noData(chart, container);\n return chart;\n } else {\n container.selectAll('.nv-noData').remove();\n }\n\n var series1 = data.filter(function(d) {return !d.disabled && d.yAxis == 1})\n .map(function(d) {\n return d.values.map(function(d,i) {\n return { x: getX(d), y: getY(d) }\n })\n });\n\n var series2 = data.filter(function(d) {return !d.disabled && d.yAxis == 2})\n .map(function(d) {\n return d.values.map(function(d,i) {\n return { x: getX(d), y: getY(d) }\n })\n });\n\n x .domain(d3.extent(d3.merge(series1.concat(series2)), function(d) { return d.x }))\n .range([0, availableWidth]);\n\n var wrap = container.selectAll('g.wrap.multiChart').data([data]);\n var gEnter = wrap.enter().append('g').attr('class', 'wrap nvd3 multiChart').append('g');\n\n gEnter.append('g').attr('class', 'nv-x nv-axis');\n gEnter.append('g').attr('class', 'nv-y1 nv-axis');\n gEnter.append('g').attr('class', 'nv-y2 nv-axis');\n gEnter.append('g').attr('class', 'stack1Wrap');\n gEnter.append('g').attr('class', 'stack2Wrap');\n gEnter.append('g').attr('class', 'bars1Wrap');\n gEnter.append('g').attr('class', 'bars2Wrap');\n gEnter.append('g').attr('class', 'scatters1Wrap');\n gEnter.append('g').attr('class', 'scatters2Wrap');\n gEnter.append('g').attr('class', 'lines1Wrap');\n gEnter.append('g').attr('class', 'lines2Wrap');\n gEnter.append('g').attr('class', 'legendWrap');\n gEnter.append('g').attr('class', 'nv-interactive');\n\n var g = wrap.select('g');\n\n var color_array = data.map(function(d,i) {\n return data[i].color || color(d, i);\n });\n\n // Legend\n if (!showLegend) {\n g.select('.legendWrap').selectAll('*').remove();\n } else {\n var legendWidth = legend.align() ? availableWidth / 2 : availableWidth;\n var legendXPosition = legend.align() ? legendWidth : 0;\n\n legend.width(legendWidth);\n legend.color(color_array);\n\n g.select('.legendWrap')\n .datum(data.map(function(series) {\n series.originalKey = series.originalKey === undefined ? series.key : series.originalKey;\n series.key = series.originalKey + (series.yAxis == 1 ? '' : legendRightAxisHint);\n return series;\n }))\n .call(legend);\n\n if (!marginTop && legend.height() !== margin.top) {\n margin.top = legend.height();\n availableHeight = nv.utils.availableHeight(height, container, margin);\n }\n\n g.select('.legendWrap')\n .attr('transform', 'translate(' + legendXPosition + ',' + (-margin.top) +')');\n }\n\n lines1\n .width(availableWidth)\n .height(availableHeight)\n .interpolate(interpolate)\n .color(color_array.filter(function(d,i) { return !data[i].disabled && data[i].yAxis == 1 && data[i].type == 'line'}));\n lines2\n .width(availableWidth)\n .height(availableHeight)\n .interpolate(interpolate)\n .color(color_array.filter(function(d,i) { return !data[i].disabled && data[i].yAxis == 2 && data[i].type == 'line'}));\n scatters1\n .width(availableWidth)\n .height(availableHeight)\n .color(color_array.filter(function(d,i) { return !data[i].disabled && data[i].yAxis == 1 && data[i].type == 'scatter'}));\n scatters2\n .width(availableWidth)\n .height(availableHeight)\n .color(color_array.filter(function(d,i) { return !data[i].disabled && data[i].yAxis == 2 && data[i].type == 'scatter'}));\n bars1\n .width(availableWidth)\n .height(availableHeight)\n .color(color_array.filter(function(d,i) { return !data[i].disabled && data[i].yAxis == 1 && data[i].type == 'bar'}));\n bars2\n .width(availableWidth)\n .height(availableHeight)\n .color(color_array.filter(function(d,i) { return !data[i].disabled && data[i].yAxis == 2 && data[i].type == 'bar'}));\n stack1\n .width(availableWidth)\n .height(availableHeight)\n .interpolate(interpolate)\n .color(color_array.filter(function(d,i) { return !data[i].disabled && data[i].yAxis == 1 && data[i].type == 'area'}));\n stack2\n .width(availableWidth)\n .height(availableHeight)\n .interpolate(interpolate)\n .color(color_array.filter(function(d,i) { return !data[i].disabled && data[i].yAxis == 2 && data[i].type == 'area'}));\n\n g.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n var lines1Wrap = g.select('.lines1Wrap')\n .datum(dataLines1.filter(function(d){return !d.disabled}));\n var scatters1Wrap = g.select('.scatters1Wrap')\n .datum(dataScatters1.filter(function(d){return !d.disabled}));\n var bars1Wrap = g.select('.bars1Wrap')\n .datum(dataBars1.filter(function(d){return !d.disabled}));\n var stack1Wrap = g.select('.stack1Wrap')\n .datum(dataStack1.filter(function(d){return !d.disabled}));\n var lines2Wrap = g.select('.lines2Wrap')\n .datum(dataLines2.filter(function(d){return !d.disabled}));\n var scatters2Wrap = g.select('.scatters2Wrap')\n .datum(dataScatters2.filter(function(d){return !d.disabled}));\n var bars2Wrap = g.select('.bars2Wrap')\n .datum(dataBars2.filter(function(d){return !d.disabled}));\n var stack2Wrap = g.select('.stack2Wrap')\n .datum(dataStack2.filter(function(d){return !d.disabled}));\n\n var extraValue1BarStacked = [];\n if (bars1.stacked() && dataBars1.length) {\n var extraValue1BarStacked = dataBars1.filter(function(d){return !d.disabled}).map(function(a){return a.values});\n \n if (extraValue1BarStacked.length > 0)\n extraValue1BarStacked = extraValue1BarStacked.reduce(function(a,b){\n return a.map(function(aVal,i){return {x: aVal.x, y: aVal.y + b[i].y}})\n });\n }\n if (dataBars1.length) {\n extraValue1BarStacked.push({x:0, y:0});\n }\n \n var extraValue2BarStacked = [];\n if (bars2.stacked() && dataBars2.length) {\n var extraValue2BarStacked = dataBars2.filter(function(d){return !d.disabled}).map(function(a){return a.values});\n \n if (extraValue2BarStacked.length > 0)\n extraValue2BarStacked = extraValue2BarStacked.reduce(function(a,b){\n return a.map(function(aVal,i){return {x: aVal.x, y: aVal.y + b[i].y}})\n });\n }\n if (dataBars2.length) {\n extraValue2BarStacked.push({x:0, y:0});\n }\n \n yScale1 .domain(yDomain1 || d3.extent(d3.merge(series1).concat(extraValue1BarStacked), function(d) { return d.y } ))\n .range([0, availableHeight]);\n\n yScale2 .domain(yDomain2 || d3.extent(d3.merge(series2).concat(extraValue2BarStacked), function(d) { return d.y } ))\n .range([0, availableHeight]);\n\n lines1.yDomain(yScale1.domain());\n scatters1.yDomain(yScale1.domain());\n bars1.yDomain(yScale1.domain());\n stack1.yDomain(yScale1.domain());\n\n lines2.yDomain(yScale2.domain());\n scatters2.yDomain(yScale2.domain());\n bars2.yDomain(yScale2.domain());\n stack2.yDomain(yScale2.domain());\n\n if(dataStack1.length){d3.transition(stack1Wrap).call(stack1);}\n if(dataStack2.length){d3.transition(stack2Wrap).call(stack2);}\n\n if(dataBars1.length){d3.transition(bars1Wrap).call(bars1);}\n if(dataBars2.length){d3.transition(bars2Wrap).call(bars2);}\n\n if(dataLines1.length){d3.transition(lines1Wrap).call(lines1);}\n if(dataLines2.length){d3.transition(lines2Wrap).call(lines2);}\n\n if(dataScatters1.length){d3.transition(scatters1Wrap).call(scatters1);}\n if(dataScatters2.length){d3.transition(scatters2Wrap).call(scatters2);}\n\n xAxis\n ._ticks( nv.utils.calcTicksX(availableWidth/100, data) )\n .tickSize(-availableHeight, 0);\n\n g.select('.nv-x.nv-axis')\n .attr('transform', 'translate(0,' + availableHeight + ')');\n d3.transition(g.select('.nv-x.nv-axis'))\n .call(xAxis);\n\n yAxis1\n ._ticks( nv.utils.calcTicksY(availableHeight/36, data) )\n .tickSize( -availableWidth, 0);\n\n\n d3.transition(g.select('.nv-y1.nv-axis'))\n .call(yAxis1);\n\n yAxis2\n ._ticks( nv.utils.calcTicksY(availableHeight/36, data) )\n .tickSize( -availableWidth, 0);\n\n d3.transition(g.select('.nv-y2.nv-axis'))\n .call(yAxis2);\n\n g.select('.nv-y1.nv-axis')\n .classed('nv-disabled', series1.length ? false : true)\n .attr('transform', 'translate(' + x.range()[0] + ',0)');\n\n g.select('.nv-y2.nv-axis')\n .classed('nv-disabled', series2.length ? false : true)\n .attr('transform', 'translate(' + x.range()[1] + ',0)');\n\n legend.dispatch.on('stateChange', function(newState) {\n chart.update();\n });\n\n if(useInteractiveGuideline){\n interactiveLayer\n .width(availableWidth)\n .height(availableHeight)\n .margin({left:margin.left, top:margin.top})\n .svgContainer(container)\n .xScale(x);\n wrap.select(\".nv-interactive\").call(interactiveLayer);\n }\n\n //============================================================\n // Event Handling/Dispatching\n //------------------------------------------------------------\n\n function mouseover_line(evt) {\n var yaxis = evt.series.yAxis === 2 ? yAxis2 : yAxis1;\n evt.value = evt.point.x;\n evt.series = {\n value: evt.point.y,\n color: evt.point.color,\n key: evt.series.key\n };\n tooltip\n .duration(0)\n .headerFormatter(function(d, i) {\n \treturn xAxis.tickFormat()(d, i);\n })\n .valueFormatter(function(d, i) {\n return yaxis.tickFormat()(d, i);\n })\n .data(evt)\n .hidden(false);\n }\n\n function mouseover_scatter(evt) {\n var yaxis = evt.series.yAxis === 2 ? yAxis2 : yAxis1;\n evt.value = evt.point.x;\n evt.series = {\n value: evt.point.y,\n color: evt.point.color,\n key: evt.series.key\n };\n tooltip\n .duration(100)\n .headerFormatter(function(d, i) {\n \treturn xAxis.tickFormat()(d, i);\n })\n .valueFormatter(function(d, i) {\n return yaxis.tickFormat()(d, i);\n })\n .data(evt)\n .hidden(false);\n }\n\n function mouseover_stack(evt) {\n var yaxis = evt.series.yAxis === 2 ? yAxis2 : yAxis1;\n evt.point['x'] = stack1.x()(evt.point);\n evt.point['y'] = stack1.y()(evt.point);\n tooltip\n .duration(0)\n .headerFormatter(function(d, i) {\n \treturn xAxis.tickFormat()(d, i);\n })\n .valueFormatter(function(d, i) {\n return yaxis.tickFormat()(d, i);\n })\n .data(evt)\n .hidden(false);\n }\n\n function mouseover_bar(evt) {\n var yaxis = evt.series.yAxis === 2 ? yAxis2 : yAxis1;\n\n evt.value = bars1.x()(evt.data);\n evt['series'] = {\n value: bars1.y()(evt.data),\n color: evt.color,\n key: evt.data.key\n };\n tooltip\n .duration(0)\n .headerFormatter(function(d, i) {\n \treturn xAxis.tickFormat()(d, i);\n })\n .valueFormatter(function(d, i) {\n return yaxis.tickFormat()(d, i);\n })\n .data(evt)\n .hidden(false);\n }\n\n\n\n function clearHighlights() {\n for(var i=0, il=charts.length; i < il; i++){\n var chart = charts[i];\n try {\n chart.clearHighlights();\n } catch(e){}\n }\n }\n\n function highlightPoint(serieIndex, pointIndex, b){\n for(var i=0, il=charts.length; i < il; i++){\n var chart = charts[i];\n try {\n chart.highlightPoint(serieIndex, pointIndex, b);\n } catch(e){}\n }\n }\n\n if(useInteractiveGuideline){\n interactiveLayer.dispatch.on('elementMousemove', function(e) {\n clearHighlights();\n var singlePoint, pointIndex, pointXLocation, allData = [];\n data\n .filter(function(series, i) {\n series.seriesIndex = i;\n return !series.disabled;\n })\n .forEach(function(series,i) {\n var extent = x.domain();\n var currentValues = series.values.filter(function(d,i) {\n return chart.x()(d,i) >= extent[0] && chart.x()(d,i) <= extent[1];\n });\n\n pointIndex = nv.interactiveBisect(currentValues, e.pointXValue, chart.x());\n var point = currentValues[pointIndex];\n var pointYValue = chart.y()(point, pointIndex);\n if (pointYValue !== null) {\n highlightPoint(i, pointIndex, true);\n }\n if (point === undefined) return;\n if (singlePoint === undefined) singlePoint = point;\n if (pointXLocation === undefined) pointXLocation = x(chart.x()(point,pointIndex));\n allData.push({\n key: series.key,\n value: pointYValue,\n color: color(series,series.seriesIndex),\n data: point,\n yAxis: series.yAxis == 2 ? yAxis2 : yAxis1\n });\n });\n\n var defaultValueFormatter = function(d,i) {\n var yAxis = allData[i].yAxis;\n return d == null ? \"N/A\" : yAxis.tickFormat()(d);\n };\n\n interactiveLayer.tooltip\n .headerFormatter(function(d, i) {\n return xAxis.tickFormat()(d, i);\n })\n .valueFormatter(interactiveLayer.tooltip.valueFormatter() || defaultValueFormatter)\n .data({\n value: chart.x()( singlePoint,pointIndex ),\n index: pointIndex,\n series: allData\n })();\n\n interactiveLayer.renderGuideLine(pointXLocation);\n });\n\n interactiveLayer.dispatch.on(\"elementMouseout\",function(e) {\n clearHighlights();\n });\n } else {\n lines1.dispatch.on('elementMouseover.tooltip', mouseover_line);\n lines2.dispatch.on('elementMouseover.tooltip', mouseover_line);\n lines1.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true)\n });\n lines2.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true)\n });\n\n scatters1.dispatch.on('elementMouseover.tooltip', mouseover_scatter);\n scatters2.dispatch.on('elementMouseover.tooltip', mouseover_scatter);\n scatters1.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true)\n });\n scatters2.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true)\n });\n\n stack1.dispatch.on('elementMouseover.tooltip', mouseover_stack);\n stack2.dispatch.on('elementMouseover.tooltip', mouseover_stack);\n stack1.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true)\n });\n stack2.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true)\n });\n\n bars1.dispatch.on('elementMouseover.tooltip', mouseover_bar);\n bars2.dispatch.on('elementMouseover.tooltip', mouseover_bar);\n\n bars1.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true);\n });\n bars2.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true);\n });\n bars1.dispatch.on('elementMousemove.tooltip', function(evt) {\n tooltip();\n });\n bars2.dispatch.on('elementMousemove.tooltip', function(evt) {\n tooltip();\n });\n }\n });\n\n return chart;\n }\n\n //============================================================\n // Global getters and setters\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.legend = legend;\n chart.lines1 = lines1;\n chart.lines2 = lines2;\n chart.scatters1 = scatters1;\n chart.scatters2 = scatters2;\n chart.bars1 = bars1;\n chart.bars2 = bars2;\n chart.stack1 = stack1;\n chart.stack2 = stack2;\n chart.xAxis = xAxis;\n chart.yAxis1 = yAxis1;\n chart.yAxis2 = yAxis2;\n chart.tooltip = tooltip;\n chart.interactiveLayer = interactiveLayer;\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n showLegend: {get: function(){return showLegend;}, set: function(_){showLegend=_;}},\n xScale: {get: function(){return x;}, set: function(_){ x = _; xAxis.scale(x); }},\n yDomain1: {get: function(){return yDomain1;}, set: function(_){yDomain1=_;}},\n yDomain2: {get: function(){return yDomain2;}, set: function(_){yDomain2=_;}},\n noData: {get: function(){return noData;}, set: function(_){noData=_;}},\n interpolate: {get: function(){return interpolate;}, set: function(_){interpolate=_;}},\n legendRightAxisHint: {get: function(){return legendRightAxisHint;}, set: function(_){legendRightAxisHint=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n if (_.top !== undefined) {\n margin.top = _.top;\n marginTop = _.top;\n }\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n }},\n x: {get: function(){return getX;}, set: function(_){\n getX = _;\n lines1.x(_);\n lines2.x(_);\n scatters1.x(_);\n scatters2.x(_);\n bars1.x(_);\n bars2.x(_);\n stack1.x(_);\n stack2.x(_);\n }},\n y: {get: function(){return getY;}, set: function(_){\n getY = _;\n lines1.y(_);\n lines2.y(_);\n scatters1.y(_);\n scatters2.y(_);\n stack1.y(_);\n stack2.y(_);\n bars1.y(_);\n bars2.y(_);\n }},\n useVoronoi: {get: function(){return useVoronoi;}, set: function(_){\n useVoronoi=_;\n lines1.useVoronoi(_);\n lines2.useVoronoi(_);\n stack1.useVoronoi(_);\n stack2.useVoronoi(_);\n }},\n\n useInteractiveGuideline: {get: function(){return useInteractiveGuideline;}, set: function(_){\n useInteractiveGuideline = _;\n if (useInteractiveGuideline) {\n lines1.interactive(false);\n lines1.useVoronoi(false);\n lines2.interactive(false);\n lines2.useVoronoi(false);\n stack1.interactive(false);\n stack1.useVoronoi(false);\n stack2.interactive(false);\n stack2.useVoronoi(false);\n scatters1.interactive(false);\n scatters2.interactive(false);\n }\n }},\n\n duration: {get: function(){return duration;}, set: function(_) {\n duration = _;\n [lines1, lines2, stack1, stack2, scatters1, scatters2, xAxis, yAxis1, yAxis2].forEach(function(model){\n model.duration(duration);\n });\n }}\n });\n\n nv.utils.initOptions(chart);\n\n return chart;\n};\n","\nnv.models.ohlcBar = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 0, right: 0, bottom: 0, left: 0}\n , width = null\n , height = null\n , id = Math.floor(Math.random() * 10000) //Create semi-unique ID in case user doesn't select one\n , container = null\n , x = d3.scale.linear()\n , y = d3.scale.linear()\n , getX = function(d) { return d.x }\n , getY = function(d) { return d.y }\n , getOpen = function(d) { return d.open }\n , getClose = function(d) { return d.close }\n , getHigh = function(d) { return d.high }\n , getLow = function(d) { return d.low }\n , forceX = []\n , forceY = []\n , padData = false // If true, adds half a data points width to front and back, for lining up a line chart with a bar chart\n , clipEdge = true\n , color = nv.utils.defaultColor()\n , interactive = false\n , xDomain\n , yDomain\n , xRange\n , yRange\n , dispatch = d3.dispatch('stateChange', 'changeState', 'renderEnd', 'chartClick', 'elementClick', 'elementDblClick', 'elementMouseover', 'elementMouseout', 'elementMousemove')\n ;\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n function chart(selection) {\n selection.each(function(data) {\n container = d3.select(this);\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin);\n\n nv.utils.initSVG(container);\n\n // ohlc bar width.\n var w = (availableWidth / data[0].values.length) * .9;\n\n // Setup Scales\n x.domain(xDomain || d3.extent(data[0].values.map(getX).concat(forceX) ));\n\n if (padData)\n x.range(xRange || [availableWidth * .5 / data[0].values.length, availableWidth * (data[0].values.length - .5) / data[0].values.length ]);\n else\n x.range(xRange || [5 + w/2, availableWidth - w/2 - 5]);\n\n y.domain(yDomain || [\n d3.min(data[0].values.map(getLow).concat(forceY)),\n d3.max(data[0].values.map(getHigh).concat(forceY))\n ]\n ).range(yRange || [availableHeight, 0]);\n\n // If scale's domain don't have a range, slightly adjust to make one... so a chart can show a single data point\n if (x.domain()[0] === x.domain()[1])\n x.domain()[0] ?\n x.domain([x.domain()[0] - x.domain()[0] * 0.01, x.domain()[1] + x.domain()[1] * 0.01])\n : x.domain([-1,1]);\n\n if (y.domain()[0] === y.domain()[1])\n y.domain()[0] ?\n y.domain([y.domain()[0] + y.domain()[0] * 0.01, y.domain()[1] - y.domain()[1] * 0.01])\n : y.domain([-1,1]);\n\n // Setup containers and skeleton of chart\n var wrap = d3.select(this).selectAll('g.nv-wrap.nv-ohlcBar').data([data[0].values]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-ohlcBar');\n var defsEnter = wrapEnter.append('defs');\n var gEnter = wrapEnter.append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-ticks');\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n container\n .on('click', function(d,i) {\n dispatch.chartClick({\n data: d,\n index: i,\n pos: d3.event,\n id: id\n });\n });\n\n defsEnter.append('clipPath')\n .attr('id', 'nv-chart-clip-path-' + id)\n .append('rect');\n\n wrap.select('#nv-chart-clip-path-' + id + ' rect')\n .attr('width', availableWidth)\n .attr('height', availableHeight);\n\n g .attr('clip-path', clipEdge ? 'url(#nv-chart-clip-path-' + id + ')' : '');\n\n var ticks = wrap.select('.nv-ticks').selectAll('.nv-tick')\n .data(function(d) { return d });\n ticks.exit().remove();\n\n ticks.enter().append('path')\n .attr('class', function(d,i,j) { return (getOpen(d,i) > getClose(d,i) ? 'nv-tick negative' : 'nv-tick positive') + ' nv-tick-' + j + '-' + i })\n .attr('d', function(d,i) {\n return 'm0,0l0,'\n + (y(getOpen(d,i))\n - y(getHigh(d,i)))\n + 'l'\n + (-w/2)\n + ',0l'\n + (w/2)\n + ',0l0,'\n + (y(getLow(d,i)) - y(getOpen(d,i)))\n + 'l0,'\n + (y(getClose(d,i))\n - y(getLow(d,i)))\n + 'l'\n + (w/2)\n + ',0l'\n + (-w/2)\n + ',0z';\n })\n .attr('transform', function(d,i) { return 'translate(' + x(getX(d,i)) + ',' + y(getHigh(d,i)) + ')'; })\n .attr('fill', function(d,i) { return color[0]; })\n .attr('stroke', function(d,i) { return color[0]; })\n .attr('x', 0 )\n .attr('y', function(d,i) { return y(Math.max(0, getY(d,i))) })\n .attr('height', function(d,i) { return Math.abs(y(getY(d,i)) - y(0)) });\n\n // the bar colors are controlled by CSS currently\n ticks.attr('class', function(d,i,j) {\n return (getOpen(d,i) > getClose(d,i) ? 'nv-tick negative' : 'nv-tick positive') + ' nv-tick-' + j + '-' + i;\n });\n\n d3.transition(ticks)\n .attr('transform', function(d,i) { return 'translate(' + x(getX(d,i)) + ',' + y(getHigh(d,i)) + ')'; })\n .attr('d', function(d,i) {\n var w = (availableWidth / data[0].values.length) * .9;\n return 'm0,0l0,'\n + (y(getOpen(d,i))\n - y(getHigh(d,i)))\n + 'l'\n + (-w/2)\n + ',0l'\n + (w/2)\n + ',0l0,'\n + (y(getLow(d,i))\n - y(getOpen(d,i)))\n + 'l0,'\n + (y(getClose(d,i))\n - y(getLow(d,i)))\n + 'l'\n + (w/2)\n + ',0l'\n + (-w/2)\n + ',0z';\n });\n });\n\n return chart;\n }\n\n\n //Create methods to allow outside functions to highlight a specific bar.\n chart.highlightPoint = function(pointIndex, isHoverOver) {\n chart.clearHighlights();\n container.select(\".nv-ohlcBar .nv-tick-0-\" + pointIndex)\n .classed(\"hover\", isHoverOver)\n ;\n };\n\n chart.clearHighlights = function() {\n container.select(\".nv-ohlcBar .nv-tick.hover\")\n .classed(\"hover\", false)\n ;\n };\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n xScale: {get: function(){return x;}, set: function(_){x=_;}},\n yScale: {get: function(){return y;}, set: function(_){y=_;}},\n xDomain: {get: function(){return xDomain;}, set: function(_){xDomain=_;}},\n yDomain: {get: function(){return yDomain;}, set: function(_){yDomain=_;}},\n xRange: {get: function(){return xRange;}, set: function(_){xRange=_;}},\n yRange: {get: function(){return yRange;}, set: function(_){yRange=_;}},\n forceX: {get: function(){return forceX;}, set: function(_){forceX=_;}},\n forceY: {get: function(){return forceY;}, set: function(_){forceY=_;}},\n padData: {get: function(){return padData;}, set: function(_){padData=_;}},\n clipEdge: {get: function(){return clipEdge;}, set: function(_){clipEdge=_;}},\n id: {get: function(){return id;}, set: function(_){id=_;}},\n interactive: {get: function(){return interactive;}, set: function(_){interactive=_;}},\n\n x: {get: function(){return getX;}, set: function(_){getX=_;}},\n y: {get: function(){return getY;}, set: function(_){getY=_;}},\n open: {get: function(){return getOpen();}, set: function(_){getOpen=_;}},\n close: {get: function(){return getClose();}, set: function(_){getClose=_;}},\n high: {get: function(){return getHigh;}, set: function(_){getHigh=_;}},\n low: {get: function(){return getLow;}, set: function(_){getLow=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top != undefined ? _.top : margin.top;\n margin.right = _.right != undefined ? _.right : margin.right;\n margin.bottom = _.bottom != undefined ? _.bottom : margin.bottom;\n margin.left = _.left != undefined ? _.left : margin.left;\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n }}\n });\n\n nv.utils.initOptions(chart);\n return chart;\n};\n","// Code adapted from Jason Davies' \"Parallel Coordinates\"\n// http://bl.ocks.org/jasondavies/1341281\nnv.models.parallelCoordinates = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 30, right: 0, bottom: 10, left: 0}\n , width = null\n , height = null\n , availableWidth = null\n , availableHeight = null\n , x = d3.scale.ordinal()\n , y = {}\n , undefinedValuesLabel = \"undefined values\"\n , dimensionData = []\n , enabledDimensions = []\n , dimensionNames = []\n , displayBrush = true\n , color = nv.utils.defaultColor()\n , filters = []\n , active = []\n , dragging = []\n , axisWithUndefinedValues = []\n , lineTension = 1\n , foreground\n , background\n , dimensions\n , line = d3.svg.line()\n , axis = d3.svg.axis()\n , dispatch = d3.dispatch('brushstart', 'brush', 'brushEnd', 'dimensionsOrder', \"stateChange\", 'elementClick', 'elementMouseover', 'elementMouseout', 'elementMousemove', 'renderEnd', 'activeChanged')\n ;\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var renderWatch = nv.utils.renderWatch(dispatch);\n\n function chart(selection) {\n renderWatch.reset();\n selection.each(function(data) {\n var container = d3.select(this);\n availableWidth = nv.utils.availableWidth(width, container, margin);\n availableHeight = nv.utils.availableHeight(height, container, margin);\n\n nv.utils.initSVG(container);\n\n //Convert old data to new format (name, values)\n if (data[0].values === undefined) {\n var newData = [];\n data.forEach(function (d) {\n var val = {};\n var key = Object.keys(d);\n key.forEach(function (k) { if (k !== \"name\") val[k] = d[k] });\n newData.push({ key: d.name, values: val });\n });\n data = newData;\n }\n\n var dataValues = data.map(function (d) {return d.values});\n if (active.length === 0) {\n active = data;\n }; //set all active before first brush call\n \n dimensionNames = dimensionData.sort(function (a, b) { return a.currentPosition - b.currentPosition; }).map(function (d) { return d.key });\n enabledDimensions = dimensionData.filter(function (d) { return !d.disabled; });\n \n // Setup Scales\n x.rangePoints([0, availableWidth], 1).domain(enabledDimensions.map(function (d) { return d.key; }));\n\n //Set as true if all values on an axis are missing.\n // Extract the list of dimensions and create a scale for each.\n var oldDomainMaxValue = {};\n var displayMissingValuesline = false;\n var currentTicks = [];\n \n dimensionNames.forEach(function(d) {\n var extent = d3.extent(dataValues, function (p) { return +p[d]; });\n var min = extent[0];\n var max = extent[1];\n var onlyUndefinedValues = false;\n //If there is no values to display on an axis, set the extent to 0\n if (isNaN(min) || isNaN(max)) {\n onlyUndefinedValues = true;\n min = 0;\n max = 0;\n }\n //Scale axis if there is only one value\n if (min === max) {\n min = min - 1;\n max = max + 1;\n }\n var f = filters.filter(function (k) { return k.dimension == d; });\n if (f.length !== 0) {\n //If there is only NaN values, keep the existing domain.\n if (onlyUndefinedValues) {\n min = y[d].domain()[0];\n max = y[d].domain()[1];\n }\n //If the brush extent is > max (< min), keep the extent value.\n else if (!f[0].hasOnlyNaN && displayBrush) {\n min = min > f[0].extent[0] ? f[0].extent[0] : min;\n max = max < f[0].extent[1] ? f[0].extent[1] : max;\n }\n //If there is NaN values brushed be sure the brush extent is on the domain.\n else if (f[0].hasNaN) {\n max = max < f[0].extent[1] ? f[0].extent[1] : max;\n oldDomainMaxValue[d] = y[d].domain()[1];\n displayMissingValuesline = true;\n }\n }\n //Use 90% of (availableHeight - 12) for the axis range, 12 reprensenting the space necessary to display \"undefined values\" text.\n //The remaining 10% are used to display the missingValue line.\n y[d] = d3.scale.linear()\n .domain([min, max])\n .range([(availableHeight - 12) * 0.9, 0]);\n\n axisWithUndefinedValues = [];\n y[d].brush = d3.svg.brush().y(y[d]).on('brushstart', brushstart).on('brush', brush).on('brushend', brushend);\n });\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-parallelCoordinates').data([data]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-parallelCoordinates');\n var gEnter = wrapEnter.append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-parallelCoordinates background');\n gEnter.append('g').attr('class', 'nv-parallelCoordinates foreground');\n gEnter.append('g').attr('class', 'nv-parallelCoordinates missingValuesline');\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n line.interpolate('cardinal').tension(lineTension);\n axis.orient('left');\n var axisDrag = d3.behavior.drag()\n .on('dragstart', dragStart)\n .on('drag', dragMove)\n .on('dragend', dragEnd);\n\n //Add missing value line at the bottom of the chart\n var missingValuesline, missingValueslineText;\n var step = x.range()[1] - x.range()[0];\n step = isNaN(step) ? x.range()[0] : step;\n if (!isNaN(step)) {\n var lineData = [0 + step / 2, availableHeight - 12, availableWidth - step / 2, availableHeight - 12];\n missingValuesline = wrap.select('.missingValuesline').selectAll('line').data([lineData]);\n missingValuesline.enter().append('line');\n missingValuesline.exit().remove();\n missingValuesline.attr(\"x1\", function(d) { return d[0]; })\n .attr(\"y1\", function(d) { return d[1]; })\n .attr(\"x2\", function(d) { return d[2]; })\n .attr(\"y2\", function(d) { return d[3]; });\n \n //Add the text \"undefined values\" under the missing value line\n missingValueslineText = wrap.select('.missingValuesline').selectAll('text').data([undefinedValuesLabel]);\n missingValueslineText.append('text').data([undefinedValuesLabel]);\n missingValueslineText.enter().append('text');\n missingValueslineText.exit().remove();\n missingValueslineText.attr(\"y\", availableHeight)\n //To have the text right align with the missingValues line, substract 92 representing the text size.\n .attr(\"x\", availableWidth - 92 - step / 2)\n .text(function(d) { return d; });\n }\n // Add grey background lines for context.\n background = wrap.select('.background').selectAll('path').data(data);\n background.enter().append('path');\n background.exit().remove();\n background.attr('d', path);\n\n // Add blue foreground lines for focus.\n foreground = wrap.select('.foreground').selectAll('path').data(data);\n foreground.enter().append('path')\n foreground.exit().remove();\n foreground.attr('d', path)\n .style(\"stroke-width\", function (d, i) {\n if (isNaN(d.strokeWidth)) { d.strokeWidth = 1;} return d.strokeWidth;})\n .attr('stroke', function (d, i) { return d.color || color(d, i); });\n foreground.on(\"mouseover\", function (d, i) {\n d3.select(this).classed('hover', true).style(\"stroke-width\", d.strokeWidth + 2 + \"px\").style(\"stroke-opacity\", 1);\n dispatch.elementMouseover({\n label: d.name,\n color: d.color || color(d, i),\n values: d.values,\n dimensions: enabledDimensions\n });\n\n });\n foreground.on(\"mouseout\", function (d, i) {\n d3.select(this).classed('hover', false).style(\"stroke-width\", d.strokeWidth + \"px\").style(\"stroke-opacity\", 0.7);\n dispatch.elementMouseout({\n label: d.name,\n index: i\n });\n });\n foreground.on('mousemove', function (d, i) {\n dispatch.elementMousemove();\n });\n foreground.on('click', function (d) {\n dispatch.elementClick({\n id: d.id\n });\n });\n // Add a group element for each dimension.\n dimensions = g.selectAll('.dimension').data(enabledDimensions);\n var dimensionsEnter = dimensions.enter().append('g').attr('class', 'nv-parallelCoordinates dimension');\n\n dimensions.attr('transform', function(d) { return 'translate(' + x(d.key) + ',0)'; });\n dimensionsEnter.append('g').attr('class', 'nv-axis');\n\n // Add an axis and title.\n dimensionsEnter.append('text')\n .attr('class', 'nv-label')\n .style(\"cursor\", \"move\")\n .attr('dy', '-1em')\n .attr('text-anchor', 'middle')\n .on(\"mouseover\", function(d, i) {\n dispatch.elementMouseover({\n label: d.tooltip || d.key,\n color: d.color \n });\n })\n .on(\"mouseout\", function(d, i) {\n dispatch.elementMouseout({\n label: d.tooltip\n });\n })\n .on('mousemove', function (d, i) {\n dispatch.elementMousemove();\n })\n .call(axisDrag);\n\n dimensionsEnter.append('g').attr('class', 'nv-brushBackground');\n dimensions.exit().remove();\n dimensions.select('.nv-label').text(function (d) { return d.key });\n\n // Add and store a brush for each axis.\n restoreBrush(displayBrush);\n\n var actives = dimensionNames.filter(function (p) { return !y[p].brush.empty(); }),\n extents = actives.map(function (p) { return y[p].brush.extent(); });\n var formerActive = active.slice(0);\n\n //Restore active values\n active = [];\n foreground.style(\"display\", function (d) {\n var isActive = actives.every(function (p, i) {\n if ((isNaN(d.values[p]) || isNaN(parseFloat(d.values[p]))) && extents[i][0] == y[p].brush.y().domain()[0]) {\n return true;\n }\n return (extents[i][0] <= d.values[p] && d.values[p] <= extents[i][1]) && !isNaN(parseFloat(d.values[p]));\n });\n if (isActive)\n active.push(d);\n return !isActive ? \"none\" : null;\n\n });\n\n if (filters.length > 0 || !nv.utils.arrayEquals(active, formerActive)) {\n dispatch.activeChanged(active);\n }\n\n // Returns the path for a given data point.\n function path(d) {\n return line(enabledDimensions.map(function (p) {\n //If value if missing, put the value on the missing value line\n if (isNaN(d.values[p.key]) || isNaN(parseFloat(d.values[p.key])) || displayMissingValuesline) {\n var domain = y[p.key].domain();\n var range = y[p.key].range();\n var min = domain[0] - (domain[1] - domain[0]) / 9;\n\n //If it's not already the case, allow brush to select undefined values\n if (axisWithUndefinedValues.indexOf(p.key) < 0) {\n\n var newscale = d3.scale.linear().domain([min, domain[1]]).range([availableHeight - 12, range[1]]);\n y[p.key].brush.y(newscale);\n axisWithUndefinedValues.push(p.key);\n }\n if (isNaN(d.values[p.key]) || isNaN(parseFloat(d.values[p.key]))) {\n return [x(p.key), y[p.key](min)];\n }\n }\n\n //If parallelCoordinate contain missing values show the missing values line otherwise, hide it.\n if (missingValuesline !== undefined) {\n if (axisWithUndefinedValues.length > 0 || displayMissingValuesline) {\n missingValuesline.style(\"display\", \"inline\");\n missingValueslineText.style(\"display\", \"inline\");\n } else {\n missingValuesline.style(\"display\", \"none\");\n missingValueslineText.style(\"display\", \"none\");\n }\n }\n return [x(p.key), y[p.key](d.values[p.key])];\n }));\n }\n\n function restoreBrush(visible) {\n filters.forEach(function (f) {\n //If filter brushed NaN values, keep the brush on the bottom of the axis.\n var brushDomain = y[f.dimension].brush.y().domain();\n if (f.hasOnlyNaN) {\n f.extent[1] = (y[f.dimension].domain()[1] - brushDomain[0]) * (f.extent[1] - f.extent[0]) / (oldDomainMaxValue[f.dimension] - f.extent[0]) + brushDomain[0];\n }\n if (f.hasNaN) {\n f.extent[0] = brushDomain[0];\n }\n if (visible)\n y[f.dimension].brush.extent(f.extent);\n });\n \n dimensions.select('.nv-brushBackground')\n .each(function (d) {\n d3.select(this).call(y[d.key].brush);\n\n })\n .selectAll('rect')\n .attr('x', -8)\n .attr('width', 16);\n \n updateTicks();\n }\n \n // Handles a brush event, toggling the display of foreground lines.\n function brushstart() {\n //If brush aren't visible, show it before brushing again.\n if (displayBrush === false) {\n displayBrush = true;\n restoreBrush(true);\n }\n }\n \n // Handles a brush event, toggling the display of foreground lines.\n function brush() {\n actives = dimensionNames.filter(function (p) { return !y[p].brush.empty(); });\n extents = actives.map(function(p) { return y[p].brush.extent(); });\n\n filters = []; //erase current filters\n actives.forEach(function(d,i) {\n filters[i] = {\n dimension: d,\n extent: extents[i],\n hasNaN: false,\n hasOnlyNaN: false\n }\n });\n\n active = []; //erase current active list\n foreground.style('display', function(d) {\n var isActive = actives.every(function(p, i) {\n if ((isNaN(d.values[p]) || isNaN(parseFloat(d.values[p]))) && extents[i][0] == y[p].brush.y().domain()[0]) return true;\n return (extents[i][0] <= d.values[p] && d.values[p] <= extents[i][1]) && !isNaN(parseFloat(d.values[p]));\n });\n if (isActive) active.push(d);\n return isActive ? null : 'none';\n });\n \n updateTicks();\n \n dispatch.brush({\n filters: filters,\n active: active\n });\n }\n function brushend() {\n var hasActiveBrush = actives.length > 0 ? true : false;\n filters.forEach(function (f) {\n if (f.extent[0] === y[f.dimension].brush.y().domain()[0] && axisWithUndefinedValues.indexOf(f.dimension) >= 0)\n f.hasNaN = true;\n if (f.extent[1] < y[f.dimension].domain()[0])\n f.hasOnlyNaN = true;\n });\n dispatch.brushEnd(active, hasActiveBrush);\n } \n function updateTicks() {\n dimensions.select('.nv-axis')\n .each(function (d, i) {\n var f = filters.filter(function (k) { return k.dimension == d.key; });\n currentTicks[d.key] = y[d.key].domain();\n \n //If brush are available, display brush extent\n if (f.length != 0 && displayBrush)\n {\n currentTicks[d.key] = [];\n if (f[0].extent[1] > y[d.key].domain()[0]) \n currentTicks[d.key] = [f[0].extent[1]];\n if (f[0].extent[0] >= y[d.key].domain()[0])\n currentTicks[d.key].push(f[0].extent[0]); \n }\n \n d3.select(this).call(axis.scale(y[d.key]).tickFormat(d.format).tickValues(currentTicks[d.key]));\n });\n }\n function dragStart(d) {\n dragging[d.key] = this.parentNode.__origin__ = x(d.key);\n background.attr(\"visibility\", \"hidden\");\n }\n function dragMove(d) {\n dragging[d.key] = Math.min(availableWidth, Math.max(0, this.parentNode.__origin__ += d3.event.x));\n foreground.attr(\"d\", path);\n enabledDimensions.sort(function (a, b) { return dimensionPosition(a.key) - dimensionPosition(b.key); });\n enabledDimensions.forEach(function (d, i) { return d.currentPosition = i; });\n x.domain(enabledDimensions.map(function (d) { return d.key; }));\n dimensions.attr(\"transform\", function(d) { return \"translate(\" + dimensionPosition(d.key) + \")\"; });\n }\n function dragEnd(d, i) {\n delete this.parentNode.__origin__;\n delete dragging[d.key];\n d3.select(this.parentNode).attr(\"transform\", \"translate(\" + x(d.key) + \")\");\n foreground\n .attr(\"d\", path);\n background\n .attr(\"d\", path)\n .attr(\"visibility\", null);\n\n dispatch.dimensionsOrder(enabledDimensions);\n }\n function dimensionPosition(d) {\n var v = dragging[d];\n return v == null ? x(d) : v;\n }\n });\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width= _;}},\n height: {get: function(){return height;}, set: function(_){height= _;}},\n dimensionData: { get: function () { return dimensionData; }, set: function (_) { dimensionData = _; } },\n displayBrush: { get: function () { return displayBrush; }, set: function (_) { displayBrush = _; } },\n filters: { get: function () { return filters; }, set: function (_) { filters = _; } },\n active: { get: function () { return active; }, set: function (_) { active = _; } },\n lineTension: {get: function(){return lineTension;}, set: function(_){lineTension = _;}},\n undefinedValuesLabel : {get: function(){return undefinedValuesLabel;}, set: function(_){undefinedValuesLabel=_;}},\n \n // deprecated options\n dimensions: {get: function () { return dimensionData.map(function (d){return d.key}); }, set: function (_) {\n // deprecated after 1.8.1\n nv.deprecated('dimensions', 'use dimensionData instead');\n if (dimensionData.length === 0) {\n _.forEach(function (k) { dimensionData.push({ key: k }) })\n } else {\n _.forEach(function (k, i) { dimensionData[i].key= k })\n }\n }},\n dimensionNames: {get: function () { return dimensionData.map(function (d){return d.key}); }, set: function (_) {\n // deprecated after 1.8.1\n nv.deprecated('dimensionNames', 'use dimensionData instead');\n dimensionNames = [];\n if (dimensionData.length === 0) {\n _.forEach(function (k) { dimensionData.push({ key: k }) })\n } else {\n _.forEach(function (k, i) { dimensionData[i].key = k })\n }\n \n }},\n dimensionFormats: {get: function () { return dimensionData.map(function (d) { return d.format }); }, set: function (_) {\n // deprecated after 1.8.1\n nv.deprecated('dimensionFormats', 'use dimensionData instead');\n if (dimensionData.length === 0) {\n _.forEach(function (f) { dimensionData.push({ format: f }) })\n } else {\n _.forEach(function (f, i) { dimensionData[i].format = f })\n }\n\n }},\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n }}\n });\n nv.utils.initOptions(chart);\n return chart;\n};\n","nv.models.parallelCoordinatesChart = function () {\n \"use strict\";\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var parallelCoordinates = nv.models.parallelCoordinates()\n var legend = nv.models.legend()\n var tooltip = nv.models.tooltip();\n var dimensionTooltip = nv.models.tooltip();\n\n var margin = { top: 0, right: 0, bottom: 0, left: 0 }\n , marginTop = null\n , width = null\n , height = null\n , showLegend = true\n , color = nv.utils.defaultColor()\n , state = nv.utils.state()\n , dimensionData = []\n , displayBrush = true\n , defaultState = null\n , noData = null\n , nanValue = \"undefined\"\n , dispatch = d3.dispatch('dimensionsOrder', 'brushEnd', 'stateChange', 'changeState', 'renderEnd')\n , controlWidth = function () { return showControls ? 180 : 0 }\n ;\n\n\t //============================================================\n\n\t\t//============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var renderWatch = nv.utils.renderWatch(dispatch);\n\n var stateGetter = function(data) {\n return function() {\n return {\n active: data.map(function(d) { return !d.disabled })\n };\n }\n };\n\n var stateSetter = function(data) {\n return function(state) {\n if(state.active !== undefined) {\n data.forEach(function(series, i) {\n series.disabled = !state.active[i];\n });\n }\n }\n };\n\n tooltip.contentGenerator(function(data) {\n var str = '<table><thead><tr><td class=\"legend-color-guide\"><div style=\"background-color:' + data.color + '\"></div></td><td><strong>' + data.key + '</strong></td></tr></thead>';\n if(data.series.length !== 0)\n {\n str = str + '<tbody><tr><td height =\"10px\"></td></tr>';\n data.series.forEach(function(d){\n str = str + '<tr><td class=\"legend-color-guide\"><div style=\"background-color:' + d.color + '\"></div></td><td class=\"key\">' + d.key + '</td><td class=\"value\">' + d.value + '</td></tr>';\n });\n str = str + '</tbody>';\n }\n str = str + '</table>';\n return str;\n });\n\n //============================================================\n // Chart function\n //------------------------------------------------------------\n\n function chart(selection) {\n renderWatch.reset();\n renderWatch.models(parallelCoordinates);\n\n selection.each(function(data) {\n var container = d3.select(this);\n nv.utils.initSVG(container);\n\n var that = this;\n\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin);\n\n chart.update = function() { container.call(chart); };\n chart.container = this;\n\n state.setter(stateSetter(dimensionData), chart.update)\n .getter(stateGetter(dimensionData))\n .update();\n\n //set state.disabled\n state.disabled = dimensionData.map(function (d) { return !!d.disabled });\n\n //Keep dimensions position in memory\n dimensionData = dimensionData.map(function (d) {d.disabled = !!d.disabled; return d});\n dimensionData.forEach(function (d, i) {\n d.originalPosition = isNaN(d.originalPosition) ? i : d.originalPosition;\n d.currentPosition = isNaN(d.currentPosition) ? i : d.currentPosition;\n });\n\n if (!defaultState) {\n var key;\n defaultState = {};\n for(key in state) {\n if(state[key] instanceof Array)\n defaultState[key] = state[key].slice(0);\n else\n defaultState[key] = state[key];\n }\n }\n\n // Display No Data message if there's nothing to show.\n if(!data || !data.length) {\n nv.utils.noData(chart, container);\n return chart;\n } else {\n container.selectAll('.nv-noData').remove();\n }\n\n //------------------------------------------------------------\n // Setup containers and skeleton of chart\n\n var wrap = container.selectAll('g.nv-wrap.nv-parallelCoordinatesChart').data([data]);\n var gEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-parallelCoordinatesChart').append('g');\n\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-parallelCoordinatesWrap');\n gEnter.append('g').attr('class', 'nv-legendWrap');\n\n g.select(\"rect\")\n .attr(\"width\", availableWidth)\n .attr(\"height\", (availableHeight > 0) ? availableHeight : 0);\n\n // Legend\n if (!showLegend) {\n g.select('.nv-legendWrap').selectAll('*').remove();\n } else {\n legend.width(availableWidth)\n .color(function (d) { return \"rgb(188,190,192)\"; });\n\n g.select('.nv-legendWrap')\n .datum(dimensionData.sort(function (a, b) { return a.originalPosition - b.originalPosition; }))\n .call(legend);\n\n if (!marginTop && legend.height() !== margin.top) {\n margin.top = legend.height();\n availableHeight = nv.utils.availableHeight(height, container, margin);\n }\n wrap.select('.nv-legendWrap')\n .attr('transform', 'translate( 0 ,' + (-margin.top) + ')');\n }\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n // Main Chart Component(s)\n parallelCoordinates\n .width(availableWidth)\n .height(availableHeight)\n .dimensionData(dimensionData)\n .displayBrush(displayBrush);\n\n\t\t var parallelCoordinatesWrap = g.select('.nv-parallelCoordinatesWrap ')\n .datum(data);\n\n\t\t parallelCoordinatesWrap.transition().call(parallelCoordinates);\n\n\t\t\t\t//============================================================\n // Event Handling/Dispatching (in chart's scope)\n //------------------------------------------------------------\n //Display reset brush button\n\t\t parallelCoordinates.dispatch.on('brushEnd', function (active, hasActiveBrush) {\n\t\t if (hasActiveBrush) {\n\t\t displayBrush = true;\n\t\t dispatch.brushEnd(active);\n\t\t } else {\n\n\t\t displayBrush = false;\n\t\t }\n\t\t });\n\n\t\t legend.dispatch.on('stateChange', function(newState) {\n\t\t for(var key in newState) {\n\t\t state[key] = newState[key];\n\t\t }\n\t\t dispatch.stateChange(state);\n\t\t chart.update();\n\t\t });\n\n //Update dimensions order and display reset sorting button\n\t\t parallelCoordinates.dispatch.on('dimensionsOrder', function (e) {\n\t\t dimensionData.sort(function (a, b) { return a.currentPosition - b.currentPosition; });\n\t\t var isSorted = false;\n\t\t dimensionData.forEach(function (d, i) {\n\t\t d.currentPosition = i;\n\t\t if (d.currentPosition !== d.originalPosition)\n\t\t isSorted = true;\n\t\t });\n\t\t dispatch.dimensionsOrder(dimensionData, isSorted);\n\t\t });\n\n\t\t\t\t// Update chart from a state object passed to event handler\n dispatch.on('changeState', function (e) {\n\n if (typeof e.disabled !== 'undefined') {\n dimensionData.forEach(function (series, i) {\n series.disabled = e.disabled[i];\n });\n state.disabled = e.disabled;\n }\n chart.update();\n });\n });\n\n renderWatch.renderEnd('parraleleCoordinateChart immediate');\n return chart;\n }\n\n\t\t//============================================================\n // Event Handling/Dispatching (out of chart's scope)\n //------------------------------------------------------------\n\n parallelCoordinates.dispatch.on('elementMouseover.tooltip', function (evt) {\n var tp = {\n key: evt.label,\n color: evt.color,\n series: []\n }\n if(evt.values){\n Object.keys(evt.values).forEach(function (d) {\n var dim = evt.dimensions.filter(function (dd) {return dd.key === d;})[0];\n if(dim){\n var v;\n if (isNaN(evt.values[d]) || isNaN(parseFloat(evt.values[d]))) {\n v = nanValue;\n } else {\n v = dim.format(evt.values[d]);\n }\n tp.series.push({ idx: dim.currentPosition, key: d, value: v, color: dim.color });\n }\n });\n tp.series.sort(function(a,b) {return a.idx - b.idx});\n }\n tooltip.data(tp).hidden(false);\n });\n\n parallelCoordinates.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true)\n });\n\n parallelCoordinates.dispatch.on('elementMousemove.tooltip', function () {\n tooltip();\n });\n\t\t //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n\t\t// expose chart's sub-components\n chart.dispatch = dispatch;\n chart.parallelCoordinates = parallelCoordinates;\n chart.legend = legend;\n chart.tooltip = tooltip;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: { get: function () { return width; }, set: function (_) { width = _; } },\n height: { get: function () { return height; }, set: function (_) { height = _; } },\n showLegend: { get: function () { return showLegend; }, set: function (_) { showLegend = _; } },\n defaultState: { get: function () { return defaultState; }, set: function (_) { defaultState = _; } },\n dimensionData: { get: function () { return dimensionData; }, set: function (_) { dimensionData = _; } },\n displayBrush: { get: function () { return displayBrush; }, set: function (_) { displayBrush = _; } },\n noData: { get: function () { return noData; }, set: function (_) { noData = _; } },\n nanValue: { get: function () { return nanValue; }, set: function (_) { nanValue = _; } },\n\n // options that require extra logic in the setter\n margin: {\n get: function () { return margin; },\n set: function (_) {\n if (_.top !== undefined) {\n margin.top = _.top;\n marginTop = _.top;\n }\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }\n },\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n legend.color(color);\n parallelCoordinates.color(color);\n }}\n });\n\n nv.utils.inheritOptions(chart, parallelCoordinates);\n nv.utils.initOptions(chart);\n\n return chart;\n };\n","nv.models.pie = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 0, right: 0, bottom: 0, left: 0}\n , width = 500\n , height = 500\n , getX = function(d) { return d.x }\n , getY = function(d) { return d.y }\n , id = Math.floor(Math.random() * 10000) //Create semi-unique ID in case user doesn't select one\n , container = null\n , color = nv.utils.defaultColor()\n , valueFormat = d3.format(',.2f')\n , showLabels = true\n , labelsOutside = false\n , labelType = \"key\"\n , labelThreshold = .02 //if slice percentage is under this, don't show label\n , hideOverlapLabels = false //Hide labels that don't fit in slice\n , donut = false\n , title = false\n , growOnHover = true\n , titleOffset = 0\n , labelSunbeamLayout = false\n , startAngle = false\n , padAngle = false\n , endAngle = false\n , cornerRadius = 0\n , donutRatio = 0.5\n , duration = 250\n , arcsRadius = []\n , dispatch = d3.dispatch('chartClick', 'elementClick', 'elementDblClick', 'elementMouseover', 'elementMouseout', 'elementMousemove', 'renderEnd')\n ;\n\n var arcs = [];\n var arcsOver = [];\n\n //============================================================\n // chart function\n //------------------------------------------------------------\n\n var renderWatch = nv.utils.renderWatch(dispatch);\n\n function chart(selection) {\n renderWatch.reset();\n selection.each(function(data) {\n var availableWidth = width - margin.left - margin.right\n , availableHeight = height - margin.top - margin.bottom\n , radius = Math.min(availableWidth, availableHeight) / 2\n , arcsRadiusOuter = []\n , arcsRadiusInner = []\n ;\n\n container = d3.select(this)\n if (arcsRadius.length === 0) {\n var outer = radius - radius / 10;\n var inner = donutRatio * radius;\n for (var i = 0; i < data[0].length; i++) {\n arcsRadiusOuter.push(outer);\n arcsRadiusInner.push(inner);\n }\n } else {\n if(growOnHover){\n arcsRadiusOuter = arcsRadius.map(function (d) { return (d.outer - d.outer / 10) * radius; });\n arcsRadiusInner = arcsRadius.map(function (d) { return (d.inner - d.inner / 10) * radius; });\n donutRatio = d3.min(arcsRadius.map(function (d) { return (d.inner - d.inner / 10); }));\n } else {\n arcsRadiusOuter = arcsRadius.map(function (d) { return d.outer * radius; });\n arcsRadiusInner = arcsRadius.map(function (d) { return d.inner * radius; });\n donutRatio = d3.min(arcsRadius.map(function (d) { return d.inner; }));\n }\n }\n nv.utils.initSVG(container);\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('.nv-wrap.nv-pie').data(data);\n var wrapEnter = wrap.enter().append('g').attr('class','nvd3 nv-wrap nv-pie nv-chart-' + id);\n var gEnter = wrapEnter.append('g');\n var g = wrap.select('g');\n var g_pie = gEnter.append('g').attr('class', 'nv-pie');\n gEnter.append('g').attr('class', 'nv-pieLabels');\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n g.select('.nv-pie').attr('transform', 'translate(' + availableWidth / 2 + ',' + availableHeight / 2 + ')');\n g.select('.nv-pieLabels').attr('transform', 'translate(' + availableWidth / 2 + ',' + availableHeight / 2 + ')');\n\n //\n container.on('click', function(d,i) {\n dispatch.chartClick({\n data: d,\n index: i,\n pos: d3.event,\n id: id\n });\n });\n\n arcs = [];\n arcsOver = [];\n for (var i = 0; i < data[0].length; i++) {\n\n var arc = d3.svg.arc().outerRadius(arcsRadiusOuter[i]);\n var arcOver = d3.svg.arc().outerRadius(arcsRadiusOuter[i] + 5);\n\n if (startAngle !== false) {\n arc.startAngle(startAngle);\n arcOver.startAngle(startAngle);\n }\n if (endAngle !== false) {\n arc.endAngle(endAngle);\n arcOver.endAngle(endAngle);\n }\n if (donut) {\n arc.innerRadius(arcsRadiusInner[i]);\n arcOver.innerRadius(arcsRadiusInner[i]);\n }\n\n if (arc.cornerRadius && cornerRadius) {\n arc.cornerRadius(cornerRadius);\n arcOver.cornerRadius(cornerRadius);\n }\n\n arcs.push(arc);\n arcsOver.push(arcOver);\n }\n\n // Setup the Pie chart and choose the data element\n var pie = d3.layout.pie()\n .sort(null)\n .value(function(d) { return d.disabled ? 0 : getY(d) });\n\n // padAngle added in d3 3.5\n if (pie.padAngle && padAngle) {\n pie.padAngle(padAngle);\n }\n\n // if title is specified and donut, put it in the middle\n if (donut && title) {\n g_pie.append(\"text\").attr('class', 'nv-pie-title');\n\n wrap.select('.nv-pie-title')\n .style(\"text-anchor\", \"middle\")\n .text(function (d) {\n return title;\n })\n .style(\"font-size\", (Math.min(availableWidth, availableHeight)) * donutRatio * 2 / (title.length + 2) + \"px\")\n .attr(\"dy\", \"0.35em\") // trick to vertically center text\n .attr('transform', function(d, i) {\n return 'translate(0, '+ titleOffset + ')';\n });\n }\n\n var slices = wrap.select('.nv-pie').selectAll('.nv-slice').data(pie);\n var pieLabels = wrap.select('.nv-pieLabels').selectAll('.nv-label').data(pie);\n\n slices.exit().remove();\n pieLabels.exit().remove();\n\n var ae = slices.enter().append('g');\n ae.attr('class', 'nv-slice');\n ae.on('mouseover', function(d, i) {\n d3.select(this).classed('hover', true);\n if (growOnHover) {\n d3.select(this).select(\"path\").transition()\n .duration(70)\n .attr(\"d\", arcsOver[i]);\n }\n dispatch.elementMouseover({\n data: d.data,\n index: i,\n color: d3.select(this).style(\"fill\"),\n percent: (d.endAngle - d.startAngle) / (2 * Math.PI)\n });\n });\n ae.on('mouseout', function(d, i) {\n d3.select(this).classed('hover', false);\n if (growOnHover) {\n d3.select(this).select(\"path\").transition()\n .duration(50)\n .attr(\"d\", arcs[i]);\n }\n dispatch.elementMouseout({data: d.data, index: i});\n });\n ae.on('mousemove', function(d, i) {\n dispatch.elementMousemove({data: d.data, index: i});\n });\n ae.on('click', function(d, i) {\n var element = this;\n dispatch.elementClick({\n data: d.data,\n index: i,\n color: d3.select(this).style(\"fill\"),\n event: d3.event,\n element: element\n });\n });\n ae.on('dblclick', function(d, i) {\n dispatch.elementDblClick({\n data: d.data,\n index: i,\n color: d3.select(this).style(\"fill\")\n });\n });\n\n slices.attr('fill', function(d,i) { return color(d.data, i); });\n slices.attr('stroke', function(d,i) { return color(d.data, i); });\n\n var paths = ae.append('path').each(function(d) {\n this._current = d;\n });\n\n slices.select('path')\n .transition()\n .duration(duration)\n .attr('d', function (d, i) { return arcs[i](d); })\n .attrTween('d', arcTween);\n\n if (showLabels) {\n // This does the normal label\n var labelsArc = [];\n for (var i = 0; i < data[0].length; i++) {\n labelsArc.push(arcs[i]);\n\n if (labelsOutside) {\n if (donut) {\n labelsArc[i] = d3.svg.arc().outerRadius(arcs[i].outerRadius());\n if (startAngle !== false) labelsArc[i].startAngle(startAngle);\n if (endAngle !== false) labelsArc[i].endAngle(endAngle);\n }\n } else if (!donut) {\n labelsArc[i].innerRadius(0);\n }\n }\n\n pieLabels.enter().append(\"g\").classed(\"nv-label\",true).each(function(d,i) {\n var group = d3.select(this);\n\n group.attr('transform', function (d, i) {\n if (labelSunbeamLayout) {\n d.outerRadius = arcsRadiusOuter[i] + 10; // Set Outer Coordinate\n d.innerRadius = arcsRadiusOuter[i] + 15; // Set Inner Coordinate\n var rotateAngle = (d.startAngle + d.endAngle) / 2 * (180 / Math.PI);\n if ((d.startAngle + d.endAngle) / 2 < Math.PI) {\n rotateAngle -= 90;\n } else {\n rotateAngle += 90;\n }\n return 'translate(' + labelsArc[i].centroid(d) + ') rotate(' + rotateAngle + ')';\n } else {\n d.outerRadius = radius + 10; // Set Outer Coordinate\n d.innerRadius = radius + 15; // Set Inner Coordinate\n return 'translate(' + labelsArc[i].centroid(d) + ')'\n }\n });\n\n group.append('rect')\n .style('stroke', '#fff')\n .style('fill', '#fff')\n .attr(\"rx\", 3)\n .attr(\"ry\", 3);\n\n group.append('text')\n .style('text-anchor', labelSunbeamLayout ? ((d.startAngle + d.endAngle) / 2 < Math.PI ? 'start' : 'end') : 'middle') //center the text on it's origin or begin/end if orthogonal aligned\n .style('fill', '#000')\n });\n\n var labelLocationHash = {};\n var avgHeight = 14;\n var avgWidth = 140;\n var createHashKey = function(coordinates) {\n return Math.floor(coordinates[0]/avgWidth) * avgWidth + ',' + Math.floor(coordinates[1]/avgHeight) * avgHeight;\n };\n var getSlicePercentage = function(d) {\n return (d.endAngle - d.startAngle) / (2 * Math.PI);\n };\n\n pieLabels.watchTransition(renderWatch, 'pie labels').attr('transform', function (d, i) {\n if (labelSunbeamLayout) {\n d.outerRadius = arcsRadiusOuter[i] + 10; // Set Outer Coordinate\n d.innerRadius = arcsRadiusOuter[i] + 15; // Set Inner Coordinate\n var rotateAngle = (d.startAngle + d.endAngle) / 2 * (180 / Math.PI);\n if ((d.startAngle + d.endAngle) / 2 < Math.PI) {\n rotateAngle -= 90;\n } else {\n rotateAngle += 90;\n }\n return 'translate(' + labelsArc[i].centroid(d) + ') rotate(' + rotateAngle + ')';\n } else {\n d.outerRadius = radius + 10; // Set Outer Coordinate\n d.innerRadius = radius + 15; // Set Inner Coordinate\n\n /*\n Overlapping pie labels are not good. What this attempts to do is, prevent overlapping.\n Each label location is hashed, and if a hash collision occurs, we assume an overlap.\n Adjust the label's y-position to remove the overlap.\n */\n var center = labelsArc[i].centroid(d);\n var percent = getSlicePercentage(d);\n if (d.value && percent >= labelThreshold) {\n var hashKey = createHashKey(center);\n if (labelLocationHash[hashKey]) {\n center[1] -= avgHeight;\n }\n labelLocationHash[createHashKey(center)] = true;\n }\n return 'translate(' + center + ')'\n }\n });\n\n pieLabels.select(\".nv-label text\")\n .style('text-anchor', function(d,i) {\n //center the text on it's origin or begin/end if orthogonal aligned\n return labelSunbeamLayout ? ((d.startAngle + d.endAngle) / 2 < Math.PI ? 'start' : 'end') : 'middle';\n })\n .text(function(d, i) {\n var percent = getSlicePercentage(d);\n var label = '';\n if (!d.value || percent < labelThreshold) return '';\n\n if(typeof labelType === 'function') {\n label = labelType(d, i, {\n 'key': getX(d.data),\n 'value': getY(d.data),\n 'percent': valueFormat(percent)\n });\n } else {\n switch (labelType) {\n case 'key':\n label = getX(d.data);\n break;\n case 'value':\n label = valueFormat(getY(d.data));\n break;\n case 'percent':\n label = d3.format('%')(percent);\n break;\n }\n }\n return label;\n })\n ;\n\n if (hideOverlapLabels) {\n pieLabels\n .each(function (d, i) {\n if (!this.getBBox) return;\n var bb = this.getBBox(),\n center = labelsArc[i].centroid(d);\n var topLeft = {\n x : center[0] + bb.x,\n y : center[1] + bb.y\n };\n\n var topRight = {\n x : topLeft.x + bb.width,\n y : topLeft.y\n };\n\n var bottomLeft = {\n x : topLeft.x,\n y : topLeft.y + bb.height\n };\n\n var bottomRight = {\n x : topLeft.x + bb.width,\n y : topLeft.y + bb.height\n };\n\n d.visible = nv.utils.pointIsInArc(topLeft, d, arc) &&\n nv.utils.pointIsInArc(topRight, d, arc) &&\n nv.utils.pointIsInArc(bottomLeft, d, arc) &&\n nv.utils.pointIsInArc(bottomRight, d, arc);\n })\n .style('display', function (d) {\n return d.visible ? null : 'none';\n })\n ;\n }\n\n }\n\n\n // Computes the angle of an arc, converting from radians to degrees.\n function angle(d) {\n var a = (d.startAngle + d.endAngle) * 90 / Math.PI - 90;\n return a > 90 ? a - 180 : a;\n }\n\n function arcTween(a, idx) {\n a.endAngle = isNaN(a.endAngle) ? 0 : a.endAngle;\n a.startAngle = isNaN(a.startAngle) ? 0 : a.startAngle;\n if (!donut) a.innerRadius = 0;\n var i = d3.interpolate(this._current, a);\n this._current = i(0);\n return function (t) {\n return arcs[idx](i(t));\n };\n }\n });\n\n renderWatch.renderEnd('pie immediate');\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n arcsRadius: { get: function () { return arcsRadius; }, set: function (_) { arcsRadius = _; } },\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n showLabels: {get: function(){return showLabels;}, set: function(_){showLabels=_;}},\n title: {get: function(){return title;}, set: function(_){title=_;}},\n titleOffset: {get: function(){return titleOffset;}, set: function(_){titleOffset=_;}},\n labelThreshold: {get: function(){return labelThreshold;}, set: function(_){labelThreshold=_;}},\n hideOverlapLabels: {get: function(){return hideOverlapLabels;}, set: function(_){hideOverlapLabels=_;}},\n valueFormat: {get: function(){return valueFormat;}, set: function(_){valueFormat=_;}},\n x: {get: function(){return getX;}, set: function(_){getX=_;}},\n id: {get: function(){return id;}, set: function(_){id=_;}},\n endAngle: {get: function(){return endAngle;}, set: function(_){endAngle=_;}},\n startAngle: {get: function(){return startAngle;}, set: function(_){startAngle=_;}},\n padAngle: {get: function(){return padAngle;}, set: function(_){padAngle=_;}},\n cornerRadius: {get: function(){return cornerRadius;}, set: function(_){cornerRadius=_;}},\n donutRatio: {get: function(){return donutRatio;}, set: function(_){donutRatio=_;}},\n labelsOutside: {get: function(){return labelsOutside;}, set: function(_){labelsOutside=_;}},\n labelSunbeamLayout: {get: function(){return labelSunbeamLayout;}, set: function(_){labelSunbeamLayout=_;}},\n donut: {get: function(){return donut;}, set: function(_){donut=_;}},\n growOnHover: {get: function(){return growOnHover;}, set: function(_){growOnHover=_;}},\n\n // depreciated after 1.7.1\n pieLabelsOutside: {get: function(){return labelsOutside;}, set: function(_){\n labelsOutside=_;\n nv.deprecated('pieLabelsOutside', 'use labelsOutside instead');\n }},\n // depreciated after 1.7.1\n donutLabelsOutside: {get: function(){return labelsOutside;}, set: function(_){\n labelsOutside=_;\n nv.deprecated('donutLabelsOutside', 'use labelsOutside instead');\n }},\n // deprecated after 1.7.1\n labelFormat: {get: function(){ return valueFormat;}, set: function(_) {\n valueFormat=_;\n nv.deprecated('labelFormat','use valueFormat instead');\n }},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = typeof _.top != 'undefined' ? _.top : margin.top;\n margin.right = typeof _.right != 'undefined' ? _.right : margin.right;\n margin.bottom = typeof _.bottom != 'undefined' ? _.bottom : margin.bottom;\n margin.left = typeof _.left != 'undefined' ? _.left : margin.left;\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n }},\n y: {get: function(){return getY;}, set: function(_){\n getY=d3.functor(_);\n }},\n color: {get: function(){return color;}, set: function(_){\n color=nv.utils.getColor(_);\n }},\n labelType: {get: function(){return labelType;}, set: function(_){\n labelType= _ || 'key';\n }}\n });\n\n nv.utils.initOptions(chart);\n return chart;\n};\n","nv.models.pieChart = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var pie = nv.models.pie();\n var legend = nv.models.legend();\n var tooltip = nv.models.tooltip();\n\n var margin = {top: 30, right: 20, bottom: 20, left: 20}\n , marginTop = null\n , width = null\n , height = null\n , showTooltipPercent = false\n , showLegend = true\n , legendPosition = \"top\"\n , color = nv.utils.defaultColor()\n , state = nv.utils.state()\n , defaultState = null\n , noData = null\n , duration = 250\n , dispatch = d3.dispatch('stateChange', 'changeState','renderEnd')\n ;\n\n tooltip\n .duration(0)\n .headerEnabled(false)\n .valueFormatter(function(d, i) {\n return pie.valueFormat()(d, i);\n });\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var renderWatch = nv.utils.renderWatch(dispatch);\n\n var stateGetter = function(data) {\n return function(){\n return {\n active: data.map(function(d) { return !d.disabled })\n };\n }\n };\n\n var stateSetter = function(data) {\n return function(state) {\n if (state.active !== undefined) {\n data.forEach(function (series, i) {\n series.disabled = !state.active[i];\n });\n }\n }\n };\n\n //============================================================\n // Chart function\n //------------------------------------------------------------\n\n function chart(selection) {\n renderWatch.reset();\n renderWatch.models(pie);\n\n selection.each(function(data) {\n var container = d3.select(this);\n nv.utils.initSVG(container);\n\n var that = this;\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin);\n\n chart.update = function() { container.transition().call(chart); };\n chart.container = this;\n\n state.setter(stateSetter(data), chart.update)\n .getter(stateGetter(data))\n .update();\n\n //set state.disabled\n state.disabled = data.map(function(d) { return !!d.disabled });\n\n if (!defaultState) {\n var key;\n defaultState = {};\n for (key in state) {\n if (state[key] instanceof Array)\n defaultState[key] = state[key].slice(0);\n else\n defaultState[key] = state[key];\n }\n }\n\n // Display No Data message if there's nothing to show.\n if (!data || !data.length) {\n nv.utils.noData(chart, container);\n return chart;\n } else {\n container.selectAll('.nv-noData').remove();\n }\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-pieChart').data([data]);\n var gEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-pieChart').append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-pieWrap');\n gEnter.append('g').attr('class', 'nv-legendWrap');\n\n // Legend\n if (!showLegend) {\n g.select('.nv-legendWrap').selectAll('*').remove();\n } else {\n if (legendPosition === \"top\") {\n legend.width( availableWidth ).key(pie.x());\n\n wrap.select('.nv-legendWrap')\n .datum(data)\n .call(legend);\n\n if (!marginTop && legend.height() !== margin.top) {\n margin.top = legend.height();\n availableHeight = nv.utils.availableHeight(height, container, margin);\n }\n\n wrap.select('.nv-legendWrap')\n .attr('transform', 'translate(0,' + (-margin.top) +')');\n } else if (legendPosition === \"right\") {\n var legendWidth = nv.models.legend().width();\n if (availableWidth / 2 < legendWidth) {\n legendWidth = (availableWidth / 2)\n }\n legend.height(availableHeight).key(pie.x());\n legend.width(legendWidth);\n availableWidth -= legend.width();\n\n wrap.select('.nv-legendWrap')\n .datum(data)\n .call(legend)\n .attr('transform', 'translate(' + (availableWidth) +',0)');\n } else if (legendPosition === \"bottom\") {\n legend.width( availableWidth ).key(pie.x());\n wrap.select('.nv-legendWrap')\n .datum(data)\n .call(legend);\n\n margin.bottom = legend.height();\n availableHeight = nv.utils.availableHeight(height, container, margin);\n wrap.select('.nv-legendWrap')\n .attr('transform', 'translate(0,' + availableHeight +')');\n }\n }\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n // Main Chart Component(s)\n pie.width(availableWidth).height(availableHeight);\n var pieWrap = g.select('.nv-pieWrap').datum([data]);\n d3.transition(pieWrap).call(pie);\n\n //============================================================\n // Event Handling/Dispatching (in chart's scope)\n //------------------------------------------------------------\n\n legend.dispatch.on('stateChange', function(newState) {\n for (var key in newState) {\n state[key] = newState[key];\n }\n dispatch.stateChange(state);\n chart.update();\n });\n\n // Update chart from a state object passed to event handler\n dispatch.on('changeState', function(e) {\n if (typeof e.disabled !== 'undefined') {\n data.forEach(function(series,i) {\n series.disabled = e.disabled[i];\n });\n state.disabled = e.disabled;\n }\n chart.update();\n });\n });\n\n renderWatch.renderEnd('pieChart immediate');\n return chart;\n }\n\n //============================================================\n // Event Handling/Dispatching (out of chart's scope)\n //------------------------------------------------------------\n\n pie.dispatch.on('elementMouseover.tooltip', function(evt) {\n evt['series'] = {\n key: chart.x()(evt.data),\n value: chart.y()(evt.data),\n color: evt.color,\n percent: evt.percent\n };\n if (!showTooltipPercent) {\n delete evt.percent;\n delete evt.series.percent;\n }\n tooltip.data(evt).hidden(false);\n });\n\n pie.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true);\n });\n\n pie.dispatch.on('elementMousemove.tooltip', function(evt) {\n tooltip();\n });\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n // expose chart's sub-components\n chart.legend = legend;\n chart.dispatch = dispatch;\n chart.pie = pie;\n chart.tooltip = tooltip;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n // use Object get/set functionality to map between vars and chart functions\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n noData: {get: function(){return noData;}, set: function(_){noData=_;}},\n showTooltipPercent: {get: function(){return showTooltipPercent;}, set: function(_){showTooltipPercent=_;}},\n showLegend: {get: function(){return showLegend;}, set: function(_){showLegend=_;}},\n legendPosition: {get: function(){return legendPosition;}, set: function(_){legendPosition=_;}},\n defaultState: {get: function(){return defaultState;}, set: function(_){defaultState=_;}},\n\n // options that require extra logic in the setter\n color: {get: function(){return color;}, set: function(_){\n color = _;\n legend.color(color);\n pie.color(color);\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n pie.duration(duration);\n }},\n margin: {get: function(){return margin;}, set: function(_){\n if (_.top !== undefined) {\n margin.top = _.top;\n marginTop = _.top;\n }\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }}\n });\n nv.utils.inheritOptions(chart, pie);\n nv.utils.initOptions(chart);\n return chart;\n};\n","nv.models.sankey = function() {\n 'use strict';\n\n // Sources:\n // - https://bost.ocks.org/mike/sankey/\n // - https://github.com/soxofaan/d3-plugin-captain-sankey\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var sankey = {},\n nodeWidth = 24,\n nodePadding = 8,\n size = [1, 1],\n nodes = [],\n links = [],\n sinksRight = true;\n\n var layout = function(iterations) {\n computeNodeLinks();\n computeNodeValues();\n computeNodeBreadths();\n computeNodeDepths(iterations);\n };\n\n var relayout = function() {\n computeLinkDepths();\n };\n\n // SVG path data generator, to be used as 'd' attribute on 'path' element selection.\n var link = function() {\n var curvature = .5;\n\n function link(d) {\n\n var x0 = d.source.x + d.source.dx,\n x1 = d.target.x,\n xi = d3.interpolateNumber(x0, x1),\n x2 = xi(curvature),\n x3 = xi(1 - curvature),\n y0 = d.source.y + d.sy + d.dy / 2,\n y1 = d.target.y + d.ty + d.dy / 2;\n var linkPath = 'M' + x0 + ',' + y0\n + 'C' + x2 + ',' + y0\n + ' ' + x3 + ',' + y1\n + ' ' + x1 + ',' + y1;\n return linkPath;\n }\n\n link.curvature = function(_) {\n if (!arguments.length) return curvature;\n curvature = +_;\n return link;\n };\n\n return link;\n };\n\n // Y-position of the middle of a node.\n var center = function(node) {\n return node.y + node.dy / 2;\n };\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n // Populate the sourceLinks and targetLinks for each node.\n // Also, if the source and target are not objects, assume they are indices.\n function computeNodeLinks() {\n nodes.forEach(function(node) {\n // Links that have this node as source.\n node.sourceLinks = [];\n // Links that have this node as target.\n node.targetLinks = [];\n });\n links.forEach(function(link) {\n var source = link.source,\n target = link.target;\n if (typeof source === 'number') source = link.source = nodes[link.source];\n if (typeof target === 'number') target = link.target = nodes[link.target];\n source.sourceLinks.push(link);\n target.targetLinks.push(link);\n });\n }\n\n // Compute the value (size) of each node by summing the associated links.\n function computeNodeValues() {\n nodes.forEach(function(node) {\n node.value = Math.max(\n d3.sum(node.sourceLinks, value),\n d3.sum(node.targetLinks, value)\n );\n });\n }\n\n // Iteratively assign the breadth (x-position) for each node.\n // Nodes are assigned the maximum breadth of incoming neighbors plus one;\n // nodes with no incoming links are assigned breadth zero, while\n // nodes with no outgoing links are assigned the maximum breadth.\n function computeNodeBreadths() {\n //\n var remainingNodes = nodes,\n nextNodes,\n x = 0;\n\n // Work from left to right.\n // Keep updating the breath (x-position) of nodes that are target of recently updated nodes.\n //\n while (remainingNodes.length && x < nodes.length) {\n nextNodes = [];\n remainingNodes.forEach(function(node) {\n node.x = x;\n node.dx = nodeWidth;\n node.sourceLinks.forEach(function(link) {\n if (nextNodes.indexOf(link.target) < 0) {\n nextNodes.push(link.target);\n }\n });\n });\n remainingNodes = nextNodes;\n ++x;\n //\n }\n\n // Optionally move pure sinks always to the right.\n if (sinksRight) {\n moveSinksRight(x);\n }\n\n scaleNodeBreadths((size[0] - nodeWidth) / (x - 1));\n }\n\n function moveSourcesRight() {\n nodes.forEach(function(node) {\n if (!node.targetLinks.length) {\n node.x = d3.min(node.sourceLinks, function(d) { return d.target.x; }) - 1;\n }\n });\n }\n\n function moveSinksRight(x) {\n nodes.forEach(function(node) {\n if (!node.sourceLinks.length) {\n node.x = x - 1;\n }\n });\n }\n\n function scaleNodeBreadths(kx) {\n nodes.forEach(function(node) {\n node.x *= kx;\n });\n }\n\n // Compute the depth (y-position) for each node.\n function computeNodeDepths(iterations) {\n // Group nodes by breath.\n var nodesByBreadth = d3.nest()\n .key(function(d) { return d.x; })\n .sortKeys(d3.ascending)\n .entries(nodes)\n .map(function(d) { return d.values; });\n\n //\n initializeNodeDepth();\n resolveCollisions();\n computeLinkDepths();\n for (var alpha = 1; iterations > 0; --iterations) {\n relaxRightToLeft(alpha *= .99);\n resolveCollisions();\n computeLinkDepths();\n relaxLeftToRight(alpha);\n resolveCollisions();\n computeLinkDepths();\n }\n\n function initializeNodeDepth() {\n // Calculate vertical scaling factor.\n var ky = d3.min(nodesByBreadth, function(nodes) {\n return (size[1] - (nodes.length - 1) * nodePadding) / d3.sum(nodes, value);\n });\n\n nodesByBreadth.forEach(function(nodes) {\n nodes.forEach(function(node, i) {\n node.y = i;\n node.dy = node.value * ky;\n });\n });\n\n links.forEach(function(link) {\n link.dy = link.value * ky;\n });\n }\n\n function relaxLeftToRight(alpha) {\n nodesByBreadth.forEach(function(nodes, breadth) {\n nodes.forEach(function(node) {\n if (node.targetLinks.length) {\n // Value-weighted average of the y-position of source node centers linked to this node.\n var y = d3.sum(node.targetLinks, weightedSource) / d3.sum(node.targetLinks, value);\n node.y += (y - center(node)) * alpha;\n }\n });\n });\n\n function weightedSource(link) {\n return (link.source.y + link.sy + link.dy / 2) * link.value;\n }\n }\n\n function relaxRightToLeft(alpha) {\n nodesByBreadth.slice().reverse().forEach(function(nodes) {\n nodes.forEach(function(node) {\n if (node.sourceLinks.length) {\n // Value-weighted average of the y-positions of target nodes linked to this node.\n var y = d3.sum(node.sourceLinks, weightedTarget) / d3.sum(node.sourceLinks, value);\n node.y += (y - center(node)) * alpha;\n }\n });\n });\n\n function weightedTarget(link) {\n return (link.target.y + link.ty + link.dy / 2) * link.value;\n }\n }\n\n function resolveCollisions() {\n nodesByBreadth.forEach(function(nodes) {\n var node,\n dy,\n y0 = 0,\n n = nodes.length,\n i;\n\n // Push any overlapping nodes down.\n nodes.sort(ascendingDepth);\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n dy = y0 - node.y;\n if (dy > 0) node.y += dy;\n y0 = node.y + node.dy + nodePadding;\n }\n\n // If the bottommost node goes outside the bounds, push it back up.\n dy = y0 - nodePadding - size[1];\n if (dy > 0) {\n y0 = node.y -= dy;\n\n // Push any overlapping nodes back up.\n for (i = n - 2; i >= 0; --i) {\n node = nodes[i];\n dy = node.y + node.dy + nodePadding - y0;\n if (dy > 0) node.y -= dy;\n y0 = node.y;\n }\n }\n });\n }\n\n function ascendingDepth(a, b) {\n return a.y - b.y;\n }\n }\n\n // Compute y-offset of the source endpoint (sy) and target endpoints (ty) of links,\n // relative to the source/target node's y-position.\n function computeLinkDepths() {\n nodes.forEach(function(node) {\n node.sourceLinks.sort(ascendingTargetDepth);\n node.targetLinks.sort(ascendingSourceDepth);\n });\n nodes.forEach(function(node) {\n var sy = 0, ty = 0;\n node.sourceLinks.forEach(function(link) {\n link.sy = sy;\n sy += link.dy;\n });\n node.targetLinks.forEach(function(link) {\n link.ty = ty;\n ty += link.dy;\n });\n });\n\n function ascendingSourceDepth(a, b) {\n return a.source.y - b.source.y;\n }\n\n function ascendingTargetDepth(a, b) {\n return a.target.y - b.target.y;\n }\n }\n\n // Value property accessor.\n function value(x) {\n return x.value;\n }\n\n sankey.options = nv.utils.optionsFunc.bind(sankey);\n sankey._options = Object.create({}, {\n nodeWidth: {get: function(){return nodeWidth;}, set: function(_){nodeWidth=+_;}},\n nodePadding: {get: function(){return nodePadding;}, set: function(_){nodePadding=_;}},\n nodes: {get: function(){return nodes;}, set: function(_){nodes=_;}},\n links: {get: function(){return links ;}, set: function(_){links=_;}},\n size: {get: function(){return size;}, set: function(_){size=_;}},\n sinksRight: {get: function(){return sinksRight;}, set: function(_){sinksRight=_;}},\n\n layout: {get: function(){layout(32);}, set: function(_){layout(_);}},\n relayout: {get: function(){relayout();}, set: function(_){}},\n center: {get: function(){return center();}, set: function(_){\n if(typeof _ === 'function'){\n center=_;\n }\n }},\n link: {get: function(){return link();}, set: function(_){\n if(typeof _ === 'function'){\n link=_;\n }\n return link();\n }}\n });\n\n nv.utils.initOptions(sankey);\n\n return sankey;\n};\n","nv.models.sankeyChart = function() {\n \"use strict\";\n\n // Sources:\n // - https://bost.ocks.org/mike/sankey/\n // - https://github.com/soxofaan/d3-plugin-captain-sankey\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 5, right: 0, bottom: 5, left: 0}\n , sankey = nv.models.sankey()\n , width = 600\n , height = 400\n , nodeWidth = 36\n , nodePadding = 40\n , units = 'units'\n , center = undefined\n ;\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var formatNumber = d3.format(',.0f'); // zero decimal places\n var format = function(d) {\n return formatNumber(d) + ' ' + units;\n };\n var color = d3.scale.category20();\n var linkTitle = function(d){\n return d.source.name + ' → ' + d.target.name + '\\n' + format(d.value);\n };\n var nodeFillColor = function(d){\n return d.color = color(d.name.replace(/ .*/, ''));\n };\n var nodeStrokeColor = function(d){\n return d3.rgb(d.color).darker(2);\n };\n var nodeTitle = function(d){\n return d.name + '\\n' + format(d.value);\n };\n\n var showError = function(element, message) {\n element.append('text')\n .attr('x', 0)\n .attr('y', 0)\n .attr('class', 'nvd3-sankey-chart-error')\n .attr('text-anchor', 'middle')\n .text(message);\n };\n\n function chart(selection) {\n selection.each(function(data) {\n\n var testData = {\n nodes:\n [\n {'node': 1, 'name': 'Test 1'},\n {'node': 2, 'name': 'Test 2'},\n {'node': 3, 'name': 'Test 3'},\n {'node': 4, 'name': 'Test 4'},\n {'node': 5, 'name': 'Test 5'},\n {'node': 6, 'name': 'Test 6'}\n ],\n links:\n [\n {'source': 0, 'target': 1, 'value': 2295},\n {'source': 0, 'target': 5, 'value': 1199},\n {'source': 1, 'target': 2, 'value': 1119},\n {'source': 1, 'target': 5, 'value': 1176},\n {'source': 2, 'target': 3, 'value': 487},\n {'source': 2, 'target': 5, 'value': 632},\n {'source': 3, 'target': 4, 'value': 301},\n {'source': 3, 'target': 5, 'value': 186}\n ]\n };\n\n // Error handling\n var isDataValid = false;\n var dataAvailable = false;\n\n // check if data is valid\n if(\n (typeof data['nodes'] === 'object' && data['nodes'].length) >= 0 &&\n (typeof data['links'] === 'object' && data['links'].length) >= 0\n ){\n isDataValid = true;\n }\n\n // check if data is available\n if(\n data['nodes'] && data['nodes'].length > 0 &&\n data['links'] && data['links'].length > 0\n ) {\n dataAvailable = true;\n }\n\n // show error\n if(!isDataValid) {\n console.error('NVD3 Sankey chart error:', 'invalid data format for', data);\n console.info('Valid data format is: ', testData, JSON.stringify(testData));\n showError(selection, 'Error loading chart, data is invalid');\n return false;\n }\n\n // TODO use nv.utils.noData\n if(!dataAvailable) {\n showError(selection, 'No data available');\n return false;\n }\n\n // No errors, continue\n\n // append the svg canvas to the page\n var svg = selection.append('svg')\n .attr('width', width)\n .attr('height', height)\n .append('g')\n .attr('class', 'nvd3 nv-wrap nv-sankeyChart');\n\n // Set the sankey diagram properties\n sankey\n .nodeWidth(nodeWidth)\n .nodePadding(nodePadding)\n .size([width, height]);\n\n var path = sankey.link();\n\n sankey\n .nodes(data.nodes)\n .links(data.links)\n .layout(32)\n .center(center);\n\n // add in the links\n var link = svg.append('g').selectAll('.link')\n .data(data.links)\n .enter().append('path')\n .attr('class', 'link')\n .attr('d', path)\n .style('stroke-width', function(d) { return Math.max(1, d.dy); })\n .sort(function(a,b) { return b.dy - a.dy; });\n\n // add the link titles\n link.append('title')\n .text(linkTitle);\n\n // add in the nodes\n var node = svg.append('g').selectAll('.node')\n .data(data.nodes)\n .enter().append('g')\n .attr('class', 'node')\n .attr('transform', function(d) { return 'translate(' + d.x + ',' + d.y + ')'; })\n .call(\n d3.behavior\n .drag()\n .origin(function(d) { return d; })\n .on('dragstart', function() {\n this.parentNode.appendChild(this);\n })\n .on('drag', dragmove)\n );\n\n // add the rectangles for the nodes\n node.append('rect')\n .attr('height', function(d) { return d.dy; })\n .attr('width', sankey.nodeWidth())\n .style('fill', nodeFillColor)\n .style('stroke', nodeStrokeColor)\n .append('title')\n .text(nodeTitle);\n\n // add in the title for the nodes\n node.append('text')\n .attr('x', -6)\n .attr('y', function(d) { return d.dy / 2; })\n .attr('dy', '.35em')\n .attr('text-anchor', 'end')\n .attr('transform', null)\n .text(function(d) { return d.name; })\n .filter(function(d) { return d.x < width / 2; })\n .attr('x', 6 + sankey.nodeWidth())\n .attr('text-anchor', 'start');\n\n // the function for moving the nodes\n function dragmove(d) {\n d3.select(this).attr('transform',\n 'translate(' + d.x + ',' + (\n d.y = Math.max(0, Math.min(height - d.dy, d3.event.y))\n ) + ')');\n sankey.relayout();\n link.attr('d', path);\n }\n });\n\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n units: {get: function(){return units;}, set: function(_){units=_;}},\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n format: {get: function(){return format;}, set: function(_){format=_;}},\n linkTitle: {get: function(){return linkTitle;}, set: function(_){linkTitle=_;}},\n nodeWidth: {get: function(){return nodeWidth;}, set: function(_){nodeWidth=_;}},\n nodePadding: {get: function(){return nodePadding;}, set: function(_){nodePadding=_;}},\n center: {get: function(){return center}, set: function(_){center=_}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n nodeStyle: {get: function(){return {};}, set: function(_){\n nodeFillColor = _.fillColor !== undefined ? _.fillColor : nodeFillColor;\n nodeStrokeColor = _.strokeColor !== undefined ? _.strokeColor : nodeStrokeColor;\n nodeTitle = _.title !== undefined ? _.title : nodeTitle;\n }}\n\n });\n\n nv.utils.initOptions(chart);\n\n return chart;\n};\n","\nnv.models.scatter = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 0, right: 0, bottom: 0, left: 0}\n , width = null\n , height = null\n , color = nv.utils.defaultColor() // chooses color\n , pointBorderColor = null\n , id = Math.floor(Math.random() * 100000) //Create semi-unique ID incase user doesn't select one\n , container = null\n , x = d3.scale.linear()\n , y = d3.scale.linear()\n , z = d3.scale.linear() //linear because d3.svg.shape.size is treated as area\n , getX = function(d) { return d.x } // accessor to get the x value\n , getY = function(d) { return d.y } // accessor to get the y value\n , getSize = function(d) { return d.size || 1} // accessor to get the point size\n , getShape = function(d) { return d.shape || 'circle' } // accessor to get point shape\n , forceX = [] // List of numbers to Force into the X scale (ie. 0, or a max / min, etc.)\n , forceY = [] // List of numbers to Force into the Y scale\n , forceSize = [] // List of numbers to Force into the Size scale\n , interactive = true // If true, plots a voronoi overlay for advanced point intersection\n , pointActive = function(d) { return !d.notActive } // any points that return false will be filtered out\n , padData = false // If true, adds half a data points width to front and back, for lining up a line chart with a bar chart\n , padDataOuter = .1 //outerPadding to imitate ordinal scale outer padding\n , clipEdge = false // if true, masks points within x and y scale\n , clipVoronoi = true // if true, masks each point with a circle... can turn off to slightly increase performance\n , showVoronoi = false // display the voronoi areas\n , clipRadius = function() { return 25 } // function to get the radius for voronoi point clips\n , xDomain = null // Override x domain (skips the calculation from data)\n , yDomain = null // Override y domain\n , xRange = null // Override x range\n , yRange = null // Override y range\n , sizeDomain = null // Override point size domain\n , sizeRange = null\n , singlePoint = false\n , dispatch = d3.dispatch('elementClick', 'elementDblClick', 'elementMouseover', 'elementMouseout', 'renderEnd')\n , useVoronoi = true\n , duration = 250\n , interactiveUpdateDelay = 300\n , showLabels = false\n ;\n\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var x0, y0, z0 // used to store previous scales\n , xDom, yDom // used to store previous domains\n , width0\n , height0\n , timeoutID\n , needsUpdate = false // Flag for when the points are visually updating, but the interactive layer is behind, to disable tooltips\n , renderWatch = nv.utils.renderWatch(dispatch, duration)\n , _sizeRange_def = [16, 256]\n , _cache = {}\n ;\n\n //============================================================\n // Diff and Cache Utilities\n //------------------------------------------------------------\n // getDiffs is used to filter unchanged points from the update\n // selection. It implicitly updates it's cache when called and\n // therefor the diff is based upon the previous invocation NOT\n // the previous update.\n //\n // getDiffs takes a point as its first argument followed by n\n // key getter pairs (d, [key, get... key, get]) this approach\n // was chosen for efficiency. (The filter will call it a LOT).\n //\n // It is important to call delCache on point exit to prevent a\n // memory leak. It is also needed to prevent invalid caches if\n // a new point uses the same series and point id key.\n //\n // Argument Performance Concerns:\n // - Object property lists for key getter pairs would be very\n // expensive (points * objects for the GC every update).\n // - ES6 function names for implicit keys would be nice but\n // they are not guaranteed to be unique.\n // - function.toString to obtain implicit keys is possible\n // but long object keys are not free (internal hash).\n // - Explicit key without objects are the most efficient.\n\n function getCache(d) {\n var key, val;\n key = d[0].series + ':' + d[1];\n val = _cache[key] = _cache[key] || {};\n return val;\n }\n\n function delCache(d) {\n var key, val;\n key = d[0].series + ':' + d[1];\n delete _cache[key];\n }\n\n function getDiffs(d) {\n var i, key, val,\n cache = getCache(d),\n diffs = false;\n for (i = 1; i < arguments.length; i += 2) {\n key = arguments[i];\n val = arguments[i + 1](d[0], d[1]);\n if (cache[key] !== val || !cache.hasOwnProperty(key)) {\n cache[key] = val;\n diffs = true;\n }\n }\n return diffs;\n }\n\n function chart(selection) {\n renderWatch.reset();\n selection.each(function(data) {\n container = d3.select(this);\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin);\n\n nv.utils.initSVG(container);\n\n //add series index to each data point for reference\n data.forEach(function(series, i) {\n series.values.forEach(function(point) {\n point.series = i;\n });\n });\n\n // Setup Scales\n var logScale = (typeof(chart.yScale().base) === \"function\"); // Only log scale has a method \"base()\"\n // remap and flatten the data for use in calculating the scales' domains\n var seriesData = (xDomain && yDomain && sizeDomain) ? [] : // if we know xDomain and yDomain and sizeDomain, no need to calculate.... if Size is constant remember to set sizeDomain to speed up performance\n d3.merge(\n data.map(function(d) {\n return d.values.map(function(d,i) {\n return { x: getX(d,i), y: getY(d,i), size: getSize(d,i) }\n })\n })\n );\n\n x .domain(xDomain || d3.extent(seriesData.map(function(d) { return d.x; }).concat(forceX)))\n\n if (padData && data[0])\n x.range(xRange || [(availableWidth * padDataOuter + availableWidth) / (2 *data[0].values.length), availableWidth - availableWidth * (1 + padDataOuter) / (2 * data[0].values.length) ]);\n //x.range([availableWidth * .5 / data[0].values.length, availableWidth * (data[0].values.length - .5) / data[0].values.length ]);\n else\n x.range(xRange || [0, availableWidth]);\n\n if (logScale) {\n var min = d3.min(seriesData.map(function(d) { if (d.y !== 0) return d.y; }));\n y.clamp(true)\n .domain(yDomain || d3.extent(seriesData.map(function(d) {\n if (d.y !== 0) return d.y;\n else return min * 0.1;\n }).concat(forceY)))\n .range(yRange || [availableHeight, 0]);\n } else {\n y.domain(yDomain || d3.extent(seriesData.map(function (d) { return d.y;}).concat(forceY)))\n .range(yRange || [availableHeight, 0]);\n }\n\n z .domain(sizeDomain || d3.extent(seriesData.map(function(d) { return d.size }).concat(forceSize)))\n .range(sizeRange || _sizeRange_def);\n\n // If scale's domain don't have a range, slightly adjust to make one... so a chart can show a single data point\n singlePoint = x.domain()[0] === x.domain()[1] || y.domain()[0] === y.domain()[1];\n\n if (x.domain()[0] === x.domain()[1])\n x.domain()[0] ?\n x.domain([x.domain()[0] - x.domain()[0] * 0.01, x.domain()[1] + x.domain()[1] * 0.01])\n : x.domain([-1,1]);\n\n if (y.domain()[0] === y.domain()[1])\n y.domain()[0] ?\n y.domain([y.domain()[0] - y.domain()[0] * 0.01, y.domain()[1] + y.domain()[1] * 0.01])\n : y.domain([-1,1]);\n\n if ( isNaN(x.domain()[0])) {\n x.domain([-1,1]);\n }\n\n if ( isNaN(y.domain()[0])) {\n y.domain([-1,1]);\n }\n\n x0 = x0 || x;\n y0 = y0 || y;\n z0 = z0 || z;\n\n var scaleDiff = x(1) !== x0(1) || y(1) !== y0(1) || z(1) !== z0(1);\n\n width0 = width0 || width;\n height0 = height0 || height;\n\n var sizeDiff = width0 !== width || height0 !== height;\n\n // Domain Diffs\n\n xDom = xDom || [];\n var domainDiff = xDom[0] !== x.domain()[0] || xDom[1] !== x.domain()[1];\n xDom = x.domain();\n\n yDom = yDom || [];\n domainDiff = domainDiff || yDom[0] !== y.domain()[0] || yDom[1] !== y.domain()[1];\n yDom = y.domain();\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-scatter').data([data]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-scatter nv-chart-' + id);\n var defsEnter = wrapEnter.append('defs');\n var gEnter = wrapEnter.append('g');\n var g = wrap.select('g');\n\n wrap.classed('nv-single-point', singlePoint);\n gEnter.append('g').attr('class', 'nv-groups');\n gEnter.append('g').attr('class', 'nv-point-paths');\n wrapEnter.append('g').attr('class', 'nv-point-clips');\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n defsEnter.append('clipPath')\n .attr('id', 'nv-edge-clip-' + id)\n .append('rect')\n .attr('transform', 'translate( -10, -10)');\n\n wrap.select('#nv-edge-clip-' + id + ' rect')\n .attr('width', availableWidth + 20)\n .attr('height', (availableHeight > 0) ? availableHeight + 20 : 0);\n\n g.attr('clip-path', clipEdge ? 'url(#nv-edge-clip-' + id + ')' : '');\n\n function updateInteractiveLayer() {\n // Always clear needs-update flag regardless of whether or not\n // we will actually do anything (avoids needless invocations).\n needsUpdate = false;\n\n if (!interactive) return false;\n container.selectAll(\".nv-point.hover\").classed(\"hover\", false);\n\n // nuke all voronoi paths\n wrap.select('.nv-point-paths').selectAll('path').remove();\n\n // inject series and point index for reference into voronoi\n if (useVoronoi === true) {\n var vertices = d3.merge(data.map(function(group, groupIndex) {\n return group.values\n .map(function(point, pointIndex) {\n // *Adding noise to make duplicates very unlikely\n // *Injecting series and point index for reference\n // *Adding a 'jitter' to the points, because there's an issue in d3.geom.voronoi.\n var pX = getX(point,pointIndex);\n var pY = getY(point,pointIndex);\n\n return [nv.utils.NaNtoZero(x(pX)) + Math.random() * 1e-4,\n nv.utils.NaNtoZero(y(pY)) + Math.random() * 1e-4,\n groupIndex,\n pointIndex, point];\n })\n .filter(function(pointArray, pointIndex) {\n return pointActive(pointArray[4], pointIndex); // Issue #237.. move filter to after map, so pointIndex is correct!\n })\n })\n );\n\n if (vertices.length == 0) return false; // No active points, we're done\n if (vertices.length < 3) {\n // Issue #283 - Adding 2 dummy points to the voronoi b/c voronoi requires min 3 points to work\n vertices.push([x.range()[0] - 20, y.range()[0] - 20, null, null]);\n vertices.push([x.range()[1] + 20, y.range()[1] + 20, null, null]);\n vertices.push([x.range()[0] - 20, y.range()[0] + 20, null, null]);\n vertices.push([x.range()[1] + 20, y.range()[1] - 20, null, null]);\n }\n\n // keep voronoi sections from going more than 10 outside of graph\n // to avoid overlap with other things like legend etc\n var bounds = d3.geom.polygon([\n [-10,-10],\n [-10,height + 10],\n [width + 10,height + 10],\n [width + 10,-10]\n ]);\n\n // delete duplicates from vertices - essential assumption for d3.geom.voronoi\n var epsilon = 1e-4; // Uses 1e-4 to determine equivalence.\n vertices = vertices.sort(function(a,b){return ((a[0] - b[0]) || (a[1] - b[1]))});\n for (var i = 0; i < vertices.length - 1; ) {\n if ((Math.abs(vertices[i][0] - vertices[i+1][0]) < epsilon) &&\n (Math.abs(vertices[i][1] - vertices[i+1][1]) < epsilon)) {\n vertices.splice(i+1, 1);\n } else {\n i++;\n }\n }\n\n var voronoi = d3.geom.voronoi(vertices).map(function(d, i) {\n if (d.length === 0) {\n return null;\n }\n\n return {\n 'data': bounds.clip(d),\n 'series': vertices[i][2],\n 'point': vertices[i][3]\n }\n });\n\n var pointPaths = wrap.select('.nv-point-paths').selectAll('path').data(voronoi);\n var vPointPaths = pointPaths\n .enter().append(\"svg:path\")\n .attr(\"d\", function(d) {\n if (!d || !d.data || d.data.length === 0)\n return 'M 0 0';\n else\n return \"M\" + d.data.join(\",\") + \"Z\";\n })\n .attr(\"id\", function(d,i) {\n return \"nv-path-\"+i; })\n .attr(\"clip-path\", function(d,i) { return \"url(#nv-clip-\"+id+\"-\"+i+\")\"; })\n ;\n\n // good for debugging point hover issues\n if (showVoronoi) {\n vPointPaths.style(\"fill\", d3.rgb(230, 230, 230))\n .style('fill-opacity', 0.4)\n .style('stroke-opacity', 1)\n .style(\"stroke\", d3.rgb(200,200,200));\n }\n\n if (clipVoronoi) {\n // voronoi sections are already set to clip,\n // just create the circles with the IDs they expect\n wrap.select('.nv-point-clips').selectAll('*').remove(); // must do * since it has sub-dom\n var pointClips = wrap.select('.nv-point-clips').selectAll('clipPath').data(vertices);\n var vPointClips = pointClips\n .enter().append(\"svg:clipPath\")\n .attr(\"id\", function(d, i) { return \"nv-clip-\"+id+\"-\"+i;})\n .append(\"svg:circle\")\n .attr('cx', function(d) { return d[0]; })\n .attr('cy', function(d) { return d[1]; })\n .attr('r', clipRadius);\n }\n\n var mouseEventCallback = function(el, d, mDispatch) {\n if (needsUpdate) return 0;\n var series = data[d.series];\n if (series === undefined) return;\n var point = series.values[d.point];\n point['color'] = color(series, d.series);\n\n // standardize attributes for tooltip.\n point['x'] = getX(point);\n point['y'] = getY(point);\n\n // can't just get box of event node since it's actually a voronoi polygon\n var box = container.node().getBoundingClientRect();\n var scrollTop = window.pageYOffset || document.documentElement.scrollTop;\n var scrollLeft = window.pageXOffset || document.documentElement.scrollLeft;\n\n var pos = {\n left: x(getX(point, d.point)) + box.left + scrollLeft + margin.left + 10,\n top: y(getY(point, d.point)) + box.top + scrollTop + margin.top + 10\n };\n\n mDispatch({\n point: point,\n series: series,\n pos: pos,\n relativePos: [x(getX(point, d.point)) + margin.left, y(getY(point, d.point)) + margin.top],\n seriesIndex: d.series,\n pointIndex: d.point,\n event: d3.event,\n element: el\n });\n };\n\n pointPaths\n .on('click', function(d) {\n mouseEventCallback(this, d, dispatch.elementClick);\n })\n .on('dblclick', function(d) {\n mouseEventCallback(this, d, dispatch.elementDblClick);\n })\n .on('mouseover', function(d) {\n mouseEventCallback(this, d, dispatch.elementMouseover);\n })\n .on('mouseout', function(d, i) {\n mouseEventCallback(this, d, dispatch.elementMouseout);\n });\n\n } else {\n // add event handlers to points instead voronoi paths\n wrap.select('.nv-groups').selectAll('.nv-group')\n .selectAll('.nv-point')\n //.data(dataWithPoints)\n //.style('pointer-events', 'auto') // recativate events, disabled by css\n .on('click', function(d,i) {\n //nv.log('test', d, i);\n if (needsUpdate || !data[d[0].series]) return 0; //check if this is a dummy point\n var series = data[d[0].series],\n point = series.values[i];\n var element = this;\n dispatch.elementClick({\n point: point,\n series: series,\n pos: [x(getX(point, i)) + margin.left, y(getY(point, i)) + margin.top], //TODO: make this pos base on the page\n relativePos: [x(getX(point, i)) + margin.left, y(getY(point, i)) + margin.top],\n seriesIndex: d[0].series,\n pointIndex: i,\n event: d3.event,\n element: element\n });\n })\n .on('dblclick', function(d,i) {\n if (needsUpdate || !data[d[0].series]) return 0; //check if this is a dummy point\n var series = data[d[0].series],\n point = series.values[i];\n\n dispatch.elementDblClick({\n point: point,\n series: series,\n pos: [x(getX(point, i)) + margin.left, y(getY(point, i)) + margin.top],//TODO: make this pos base on the page\n relativePos: [x(getX(point, i)) + margin.left, y(getY(point, i)) + margin.top],\n seriesIndex: d[0].series,\n pointIndex: i\n });\n })\n .on('mouseover', function(d,i) {\n if (needsUpdate || !data[d[0].series]) return 0; //check if this is a dummy point\n var series = data[d[0].series],\n point = series.values[i];\n\n dispatch.elementMouseover({\n point: point,\n series: series,\n pos: [x(getX(point, i)) + margin.left, y(getY(point, i)) + margin.top],//TODO: make this pos base on the page\n relativePos: [x(getX(point, i)) + margin.left, y(getY(point, i)) + margin.top],\n seriesIndex: d[0].series,\n pointIndex: i,\n color: color(d[0], i)\n });\n })\n .on('mouseout', function(d,i) {\n if (needsUpdate || !data[d[0].series]) return 0; //check if this is a dummy point\n var series = data[d[0].series],\n point = series.values[i];\n\n dispatch.elementMouseout({\n point: point,\n series: series,\n pos: [x(getX(point, i)) + margin.left, y(getY(point, i)) + margin.top],//TODO: make this pos base on the page\n relativePos: [x(getX(point, i)) + margin.left, y(getY(point, i)) + margin.top],\n seriesIndex: d[0].series,\n pointIndex: i,\n color: color(d[0], i)\n });\n });\n }\n }\n\n needsUpdate = true;\n var groups = wrap.select('.nv-groups').selectAll('.nv-group')\n .data(function(d) { return d }, function(d) { return d.key });\n groups.enter().append('g')\n .style('stroke-opacity', 1e-6)\n .style('fill-opacity', 1e-6);\n groups.exit()\n .remove();\n groups\n .attr('class', function(d,i) {\n return (d.classed || '') + ' nv-group nv-series-' + i;\n })\n .classed('nv-noninteractive', !interactive)\n .classed('hover', function(d) { return d.hover });\n groups.watchTransition(renderWatch, 'scatter: groups')\n .style('fill', function(d,i) { return color(d, i) })\n .style('stroke', function(d,i) { return d.pointBorderColor || pointBorderColor || color(d, i) })\n .style('stroke-opacity', 1)\n .style('fill-opacity', .5);\n\n // create the points, maintaining their IDs from the original data set\n var points = groups.selectAll('path.nv-point')\n .data(function(d) {\n return d.values.map(\n function (point, pointIndex) {\n return [point, pointIndex]\n }).filter(\n function(pointArray, pointIndex) {\n return pointActive(pointArray[0], pointIndex)\n })\n });\n points.enter().append('path')\n .attr('class', function (d) {\n return 'nv-point nv-point-' + d[1];\n })\n .style('fill', function (d) { return d.color })\n .style('stroke', function (d) { return d.color })\n .attr('transform', function(d) {\n return 'translate(' + nv.utils.NaNtoZero(x0(getX(d[0],d[1]))) + ',' + nv.utils.NaNtoZero(y0(getY(d[0],d[1]))) + ')'\n })\n .attr('d',\n nv.utils.symbol()\n .type(function(d) { return getShape(d[0]); })\n .size(function(d) { return z(getSize(d[0],d[1])) })\n );\n points.exit().each(delCache).remove();\n groups.exit().selectAll('path.nv-point')\n .watchTransition(renderWatch, 'scatter exit')\n .attr('transform', function(d) {\n return 'translate(' + nv.utils.NaNtoZero(x(getX(d[0],d[1]))) + ',' + nv.utils.NaNtoZero(y(getY(d[0],d[1]))) + ')'\n })\n .remove();\n\n //============================================================\n // Point Update Optimisation Notes\n //------------------------------------------------------------\n // The following update selections are filtered with getDiffs\n // (defined at the top of this file) this brings a performance\n // benefit for charts with large data sets that accumulate a\n // subset of changes or additions over time.\n //\n // Uneccesary and expensive DOM calls are avoided by culling\n // unchanged points from the selection in exchange for the\n // cheaper overhead of caching and diffing each point first.\n //\n // Due to the way D3 and NVD3 work, other global changes need\n // to be considered in addition to local point properties.\n // This is a potential source of bugs (if any of the global\n // changes that possibly affect points are missed).\n\n // Update Point Positions [x, y]\n points.filter(function (d) {\n // getDiffs must always be called to update cache\n return getDiffs(d, 'x', getX, 'y', getY) ||\n scaleDiff || sizeDiff || domainDiff;\n })\n .watchTransition(renderWatch, 'scatter points')\n .attr('transform', function (d) {\n return 'translate(' +\n nv.utils.NaNtoZero(x(getX(d[0], d[1]))) + ',' +\n nv.utils.NaNtoZero(y(getY(d[0], d[1]))) + ')'\n });\n\n // Update Point Appearance [shape, size]\n points.filter(function (d) {\n // getDiffs must always be called to update cache\n return getDiffs(d, 'shape', getShape, 'size', getSize) ||\n scaleDiff || sizeDiff || domainDiff;\n })\n .watchTransition(renderWatch, 'scatter points')\n .attr('d', nv.utils.symbol()\n .type(function (d) { return getShape(d[0]) })\n .size(function (d) { return z(getSize(d[0], d[1])) })\n );\n\n // add label a label to scatter chart\n if(showLabels)\n {\n var titles = groups.selectAll('.nv-label')\n .data(function(d) {\n return d.values.map(\n function (point, pointIndex) {\n return [point, pointIndex]\n }).filter(\n function(pointArray, pointIndex) {\n return pointActive(pointArray[0], pointIndex)\n })\n });\n\n titles.enter().append('text')\n .style('fill', function (d,i) {\n return d.color })\n .style('stroke-opacity', 0)\n .style('fill-opacity', 1)\n .attr('transform', function(d) {\n var dx = nv.utils.NaNtoZero(x0(getX(d[0],d[1]))) + Math.sqrt(z(getSize(d[0],d[1]))/Math.PI) + 2;\n return 'translate(' + dx + ',' + nv.utils.NaNtoZero(y0(getY(d[0],d[1]))) + ')';\n })\n .text(function(d,i){\n return d[0].label;});\n\n titles.exit().remove();\n groups.exit().selectAll('path.nv-label')\n .watchTransition(renderWatch, 'scatter exit')\n .attr('transform', function(d) {\n var dx = nv.utils.NaNtoZero(x(getX(d[0],d[1])))+ Math.sqrt(z(getSize(d[0],d[1]))/Math.PI)+2;\n return 'translate(' + dx + ',' + nv.utils.NaNtoZero(y(getY(d[0],d[1]))) + ')';\n })\n .remove();\n titles.each(function(d) {\n d3.select(this)\n .classed('nv-label', true)\n .classed('nv-label-' + d[1], false)\n .classed('hover',false);\n });\n titles.watchTransition(renderWatch, 'scatter labels')\n .text(function(d,i){ \n return d[0].label;})\n .attr('transform', function(d) {\n var dx = nv.utils.NaNtoZero(x(getX(d[0],d[1])))+ Math.sqrt(z(getSize(d[0],d[1]))/Math.PI)+2;\n return 'translate(' + dx + ',' + nv.utils.NaNtoZero(y(getY(d[0],d[1]))) + ')'\n });\n }\n\n // Delay updating the invisible interactive layer for smoother animation\n if( interactiveUpdateDelay )\n {\n clearTimeout(timeoutID); // stop repeat calls to updateInteractiveLayer\n timeoutID = setTimeout(updateInteractiveLayer, interactiveUpdateDelay );\n }\n else\n {\n updateInteractiveLayer();\n }\n\n //store old scales for use in transitions on update\n x0 = x.copy();\n y0 = y.copy();\n z0 = z.copy();\n\n width0 = width;\n height0 = height;\n\n });\n renderWatch.renderEnd('scatter immediate');\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n // utility function calls provided by this chart\n chart._calls = new function() {\n this.clearHighlights = function () {\n nv.dom.write(function() {\n container.selectAll(\".nv-point.hover\").classed(\"hover\", false);\n });\n return null;\n };\n this.highlightPoint = function (seriesIndex, pointIndex, isHoverOver) {\n nv.dom.write(function() {\n container.select('.nv-groups')\n .selectAll(\".nv-series-\" + seriesIndex)\n .selectAll(\".nv-point-\" + pointIndex)\n .classed(\"hover\", isHoverOver);\n });\n };\n };\n\n // trigger calls from events too\n dispatch.on('elementMouseover.point', function(d) {\n if (interactive) chart._calls.highlightPoint(d.seriesIndex,d.pointIndex,true);\n });\n\n dispatch.on('elementMouseout.point', function(d) {\n if (interactive) chart._calls.highlightPoint(d.seriesIndex,d.pointIndex,false);\n });\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n xScale: {get: function(){return x;}, set: function(_){x=_;}},\n yScale: {get: function(){return y;}, set: function(_){y=_;}},\n pointScale: {get: function(){return z;}, set: function(_){z=_;}},\n xDomain: {get: function(){return xDomain;}, set: function(_){xDomain=_;}},\n yDomain: {get: function(){return yDomain;}, set: function(_){yDomain=_;}},\n pointDomain: {get: function(){return sizeDomain;}, set: function(_){sizeDomain=_;}},\n xRange: {get: function(){return xRange;}, set: function(_){xRange=_;}},\n yRange: {get: function(){return yRange;}, set: function(_){yRange=_;}},\n pointRange: {get: function(){return sizeRange;}, set: function(_){sizeRange=_;}},\n forceX: {get: function(){return forceX;}, set: function(_){forceX=_;}},\n forceY: {get: function(){return forceY;}, set: function(_){forceY=_;}},\n forcePoint: {get: function(){return forceSize;}, set: function(_){forceSize=_;}},\n interactive: {get: function(){return interactive;}, set: function(_){interactive=_;}},\n pointActive: {get: function(){return pointActive;}, set: function(_){pointActive=_;}},\n padDataOuter: {get: function(){return padDataOuter;}, set: function(_){padDataOuter=_;}},\n padData: {get: function(){return padData;}, set: function(_){padData=_;}},\n clipEdge: {get: function(){return clipEdge;}, set: function(_){clipEdge=_;}},\n clipVoronoi: {get: function(){return clipVoronoi;}, set: function(_){clipVoronoi=_;}},\n clipRadius: {get: function(){return clipRadius;}, set: function(_){clipRadius=_;}},\n showVoronoi: {get: function(){return showVoronoi;}, set: function(_){showVoronoi=_;}},\n id: {get: function(){return id;}, set: function(_){id=_;}},\n interactiveUpdateDelay: {get:function(){return interactiveUpdateDelay;}, set: function(_){interactiveUpdateDelay=_;}},\n showLabels: {get: function(){return showLabels;}, set: function(_){ showLabels = _;}},\n pointBorderColor: {get: function(){return pointBorderColor;}, set: function(_){pointBorderColor=_;}},\n\n // simple functor options\n x: {get: function(){return getX;}, set: function(_){getX = d3.functor(_);}},\n y: {get: function(){return getY;}, set: function(_){getY = d3.functor(_);}},\n pointSize: {get: function(){return getSize;}, set: function(_){getSize = d3.functor(_);}},\n pointShape: {get: function(){return getShape;}, set: function(_){getShape = d3.functor(_);}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n }},\n useVoronoi: {get: function(){return useVoronoi;}, set: function(_){\n useVoronoi = _;\n if (useVoronoi === false) {\n clipVoronoi = false;\n }\n }}\n });\n\n nv.utils.initOptions(chart);\n return chart;\n};\n","\nnv.models.scatterChart = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var scatter = nv.models.scatter()\n , xAxis = nv.models.axis()\n , yAxis = nv.models.axis()\n , legend = nv.models.legend()\n , distX = nv.models.distribution()\n , distY = nv.models.distribution()\n , tooltip = nv.models.tooltip()\n ;\n\n var margin = {top: 30, right: 20, bottom: 50, left: 75}\n , marginTop = null\n , width = null\n , height = null\n , container = null\n , color = nv.utils.defaultColor()\n , x = scatter.xScale()\n , y = scatter.yScale()\n , showDistX = false\n , showDistY = false\n , showLegend = true\n , showXAxis = true\n , showYAxis = true\n , rightAlignYAxis = false\n , state = nv.utils.state()\n , defaultState = null\n , dispatch = d3.dispatch('stateChange', 'changeState', 'renderEnd')\n , noData = null\n , duration = 250\n , showLabels = false\n ;\n\n scatter.xScale(x).yScale(y);\n xAxis.orient('bottom').tickPadding(10);\n yAxis\n .orient((rightAlignYAxis) ? 'right' : 'left')\n .tickPadding(10)\n ;\n distX.axis('x');\n distY.axis('y');\n tooltip\n .headerFormatter(function(d, i) {\n return xAxis.tickFormat()(d, i);\n })\n .valueFormatter(function(d, i) {\n return yAxis.tickFormat()(d, i);\n });\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var x0, y0\n , renderWatch = nv.utils.renderWatch(dispatch, duration);\n\n var stateGetter = function(data) {\n return function(){\n return {\n active: data.map(function(d) { return !d.disabled })\n };\n }\n };\n\n var stateSetter = function(data) {\n return function(state) {\n if (state.active !== undefined)\n data.forEach(function(series,i) {\n series.disabled = !state.active[i];\n });\n }\n };\n\n function chart(selection) {\n renderWatch.reset();\n renderWatch.models(scatter);\n if (showXAxis) renderWatch.models(xAxis);\n if (showYAxis) renderWatch.models(yAxis);\n if (showDistX) renderWatch.models(distX);\n if (showDistY) renderWatch.models(distY);\n\n selection.each(function(data) {\n var that = this;\n\n container = d3.select(this);\n nv.utils.initSVG(container);\n\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin);\n\n chart.update = function() {\n if (duration === 0)\n container.call(chart);\n else\n container.transition().duration(duration).call(chart);\n };\n chart.container = this;\n\n state\n .setter(stateSetter(data), chart.update)\n .getter(stateGetter(data))\n .update();\n\n // DEPRECATED set state.disableddisabled\n state.disabled = data.map(function(d) { return !!d.disabled });\n\n if (!defaultState) {\n var key;\n defaultState = {};\n for (key in state) {\n if (state[key] instanceof Array)\n defaultState[key] = state[key].slice(0);\n else\n defaultState[key] = state[key];\n }\n }\n\n // Display noData message if there's nothing to show.\n if (!data || !data.length || !data.filter(function(d) { return d.values.length }).length) {\n nv.utils.noData(chart, container);\n renderWatch.renderEnd('scatter immediate');\n return chart;\n } else {\n container.selectAll('.nv-noData').remove();\n }\n\n // Setup Scales\n x = scatter.xScale();\n y = scatter.yScale();\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-scatterChart').data([data]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-scatterChart nv-chart-' + scatter.id());\n var gEnter = wrapEnter.append('g');\n var g = wrap.select('g');\n\n // background for pointer events\n gEnter.append('rect').attr('class', 'nvd3 nv-background').style(\"pointer-events\",\"none\");\n\n gEnter.append('g').attr('class', 'nv-x nv-axis');\n gEnter.append('g').attr('class', 'nv-y nv-axis');\n gEnter.append('g').attr('class', 'nv-scatterWrap');\n gEnter.append('g').attr('class', 'nv-regressionLinesWrap');\n gEnter.append('g').attr('class', 'nv-distWrap');\n gEnter.append('g').attr('class', 'nv-legendWrap');\n\n if (rightAlignYAxis) {\n g.select(\".nv-y.nv-axis\")\n .attr(\"transform\", \"translate(\" + availableWidth + \",0)\");\n }\n\n // Legend\n if (!showLegend) {\n g.select('.nv-legendWrap').selectAll('*').remove();\n } else {\n var legendWidth = availableWidth;\n legend.width(legendWidth);\n\n wrap.select('.nv-legendWrap')\n .datum(data)\n .call(legend);\n\n if (!marginTop && legend.height() !== margin.top) {\n margin.top = legend.height();\n availableHeight = nv.utils.availableHeight(height, container, margin);\n }\n\n wrap.select('.nv-legendWrap')\n .attr('transform', 'translate(0' + ',' + (-margin.top) +')');\n }\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n // Main Chart Component(s)\n scatter\n .width(availableWidth)\n .height(availableHeight)\n .color(data.map(function(d,i) {\n d.color = d.color || color(d, i);\n return d.color;\n }).filter(function(d,i) { return !data[i].disabled }))\n .showLabels(showLabels);\n\n wrap.select('.nv-scatterWrap')\n .datum(data.filter(function(d) { return !d.disabled }))\n .call(scatter);\n\n\n wrap.select('.nv-regressionLinesWrap')\n .attr('clip-path', 'url(#nv-edge-clip-' + scatter.id() + ')');\n\n var regWrap = wrap.select('.nv-regressionLinesWrap').selectAll('.nv-regLines')\n .data(function (d) {\n return d;\n });\n\n regWrap.enter().append('g').attr('class', 'nv-regLines');\n\n var regLine = regWrap.selectAll('.nv-regLine')\n .data(function (d) {\n return [d]\n });\n\n regLine.enter()\n .append('line').attr('class', 'nv-regLine')\n .style('stroke-opacity', 0);\n\n // don't add lines unless we have slope and intercept to use\n regLine.filter(function(d) {\n return d.intercept && d.slope;\n })\n .watchTransition(renderWatch, 'scatterPlusLineChart: regline')\n .attr('x1', x.range()[0])\n .attr('x2', x.range()[1])\n .attr('y1', function (d, i) {\n return y(x.domain()[0] * d.slope + d.intercept)\n })\n .attr('y2', function (d, i) {\n return y(x.domain()[1] * d.slope + d.intercept)\n })\n .style('stroke', function (d, i, j) {\n return color(d, j)\n })\n .style('stroke-opacity', function (d, i) {\n return (d.disabled || typeof d.slope === 'undefined' || typeof d.intercept === 'undefined') ? 0 : 1\n });\n\n // Setup Axes\n if (showXAxis) {\n xAxis\n .scale(x)\n ._ticks( nv.utils.calcTicksX(availableWidth/100, data) )\n .tickSize( -availableHeight , 0);\n\n g.select('.nv-x.nv-axis')\n .attr('transform', 'translate(0,' + y.range()[0] + ')')\n .call(xAxis);\n }\n\n if (showYAxis) {\n yAxis\n .scale(y)\n ._ticks( nv.utils.calcTicksY(availableHeight/36, data) )\n .tickSize( -availableWidth, 0);\n\n g.select('.nv-y.nv-axis')\n .call(yAxis);\n }\n\n // Setup Distribution\n distX\n .getData(scatter.x())\n .scale(x)\n .width(availableWidth)\n .color(data.map(function(d,i) {\n return d.color || color(d, i);\n }).filter(function(d,i) { return !data[i].disabled }));\n gEnter.select('.nv-distWrap').append('g')\n .attr('class', 'nv-distributionX');\n g.select('.nv-distributionX')\n .attr('transform', 'translate(0,' + y.range()[0] + ')')\n .datum(data.filter(function(d) { return !d.disabled }))\n .call(distX)\n .style('opacity', function() { return showDistX ? '1' : '1e-6'; })\n .watchTransition(renderWatch, 'scatterPlusLineChart')\n .style('opacity', function() { return showDistX ? '1' : '1e-6'; })\n\n\n distY\n .getData(scatter.y())\n .scale(y)\n .width(availableHeight)\n .color(data.map(function(d,i) {\n return d.color || color(d, i);\n }).filter(function(d,i) { return !data[i].disabled }));\n gEnter.select('.nv-distWrap').append('g')\n .attr('class', 'nv-distributionY');\n g.select('.nv-distributionY')\n .attr('transform', 'translate(' + (rightAlignYAxis ? availableWidth : -distY.size() ) + ',0)')\n .datum(data.filter(function(d) { return !d.disabled }))\n .call(distY)\n .style('opacity', function() { return showDistY ? '1' : '1e-6'; })\n .watchTransition(renderWatch, 'scatterPlusLineChart')\n .style('opacity', function() { return showDistY ? '1' : '1e-6'; })\n\n //============================================================\n // Event Handling/Dispatching (in chart's scope)\n //------------------------------------------------------------\n\n legend.dispatch.on('stateChange', function(newState) {\n for (var key in newState)\n state[key] = newState[key];\n dispatch.stateChange(state);\n chart.update();\n });\n\n // Update chart from a state object passed to event handler\n dispatch.on('changeState', function(e) {\n if (typeof e.disabled !== 'undefined') {\n data.forEach(function(series,i) {\n series.disabled = e.disabled[i];\n });\n state.disabled = e.disabled;\n }\n chart.update();\n });\n\n // mouseover needs availableHeight so we just keep scatter mouse events inside the chart block\n scatter.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true);\n container.select('.nv-chart-' + scatter.id() + ' .nv-series-' + evt.seriesIndex + ' .nv-distx-' + evt.pointIndex)\n .attr('y1', 0);\n container.select('.nv-chart-' + scatter.id() + ' .nv-series-' + evt.seriesIndex + ' .nv-disty-' + evt.pointIndex)\n .attr('x2', distY.size());\n });\n\n scatter.dispatch.on('elementMouseover.tooltip', function(evt) {\n container.select('.nv-series-' + evt.seriesIndex + ' .nv-distx-' + evt.pointIndex)\n .attr('y1', evt.relativePos[1] - availableHeight);\n container.select('.nv-series-' + evt.seriesIndex + ' .nv-disty-' + evt.pointIndex)\n .attr('x2', evt.relativePos[0] + distX.size());\n tooltip.data(evt).hidden(false);\n });\n\n //store old scales for use in transitions on update\n x0 = x.copy();\n y0 = y.copy();\n\n });\n\n renderWatch.renderEnd('scatter with line immediate');\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n // expose chart's sub-components\n chart.dispatch = dispatch;\n chart.scatter = scatter;\n chart.legend = legend;\n chart.xAxis = xAxis;\n chart.yAxis = yAxis;\n chart.distX = distX;\n chart.distY = distY;\n chart.tooltip = tooltip;\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n container: {get: function(){return container;}, set: function(_){container=_;}},\n showDistX: {get: function(){return showDistX;}, set: function(_){showDistX=_;}},\n showDistY: {get: function(){return showDistY;}, set: function(_){showDistY=_;}},\n showLegend: {get: function(){return showLegend;}, set: function(_){showLegend=_;}},\n showXAxis: {get: function(){return showXAxis;}, set: function(_){showXAxis=_;}},\n showYAxis: {get: function(){return showYAxis;}, set: function(_){showYAxis=_;}},\n defaultState: {get: function(){return defaultState;}, set: function(_){defaultState=_;}},\n noData: {get: function(){return noData;}, set: function(_){noData=_;}},\n duration: {get: function(){return duration;}, set: function(_){duration=_;}},\n showLabels: {get: function(){return showLabels;}, set: function(_){showLabels=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n if (_.top !== undefined) {\n margin.top = _.top;\n marginTop = _.top;\n }\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n rightAlignYAxis: {get: function(){return rightAlignYAxis;}, set: function(_){\n rightAlignYAxis = _;\n yAxis.orient( (_) ? 'right' : 'left');\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n legend.color(color);\n distX.color(color);\n distY.color(color);\n }}\n });\n\n nv.utils.inheritOptions(chart, scatter);\n nv.utils.initOptions(chart);\n return chart;\n};\n","\nnv.models.sparkline = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 2, right: 0, bottom: 2, left: 0}\n , width = 400\n , height = 32\n , container = null\n , animate = true\n , x = d3.scale.linear()\n , y = d3.scale.linear()\n , getX = function(d) { return d.x }\n , getY = function(d) { return d.y }\n , color = nv.utils.getColor(['#000'])\n , xDomain\n , yDomain\n , xRange\n , yRange\n , showMinMaxPoints = true\n , showCurrentPoint = true\n , dispatch = d3.dispatch('renderEnd')\n ;\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var renderWatch = nv.utils.renderWatch(dispatch);\n \n function chart(selection) {\n renderWatch.reset();\n selection.each(function(data) {\n var availableWidth = width - margin.left - margin.right,\n availableHeight = height - margin.top - margin.bottom;\n\n container = d3.select(this);\n nv.utils.initSVG(container);\n\n // Setup Scales\n x .domain(xDomain || d3.extent(data, getX ))\n .range(xRange || [0, availableWidth]);\n\n y .domain(yDomain || d3.extent(data, getY ))\n .range(yRange || [availableHeight, 0]);\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-sparkline').data([data]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-sparkline');\n var gEnter = wrapEnter.append('g');\n var g = wrap.select('g');\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')')\n\n var paths = wrap.selectAll('path')\n .data(function(d) { return [d] });\n paths.enter().append('path');\n paths.exit().remove();\n paths\n .style('stroke', function(d,i) { return d.color || color(d, i) })\n .attr('d', d3.svg.line()\n .x(function(d,i) { return x(getX(d,i)) })\n .y(function(d,i) { return y(getY(d,i)) })\n );\n\n // TODO: Add CURRENT data point (Need Min, Mac, Current / Most recent)\n var points = wrap.selectAll('circle.nv-point')\n .data(function(data) {\n var yValues = data.map(function(d, i) { return getY(d,i); });\n function pointIndex(index) {\n if (index != -1) {\n var result = data[index];\n result.pointIndex = index;\n return result;\n } else {\n return null;\n }\n }\n var maxPoint = pointIndex(yValues.lastIndexOf(y.domain()[1])),\n minPoint = pointIndex(yValues.indexOf(y.domain()[0])),\n currentPoint = pointIndex(yValues.length - 1);\n return [(showMinMaxPoints ? minPoint : null), (showMinMaxPoints ? maxPoint : null), (showCurrentPoint ? currentPoint : null)].filter(function (d) {return d != null;});\n });\n points.enter().append('circle');\n points.exit().remove();\n points\n .attr('cx', function(d,i) { return x(getX(d,d.pointIndex)) })\n .attr('cy', function(d,i) { return y(getY(d,d.pointIndex)) })\n .attr('r', 2)\n .attr('class', function(d,i) {\n return getX(d, d.pointIndex) == x.domain()[1] ? 'nv-point nv-currentValue' :\n getY(d, d.pointIndex) == y.domain()[0] ? 'nv-point nv-minValue' : 'nv-point nv-maxValue'\n });\n });\n \n renderWatch.renderEnd('sparkline immediate');\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n xDomain: {get: function(){return xDomain;}, set: function(_){xDomain=_;}},\n yDomain: {get: function(){return yDomain;}, set: function(_){yDomain=_;}},\n xRange: {get: function(){return xRange;}, set: function(_){xRange=_;}},\n yRange: {get: function(){return yRange;}, set: function(_){yRange=_;}},\n xScale: {get: function(){return x;}, set: function(_){x=_;}},\n yScale: {get: function(){return y;}, set: function(_){y=_;}},\n animate: {get: function(){return animate;}, set: function(_){animate=_;}},\n showMinMaxPoints: {get: function(){return showMinMaxPoints;}, set: function(_){showMinMaxPoints=_;}},\n showCurrentPoint: {get: function(){return showCurrentPoint;}, set: function(_){showCurrentPoint=_;}},\n\n //functor options\n x: {get: function(){return getX;}, set: function(_){getX=d3.functor(_);}},\n y: {get: function(){return getY;}, set: function(_){getY=d3.functor(_);}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n }}\n });\n\n chart.dispatch = dispatch;\n nv.utils.initOptions(chart);\n return chart;\n};\n","\nnv.models.sparklinePlus = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var sparkline = nv.models.sparkline();\n\n var margin = {top: 15, right: 100, bottom: 10, left: 50}\n , width = null\n , height = null\n , x\n , y\n , index = []\n , paused = false\n , xTickFormat = d3.format(',r')\n , yTickFormat = d3.format(',.2f')\n , showLastValue = true\n , alignValue = true\n , rightAlignValue = false\n , noData = null\n , dispatch = d3.dispatch('renderEnd')\n ;\n \n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var renderWatch = nv.utils.renderWatch(dispatch);\n\n function chart(selection) {\n renderWatch.reset();\n renderWatch.models(sparkline);\n selection.each(function(data) {\n var container = d3.select(this);\n nv.utils.initSVG(container);\n\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin);\n\n chart.update = function() { container.call(chart); };\n chart.container = this;\n\n // Display No Data message if there's nothing to show.\n if (!data || !data.length) {\n nv.utils.noData(chart, container)\n return chart;\n } else {\n container.selectAll('.nv-noData').remove();\n }\n\n var currentValue = sparkline.y()(data[data.length-1], data.length-1);\n\n // Setup Scales\n x = sparkline.xScale();\n y = sparkline.yScale();\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-sparklineplus').data([data]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-sparklineplus');\n var gEnter = wrapEnter.append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-sparklineWrap');\n gEnter.append('g').attr('class', 'nv-valueWrap');\n gEnter.append('g').attr('class', 'nv-hoverArea');\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n // Main Chart Component(s)\n var sparklineWrap = g.select('.nv-sparklineWrap');\n\n sparkline.width(availableWidth).height(availableHeight);\n sparklineWrap.call(sparkline);\n\n if (showLastValue) {\n var valueWrap = g.select('.nv-valueWrap');\n var value = valueWrap.selectAll('.nv-currentValue')\n .data([currentValue]);\n\n value.enter().append('text').attr('class', 'nv-currentValue')\n .attr('dx', rightAlignValue ? -8 : 8)\n .attr('dy', '.9em')\n .style('text-anchor', rightAlignValue ? 'end' : 'start');\n\n value\n .attr('x', availableWidth + (rightAlignValue ? margin.right : 0))\n .attr('y', alignValue ? function (d) {\n return y(d)\n } : 0)\n .style('fill', sparkline.color()(data[data.length - 1], data.length - 1))\n .text(yTickFormat(currentValue));\n }\n\n gEnter.select('.nv-hoverArea').append('rect')\n .on('mousemove', sparklineHover)\n .on('click', function() { paused = !paused })\n .on('mouseout', function() { index = []; updateValueLine(); });\n\n g.select('.nv-hoverArea rect')\n .attr('transform', function(d) { return 'translate(' + -margin.left + ',' + -margin.top + ')' })\n .attr('width', availableWidth + margin.left + margin.right)\n .attr('height', availableHeight + margin.top);\n\n //index is currently global (within the chart), may or may not keep it that way\n function updateValueLine() {\n if (paused) return;\n\n var hoverValue = g.selectAll('.nv-hoverValue').data(index);\n\n var hoverEnter = hoverValue.enter()\n .append('g').attr('class', 'nv-hoverValue')\n .style('stroke-opacity', 0)\n .style('fill-opacity', 0);\n\n hoverValue.exit()\n .transition().duration(250)\n .style('stroke-opacity', 0)\n .style('fill-opacity', 0)\n .remove();\n\n hoverValue\n .attr('transform', function(d) { return 'translate(' + x(sparkline.x()(data[d],d)) + ',0)' })\n .transition().duration(250)\n .style('stroke-opacity', 1)\n .style('fill-opacity', 1);\n\n if (!index.length) return;\n\n hoverEnter.append('line')\n .attr('x1', 0)\n .attr('y1', -margin.top)\n .attr('x2', 0)\n .attr('y2', availableHeight);\n\n hoverEnter.append('text').attr('class', 'nv-xValue')\n .attr('x', -6)\n .attr('y', -margin.top)\n .attr('text-anchor', 'end')\n .attr('dy', '.9em');\n\n g.select('.nv-hoverValue .nv-xValue')\n .text(xTickFormat(sparkline.x()(data[index[0]], index[0])));\n\n hoverEnter.append('text').attr('class', 'nv-yValue')\n .attr('x', 6)\n .attr('y', -margin.top)\n .attr('text-anchor', 'start')\n .attr('dy', '.9em');\n\n g.select('.nv-hoverValue .nv-yValue')\n .text(yTickFormat(sparkline.y()(data[index[0]], index[0])));\n }\n\n function sparklineHover() {\n if (paused) return;\n\n var pos = d3.mouse(this)[0] - margin.left;\n\n function getClosestIndex(data, x) {\n var distance = Math.abs(sparkline.x()(data[0], 0) - x);\n var closestIndex = 0;\n for (var i = 0; i < data.length; i++){\n if (Math.abs(sparkline.x()(data[i], i) - x) < distance) {\n distance = Math.abs(sparkline.x()(data[i], i) - x);\n closestIndex = i;\n }\n }\n return closestIndex;\n }\n\n index = [getClosestIndex(data, Math.round(x.invert(pos)))];\n updateValueLine();\n }\n\n });\n renderWatch.renderEnd('sparklinePlus immediate');\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n // expose chart's sub-components\n chart.dispatch = dispatch;\n chart.sparkline = sparkline;\n\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n xTickFormat: {get: function(){return xTickFormat;}, set: function(_){xTickFormat=_;}},\n yTickFormat: {get: function(){return yTickFormat;}, set: function(_){yTickFormat=_;}},\n showLastValue: {get: function(){return showLastValue;}, set: function(_){showLastValue=_;}},\n alignValue: {get: function(){return alignValue;}, set: function(_){alignValue=_;}},\n rightAlignValue: {get: function(){return rightAlignValue;}, set: function(_){rightAlignValue=_;}},\n noData: {get: function(){return noData;}, set: function(_){noData=_;}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }}\n });\n\n nv.utils.inheritOptions(chart, sparkline);\n nv.utils.initOptions(chart);\n\n return chart;\n};\n","\nnv.models.stackedArea = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 0, right: 0, bottom: 0, left: 0}\n , width = 960\n , height = 500\n , color = nv.utils.defaultColor() // a function that computes the color\n , id = Math.floor(Math.random() * 100000) //Create semi-unique ID incase user doesn't selet one\n , container = null\n , getX = function(d) { return d.x } // accessor to get the x value from a data point\n , getY = function(d) { return d.y } // accessor to get the y value from a data point\n , defined = function(d,i) { return !isNaN(getY(d,i)) && getY(d,i) !== null } // allows a line to be not continuous when it is not defined\n , style = 'stack'\n , offset = 'zero'\n , order = 'default'\n , interpolate = 'linear' // controls the line interpolation\n , clipEdge = false // if true, masks lines within x and y scale\n , x //can be accessed via chart.xScale()\n , y //can be accessed via chart.yScale()\n , scatter = nv.models.scatter()\n , duration = 250\n , dispatch = d3.dispatch('areaClick', 'areaMouseover', 'areaMouseout','renderEnd', 'elementClick', 'elementMouseover', 'elementMouseout')\n ;\n\n scatter\n .pointSize(2.2) // default size\n .pointDomain([2.2, 2.2]) // all the same size by default\n ;\n\n /************************************\n * offset:\n * 'wiggle' (stream)\n * 'zero' (stacked)\n * 'expand' (normalize to 100%)\n * 'silhouette' (simple centered)\n *\n * order:\n * 'inside-out' (stream)\n * 'default' (input order)\n ************************************/\n\n var renderWatch = nv.utils.renderWatch(dispatch, duration);\n\n function chart(selection) {\n renderWatch.reset();\n renderWatch.models(scatter);\n selection.each(function(data) {\n var availableWidth = width - margin.left - margin.right,\n availableHeight = height - margin.top - margin.bottom;\n\n container = d3.select(this);\n nv.utils.initSVG(container);\n\n // Setup Scales\n x = scatter.xScale();\n y = scatter.yScale();\n\n var dataRaw = data;\n // Injecting point index into each point because d3.layout.stack().out does not give index\n data.forEach(function(aseries, i) {\n aseries.seriesIndex = i;\n aseries.values = aseries.values.map(function(d, j) {\n d.index = j;\n d.seriesIndex = i;\n return d;\n });\n });\n\n var dataFiltered = data.filter(function(series) {\n return !series.disabled;\n });\n\n data = d3.layout.stack()\n .order(order)\n .offset(offset)\n .values(function(d) { return d.values }) //TODO: make values customizeable in EVERY model in this fashion\n .x(getX)\n .y(getY)\n .out(function(d, y0, y) {\n d.display = {\n y: y,\n y0: y0\n };\n })\n (dataFiltered);\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-stackedarea').data([data]);\n var wrapEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-stackedarea');\n var defsEnter = wrapEnter.append('defs');\n var gEnter = wrapEnter.append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-areaWrap');\n gEnter.append('g').attr('class', 'nv-scatterWrap');\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n \n // If the user has not specified forceY, make sure 0 is included in the domain\n // Otherwise, use user-specified values for forceY\n if (scatter.forceY().length == 0) {\n scatter.forceY().push(0);\n }\n \n scatter\n .width(availableWidth)\n .height(availableHeight)\n .x(getX)\n .y(function(d) {\n if (d.display !== undefined) { return d.display.y + d.display.y0; }\n })\n .color(data.map(function(d,i) {\n d.color = d.color || color(d, d.seriesIndex);\n return d.color;\n }));\n\n var scatterWrap = g.select('.nv-scatterWrap')\n .datum(data);\n\n scatterWrap.call(scatter);\n\n defsEnter.append('clipPath')\n .attr('id', 'nv-edge-clip-' + id)\n .append('rect');\n\n wrap.select('#nv-edge-clip-' + id + ' rect')\n .attr('width', availableWidth)\n .attr('height', availableHeight);\n\n g.attr('clip-path', clipEdge ? 'url(#nv-edge-clip-' + id + ')' : '');\n\n var area = d3.svg.area()\n .defined(defined)\n .x(function(d,i) { return x(getX(d,i)) })\n .y0(function(d) {\n return y(d.display.y0)\n })\n .y1(function(d) {\n return y(d.display.y + d.display.y0)\n })\n .interpolate(interpolate);\n\n var zeroArea = d3.svg.area()\n .defined(defined)\n .x(function(d,i) { return x(getX(d,i)) })\n .y0(function(d) { return y(d.display.y0) })\n .y1(function(d) { return y(d.display.y0) });\n\n var path = g.select('.nv-areaWrap').selectAll('path.nv-area')\n .data(function(d) { return d });\n\n path.enter().append('path').attr('class', function(d,i) { return 'nv-area nv-area-' + i })\n .attr('d', function(d,i){\n return zeroArea(d.values, d.seriesIndex);\n })\n .on('mouseover', function(d,i) {\n d3.select(this).classed('hover', true);\n dispatch.areaMouseover({\n point: d,\n series: d.key,\n pos: [d3.event.pageX, d3.event.pageY],\n seriesIndex: d.seriesIndex\n });\n })\n .on('mouseout', function(d,i) {\n d3.select(this).classed('hover', false);\n dispatch.areaMouseout({\n point: d,\n series: d.key,\n pos: [d3.event.pageX, d3.event.pageY],\n seriesIndex: d.seriesIndex\n });\n })\n .on('click', function(d,i) {\n d3.select(this).classed('hover', false);\n dispatch.areaClick({\n point: d,\n series: d.key,\n pos: [d3.event.pageX, d3.event.pageY],\n seriesIndex: d.seriesIndex\n });\n });\n\n path.exit().remove();\n path.style('fill', function(d,i){\n return d.color || color(d, d.seriesIndex)\n })\n .style('stroke', function(d,i){ return d.color || color(d, d.seriesIndex) });\n path.watchTransition(renderWatch,'stackedArea path')\n .attr('d', function(d,i) {\n return area(d.values,i)\n });\n\n //============================================================\n // Event Handling/Dispatching (in chart's scope)\n //------------------------------------------------------------\n\n scatter.dispatch.on('elementMouseover.area', function(e) {\n g.select('.nv-chart-' + id + ' .nv-area-' + e.seriesIndex).classed('hover', true);\n });\n scatter.dispatch.on('elementMouseout.area', function(e) {\n g.select('.nv-chart-' + id + ' .nv-area-' + e.seriesIndex).classed('hover', false);\n });\n\n //Special offset functions\n chart.d3_stackedOffset_stackPercent = function(stackData) {\n var n = stackData.length, //How many series\n m = stackData[0].length, //how many points per series\n i,\n j,\n o,\n y0 = [];\n\n for (j = 0; j < m; ++j) { //Looping through all points\n for (i = 0, o = 0; i < dataRaw.length; i++) { //looping through all series\n o += getY(dataRaw[i].values[j]); //total y value of all series at a certian point in time.\n }\n\n if (o) for (i = 0; i < n; i++) { //(total y value of all series at point in time i) != 0\n stackData[i][j][1] /= o;\n } else { //(total y value of all series at point in time i) == 0\n for (i = 0; i < n; i++) {\n stackData[i][j][1] = 0;\n }\n }\n }\n for (j = 0; j < m; ++j) y0[j] = 0;\n return y0;\n };\n\n });\n\n renderWatch.renderEnd('stackedArea immediate');\n return chart;\n }\n\n //============================================================\n // Global getters and setters\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.scatter = scatter;\n\n scatter.dispatch.on('elementClick', function(){ dispatch.elementClick.apply(this, arguments); });\n scatter.dispatch.on('elementMouseover', function(){ dispatch.elementMouseover.apply(this, arguments); });\n scatter.dispatch.on('elementMouseout', function(){ dispatch.elementMouseout.apply(this, arguments); });\n\n chart.interpolate = function(_) {\n if (!arguments.length) return interpolate;\n interpolate = _;\n return chart;\n };\n\n chart.duration = function(_) {\n if (!arguments.length) return duration;\n duration = _;\n renderWatch.reset(duration);\n scatter.duration(duration);\n return chart;\n };\n\n chart.dispatch = dispatch;\n chart.scatter = scatter;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n defined: {get: function(){return defined;}, set: function(_){defined=_;}},\n clipEdge: {get: function(){return clipEdge;}, set: function(_){clipEdge=_;}},\n offset: {get: function(){return offset;}, set: function(_){offset=_;}},\n order: {get: function(){return order;}, set: function(_){order=_;}},\n interpolate: {get: function(){return interpolate;}, set: function(_){interpolate=_;}},\n\n // simple functor options\n x: {get: function(){return getX;}, set: function(_){getX = d3.functor(_);}},\n y: {get: function(){return getY;}, set: function(_){getY = d3.functor(_);}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n }},\n style: {get: function(){return style;}, set: function(_){\n style = _;\n switch (style) {\n case 'stack':\n chart.offset('zero');\n chart.order('default');\n break;\n case 'stream':\n chart.offset('wiggle');\n chart.order('inside-out');\n break;\n case 'stream-center':\n chart.offset('silhouette');\n chart.order('inside-out');\n break;\n case 'expand':\n chart.offset('expand');\n chart.order('default');\n break;\n case 'stack_percent':\n chart.offset(chart.d3_stackedOffset_stackPercent);\n chart.order('default');\n break;\n }\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n scatter.duration(duration);\n }}\n });\n\n nv.utils.inheritOptions(chart, scatter);\n nv.utils.initOptions(chart);\n\n return chart;\n};\n","\nnv.models.stackedAreaChart = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var stacked = nv.models.stackedArea()\n , xAxis = nv.models.axis()\n , yAxis = nv.models.axis()\n , legend = nv.models.legend()\n , controls = nv.models.legend()\n , interactiveLayer = nv.interactiveGuideline()\n , tooltip = nv.models.tooltip()\n , focus = nv.models.focus(nv.models.stackedArea())\n ;\n\n var margin = {top: 10, right: 25, bottom: 50, left: 60}\n , marginTop = null\n , width = null\n , height = null\n , color = nv.utils.defaultColor()\n , showControls = true\n , showLegend = true\n , legendPosition = 'top'\n , showXAxis = true\n , showYAxis = true\n , rightAlignYAxis = false\n , focusEnable = false\n , useInteractiveGuideline = false\n , showTotalInTooltip = true\n , totalLabel = 'TOTAL'\n , x //can be accessed via chart.xScale()\n , y //can be accessed via chart.yScale()\n , state = nv.utils.state()\n , defaultState = null\n , noData = null\n , dispatch = d3.dispatch('stateChange', 'changeState','renderEnd')\n , controlWidth = 250\n , controlOptions = ['Stacked','Stream','Expanded']\n , controlLabels = {}\n , duration = 250\n ;\n\n state.style = stacked.style();\n xAxis.orient('bottom').tickPadding(7);\n yAxis.orient((rightAlignYAxis) ? 'right' : 'left');\n\n tooltip\n .headerFormatter(function(d, i) {\n return xAxis.tickFormat()(d, i);\n })\n .valueFormatter(function(d, i) {\n return yAxis.tickFormat()(d, i);\n });\n\n interactiveLayer.tooltip\n .headerFormatter(function(d, i) {\n return xAxis.tickFormat()(d, i);\n })\n .valueFormatter(function(d, i) {\n return d == null ? \"N/A\" : yAxis.tickFormat()(d, i);\n });\n\n var oldYTickFormat = null,\n oldValueFormatter = null;\n\n controls.updateState(false);\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var renderWatch = nv.utils.renderWatch(dispatch);\n var style = stacked.style();\n\n var stateGetter = function(data) {\n return function(){\n return {\n active: data.map(function(d) { return !d.disabled }),\n style: stacked.style()\n };\n }\n };\n\n var stateSetter = function(data) {\n return function(state) {\n if (state.style !== undefined)\n style = state.style;\n if (state.active !== undefined)\n data.forEach(function(series,i) {\n series.disabled = !state.active[i];\n });\n }\n };\n\n var percentFormatter = d3.format('%');\n\n function chart(selection) {\n renderWatch.reset();\n renderWatch.models(stacked);\n if (showXAxis) renderWatch.models(xAxis);\n if (showYAxis) renderWatch.models(yAxis);\n\n selection.each(function(data) {\n var container = d3.select(this),\n that = this;\n nv.utils.initSVG(container);\n\n var availableWidth = nv.utils.availableWidth(width, container, margin),\n availableHeight = nv.utils.availableHeight(height, container, margin) - (focusEnable ? focus.height() : 0);\n\n chart.update = function() { container.transition().duration(duration).call(chart); };\n chart.container = this;\n\n state\n .setter(stateSetter(data), chart.update)\n .getter(stateGetter(data))\n .update();\n\n // DEPRECATED set state.disabled\n state.disabled = data.map(function(d) { return !!d.disabled });\n\n if (!defaultState) {\n var key;\n defaultState = {};\n for (key in state) {\n if (state[key] instanceof Array)\n defaultState[key] = state[key].slice(0);\n else\n defaultState[key] = state[key];\n }\n }\n\n // Display No Data message if there's nothing to show.\n if (!data || !data.length || !data.filter(function(d) { return d.values.length }).length) {\n nv.utils.noData(chart, container)\n return chart;\n } else {\n container.selectAll('.nv-noData').remove();\n }\n // Setup Scales\n x = stacked.xScale();\n y = stacked.yScale();\n\n // Setup containers and skeleton of chart\n var wrap = container.selectAll('g.nv-wrap.nv-stackedAreaChart').data([data]);\n var gEnter = wrap.enter().append('g').attr('class', 'nvd3 nv-wrap nv-stackedAreaChart').append('g');\n var g = wrap.select('g');\n\n gEnter.append('g').attr('class', 'nv-legendWrap');\n gEnter.append('g').attr('class', 'nv-controlsWrap');\n\n var focusEnter = gEnter.append('g').attr('class', 'nv-focus');\n focusEnter.append('g').attr('class', 'nv-background').append('rect');\n focusEnter.append('g').attr('class', 'nv-x nv-axis');\n focusEnter.append('g').attr('class', 'nv-y nv-axis');\n focusEnter.append('g').attr('class', 'nv-stackedWrap');\n focusEnter.append('g').attr('class', 'nv-interactive');\n\n // g.select(\"rect\").attr(\"width\",availableWidth).attr(\"height\",availableHeight);\n\n var contextEnter = gEnter.append('g').attr('class', 'nv-focusWrap');\n\n // Legend\n if (!showLegend) {\n g.select('.nv-legendWrap').selectAll('*').remove();\n } else {\n var legendWidth = (showControls && legendPosition === 'top') ? availableWidth - controlWidth : availableWidth;\n\n legend.width(legendWidth);\n g.select('.nv-legendWrap').datum(data).call(legend);\n\n if (legendPosition === 'bottom') {\n \tvar xAxisHeight = xAxis.height();\n \tmargin.bottom = Math.max(legend.height() + xAxisHeight, margin.bottom);\n \tavailableHeight = nv.utils.availableHeight(height, container, margin) - (focusEnable ? focus.height() : 0);\n \tvar legendTop = availableHeight + xAxisHeight;\n g.select('.nv-legendWrap')\n .attr('transform', 'translate(0,' + legendTop +')');\n } else if (legendPosition === 'top') {\n if (!marginTop && margin.top != legend.height()) {\n margin.top = legend.height();\n availableHeight = nv.utils.availableHeight(height, container, margin) - (focusEnable ? focus.height() : 0);\n }\n\n g.select('.nv-legendWrap')\n \t.attr('transform', 'translate(' + (availableWidth-legendWidth) + ',' + (-margin.top) +')');\n }\n }\n\n // Controls\n if (!showControls) {\n g.select('.nv-controlsWrap').selectAll('*').remove();\n } else {\n var controlsData = [\n {\n key: controlLabels.stacked || 'Stacked',\n metaKey: 'Stacked',\n disabled: stacked.style() != 'stack',\n style: 'stack'\n },\n {\n key: controlLabels.stream || 'Stream',\n metaKey: 'Stream',\n disabled: stacked.style() != 'stream',\n style: 'stream'\n },\n {\n key: controlLabels.stream_center || 'Stream Center',\n metaKey: 'Stream_Center',\n disabled: stacked.style() != 'stream_center',\n style: 'stream-center'\n },\n {\n key: controlLabels.expanded || 'Expanded',\n metaKey: 'Expanded',\n disabled: stacked.style() != 'expand',\n style: 'expand'\n },\n {\n key: controlLabels.stack_percent || 'Stack %',\n metaKey: 'Stack_Percent',\n disabled: stacked.style() != 'stack_percent',\n style: 'stack_percent'\n }\n ];\n\n controlWidth = (controlOptions.length/3) * 260;\n controlsData = controlsData.filter(function(d) {\n return controlOptions.indexOf(d.metaKey) !== -1;\n });\n\n controls\n .width( controlWidth )\n .color(['#444', '#444', '#444']);\n\n g.select('.nv-controlsWrap')\n .datum(controlsData)\n .call(controls);\n\n var requiredTop = Math.max(controls.height(), showLegend && (legendPosition === 'top') ? legend.height() : 0);\n\n if ( margin.top != requiredTop ) {\n margin.top = requiredTop;\n availableHeight = nv.utils.availableHeight(height, container, margin) - (focusEnable ? focus.height() : 0);\n }\n\n g.select('.nv-controlsWrap')\n .attr('transform', 'translate(0,' + (-margin.top) +')');\n }\n\n wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n if (rightAlignYAxis) {\n g.select(\".nv-y.nv-axis\")\n .attr(\"transform\", \"translate(\" + availableWidth + \",0)\");\n }\n\n //Set up interactive layer\n if (useInteractiveGuideline) {\n interactiveLayer\n .width(availableWidth)\n .height(availableHeight)\n .margin({left: margin.left, top: margin.top})\n .svgContainer(container)\n .xScale(x);\n wrap.select(\".nv-interactive\").call(interactiveLayer);\n }\n\n g.select('.nv-focus .nv-background rect')\n .attr('width', availableWidth)\n .attr('height', availableHeight);\n\n stacked\n .width(availableWidth)\n .height(availableHeight)\n .color(data.map(function(d,i) {\n return d.color || color(d, i);\n }).filter(function(d,i) { return !data[i].disabled; }));\n\n var stackedWrap = g.select('.nv-focus .nv-stackedWrap')\n .datum(data.filter(function(d) { return !d.disabled; }));\n\n // Setup Axes\n if (showXAxis) {\n xAxis.scale(x)\n ._ticks( nv.utils.calcTicksX(availableWidth/100, data) )\n .tickSize( -availableHeight, 0);\n }\n\n if (showYAxis) {\n var ticks;\n if (stacked.offset() === 'wiggle') {\n ticks = 0;\n }\n else {\n ticks = nv.utils.calcTicksY(availableHeight/36, data);\n }\n yAxis.scale(y)\n ._ticks(ticks)\n .tickSize(-availableWidth, 0);\n }\n\n //============================================================\n // Update Axes\n //============================================================\n function updateXAxis() {\n if(showXAxis) {\n g.select('.nv-focus .nv-x.nv-axis')\n .attr('transform', 'translate(0,' + availableHeight + ')')\n .transition()\n .duration(duration)\n .call(xAxis)\n ;\n }\n }\n\n function updateYAxis() {\n if(showYAxis) {\n if (stacked.style() === 'expand' || stacked.style() === 'stack_percent') {\n var currentFormat = yAxis.tickFormat();\n\n if ( !oldYTickFormat || currentFormat !== percentFormatter )\n oldYTickFormat = currentFormat;\n\n //Forces the yAxis to use percentage in 'expand' mode.\n yAxis.tickFormat(percentFormatter);\n }\n else {\n if (oldYTickFormat) {\n yAxis.tickFormat(oldYTickFormat);\n oldYTickFormat = null;\n }\n }\n\n g.select('.nv-focus .nv-y.nv-axis')\n .transition().duration(0)\n .call(yAxis);\n }\n }\n\n //============================================================\n // Update Focus\n //============================================================\n if(!focusEnable) {\n stackedWrap.transition().call(stacked);\n updateXAxis();\n updateYAxis();\n } else {\n focus.width(availableWidth);\n g.select('.nv-focusWrap')\n .attr('transform', 'translate(0,' + ( availableHeight + margin.bottom + focus.margin().top) + ')')\n .datum(data.filter(function(d) { return !d.disabled; }))\n .call(focus);\n var extent = focus.brush.empty() ? focus.xDomain() : focus.brush.extent();\n if(extent !== null){\n onBrush(extent);\n }\n }\n\n //============================================================\n // Event Handling/Dispatching (in chart's scope)\n //------------------------------------------------------------\n\n stacked.dispatch.on('areaClick.toggle', function(e) {\n if (data.filter(function(d) { return !d.disabled }).length === 1)\n data.forEach(function(d) {\n d.disabled = false;\n });\n else\n data.forEach(function(d,i) {\n d.disabled = (i != e.seriesIndex);\n });\n\n state.disabled = data.map(function(d) { return !!d.disabled });\n dispatch.stateChange(state);\n\n chart.update();\n });\n\n legend.dispatch.on('stateChange', function(newState) {\n for (var key in newState)\n state[key] = newState[key];\n dispatch.stateChange(state);\n chart.update();\n });\n\n controls.dispatch.on('legendClick', function(d,i) {\n if (!d.disabled) return;\n\n controlsData = controlsData.map(function(s) {\n s.disabled = true;\n return s;\n });\n d.disabled = false;\n\n stacked.style(d.style);\n\n\n state.style = stacked.style();\n dispatch.stateChange(state);\n\n chart.update();\n });\n\n interactiveLayer.dispatch.on('elementMousemove', function(e) {\n stacked.clearHighlights();\n var singlePoint, pointIndex, pointXLocation, allData = [], valueSum = 0, allNullValues = true, atleastOnePoint = false;\n data\n .filter(function(series, i) {\n series.seriesIndex = i;\n return !series.disabled;\n })\n .forEach(function(series,i) {\n pointIndex = nv.interactiveBisect(series.values, e.pointXValue, chart.x());\n var point = series.values[pointIndex];\n var pointYValue = chart.y()(point, pointIndex);\n if (pointYValue != null && pointYValue > 0) {\n stacked.highlightPoint(i, pointIndex, true);\n atleastOnePoint = true;\n }\n\n // Draw at least one point if all values are zero.\n if (i === (data.length - 1) && !atleastOnePoint) {\n stacked.highlightPoint(i, pointIndex, true);\n }\n if (typeof point === 'undefined') return;\n if (typeof singlePoint === 'undefined') singlePoint = point;\n if (typeof pointXLocation === 'undefined') pointXLocation = chart.xScale()(chart.x()(point,pointIndex));\n\n //If we are in 'expand' mode, use the stacked percent value instead of raw value.\n var tooltipValue = (stacked.style() == 'expand') ? point.display.y : chart.y()(point,pointIndex);\n allData.push({\n key: series.key,\n value: tooltipValue,\n color: color(series,series.seriesIndex),\n point: point\n });\n\n if (showTotalInTooltip && stacked.style() != 'expand' && tooltipValue != null) {\n valueSum += tooltipValue;\n allNullValues = false;\n };\n });\n\n allData.reverse();\n\n //Highlight the tooltip entry based on which stack the mouse is closest to.\n if (allData.length > 2) {\n var yValue = chart.yScale().invert(e.mouseY);\n var yDistMax = Infinity, indexToHighlight = null;\n allData.forEach(function(series,i) {\n\n //To handle situation where the stacked area chart is negative, we need to use absolute values\n //when checking if the mouse Y value is within the stack area.\n yValue = Math.abs(yValue);\n var stackedY0 = Math.abs(series.point.display.y0);\n var stackedY = Math.abs(series.point.display.y);\n if ( yValue >= stackedY0 && yValue <= (stackedY + stackedY0))\n {\n indexToHighlight = i;\n return;\n }\n });\n if (indexToHighlight != null)\n allData[indexToHighlight].highlight = true;\n }\n\n //If we are not in 'expand' mode, add a 'Total' row to the tooltip.\n if (showTotalInTooltip && stacked.style() != 'expand' && allData.length >= 2 && !allNullValues) {\n allData.push({\n key: totalLabel,\n value: valueSum,\n total: true\n });\n }\n\n var xValue = chart.x()(singlePoint,pointIndex);\n\n var valueFormatter = interactiveLayer.tooltip.valueFormatter();\n // Keeps track of the tooltip valueFormatter if the chart changes to expanded view\n if (stacked.style() === 'expand' || stacked.style() === 'stack_percent') {\n if ( !oldValueFormatter ) {\n oldValueFormatter = valueFormatter;\n }\n //Forces the tooltip to use percentage in 'expand' mode.\n valueFormatter = d3.format(\".1%\");\n }\n else {\n if (oldValueFormatter) {\n valueFormatter = oldValueFormatter;\n oldValueFormatter = null;\n }\n }\n\n interactiveLayer.tooltip\n .valueFormatter(valueFormatter)\n .data(\n {\n value: xValue,\n series: allData\n }\n )();\n\n interactiveLayer.renderGuideLine(pointXLocation);\n\n });\n\n interactiveLayer.dispatch.on(\"elementMouseout\",function(e) {\n stacked.clearHighlights();\n });\n\n /* Update `main' graph on brush update. */\n focus.dispatch.on(\"onBrush\", function(extent) {\n onBrush(extent);\n });\n\n // Update chart from a state object passed to event handler\n dispatch.on('changeState', function(e) {\n\n if (typeof e.disabled !== 'undefined' && data.length === e.disabled.length) {\n data.forEach(function(series,i) {\n series.disabled = e.disabled[i];\n });\n\n state.disabled = e.disabled;\n }\n\n if (typeof e.style !== 'undefined') {\n stacked.style(e.style);\n style = e.style;\n }\n\n chart.update();\n });\n\n //============================================================\n // Functions\n //------------------------------------------------------------\n\n function onBrush(extent) {\n // Update Main (Focus)\n var stackedWrap = g.select('.nv-focus .nv-stackedWrap')\n .datum(\n data.filter(function(d) { return !d.disabled; })\n .map(function(d,i) {\n return {\n key: d.key,\n area: d.area,\n classed: d.classed,\n values: d.values.filter(function(d,i) {\n return stacked.x()(d,i) >= extent[0] && stacked.x()(d,i) <= extent[1];\n }),\n disableTooltip: d.disableTooltip\n };\n })\n );\n stackedWrap.transition().duration(duration).call(stacked);\n\n // Update Main (Focus) Axes\n updateXAxis();\n updateYAxis();\n }\n\n });\n\n renderWatch.renderEnd('stacked Area chart immediate');\n return chart;\n }\n\n //============================================================\n // Event Handling/Dispatching (out of chart's scope)\n //------------------------------------------------------------\n\n stacked.dispatch.on('elementMouseover.tooltip', function(evt) {\n evt.point['x'] = stacked.x()(evt.point);\n evt.point['y'] = stacked.y()(evt.point);\n tooltip.data(evt).hidden(false);\n });\n\n stacked.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true)\n });\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n // expose chart's sub-components\n chart.dispatch = dispatch;\n chart.stacked = stacked;\n chart.legend = legend;\n chart.controls = controls;\n chart.xAxis = xAxis;\n chart.x2Axis = focus.xAxis;\n chart.yAxis = yAxis;\n chart.y2Axis = focus.yAxis;\n chart.interactiveLayer = interactiveLayer;\n chart.tooltip = tooltip;\n chart.focus = focus;\n\n chart.dispatch = dispatch;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n showLegend: {get: function(){return showLegend;}, set: function(_){showLegend=_;}},\n legendPosition: {get: function(){return legendPosition;}, set: function(_){legendPosition=_;}},\n showXAxis: {get: function(){return showXAxis;}, set: function(_){showXAxis=_;}},\n showYAxis: {get: function(){return showYAxis;}, set: function(_){showYAxis=_;}},\n defaultState: {get: function(){return defaultState;}, set: function(_){defaultState=_;}},\n noData: {get: function(){return noData;}, set: function(_){noData=_;}},\n showControls: {get: function(){return showControls;}, set: function(_){showControls=_;}},\n controlLabels: {get: function(){return controlLabels;}, set: function(_){controlLabels=_;}},\n controlOptions: {get: function(){return controlOptions;}, set: function(_){controlOptions=_;}},\n showTotalInTooltip: {get: function(){return showTotalInTooltip;}, set: function(_){showTotalInTooltip=_;}},\n totalLabel: {get: function(){return totalLabel;}, set: function(_){totalLabel=_;}},\n focusEnable: {get: function(){return focusEnable;}, set: function(_){focusEnable=_;}},\n focusHeight: {get: function(){return focus.height();}, set: function(_){focus.height(_);}},\n brushExtent: {get: function(){return focus.brushExtent();}, set: function(_){focus.brushExtent(_);}},\n\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n if (_.top !== undefined) {\n margin.top = _.top;\n marginTop = _.top;\n }\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n }},\n focusMargin: {get: function(){return focus.margin}, set: function(_){\n focus.margin.top = _.top !== undefined ? _.top : focus.margin.top;\n focus.margin.right = _.right !== undefined ? _.right : focus.margin.right;\n focus.margin.bottom = _.bottom !== undefined ? _.bottom : focus.margin.bottom;\n focus.margin.left = _.left !== undefined ? _.left : focus.margin.left;\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n stacked.duration(duration);\n xAxis.duration(duration);\n yAxis.duration(duration);\n }},\n color: {get: function(){return color;}, set: function(_){\n color = nv.utils.getColor(_);\n legend.color(color);\n stacked.color(color);\n focus.color(color);\n }},\n x: {get: function(){return stacked.x();}, set: function(_){\n stacked.x(_);\n focus.x(_);\n }},\n y: {get: function(){return stacked.y();}, set: function(_){\n stacked.y(_);\n focus.y(_);\n }},\n rightAlignYAxis: {get: function(){return rightAlignYAxis;}, set: function(_){\n rightAlignYAxis = _;\n yAxis.orient( rightAlignYAxis ? 'right' : 'left');\n }},\n useInteractiveGuideline: {get: function(){return useInteractiveGuideline;}, set: function(_){\n useInteractiveGuideline = !!_;\n chart.interactive(!_);\n chart.useVoronoi(!_);\n stacked.scatter.interactive(!_);\n }}\n });\n\n nv.utils.inheritOptions(chart, stacked);\n nv.utils.initOptions(chart);\n\n return chart;\n};\n\nnv.models.stackedAreaWithFocusChart = function() {\n return nv.models.stackedAreaChart()\n .margin({ bottom: 30 })\n .focusEnable( true );\n};\n","// based on http://bl.ocks.org/kerryrodden/477c1bfb081b783f80ad\nnv.models.sunburst = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var margin = {top: 0, right: 0, bottom: 0, left: 0}\n , width = 600\n , height = 600\n , mode = \"count\"\n , modes = {count: function(d) { return 1; }, value: function(d) { return d.value || d.size }, size: function(d) { return d.value || d.size }}\n , id = Math.floor(Math.random() * 10000) //Create semi-unique ID in case user doesn't select one\n , container = null\n , color = nv.utils.defaultColor()\n , showLabels = false\n , labelFormat = function(d){if(mode === 'count'){return d.name + ' #' + d.value}else{return d.name + ' ' + (d.value || d.size)}}\n , labelThreshold = 0.02\n , sort = function(d1, d2){return d1.name > d2.name;}\n , key = function(d,i){\n if (d.parent !== undefined) {\n return d.name + '-' + d.parent.name + '-' + i;\n } else {\n return d.name;\n }\n }\n , groupColorByParent = true\n , duration = 500\n , dispatch = d3.dispatch('chartClick', 'elementClick', 'elementDblClick', 'elementMousemove', 'elementMouseover', 'elementMouseout', 'renderEnd');\n\n //============================================================\n // aux functions and setup\n //------------------------------------------------------------\n\n var x = d3.scale.linear().range([0, 2 * Math.PI]);\n var y = d3.scale.sqrt();\n\n var partition = d3.layout.partition().sort(sort);\n\n var node, availableWidth, availableHeight, radius;\n var prevPositions = {};\n\n var arc = d3.svg.arc()\n .startAngle(function(d) {return Math.max(0, Math.min(2 * Math.PI, x(d.x))) })\n .endAngle(function(d) {return Math.max(0, Math.min(2 * Math.PI, x(d.x + d.dx))) })\n .innerRadius(function(d) {return Math.max(0, y(d.y)) })\n .outerRadius(function(d) {return Math.max(0, y(d.y + d.dy)) });\n\n function rotationToAvoidUpsideDown(d) {\n var centerAngle = computeCenterAngle(d);\n if(centerAngle > 90){\n return 180;\n }\n else {\n return 0;\n }\n }\n\n function computeCenterAngle(d) {\n var startAngle = Math.max(0, Math.min(2 * Math.PI, x(d.x)));\n var endAngle = Math.max(0, Math.min(2 * Math.PI, x(d.x + d.dx)));\n var centerAngle = (((startAngle + endAngle) / 2) * (180 / Math.PI)) - 90;\n return centerAngle;\n }\n\n function computeNodePercentage(d) {\n var startAngle = Math.max(0, Math.min(2 * Math.PI, x(d.x)));\n var endAngle = Math.max(0, Math.min(2 * Math.PI, x(d.x + d.dx)));\n return (endAngle - startAngle) / (2 * Math.PI);\n }\n\n function labelThresholdMatched(d) {\n var startAngle = Math.max(0, Math.min(2 * Math.PI, x(d.x)));\n var endAngle = Math.max(0, Math.min(2 * Math.PI, x(d.x + d.dx)));\n\n var size = endAngle - startAngle;\n return size > labelThreshold;\n }\n\n // When zooming: interpolate the scales.\n function arcTweenZoom(e,i) {\n var xd = d3.interpolate(x.domain(), [node.x, node.x + node.dx]),\n yd = d3.interpolate(y.domain(), [node.y, 1]),\n yr = d3.interpolate(y.range(), [node.y ? 20 : 0, radius]);\n\n if (i === 0) {\n return function() {return arc(e);}\n }\n else {\n return function (t) {\n x.domain(xd(t));\n y.domain(yd(t)).range(yr(t));\n return arc(e);\n }\n };\n }\n\n function arcTweenUpdate(d) {\n var ipo = d3.interpolate({x: d.x0, dx: d.dx0, y: d.y0, dy: d.dy0}, d);\n\n return function (t) {\n var b = ipo(t);\n\n d.x0 = b.x;\n d.dx0 = b.dx;\n d.y0 = b.y;\n d.dy0 = b.dy;\n\n return arc(b);\n };\n }\n\n function updatePrevPosition(node) {\n var k = key(node);\n if(! prevPositions[k]) prevPositions[k] = {};\n var pP = prevPositions[k];\n pP.dx = node.dx;\n pP.x = node.x;\n pP.dy = node.dy;\n pP.y = node.y;\n }\n\n function storeRetrievePrevPositions(nodes) {\n nodes.forEach(function(n){\n var k = key(n);\n var pP = prevPositions[k];\n //console.log(k,n,pP);\n if( pP ){\n n.dx0 = pP.dx;\n n.x0 = pP.x;\n n.dy0 = pP.dy;\n n.y0 = pP.y;\n }\n else {\n n.dx0 = n.dx;\n n.x0 = n.x;\n n.dy0 = n.dy;\n n.y0 = n.y;\n }\n updatePrevPosition(n);\n });\n }\n\n function zoomClick(d) {\n var labels = container.selectAll('text')\n var path = container.selectAll('path')\n\n // fade out all text elements\n labels.transition().attr(\"opacity\",0);\n\n // to allow reference to the new center node\n node = d;\n\n path.transition()\n .duration(duration)\n .attrTween(\"d\", arcTweenZoom)\n .each('end', function(e) {\n // partially taken from here: http://bl.ocks.org/metmajer/5480307\n // check if the animated element's data e lies within the visible angle span given in d\n if(e.x >= d.x && e.x < (d.x + d.dx) ){\n if(e.depth >= d.depth){\n // get a selection of the associated text element\n var parentNode = d3.select(this.parentNode);\n var arcText = parentNode.select('text');\n\n // fade in the text element and recalculate positions\n arcText.transition().duration(duration)\n .text( function(e){return labelFormat(e) })\n .attr(\"opacity\", function(d){\n if(labelThresholdMatched(d)) {\n return 1;\n }\n else {\n return 0;\n }\n })\n .attr(\"transform\", function() {\n var width = this.getBBox().width;\n if(e.depth === 0)\n return \"translate(\" + (width / 2 * - 1) + \",0)\";\n else if(e.depth === d.depth){\n return \"translate(\" + (y(e.y) + 5) + \",0)\";\n }\n else {\n var centerAngle = computeCenterAngle(e);\n var rotation = rotationToAvoidUpsideDown(e);\n if (rotation === 0) {\n return 'rotate('+ centerAngle +')translate(' + (y(e.y) + 5) + ',0)';\n }\n else {\n return 'rotate('+ centerAngle +')translate(' + (y(e.y) + width + 5) + ',0)rotate(' + rotation + ')';\n }\n }\n });\n }\n }\n })\n }\n\n //============================================================\n // chart function\n //------------------------------------------------------------\n var renderWatch = nv.utils.renderWatch(dispatch);\n\n function chart(selection) {\n renderWatch.reset();\n\n selection.each(function(data) {\n container = d3.select(this);\n availableWidth = nv.utils.availableWidth(width, container, margin);\n availableHeight = nv.utils.availableHeight(height, container, margin);\n radius = Math.min(availableWidth, availableHeight) / 2;\n\n y.range([0, radius]);\n\n // Setup containers and skeleton of chart\n var wrap = container.select('g.nvd3.nv-wrap.nv-sunburst');\n if( !wrap[0][0] ) {\n wrap = container.append('g')\n .attr('class', 'nvd3 nv-wrap nv-sunburst nv-chart-' + id)\n .attr('transform', 'translate(' + ((availableWidth / 2) + margin.left + margin.right) + ',' + ((availableHeight / 2) + margin.top + margin.bottom) + ')');\n } else {\n wrap.attr('transform', 'translate(' + ((availableWidth / 2) + margin.left + margin.right) + ',' + ((availableHeight / 2) + margin.top + margin.bottom) + ')');\n }\n\n container.on('click', function (d, i) {\n dispatch.chartClick({\n data: d,\n index: i,\n pos: d3.event,\n id: id\n });\n });\n\n partition.value(modes[mode] || modes[\"count\"]);\n\n //reverse the drawing order so that the labels of inner\n //arcs are drawn on top of the outer arcs.\n var nodes = partition.nodes(data[0]).reverse()\n\n storeRetrievePrevPositions(nodes);\n var cG = wrap.selectAll('.arc-container').data(nodes, key)\n\n //handle new datapoints\n var cGE = cG.enter()\n .append(\"g\")\n .attr(\"class\",'arc-container')\n\n cGE.append(\"path\")\n .attr(\"d\", arc)\n .style(\"fill\", function (d) {\n if (d.color) {\n return d.color;\n }\n else if (groupColorByParent) {\n return color((d.children ? d : d.parent).name);\n }\n else {\n return color(d.name);\n }\n })\n .style(\"stroke\", \"#FFF\")\n .on(\"click\", function(d,i){\n zoomClick(d);\n dispatch.elementClick({\n data: d,\n index: i\n })\n })\n .on('mouseover', function(d,i){\n d3.select(this).classed('hover', true).style('opacity', 0.8);\n dispatch.elementMouseover({\n data: d,\n color: d3.select(this).style(\"fill\"),\n percent: computeNodePercentage(d)\n });\n })\n .on('mouseout', function(d,i){\n d3.select(this).classed('hover', false).style('opacity', 1);\n dispatch.elementMouseout({\n data: d\n });\n })\n .on('mousemove', function(d,i){\n dispatch.elementMousemove({\n data: d\n });\n });\n\n ///Iterating via each and selecting based on the this\n ///makes it work ... a cG.selectAll('path') doesn't.\n ///Without iteration the data (in the element) didn't update.\n cG.each(function(d){\n d3.select(this).select('path')\n .transition()\n .duration(duration)\n .attrTween('d', arcTweenUpdate);\n });\n\n if(showLabels){\n //remove labels first and add them back\n cG.selectAll('text').remove();\n\n //this way labels are on top of newly added arcs\n cG.append('text')\n .text( function(e){ return labelFormat(e)})\n .transition()\n .duration(duration)\n .attr(\"opacity\", function(d){\n if(labelThresholdMatched(d)) {\n return 1;\n }\n else {\n return 0;\n }\n })\n .attr(\"transform\", function(d) {\n var width = this.getBBox().width;\n if(d.depth === 0){\n return \"rotate(0)translate(\" + (width / 2 * -1) + \",0)\";\n }\n else {\n var centerAngle = computeCenterAngle(d);\n var rotation = rotationToAvoidUpsideDown(d);\n if (rotation === 0) {\n return 'rotate('+ centerAngle +')translate(' + (y(d.y) + 5) + ',0)';\n }\n else {\n return 'rotate('+ centerAngle +')translate(' + (y(d.y) + width + 5) + ',0)rotate(' + rotation + ')';\n }\n }\n });\n }\n\n //zoom out to the center when the data is updated.\n zoomClick(nodes[nodes.length - 1])\n\n\n //remove unmatched elements ...\n cG.exit()\n .transition()\n .duration(duration)\n .attr('opacity',0)\n .each('end',function(d){\n var k = key(d);\n prevPositions[k] = undefined;\n })\n .remove();\n });\n\n\n renderWatch.renderEnd('sunburst immediate');\n return chart;\n }\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n chart.dispatch = dispatch;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n width: {get: function(){return width;}, set: function(_){width=_;}},\n height: {get: function(){return height;}, set: function(_){height=_;}},\n mode: {get: function(){return mode;}, set: function(_){mode=_;}},\n id: {get: function(){return id;}, set: function(_){id=_;}},\n duration: {get: function(){return duration;}, set: function(_){duration=_;}},\n groupColorByParent: {get: function(){return groupColorByParent;}, set: function(_){groupColorByParent=!!_;}},\n showLabels: {get: function(){return showLabels;}, set: function(_){showLabels=!!_}},\n labelFormat: {get: function(){return labelFormat;}, set: function(_){labelFormat=_}},\n labelThreshold: {get: function(){return labelThreshold;}, set: function(_){labelThreshold=_}},\n sort: {get: function(){return sort;}, set: function(_){sort=_}},\n key: {get: function(){return key;}, set: function(_){key=_}},\n // options that require extra logic in the setter\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top != undefined ? _.top : margin.top;\n margin.right = _.right != undefined ? _.right : margin.right;\n margin.bottom = _.bottom != undefined ? _.bottom : margin.bottom;\n margin.left = _.left != undefined ? _.left : margin.left;\n }},\n color: {get: function(){return color;}, set: function(_){\n color=nv.utils.getColor(_);\n }}\n });\n\n nv.utils.initOptions(chart);\n return chart;\n};\n","nv.models.sunburstChart = function() {\n \"use strict\";\n\n //============================================================\n // Public Variables with Default Settings\n //------------------------------------------------------------\n\n var sunburst = nv.models.sunburst();\n var tooltip = nv.models.tooltip();\n\n var margin = {top: 30, right: 20, bottom: 20, left: 20}\n , width = null\n , height = null\n , color = nv.utils.defaultColor()\n , showTooltipPercent = false\n , id = Math.round(Math.random() * 100000)\n , defaultState = null\n , noData = null\n , duration = 250\n , dispatch = d3.dispatch('stateChange', 'changeState','renderEnd');\n\n\n //============================================================\n // Private Variables\n //------------------------------------------------------------\n\n var renderWatch = nv.utils.renderWatch(dispatch);\n\n tooltip\n .duration(0)\n .headerEnabled(false)\n .valueFormatter(function(d){return d;});\n\n //============================================================\n // Chart function\n //------------------------------------------------------------\n\n function chart(selection) {\n renderWatch.reset();\n renderWatch.models(sunburst);\n\n selection.each(function(data) {\n var container = d3.select(this);\n\n nv.utils.initSVG(container);\n\n var availableWidth = nv.utils.availableWidth(width, container, margin);\n var availableHeight = nv.utils.availableHeight(height, container, margin);\n\n chart.update = function() {\n if (duration === 0) {\n container.call(chart);\n } else {\n container.transition().duration(duration).call(chart);\n }\n };\n chart.container = container;\n\n // Display No Data message if there's nothing to show.\n if (!data || !data.length) {\n nv.utils.noData(chart, container);\n return chart;\n } else {\n container.selectAll('.nv-noData').remove();\n }\n\n sunburst.width(availableWidth).height(availableHeight).margin(margin);\n container.call(sunburst);\n });\n\n renderWatch.renderEnd('sunburstChart immediate');\n return chart;\n }\n\n //============================================================\n // Event Handling/Dispatching (out of chart's scope)\n //------------------------------------------------------------\n\n sunburst.dispatch.on('elementMouseover.tooltip', function(evt) {\n evt.series = {\n key: evt.data.name,\n value: (evt.data.value || evt.data.size),\n color: evt.color,\n percent: evt.percent\n };\n if (!showTooltipPercent) {\n delete evt.percent;\n delete evt.series.percent;\n }\n tooltip.data(evt).hidden(false);\n });\n\n sunburst.dispatch.on('elementMouseout.tooltip', function(evt) {\n tooltip.hidden(true);\n });\n\n sunburst.dispatch.on('elementMousemove.tooltip', function(evt) {\n tooltip();\n });\n\n //============================================================\n // Expose Public Variables\n //------------------------------------------------------------\n\n // expose chart's sub-components\n chart.dispatch = dispatch;\n chart.sunburst = sunburst;\n chart.tooltip = tooltip;\n chart.options = nv.utils.optionsFunc.bind(chart);\n\n // use Object get/set functionality to map between vars and chart functions\n chart._options = Object.create({}, {\n // simple options, just get/set the necessary values\n noData: {get: function(){return noData;}, set: function(_){noData=_;}},\n defaultState: {get: function(){return defaultState;}, set: function(_){defaultState=_;}},\n showTooltipPercent: {get: function(){return showTooltipPercent;}, set: function(_){showTooltipPercent=_;}},\n\n // options that require extra logic in the setter\n color: {get: function(){return color;}, set: function(_){\n color = _;\n sunburst.color(color);\n }},\n duration: {get: function(){return duration;}, set: function(_){\n duration = _;\n renderWatch.reset(duration);\n sunburst.duration(duration);\n }},\n margin: {get: function(){return margin;}, set: function(_){\n margin.top = _.top !== undefined ? _.top : margin.top;\n margin.right = _.right !== undefined ? _.right : margin.right;\n margin.bottom = _.bottom !== undefined ? _.bottom : margin.bottom;\n margin.left = _.left !== undefined ? _.left : margin.left;\n sunburst.margin(margin);\n }}\n });\n nv.utils.inheritOptions(chart, sunburst);\n nv.utils.initOptions(chart);\n return chart;\n\n};\n"]} |