bisect = {
const bisect = d3.bisector(d => d.x).left;
return mx => {
const domainX = x.invert(mx);
const index = bisect(data, domainX, 1);
const a = data[index - 1];
const b = data[index];
if (!b) { return a; }
return domainX - a.x > b.x - domainX ? b : a;
};
}