class Colors::ListedColormap

Attributes

colors[R]

Public Class Methods

new(colors, name: :from_list, n_colors: nil) click to toggle source
Calls superclass method Colors::Colormap::new
# File lib/colors/listed_colormap.rb, line 3
def initialize(colors, name: :from_list, n_colors: nil)
  @monochrome = false
  if n_colors.nil?
    @colors = Array.try_convert(colors)
    n_colors = @colors.length
  else
    case colors
    when String, Symbol
      @colors = Array.new(n_colors) { colors }
      @monochrome = true
    when Enumerable
      @colors = colors.cycle.take(n_colors)
      @monochrome = @colors.all? {|x| x == @colors[0] }
    else
      begin
        gray = Float(colors)
      rescue TypeError, ArgumentError
        raise ArgumentError,
              "invalid value for `colors` (%p)" % colors
      else
        @colors = Array.new(n_colors) { gray }
      end
      @monochrome = true
    end
  end
  @colors.freeze

  super(name, n_colors)
end

Private Instance Methods

init_colormap() click to toggle source
# File lib/colors/listed_colormap.rb, line 35
        def init_colormap
  @lookup_table = self.colors.map {|color| Utils.make_color(color).to_rgba }
  @initialized = true
  update_extreme_colors
end
make_reverse_colormap(name) click to toggle source
# File lib/colors/listed_colormap.rb, line 41
        def make_reverse_colormap(name)
  ListedColormap.new(self.colors.reverse, name: name, n_colors: self.n_colors)
end