| 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() |