This is happening because ordinal scales don't currently support
inverting from pixel space back to data space. The d3.svg.brush
component looks for an "invert" function when computing the extent,
which is in turn passed back to the Tesseract example. You could work
around it by adding the following to the "brush.chart" event handler:
if (!x.invert) {
var d = x.domain(),
r = x.range();
extent = extent.map(function(e) { return d[d3.bisect(r, e) - 1]; });
}
Alternatively, we could add support for this to D3's ordinal scales:
https://github.com/mbostock/d3/pull/598
--
Jason Davies, http://www.jasondavies.com/