Class | Gruff::BarConversion |
In: |
lib/gruff/bar_conversion.rb
|
Parent: | Object |
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
graph_height | [W] | |
graph_top | [W] | |
minimum_value | [W] | |
mode | [W] | |
spread | [W] | |
zero | [W] |
# File lib/gruff/bar_conversion.rb, line 20 20: def getLeftYRightYscaled( data_point, result ) 21: case @mode 22: when 1 then # Case one 23: # minimum value >= 0 ( only positiv values ) 24: result[0] = @graph_top + @graph_height*(1 - data_point) + 1 25: result[1] = @graph_top + @graph_height - 1 26: when 2 then # Case two 27: # only negativ values 28: result[0] = @graph_top + 1 29: result[1] = @graph_top + @graph_height*(1 - data_point) - 1 30: when 3 then # Case three 31: # positiv and negativ values 32: val = data_point-@minimum_value/@spread 33: if ( data_point >= @zero ) then 34: result[0] = @graph_top + @graph_height*(1 - (val-@zero)) + 1 35: result[1] = @graph_top + @graph_height*(1 - @zero) - 1 36: else 37: result[0] = @graph_top + @graph_height*(1 - (val-@zero)) + 1 38: result[1] = @graph_top + @graph_height*(1 - @zero) - 1 39: end 40: else 41: result[0] = 0.0 42: result[1] = 0.0 43: end 44: end