def transform_to_windowspace(data_index, data_value, set_index, num_of_sets, windowspace)
rect = Rect.new(0,0,0,0)
data_pos = data_index - index_range.first
unit_size = windowspace.width.to_f/(index_range.last - index_range.first + 1)
rect.origin.x = (unit_size*data_pos) + spacing
rect.size.width = (unit_size-(2*spacing)) / num_of_sets
rect.origin.x += (rect.width+set_spacing)*set_index
rect.origin.y = get_value(0, windowspace)
rect.size.height = get_value(data_value, windowspace) - rect.y
rect.origin.cap!
rect.size.width = rect.size.width.round
rect.size.height= rect.size.height.round
return rect
end