28 lines
635 B
Python
28 lines
635 B
Python
|
import numpy as np
|
||
|
|
||
|
|
||
|
def rainbow(n):
|
||
|
"""
|
||
|
Returns a list of colors sampled at equal intervals over the spectrum.
|
||
|
|
||
|
Parameters
|
||
|
----------
|
||
|
n : int
|
||
|
The number of colors to return
|
||
|
|
||
|
Returns
|
||
|
-------
|
||
|
R : (n,3) array
|
||
|
An of rows of RGB color values
|
||
|
|
||
|
Notes
|
||
|
-----
|
||
|
Converts from HSV coordinates (0, 1, 1) to (1, 1, 1) to RGB. Based on
|
||
|
the Sage function of the same name.
|
||
|
"""
|
||
|
from matplotlib import colors
|
||
|
R = np.ones((1,n,3))
|
||
|
R[0,:,0] = np.linspace(0, 1, n, endpoint=False)
|
||
|
#Note: could iterate and use colorsys.hsv_to_rgb
|
||
|
return colors.hsv_to_rgb(R).squeeze()
|