Matplotlib.colors.from_levels_and_colors() in Python

Matplotlib is an amazing visualization library in Python for 2D plots of arrays. Matplotlib is a multi-platform data visualization library built on NumPy arrays and designed to work with the broader SciPy stack.
matplotlib.colors.from_levels_and_colors()
The matplotlib.colors.from_levels_and_colors() function is a helper function that helps create cmap and norm instance whose behavior is similar to that of contourf’s levels and colors argument.
Syntax: matplotlib.colors.from_levels_and_colors(levels, colors, extend=’neither’)
Parameters:
- levels: It is a sequence of numbers that represent quantization levels that are used to construct the BoundaryNorm. A value v is quantized to level k if lev[k] <= v < lev[k+1].
 - colors: It is a sequence of colors that are used as fill colors for each level. There must be n_level – 1 colors if extend is “neither”. Add one extra color for an extend of “min” or “max” and for an extend of “both” add two colors.
 - extend: It is an optional parameter that accepts one of the four values namely ‘neither’, ‘min’, ‘max’ or ‘both’.
 Return Type : This function returns a Normalized cmap and a colormap norm
Example 1:
Python3
import numpy as npimport matplotlib.pyplot as pltimport matplotlib.colorsdata1 = 3 * np.random.random((10, 10))data2 = 5 * np.random.random((10, 10))levels = [0, 1, 2, 3, 4, 5]colors = ['red', 'brown',          'yellow', 'green',          'blue']cmap, norm = matplotlib.colors.from_levels_and_colors(levels,                                                       colors)fig, axes = plt.subplots(ncols = 2)for ax, data in zip(axes, [data1, data2]):    im = ax.imshow(dat,                    cmap = cmap,                   norm = norm,                    interpolation ='none')         fig.colorbar(im, ax = ax, orientation ='horizontal')     plt.show() | 
Output:
 
Example 2:
Python3
import numpy as npimport matplotlib.pyplot as pltfrom matplotlib.colors import from_levels_and_colorsnvals = np.random.randint(2, 20)data = np.random.randint(0, nvals,                          (10, 10))colors = np.random.random((nvals, 3))# Make the colors pastels...colors = colors / 2.5 + 0.55levels = np.arange(nvals + 1) - 0.5cmap, norm = from_levels_and_colors(levels,                                    colors)fig, ax = plt.subplots()im = ax.imshow(data,               interpolation ='nearest',                cmap = cmap,                norm = norm)fig.colorbar(im, ticks = np.arange(nvals))plt.show() | 
Output:
 
				
					


