<!DOCTYPE html> <meta charset="utf-8"> <link href="../src/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.v2.js"></script> <script src="../nv.d3.js"></script> <script src="../src/models/bar.js"></script> <script> var testdata = [ { label: "One is a very long", y: 5 }, { label: "Two is also very long", y: 2 }, { label: "Three", y: 9 }, { label: "Four", y: 7 }, { label: "Five", y: 4 }, { label: "Six", y: 3 } ]; var testdata2 = [ { label: "One is a very long", y: 1 }, { label: "Two is also very long", y: 12 }, { label: "Three", y: -9 }, { label: "Four", y: 4 }, { label: "Five", y: 6 } ]; var td = 0; var a = (Math.random()*10)+1; if (a > 5) td = 1; //Format A nv.addGraph({ generate: function() { var width = nv.utils.windowSize().width - 40, height = nv.utils.windowSize().height - 40; var chart = nv.models.bar() .width(width) .height(height) .labelField('label') .dataField('y') .showLabels(true) .title("This is a sample chart title") ; if (td === 0) { d3.select("#test1") .attr('width', width) .attr('height', height) .datum(testdata) .call(chart); } else { d3.select("#test1") .attr('width', width) .attr('height', height) .datum(testdata2) .call(chart); } return chart; }, callback: function(graph) { graph.dispatch.on('tooltipShow', 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>'; nv.tooltip.show([left, top], content); }); graph.dispatch.on('tooltipHide', 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; d3.select("#test1") .attr('width', width) .attr('height', height) .call( graph .width(width) .height(height) ) }; } }); /* //Format B nv.addGraph(function() { var selection = d3.select("body") .datum(irwinHallDistribution(10000, 10)); var chart = nv.models.histogram() .bins(d3.scale.linear().ticks(20)) .tickFormat(d3.format(".02f")); chart(selection); return chart; }, function(g) { console.log(g.width(), g.height()) }) //Format C nv.addGraph(function() { return nv.models.histogram() .bins(d3.scale.linear().ticks(20)) .tickFormat(d3.format(".02f"))( d3.select("body") .datum(irwinHallDistribution(10000, 10)) ); }, function(g) { console.log(g.width(), g.height()) }) */ </script>