       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)
+      .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})")
+      .attr("transform", "translate(#{margin.left},#{margin.top})")
 
     xAxisG
-    .attr('class', 'x axis')
-    .attr('transform', "translate(0, #{height})")
-    .call(x_axis)
+      .attr('class', 'x axis')
+      .attr('transform', "translate(0, #{height})")
+      .call(x_axis)
 
     yXaxisG.call(y_axis)
 
     vertical_crosshair
-    .attr('y2', height)
+      .attr('y2', height)
 
     brushed = ->
       brushBus.push if brush.empty() then clearExtent else (v) -> _.extend {}, v, {extent: brush.extent()}

          d0

      legend.selectAll('.crosshair-value')
      .data(target_values)
      .text((d) -> d?.value)

    mouse_position.onValue (p) ->
      positionCrosshair p.x, p.time

        lineWidth = params.lineWidth

      path = target.append("path")
        .attr('class', (d) -> d.lineMode)
        .attr('stroke', (d, i) -> d.color)
        .style('stroke-width', lineWidth)
        .attr('fill', (d, i) -> if d.lineMode is 'area' then d.color)
        .attr('d', (d, i) -> d.lineFn(d.lineValues))
      if hover
        path
          .style('stroke-opacity', 0)
          .style('fill-opacity', 0)
      else
        path
          .style('stroke-opacity', line_opacity)
          .style('fill-opacity', area_opacity)

    add_circles = (target, hover) ->
      if hover
