| <!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> |