Colores en Python

Shivam Arora 21 diciembre 2022
Colores en Python

Este artículo tiene como objetivo presentar los colores con nombre utilizados por el módulo Matplotlib en Python para mostrar gráficos. Al trazar gráficos, Python ofrece la opción para que los usuarios elijan colores con nombre que se muestran a través de su biblioteca Matplotlib.

En Python, los nombres de los colores y sus códigos hexadecimales se obtienen de un diccionario en el módulo color.py.

En el siguiente código, imprimimos los nombres de los colores en este módulo.

import matplotlib

for cname, hex in matplotlib.colors.cnames.items():
    print(cname, hex)

Producción :

'aliceblue':            '#F0F8FF',
'antiquewhite':         '#FAEBD7',
'aqua':                 '#00FFFF',
'aquamarine':           '#7FFFD4',
'azure':                '#F0FFFF',
'beige':                '#F5F5DC',
'bisque':               '#FFE4C4',
'black':                '#000000',
'blanchedalmond':       '#FFEBCD',
'blue':                 '#0000FF',
'blueviolet':           '#8A2BE2',
'brown':                '#A52A2A',
'burlywood':            '#DEB887',
'cadetblue':            '#5F9EA0',
...more

matplotlib.colors.cnames.items() devuelve la colección de diccionarios donde se almacenan los nombres y códigos de los colores. El nombre se almacena como clave del diccionario y el código hexadecimal como su valor.

Podemos utilizar estos colores con diferentes tipos de gráficos y figuras con bibliotecas compatibles. Podemos trazar todos estos colores en un solo gráfico y comparar cada color.

Consulte el siguiente código.

import matplotlib.pyplot as plt
import matplotlib.patches as patches
import matplotlib.colors as colors
import math


fig = plt.figure()
ax = fig.add_subplot(111)

ratio = 1.0 / 3.0
count = math.ceil(math.sqrt(len(colors.cnames)))
x_count = count * ratio
y_count = count / ratio
x = 0
y = 0
w = 1 / x_count
h = 1 / y_count

for cl in colors.cnames:
    pos = (x / x_count, y / y_count)
    ax.add_patch(patches.Rectangle(pos, w, h, color=cl))
    ax.annotate(cl, xy=pos)
    if y >= y_count - 1:
        x += 1
        y = 0
    else:
        y += 1

plt.show()

Gráfico de salida:

colores python

En el código anterior, trazamos cada color con su nombre respectivo. Dividimos la figura en varias subtramas y trazamos cada color en un pequeño parche rectangular usando la función add_patch() en cada eje para cada color.

Artículo relacionado - Python Color