<!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; } </style> <body> <svg id="test1"></svg> <script src="../lib/d3.v3.js"></script> <script src="../nv.d3.js"></script> <script src="../src/models/historicalBar.js"></script> <script src="../src/utils.js"></script> <script> nv.addGraph({ generate: function() { var width = nv.utils.windowSize().width - 40, height = nv.utils.windowSize().height - 40; var chart = nv.models.historicalBar() .padData(true) .width(width) .height(height); d3.select("#test1") .attr('width', width) .attr('height', height) .datum(sinData()) .transition() .call(chart); return chart; }, callback: function(graph) { graph.dispatch.on('elementMouseover', function(e) { var offsetElement = document.getElementById("chart"), left = e.pos[0], top = e.pos[1]; /* var content = '<h3>' + e.label + '</h3>' + '<p>' + e.value + '</p>'; */ var content = '<p>' + e.point.y + '</p>'; nv.tooltip.show([left, top], content, e.value < 0 ? 'n' : 's'); }); graph.dispatch.on('elementMouseout', function(e) { nv.tooltip.cleanup(); }); /* graph.dispatch.on('elementClick', function(e) { console.log("Bar Click",e); }); graph.dispatch.on('chartClick', function(e) { console.log("Chart Click",e); }); graph.dispatch.on('chartClick', function(e) { console.log('Click Switching to'); if (td === 0) { d3.select("#test1") .datum(testdata2) .call(graph); td = 1; } else { d3.select("#test1") .datum(testdata) .call(graph); td = 0; } }); */ window.onresize = function() { var width = nv.utils.windowSize().width - 40, height = nv.utils.windowSize().height - 40; graph .width(width) .height(height) d3.select("#test1") .attr('width', width) .attr('height', height) .call(graph); }; } }); //Simple test data generators function sinAndCos() { var sin = [], cos = []; for (var i = 0; i < 100; i++) { sin.push({x: i, y: Math.sin(i/10)}); cos.push({x: i, y: .5 * Math.cos(i/10)}); } return [ { values: sin, key: "Sine Wave", color: "#ff7f0e" }, { values: cos, key: "Cosine Wave", color: "#2ca02c" } ]; } function sinData() { var sin = []; for (var i = 0; i < 100; i++) { sin.push({x: i, y: Math.sin(i/10)}); } return [ { values: sin, key: "Sine Wave", color: "#ff7f0e" } ]; } </script>