matplotlib.org

class matplotlib.colors.LinearSegmentedColormap(name, segmentdata, N=256, gamma=1.0, *, bad=None, under=None, over=None)[source]#

Bases: Colormap

Colormap objects based on lookup tables using linear segments.

The lookup table is generated using linear interpolation for each primary color, with the 0-1 domain divided into any number of segments.

Create colormap from linear mapping segments.

Parameters:
namestr

The name of the colormap.

segmentdatadict

A dictionary with keys "red", "green", "blue" for the color channels. Each entry should be a list of x, y0, y1 tuples, forming rows in a table. Entries for alpha are optional.

Example: suppose you want red to increase from 0 to 1 over the bottom half, green to do the same over the middle half, and blue over the top half. Then you would use:

{
    'red':   [(0.0,  0.0, 0.0),
              (0.5,  1.0, 1.0),
              (1.0,  1.0, 1.0)],
    'green': [(0.0,  0.0, 0.0),
              (0.25, 0.0, 0.0),
              (0.75, 1.0, 1.0),
              (1.0,  1.0, 1.0)],
    'blue':  [(0.0,  0.0, 0.0),
              (0.5,  0.0, 0.0),
              (1.0,  1.0, 1.0)]
}

Each row in the table for a given color is a sequence of x, y0, y1 tuples. In each sequence, x must increase monotonically from 0 to 1. For any input value z falling between x[i] and x[i+1], the output value of a given color will be linearly interpolated between y1[i] and y0[i+1]:

row i:   x  y0  y1
               /
              /
row i+1: x  y0  y1

Hence, y0 in the first row and y1 in the last row are never used.

Nint

The number of RGB quantization levels.

gammafloat

Gamma correction factor for input distribution x of the mapping. See also https://en.wikipedia.org/wiki/Gamma_correction.

badcolor, default: transparent

The color for invalid values (NaN or masked).

Added in version 3.11.

undercolor, default: color of the lowest value

The color for low out-of-range values.

Added in version 3.11.

overcolor, default: color of the highest value

The color for high out-of-range values.

Added in version 3.11.

See also

LinearSegmentedColormap.from_list

Static method; factory function for generating a smoothly-varying LinearSegmentedColormap.

static from_list(name, colors, N=256, gamma=1.0, *, bad=None, under=None, over=None)[source]#

Create a LinearSegmentedColormap from a list of colors.

Parameters:
namestr

The name of the colormap.

colorslist of color or list of (value, color)

If only colors are given, they are equidistantly mapped from the range \([0, 1]\); i.e. 0 maps to colors[0] and 1 maps to colors[-1]. If (value, color) pairs are given, the mapping is from value to color. This can be used to divide the range unevenly. The values must increase monotonically from 0 to 1.

Nint

The number of RGB quantization levels.

gammafloat
badcolor, default: transparent

The color for invalid values (NaN or masked).

undercolor, default: color of the lowest value

The color for low out-of-range values.

overcolor, default: color of the highest value

The color for high out-of-range values.

resampled(lutsize)[source]#

Return a new colormap with lutsize entries.

reversed(name=None)[source]#

Return a reversed instance of the Colormap.

Parameters:
namestr, optional

The name for the reversed colormap. If None, the name is set to self.name + "_r".

Returns:
LinearSegmentedColormap

The reversed colormap.

set_gamma(gamma)[source]#

Set a new gamma value and regenerate colormap.

Examples using matplotlib.colors.LinearSegmentedColormap#

Read the original on matplotlib.org ↗