Skip to content
Related Articles

Related Articles

Improve Article
Matplotlib.colors.to_rgb() in Python
  • Last Updated : 19 Apr, 2020

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_rgb()

The matplotlib.colors.to_rgb() function is used convert c (ie, color) to an RGB color. It converts the color name into a array of RGB encoded colors. It returns an RGB tuple of three floats from 0-1.

Syntax: matplotlib.colors.to_rgb(c)

Parameters:

  • c: This accepts a string that represents the name of the color. It can be an RGB or RGBA sequence or a string in any of several forms:
    1. a hex color string, like ‘#000FFF’
    2. a standard name, like ‘green’
    3. a letter from the set ‘rgbcmykw’
    4. a string representation of a float, like ‘0.4’, indicating gray on a 0-1 scale

Example 1:






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 bbased on hue, saturation,
    # value and name.
    if colors_sort is True:
        to_hsv = sorted((tuple(mcolors.rgb_to_hsv(mcolors.to_rgb(color))),
                         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:


Example 2:




from matplotlib import colors
import matplotlib.pyplot as plt
  
  
alpha = 0.5
  
kwargs = dict(edgecolors ='none', s = 3900, marker ='s')
  
for i, color in enumerate(['pink', 'brown', 'green']):
  
    rgb = colors.to_rgb(color)
    plt.scatter([i], [0], color = color, **kwargs)
    plt.scatter([i], [1], color = color, 
                alpha = alpha, **kwargs)
    plt.scatter([i], [2], color = rgb, **kwargs)

Output:

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course




My Personal Notes arrow_drop_up
Recommended Articles
Page :