source: Dev/trunk/d3/examples/horizon/horizon.js @ 76

Last change on this file since 76 was 76, checked in by fpvanagthoven, 14 years ago

d3

File size: 1.1 KB
Line 
1var w = 960,
2    h = 40;
3
4var chart = d3.chart.horizon()
5    .width(w)
6    .height(h)
7    .bands(5)
8    .mode("offset")
9    .interpolate("basis");
10
11var svg = d3.select("#chart").append("svg:svg")
12    .attr("width", w)
13    .attr("height", h);
14
15d3.json("unemployment.json", function(data) {
16
17  // Offset so that positive is above-average and negative is below-average.
18  var mean = data.rate.reduce(function(p, v) { return p + v; }, 0) / data.rate.length;
19
20  // Transpose column values to rows.
21  data = data.rate.map(function(rate, i) {
22    return [Date.UTC(data.year[i], data.month[i] - 1), rate - mean];
23  });
24
25  // Render the chart.
26  svg.data([data]).call(chart);
27
28  // Enable mode buttons.
29  d3.selectAll("#mode button")
30      .data(["offset", "mirror"])
31      .on("click", function(m) {
32        svg.call(chart.duration(0).mode(m));
33        d3.selectAll("#mode button")
34            .classed("active", function(d) { return d == m; });
35      });
36
37  // Enable bands buttons.
38  d3.selectAll("#bands button")
39      .data([-1, 1])
40      .on("click", function bands(db) {
41        svg.call(chart.duration(1000).bands(Math.max(1, chart.bands() + db)));
42      });
43});
Note: See TracBrowser for help on using the repository browser.