I REALLY like this graph and its functionality and it is totally what I want/need! Buuutttt,,,, the only thing is is that I need to allow ordinal data on the y-axis (names and stuff) but that seems to break the brushing.
I changed the y-scale from linear to ordinaly[k] = d3.scale.linear().domain(d3.extent(data, function(d) { return +d[k]; })).range([h, 0])); to y[k] = d3.scale.ordinal().domain(data.map(function(d) { return d[k]; })).rangePoints([h, 0])
and all reference to .range also got changed to .rangePoints
Everything works... BUT, when I brush it doesn't filter. Sometime all the lines show up (if I move the brush all the way up most or all the lines will appear), sometimes none, sometimes a few.