PerceptuallyUniformColormap¶
-
class
PerceptuallyUniformColormap
(name, segmentdata, N=None, space=None, clip=True, gamma=None, gamma1=None, gamma2=None, **kwargs)[source]¶ Bases:
proplot.styletools.LinearSegmentedColormap
,proplot.styletools._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 lists containing any of the following channel specifiers.Numbers, within the range 0-360 for hue and 0-100 for saturation and luminance.
Color string names or hex tags, in which case the channel value for that color is looked up.
See
LinearSegmentedColormap
for a more detailed explanation.N (int, optional) – Number of points in the colormap lookup table. Default is
rc[‘image.lut’]
=256
.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.
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).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.**kwargs – Passed to
LinearSegmentedColormap
.
Example
The following 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
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.
updated
([name, segmentdata, N, alpha, …])Return a new colormap with relevant properties copied from this one if they were not provided as keyword arguments.