<!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; } svg { display: block; } #chart1 svg { height: 500px; min-width: 100px; min-height: 100px; /* margin: 50px; 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 style="height: 500px;"></svg> </div> <script src="../lib/d3.v3.js"></script> <script src="../lib/fisheye.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/scatter.js"></script> <script src="../src/models/lineWithFisheye.js"></script> <script src="../src/models/lineWithFisheyeChart.js"></script> <script> // Wrapping in nv.addGraph allows for '0 timeout render', stors rendered charts in nv.graphs, and may do more in the future... it's NOT required nv.addGraph(function() { var chart = nv.models.lineChart(); chart.xAxis // chart sub-models (ie. xAxis, yAxis, etc) when accessed directly, return themselves, not the parent chart, so need to chain separately .tickFormat(d3.format(',r')); chart.yAxis .axisLabel('Voltage (v)') .tickFormat(d3.format(',.2f')); d3.select('#chart1 svg') .datum(sinAndCos()) .transition().duration(500) .call(chart); //TODO: Figure out a good way to do this automatically nv.utils.windowResize(chart.update); //nv.utils.windowResize(function() { d3.select('#chart1 svg').call(chart) }); return chart; }); function sinAndCos() { var sin = [], cos = []; for (var i = 0; i < 200; i++) { sin.push({x: i, y: Math.sin(i/2)}); cos.push({x: i, y: .5 * Math.cos(i)}); } return [ { values: sin, key: "Sine Wave", color: "#ff7f0e" }, { values: cos, key: "Cosine Wave", color: "#2ca02c" } ]; } </script>