<!DOCTYPE html> <meta charset="utf-8"> <link href="../src/nv.d3.css" rel="stylesheet" type="text/css"> <style> body { overflow-y:scroll; } text { font: 12px sans-serif; } #chart1 { height: 500px; margin: 10px; min-width: 100px; min-height: 100px; /* Minimum height and width is a good idea to prevent negative SVG dimensions... For example width should be =< margin.left + margin.right + 1, of course 1 pixel for the entire chart would not be very useful, BUT should not have errors */ } </style> <body> <div id="chart1" class='with-3d-shadow with-transitions'> <svg></svg> </div> <script src="../lib/d3.v3.js"></script> <script src="../nv.d3.js"></script> <script src="../src/tooltip.js"></script> <script src="../src/utils.js"></script> <script src="../src/models/legend.js"></script> <script src="../src/models/axis.js"></script> <script src="../src/models/multiBar.js"></script> <script src="../src/models/multiBarChart.js"></script> <script src="stream_layers.js"></script> <script> var test_data = stream_layers(3,10+Math.random()*100,.1).map(function(data, i) { //var test_data = stream_layers(3,1,.1).map(function(data, i) { //for testing single data point return { key: 'Stream' + i, values: data }; }); console.log('td',test_data); var negative_test_data = new d3.range(0,3).map(function(d,i) { return { key: 'Stream' + i, values: new d3.range(0,11).map( function(f,j) { return { y: 10 + Math.random()*100 * (Math.floor(Math.random()*100)%2 ? 1 : -1), x: j } }) }; }); var chart; nv.addGraph(function() { chart = nv.models.multiBarChart() .barColor(d3.scale.category20().range()) .margin({bottom: 100}) .transitionDuration(300) .delay(0) .rotateLabels(45) .groupSpacing(0.1) ; chart.multibar .hideable(true); chart.reduceXTicks(false).staggerLabels(true); chart.xAxis .axisLabel("Current Index") .showMaxMin(true) .tickFormat(d3.format(',.6f')); chart.yAxis .tickFormat(d3.format(',.1f')); d3.select('#chart1 svg') .datum(negative_test_data) .call(chart); nv.utils.windowResize(chart.update); chart.dispatch.on('stateChange', function(e) { nv.log('New State:', JSON.stringify(e)); }); return chart; }); </script>