multiBar.html 1.88 KB
Newer Older
afe's avatar
afe committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
<!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>

  <div id="test1">
    <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/models/legend.js"></script>
<script src="../src/models/axis.js"></script>
<script src="../src/models/multiBar.js"></script>
<script src="../src/utils.js"></script>
<script src="stream_layers.js"></script>
<script>

  //var test_data = stream_layers(3,128,.1).map(function(data, i) {
  var test_data = stream_layers(3,128,.1).map(function(data, i) {
    return {
      key: 'Stream' + i,
      values: data
    };
  });

nv.addGraph({
  generate: function() {
      var width = nv.utils.windowSize().width - 40,
      height = nv.utils.windowSize().height - 40;

      var chart = nv.models.multiBar()
                .width(width)
                .height(height)
                .stacked(true)


    var svg = d3.select('#test1 svg')
      .attr('width', width)
      .attr('height', height)
      .datum(test_data);

    svg.transition().duration(500).call(chart);

    return chart;
  },
  callback: function(graph) {


    window.onresize = function() {
    var width = nv.utils.windowSize().width - 40,
        height = nv.utils.windowSize().height - 40,
        margin = graph.margin();


      if (width < margin.left + margin.right + 20)
        width = margin.left + margin.right + 20;

      if (height < margin.top + margin.bottom + 20)
        height = margin.top + margin.bottom + 20;


      graph
         .width(width)
         .height(height);

      d3.select('#test1 svg')
        .attr('width', width)
        .attr('height', height)
        transition().duration(500)
        .call(graph);

      };
  }
});



</script>