# File lib/gruff/dot.rb, line 54
  def draw_line_markers
    return if @hide_line_markers

    @d = @d.stroke_antialias false

    # Draw horizontal line markers and annotate with numbers
    @d = @d.stroke(@marker_color)
    @d = @d.stroke_width 1
    if @y_axis_increment
      increment = @y_axis_increment
      number_of_lines = (@spread / @y_axis_increment).to_i
    else
      # Try to use a number of horizontal lines that will come out even.
      #
      # TODO Do the same for larger numbers...100, 75, 50, 25
      if @marker_count.nil?
        (3..7).each do |lines|
          if @spread % lines == 0.0
            @marker_count = lines
            break
          end
        end
        @marker_count ||= 5
      end
      # TODO Round maximum marker value to a round number like 100, 0.1, 0.5, etc.
      @increment = (@spread > 0 && @marker_count > 0) ? significant(@spread / @marker_count) : 1

      number_of_lines = @marker_count
      increment = @increment
    end

    (0..number_of_lines).each do |index|
      marker_label = @minimum_value + index * increment
      x = @graph_left + (marker_label - @minimum_value) * @graph_width / @spread
      @d = @d.line(x, @graph_bottom, x, @graph_bottom + 0.5 * LABEL_MARGIN)

      unless @hide_line_numbers
        @d.fill = @font_color
        @d.font = @font if @font
        @d.stroke = 'transparent'
        @d.pointsize = scale_fontsize(@marker_font_size)
        @d.gravity = CenterGravity
        # TODO Center text over line
        @d = @d.annotate_scaled(@base_image,
                                0, 0, # Width of box to draw text in
                                x, @graph_bottom + (LABEL_MARGIN * 2.0), # Coordinates of text
                                label(marker_label, increment), @scale)
      end # unless
      @d = @d.stroke_antialias true
    end
  end