Matplotlib.colors.to_rgba() in Python - GeeksforGeeks

27 Jan, 2022
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. 
The matplotlib.colors.to_rgba() function is used convert c(color) to an RGBA color. It converts the color name into an array of RGBA encoded colors. It returns an RGBA tuple of four floats from 0-1. 
Syntax: matplotlib.colors.to_rgba(c, alpha=None)Parameters:  
c: It is a matplotlib color or a np.ma.masked color.  
alpha: It is an optional parameter that accepts a scalar. It forces the alpha value if alpha is not None. But if c is “none”(case-sensitive) it maps to (0, 0, 0, 0).  
Returns: It returns a tuple of scalars in the form of (r, g, b, a).  
Example 1:  
Python3
import matplotlib.pyplot as pltfrom matplotlib.collections import LineCollectionfrom matplotlib import colors as mcolorsimport numpy as np  # simple example showing many# lines in a single set of axesx_axis = np.arange(100) # Here are different sets of# y to plot vs xy_axis = x_axis[:50, np.newaxis] + x_axis[np.newaxis, :]  segments = np.zeros((50, 100, 2))segments[:, :, 1] = y_axissegments[:, :, 0] = x_axis  #some supported values to test# masked array :segments = np.ma.masked_where((segments > 50) & (segments < 60),                               segments)  # setting the plot limits.figure, axes = plt.subplots()axes.set_xlim(x_axis.min(), x_axis.max())axes.set_ylim(y_axis.min(), y_axis.max())  # colors is sequence of rgba# tuples and .rgba implementationcolors = [mcolors.to_rgba(c)          for c in plt.rcParams['axes.prop_cycle'].by_key()['color']]  line_segments = LineCollection(segments,                               linewidths = (0.5, 1, 1.5, 2),                               colors = colors,                               linestyle = 'solid') axes.add_collection(line_segments)axes.set_title(' With masked arrays')plt.show()
Output:  
Example 2:  
Python3
import matplotlib.pyplot as pltimport matplotlib.colors as mcolors  # helper function to plot a color tabledef colortable(colors, title,               colors_sort = True,               emptycols = 0):     # cell dimensions    width = 212    height = 22    swatch_width = 48    margin = 12    topmargin = 40     # Sorting colors based on hue,    # saturation, value and name.    # implementation of to_rgb    if colors_sort is True:        to_hsv = sorted((tuple(mcolors.rgb_to_hsv(mcolors.to_rgba(color)[:3])),                         name)                        for name, color in colors.items())        names = [name for hsv, name in to_hsv]    else:        names = list(colors)     length_of_names = len(names)    length_cols = 4 - emptycols    length_rows = length_of_names // length_cols + int(length_of_names % length_cols > 0)     width2 = width * 4 + 2 * margin    height2 = height * length_rows + margin + topmargin    dpi = 72     figure, axes = plt.subplots(figsize =(width2 / dpi, height2 / dpi), dpi = dpi)    figure.subplots_adjust(margin / width2, margin / height2,                           (width2-margin)/width2,                           (height2-topmargin)/height2)         axes.set_xlim(0, width * 4)    axes.set_ylim(height * (length_rows-0.5), -height / 2.)    axes.yaxis.set_visible(False)    axes.xaxis.set_visible(False)    axes.set_axis_off()    axes.set_title(title, fontsize = 24, loc ="left", pad = 10)     for i, name in enumerate(names):        rows = i % length_rows        cols = i // length_rows        y = rows * height         swatch_start_x = width * cols        swatch_end_x = width * cols + swatch_width        text_pos_x = width * cols + swatch_width + 7         axes.text(text_pos_x, y, name, fontsize = 14,                horizontalalignment ='left',                verticalalignment ='center')         axes.hlines(y, swatch_start_x, swatch_end_x,                  color = colors[name], linewidth = 18)     return figure colortable(mcolors.BASE_COLORS, "Base Colors",                colors_sort = False, emptycols = 1)colortable(mcolors.TABLEAU_COLORS, "Tableau Palette",                colors_sort = False, emptycols = 2)colortable(mcolors.CSS4_COLORS, "CSS Colors") plt.show()
Output:  
 
 
kapoorsagar226
simmytarika5
saurabh1990aror
Python-matplotlib
Python
Write From Home
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
How to Install PIP on Windows ?
Check if element exists in list in Python
How To Convert Python Dictionary To JSON?
Python Classes and Objects
How to drop one or multiple columns in Pandas Dataframe
Convert string to integer in Python
How to set input type date in dd-mm-yyyy format using HTML ?
Python infinity
Matplotlib.pyplot.title() in Python
Factory method design pattern in Java