class Iroki::Color::SingleGroupGradient
Attributes
counts[RW]
rel_abunds[RW]
Public Class Methods
new(samples, counts, single_color=false, min_lumin, max_lumin)
click to toggle source
# File lib/iroki/color/single_group_gradient.rb, line 24 def initialize samples, counts, single_color=false, min_lumin, max_lumin abort_unless samples.count == counts.count, "Samples (#{samples.count}) and counts " + "#{counts.count} are different size." @min_lumin = min_lumin @max_lumin = max_lumin @single_color = single_color @samples = samples @counts = counts @rel_abunds = counts_to_rabunds counts @lumins = rabunds_to_lumins @rel_abunds if @single_color @color_hex_codes = single_color_gradient_hex_codes else @color_hex_codes = two_color_gradient_hex_codes end end
Public Instance Methods
single_color_gradient_hex_codes()
click to toggle source
# File lib/iroki/color/single_group_gradient.rb, line 63 def single_color_gradient_hex_codes @rel_abunds.zip(@lumins).map do |rel_abund, lumin| amt_of_orig_color = scale rel_abund, new_min=@min_lumin, new_max=@max_lumin col = Iroki::Color::DARK_GREEN.lighten_by amt_of_orig_color col.html end end
two_color_gradient_hex_codes()
click to toggle source
# File lib/iroki/color/single_group_gradient.rb, line 50 def two_color_gradient_hex_codes @rel_abunds.map.with_index do |rel_abund, idx| lumin = @lumins[idx] col = Iroki::Color::GREEN.mix_with Iroki::Color::BLUE, rel_abund col.luminosity = lumin col.html end end