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

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

d3

File size: 1.7 KB
RevLine 
[76]1var w = 280,
2    h = 280,
3    m = [10, 0, 20, 35], // top right bottom left
4    n = 10000; // number of samples to generate
5
6var chart = d3.chart.qq()
7    .width(w)
8    .height(h)
9    .domain([-.1, 1.1])
10    .tickFormat(function(d) { return ~~(d * 100); });
11
12var vis = d3.select("#chart")
13  .append("svg:svg")
14  .append("svg:g")
15    .attr("transform", "translate(" + m[3] + "," + m[0] + ")");
16
17d3.json("turkers.json", function(turkers) {
18  var tm = science.stats.mean(turkers),
19      td = Math.sqrt(science.stats.variance(turkers)),
20      dd = [
21        [0.10306430789206111, 0.0036139086950272735, 0.30498647327844536],
22        [0.5924252668569606, 0.0462763685758622, 0.4340870312025223],
23        [0.9847627827855167, 2.352350767874714e-4, 0.2609264955190324]
24      ];
25
26  var g = vis.selectAll("g")
27      .data([{
28        x: d3.range(n).map(Math.random),
29        y: turkers,
30        label: "Uniform Distribution"
31      }, {
32        x: d3.range(n).map(normal1(tm, td)),
33        y: turkers,
34        label: "Gaussian (Normal) Distribution"
35      }, {
36        x: d3.range(n).map(normal3(dd)),
37        y: turkers,
38        label: "Mixture of 3 Gaussians"
39      }])
40    .enter().append("svg:g")
41      .attr("class", "qq")
42      .attr("transform", function(d, i) { return "translate(" + (w + m[1] + m[3]) * i + ")"; });
43
44  g.append("svg:rect")
45      .attr("class", "box")
46      .attr("width", w)
47      .attr("height", h);
48
49  g.call(chart);
50
51  g.append("svg:text")
52      .attr("dy", "1.3em")
53      .attr("dx", ".6em")
54      .text(function(d) { return d.label; });
55
56  chart.duration(1000);
57
58  window.transition = function() {
59    g.map(randomize).call(chart);
60  };
61});
62
63function randomize(d) {
64  d.y = d3.range(n).map(Math.random);
65  return d;
66}
Note: See TracBrowser for help on using the repository browser.