def draw_line_markers
super
return if @hide_line_markers
@d = @d.stroke_antialias false
if @x_axis_increment.nil?
if @marker_x_count.nil?
(3..7).each do |lines|
if @x_spread % lines == 0.0
@marker_x_count = lines
break
end
end
@marker_x_count ||= 4
end
@x_increment = (@x_spread > 0) ? significant(@x_spread / @marker_x_count) : 1
else
@maximum_x_value = [@maximum_value.ceil, @x_axis_increment].max
@minimum_x_value = @minimum_x_value.floor
calculate_spread
normalize(true)
@marker_count = (@x_spread / @x_axis_increment).to_i
@x_increment = @x_axis_increment
end
@increment_x_scaled = @graph_width.to_f / (@x_spread / @x_increment)
(0..@marker_x_count).each do |index|
unless @hide_line_numbers
marker_label = index * @x_increment + @minimum_x_value.to_f
y_offset = @graph_bottom + LABEL_MARGIN
x_offset = get_x_coord(index.to_f, @increment_x_scaled, @graph_left)
@d.fill = @font_color
@d.font = @font if @font
@d.stroke('transparent')
@d.pointsize = scale_fontsize(@marker_font_size)
@d.gravity = NorthGravity
@d = @d.annotate_scaled(@base_image,
1.0, 1.0,
x_offset, y_offset,
label(marker_label, @x_increment), @scale)
end
end
@d = @d.stroke_antialias true
end