       brush brushG
 
     brushG.selectAll("rect")
-    .attr("y", 0)
-    .attr("height", height)
-    .attr('fill', '#efefef')
+      .attr("y", 0)
+      .attr("height", height)
+      .attr('fill', '#efefef')
 
     positionCrosshair = (x, time) ->
       currentCrosshairTime = time
       vertical_crosshair
-      .attr('x1', x)
-      .attr('x2', x)
+        .attr('x1', x)
+        .attr('x2', x)
 
       crosshair_time
-      .text(moment(time).format('lll'))
-      .attr('x', x)
+        .text(moment(time).format('lll'))
+        .attr('x', x)
 
       target_values = _.map targets, (t) ->
         i = t.bisector.left t.values, time, 1

      target.scatterValues = filter_scatter_values values

    svg
    .attr('width', width + margin.left + margin.right)
    .attr('height', height + margin.top + margin.bottom)
    .style('background-color', params.bgcolor)

    g
    .attr("transform", "translate(#{margin.left},#{margin.top})")

    xAxisG
    .attr('class', 'x axis')
    .attr('transform', "translate(0, #{height})")
    .call(x_axis)

    yXaxisG.call(y_axis)

    vertical_crosshair
    .attr('y2', height)

    brushed = ->
      brushBus.push if brush.empty() then clearExtent else (v) -> _.extend {}, v, {extent: brush.extent()}

    brushend = -> brushBus.push setNotBrushing

    brush = d3.svg.brush()
      .x(x)
      .on("brush", brushed)
      .on('brushstart', brushstart)
      .on('brushend', brushend)

    brushG.call(brush)

