2012-06-15 20:16:08 +00:00
|
|
|
<!DOCTYPE html>
|
|
|
|
<meta charset="utf-8">
|
|
|
|
|
2012-07-13 19:25:19 +00:00
|
|
|
<link href="../src/nv.d3.css" rel="stylesheet" type="text/css">
|
2012-06-15 20:16:08 +00:00
|
|
|
|
|
|
|
<style>
|
|
|
|
|
|
|
|
body {
|
|
|
|
overflow-y:scroll;
|
|
|
|
}
|
|
|
|
|
|
|
|
text {
|
|
|
|
font: 12px sans-serif;
|
|
|
|
}
|
|
|
|
|
|
|
|
#chart1 {
|
|
|
|
height: 500px;
|
|
|
|
margin: 10px;
|
|
|
|
min-width: 100px;
|
|
|
|
min-height: 100px;
|
|
|
|
/*
|
|
|
|
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">
|
|
|
|
<svg></svg>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<script src="../lib/d3.v2.js"></script>
|
|
|
|
<script src="../nv.d3.js"></script>
|
|
|
|
<script src="../src/tooltip.js"></script>
|
2012-07-26 12:23:20 +00:00
|
|
|
<script src="../src/utils.js"></script>
|
2012-06-15 20:16:08 +00:00
|
|
|
<script src="../src/models/legend.js"></script>
|
|
|
|
<script src="../src/models/axis.js"></script>
|
|
|
|
<script src="../src/models/multiBar.js"></script>
|
|
|
|
<script src="../src/models/multiBarChart.js"></script>
|
|
|
|
<script src="stream_layers.js"></script>
|
|
|
|
<script>
|
|
|
|
|
|
|
|
var test_data = stream_layers(3,10+Math.random()*100,.1).map(function(data, i) {
|
2012-07-16 21:03:24 +00:00
|
|
|
//var test_data = stream_layers(3,1,.1).map(function(data, i) { //for testing single data point
|
2012-06-15 20:16:08 +00:00
|
|
|
return {
|
|
|
|
key: 'Stream' + i,
|
|
|
|
values: data
|
|
|
|
};
|
|
|
|
});
|
|
|
|
|
2013-02-06 15:27:04 +00:00
|
|
|
console.log('td',test_data);
|
|
|
|
|
|
|
|
var negative_test_data = new d3.range(0,3).map(function(d,i) { return {
|
|
|
|
key: 'Stream' + i,
|
|
|
|
values: new d3.range(0,10).map( function(f,j) {
|
|
|
|
return {
|
|
|
|
y: 10 + Math.random()*100 * (Math.floor(Math.random()*100)%2 ? 1 : -1),
|
|
|
|
x: j
|
|
|
|
}
|
|
|
|
})
|
|
|
|
};
|
|
|
|
});
|
2012-06-15 20:16:08 +00:00
|
|
|
|
2012-12-28 05:05:37 +00:00
|
|
|
var chart;
|
2012-06-15 20:16:08 +00:00
|
|
|
nv.addGraph(function() {
|
2013-02-28 22:34:02 +00:00
|
|
|
chart = nv.models.multiBarChart()
|
|
|
|
.barColor(d3.scale.category20().range());
|
2012-06-15 20:16:08 +00:00
|
|
|
|
|
|
|
chart.xAxis
|
2012-11-08 20:44:26 +00:00
|
|
|
.showMaxMin(true)
|
2012-06-15 20:16:08 +00:00
|
|
|
.tickFormat(d3.format(',f'));
|
|
|
|
|
|
|
|
chart.yAxis
|
|
|
|
.tickFormat(d3.format(',.1f'));
|
|
|
|
|
|
|
|
d3.select('#chart1 svg')
|
2013-02-06 15:27:04 +00:00
|
|
|
.datum(negative_test_data)
|
2012-06-15 20:16:08 +00:00
|
|
|
.transition().duration(500).call(chart);
|
|
|
|
|
|
|
|
nv.utils.windowResize(chart.update);
|
|
|
|
|
2012-12-28 05:05:37 +00:00
|
|
|
chart.dispatch.on('stateChange', function(e) { nv.log('New State:', JSON.stringify(e)); });
|
|
|
|
|
2012-06-15 20:16:08 +00:00
|
|
|
return chart;
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</script>
|