addAxes = (svg, scales, stations) => {
svg.selectAll('g.axis').remove()
svg.append("g")
.classed('axis', true)
.attr("transform", 'translate(0, ' + (dimensions.overall.height - dimensions.margins.bottom) + ')')
.call(d3.axisBottom(scales.time2x)
.tickFormat((v) => {
let m = v%60;
let h = Math.floor(v/60);
if(m === 0){
return h+'h';
}else{
return h+':'+d3.format('02')(m);
}
})
);
svg.append("g")
.classed('axis', true)
.attr("transform", 'translate(' + dimensions.margins.left + ', 0)')
.call(d3.axisLeft(scales.distance2y)
.tickValues(_.map(stations, 'tripDistance'))
.tickFormat((undefined, i) => stations[i].stationName)
)
return 'Adding axis ticks and labels'
}