Module: MyChart::Rainbow

Defined in:
lib/my_chart/rainbow.rb

Defined Under Namespace

Classes: RGBA

Constant Summary collapse

SCALAR =
(0..255)
SCALAR_DESC =
SCALAR.to_a.reverse.slice 1,254
PALETTE =
[SCALAR.map{|c| "rgba(255,#{c},0,1)"},
SCALAR_DESC.map{|c| "rgba(#{c},255,0,1)"},
SCALAR.map{|c| "rgba(0,255,#{c},1)"},
SCALAR_DESC.map{|c| "rgba(0,#{c},255,1)"},
SCALAR.map{|c| "rgba(#{c},0,255,1)"},
SCALAR_DESC.map{|c| "rgba(255,0,#{c},1)"},].flatten

Class Method Summary collapse

Class Method Details

.[](n) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
# File 'lib/my_chart/rainbow.rb', line 13

def self.[] n
  picked = rand PALETTE.size
  steps = PALETTE.size / n
  n.times.map do |t|
    picked = picked + steps
    picked = picked - PALETTE.size if picked >= PALETTE.size
    picked
  end.map do |picked|
    RGBA.new PALETTE[picked]
  end
end