PerceptuallyUniformColormap¶
-
class
PerceptuallyUniformColormap
(name, segmentdata, N=None, space=None, clip=True, gamma=None, gamma1=None, gamma2=None, **kwargs)[source]¶ Bases:
proplot.colors.LinearSegmentedColormap
,proplot.colors._Colormap
Similar to
LinearSegmentedColormap
, but instead of varying the RGB channels, we vary hue, saturation, and luminance in either the HCL colorspace or the HSL or HPL scalings of HCL.- Parameters
name (str) – The colormap name.
segmentdata (dict-like) – Mapping containing the keys
'hue'
,'saturation'
, and'luminance'
. The key values can be callable functions that return channel values given a colormap index, or 3-column arrays indicating the coordinates and channel transitions. SeeLinearSegmentedColormap
for a more detailed explanation.N (int, optional) – Number of points in the colormap lookup table. Default is
rc[‘image.lut’]
=256
.alpha (float, optional) – The opacity for the entire colormap. Overrides the input segment data.
cyclic (bool, optional) – Whether the colormap is cyclic. If
True
, this changes how the leftmost and rightmost color levels are selected, andextend
can only be'neither'
(a warning will be issued otherwise).space ({‘hsl’, ‘hpl’, ‘hcl’}, optional) – The hue, saturation, luminance-style colorspace to use for interpreting the channels. See this page for a description.
clip (bool, optional) – Whether to “clip” impossible colors, i.e. truncate HCL colors with RGB channels with values >1, or mask them out as gray.
gamma (float, optional) – Sets
gamma1
andgamma2
to this identical value.gamma1 (float, optional) – If >1, makes low saturation colors more prominent. If <1, makes high saturation colors more prominent. Similar to the HCLWizard option. See
make_mapping_array
for details.gamma2 (float, optional) – If >1, makes high luminance colors more prominent. If <1, makes low luminance colors more prominent. Similar to the HCLWizard option. See
make_mapping_array
for details.
- Other Parameters
**kwargs – Passed to
LinearSegmentedColormap
.
Example
The below example generates a
PerceptuallyUniformColormap
from asegmentdata
dictionary that uses color names for the hue data, instead of channel values between0
and360
.>>> import proplot as plot >>> data = { >>> 'hue': [[0, 'red', 'red'], [1, 'blue', 'blue']], >>> 'saturation': [[0, 100, 100], [1, 100, 100]], >>> 'luminance': [[0, 100, 100], [1, 20, 20]], >>> } >>> cmap = plot.PerceptuallyUniformColormap(data)
Methods Summary
copy
([name, segmentdata, N, alpha, gamma, …])Return a new colormap with relevant properties copied from this one if they were not provided as keyword arguments.
from_color
(name, color[, fade, space])Return a monochromatic “sequential” colormap that blends from white or near-white to the input color.
from_hsl
(name[, hue, saturation, luminance, …])Make a
PerceptuallyUniformColormap
by specifying the hue, saturation, and luminance transitions individually.from_list
(name, colors[, ratios])Make a
PerceptuallyUniformColormap
from a list of colors.set_gamma
([gamma, gamma1, gamma2])Modify the gamma value(s) and refresh the lookup table.
to_linear_segmented
(**kwargs)Convert the
PerceptuallyUniformColormap
to a standardLinearSegmentedColormap
.