File size: 2,388 Bytes
40559c4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
window.makeAxii = function(){

  var stateScale = d3.scaleBand().domain(states).range(c.x.range())
  var stateAxis = c.svg.append('g.axis.state.init-hidden')

  var bw = stateScale.bandwidth()/2

  stateAxis.appendMany('text', states)
    .translate(d => [stateScale(d) + bw, c.height + 22])
    .text(d => d)
    .at({
      textAnchor: 'middle',
    })
    .st({fill: '#444'})

  stateAxis.appendMany('path', d3.range(ages.length + 1))
    .at({
      d: d => ['M', d*c.width/(ages.length), '0 V', c.height].join(' '),
      stroke: '#aaa',
    })

  stateAxis.append('text.bold').text('Home State')
    .translate([c.width/2, c.height + 45])
    .at({textAnchor: 'middle'})

  var ageScale = d3.scaleBand().domain(ages.slice().reverse()).range(c.x.range())
  var ageAxis = c.svg.append('g.axis.age.init-hidden')

  ageAxis.appendMany('text', ages)
    .translate(d => [-30, ageScale(d) + bw])
    .text(d => d)
    .at({dy: '.33em'})
    .st({fill: '#444'})

  ageAxis.appendMany('path', d3.range(ages.length + 1))
    .at({
      d: d => ['M 0', d*c.width/(ages.length), 'H', c.width].join(' '),
      stroke: '#aaa',
    })

  if (scale == 1){
    ageAxis
      .append('g').translate([-43, c.height/2])
      .append('text.bold').text('Age')
      .at({textAnchor: 'middle', transform: 'rotate(-90)'})
  } else {
    ageAxis
      .append('g').translate([-22, 14])
      .append('text.bold').text('Age')
      .at({textAnchor: 'middle'})
  }

  var seasonAxis = c.svg.append('g.axis.state.init-hidden').lower()
  seasonAxis.appendMany('g', ages)
    .translate(d => ageScale(d), 1)
    .appendMany('path', d3.range(1, 4))
    .at({
      d: d => ['M 0', d*bw/4*2, 'H', c.width].join(' '),
      stroke: '#ddd',
    })

  var headAxis = c.svg.append('g.axis.state.init-hidden')
  headAxis.appendMany('text.bold', ['Heads', 'Tails'])
    .text(d => d)
    .translate((d, i) => [i ? c.width/4*3 + 20 : c.width/4 - 20, 88])
    .at({textAnchor: 'middle'})


  var headCaptionAxis = c.svg.append('g.axis.state.init-hidden')
  headCaptionAxis.appendMany('text', ['reports plagiarism', 'reports truth'])
    .text(d => d)
    .translate((d, i) => [i ? c.width/4*3 + 20 : c.width/4 - 20, 88 + 15])
    .at({textAnchor: 'middle'})
    .st({fill: '#444'})


  return {stateScale, stateAxis, headAxis, headCaptionAxis, ageScale, ageAxis, bw, seasonAxis}
}







if (window.init) window.init()