Open In App

Matplotlib.colors.to_rgba() in Python

Last Updated : 12 Jul, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

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.to_rgba()


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 plt
from matplotlib.collections import LineCollection
from matplotlib import colors as mcolors
import numpy as np
 
# simple example showing many
# lines in a single set of axes
x_axis = np.arange(100)

# Here are different sets of
# y to plot vs x
y_axis = x_axis[:50, np.newaxis] + x_axis[np.newaxis, :]
 
segments = np.zeros((50, 100, 2))
segments[:, :, 1] = y_axis
segments[:, :, 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 implementation
colors = [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: 
 

matplotlib.colors.to_rgba()


Example 2: 
 

Python3
import matplotlib.pyplot as plt
import matplotlib.colors as mcolors


# helper function to plot a color table
def 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: 
 

matplotlib.colors.to_rgba()


 

matplotlib.colors.to_rgba()


 


Similar Reads

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy