class Gruff::BarConversion
Original Author: David Stokar
This class perfoms the y coordinats conversion for the bar class. There are three cases: 1. Bars all go from zero in positive direction 2. Bars all go from zero to negative direction 3. Bars either go from zero to positive or from zero to negative
Attributes
graph_height[W]
graph_top[W]
minimum_value[W]
mode[W]
spread[W]
zero[W]
Public Instance Methods
get_left_y_right_y_scaled(data_point, result)
click to toggle source
# File lib/gruff/bar_conversion.rb, line 20 def get_left_y_right_y_scaled(data_point, result) case @mode when 1 then # Case one # minimum value >= 0 ( only positiv values ) result[0] = @graph_top + @graph_height*(1 - data_point) + 1 result[1] = @graph_top + @graph_height - 1 when 2 then # Case two # only negativ values result[0] = @graph_top + 1 result[1] = @graph_top + @graph_height*(1 - data_point) - 1 when 3 then # Case three # positiv and negativ values val = data_point-@minimum_value/@spread if data_point >= @zero result[0] = @graph_top + @graph_height*(1 - (val-@zero)) + 1 result[1] = @graph_top + @graph_height*(1 - @zero) - 1 else result[0] = @graph_top + @graph_height*(1 - (val-@zero)) + 1 result[1] = @graph_top + @graph_height*(1 - @zero) - 1 end else result[0] = 0.0 result[1] = 0.0 end end