Convience interfaces to manipulate colors.
This module provides support for manipulating colors.
vispy.color.
BaseColormap
Bases: object
object
Class representing a colormap:
t in [0, 1] –> rgba_color
The control colors used by the colormap (shape = (ncolors, 4)).
Notes
Must be overriden. Child classes need to implement:
The GLSL function for the colormap. Use $color_0 to refer to the first color in colors, and so on. These are vec4 vectors.
Takes a (N, 1) vector of values in [0, 1], and returns a rgba array of size (N, 4).
colors
glsl_map
map
Return a rgba array for the requested items.
This function must be overriden by child classes.
This function doesn’t need to implement argument checking on item. It can always assume that item is a (N, 1) array of values between 0 and 1.
An array of values in [0,1].
An array with rgba values, with one color per item. The shape should be item.shape + (4,).
item.shape + (4,)
Users are expected to use a colormap with __getitem__() rather than map() (which implements a lower-level API).
__getitem__()
map()
texture_map_data
Color
Bases: vispy.color.color_array.ColorArray
vispy.color.color_array.ColorArray
A single color
If str, can be any of the names in vispy.color.get_color_names. Can also be a hex value if it starts with '#' as '#ff0000'. If array-like, it must be an 1-dimensional array with 3 or 4 elements.
vispy.color.get_color_names
'#'
'#ff0000'
If no alpha is not supplied in color entry and alpha is None, then this will default to 1.0 (opaque). If float, it will override the alpha value in color, if provided.
color
alpha
If True, clip the color values.
RGB
Nx3 array of RGBA uint8s
RGBA
Nx4 array of RGBA uint8s
Length-N array of alpha floats
hex
Numpy array with N elements, each one a hex triplet string
hsv
Nx3 array of HSV floats
is_blank
Boolean indicating whether the color is invisible.
lab
rgb
Nx3 array of RGB floats
rgba
Nx4 array of RGBA floats
value
Length-N array of color HSV values
ColorArray
An array of colors
If str, can be any of the names in vispy.color.get_color_names. Can also be a hex value if it starts with '#' as '#ff0000'. If array-like, it must be an Nx3 or Nx4 array-like object. Can also be a list of colors, such as ['red', '#00ff00', ColorArray('blue')].
['red', '#00ff00', ColorArray('blue')]
If no alpha is not supplied in color entry and alpha is None, then this will default to 1.0 (opaque). If float, it will override any alpha values in color, if provided.
Clip the color value.
‘rgb’ (default) : color tuples are interpreted as (r, g, b) components. ‘hsv’ : color tuples are interpreted as (h, s, v) components.
Under the hood, this class stores data in RGBA format suitable for use on the GPU.
Examples
There are many ways to define colors. Here are some basic cases:
>>> from vispy.color import ColorArray >>> r = ColorArray('red') # using string name >>> r <ColorArray: 1 color ((1.0, 0.0, 0.0, 1.0))> >>> g = ColorArray((0, 1, 0, 1)) # RGBA tuple >>> b = ColorArray('#0000ff') # hex color >>> w = ColorArray() # defaults to black >>> w.rgb = r.rgb + g.rgb + b.rgb >>>hsv_color = ColorArray(color_space="hsv", color=(0, 0, 0.5)) >>>hsv_color <ColorArray: 1 color ((0.5, 0.5, 0.5, 1.0))> >>> w == ColorArray('white') True >>> w.alpha = 0 >>> w <ColorArray: 1 color ((1.0, 1.0, 1.0, 0.0))> >>> rgb = ColorArray(['r', (0, 1, 0), '#0000FFFF']) >>> rgb <ColorArray: 3 colors ((1.0, 0.0, 0.0, 1.0) ... (1.0, 0.0, 0.0, 1.0))> >>> rgb == ColorArray(['red', '#00ff00', ColorArray('blue')]) True
copy
Return a copy
darker
Produce a darker color (if possible)
Amount to decrease the color value by.
If False, operation will be carried out in-place.
The darkened Color.
extend
Extend a ColorArray with new colors
The new colors.
lighter
Produce a lighter color (if possible)
Amount to increase the color value by.
The lightened Color.
Colormap
Bases: vispy.color.colormap.BaseColormap
vispy.color.colormap.BaseColormap
A colormap defining several control colors and an interpolation scheme.
The list of control colors. If not a ColorArray, a new ColorArray instance is created from this list. See the documentation of ColorArray.
The list of control points for the given colors. It should be an increasing list of floating-point number between 0.0 and 1.0. The first control point must be 0.0. The last control point must be 1.0. The number of control points depends on the interpolation scheme.
The interpolation mode of the colormap. Default: ‘linear’. Can also be ‘zero’. If ‘linear’, ncontrols = ncolors (one color per control point). If ‘zero’, ncontrols = ncolors+1 (one color per bin).
Here is a basic example:
>>> from vispy.color import Colormap >>> cm = Colormap(['r', 'g', 'b']) >>> cm[0.], cm[0.5], cm[np.linspace(0., 1., 100)]
interpolation
The interpolation mode of the colormap
The Python mapping function from the [0,1] interval to a list of rgba colors
The values to map.
List of rgba colors.
texture_lut
Return a texture2D object for LUT after its value is set.
get_color_dict
Get the known colors
Dict of colors known by Vispy {name: #rgb}.
get_color_names
Get the known color names
List of color names known by Vispy.
get_colormap
Obtain a colormap
Some colormaps can have additional configuration parameters. Refer to their corresponding documentation for more information.
Colormap name. Can also be a Colormap for pass-through.
>>> get_colormap('autumn') >>> get_colormap('single_hue', hue=10)
get_colormaps
Return the list of colormap names.