lib/SVG/Graph/Bar.rb in svg-graph-2.0.2 vs lib/SVG/Graph/Bar.rb in svg-graph-2.1.0.beta1
- old
+ new
@@ -101,41 +101,42 @@
unit_size = field_height
bargap = bar_gap ? (fieldwidth < 10 ? fieldwidth / 2 : 10) : 0
bar_width = fieldwidth - bargap
bar_width /= @data.length if stack == :side
-
+
bottom = @graph_height
field_count = 0
@config[:fields].each_index { |i|
dataset_count = 0
for dataset in @data
-
+
# cases (assume 0 = +ve):
# value min length
# +ve +ve value - min
# +ve -ve value - 0
# -ve -ve value.abs - 0
-
+
value = dataset[:data][i]/@y_scale_division
-
+
left = (fieldwidth * field_count)
-
+
length = (value.abs - (minvalue > 0 ? minvalue : 0)) * unit_size
# top is 0 if value is negative
top = bottom - (((value < 0 ? 0 : value) - minvalue) * unit_size)
left += bar_width * dataset_count if stack == :side
-
+
@graph.add_element( "rect", {
"x" => left.to_s,
"y" => top.to_s,
"width" => bar_width.to_s,
"height" => length.to_s,
"class" => "fill#{dataset_count+1}"
})
- make_datapoint_text(left + bar_width/2.0, top - font_size/2, dataset[:data][i].to_s)
+ make_datapoint_text(left + bar_width/2.0, top - font_size/2, dataset[:data][i])
+ # number format shall not apply to popup (use .to_s conversion)
add_popup(left + bar_width/2.0, top , dataset[:data][i].to_s)
dataset_count += 1
end
field_count += 1
}