# File lib/sparklines.rb, line 506
  def whisker

    step = @options[:step].to_i
    height = @options[:height].to_f
    background_color = @options[:background_color]

    create_canvas(@data.size * step - 1, height, background_color)

    whisker_color = @options[:whisker_color] || 'black'
    exception_color = @options[:exception_color] || 'red'

    on_row = (@canvas.rows/2.0 - 1).ceil
    off_row = (@canvas.rows/2.0).floor
    i = 0
    @data.each do |r|
      color = whisker_color

      if ( (r == 2 || r == -2) && exception_color )
        color = exception_color
      end

      y_mid_point = (r >= 1) ? on_row : off_row

      y_end_point = y_mid_point
      if ( r > 0)
        y_end_point = 0
      end

      if ( r < 0 )
        y_end_point = @canvas.rows
      end

      @draw.stroke( color )
      @draw.line( i, y_mid_point, i, y_end_point )
      i += step
    end

    @draw.draw(@canvas)
    @canvas
  end