Cores em Python

Shivam Arora 21 dezembro 2022
Cores em Python

Este artigo tem como objetivo apresentar as cores nomeadas usadas pelo módulo Matplotlib em Python para exibir gráficos. Na plotagem de gráficos, o Python oferece a opção de os usuários escolherem as cores nomeadas mostradas por meio de sua biblioteca Matplotlib.

Em Python, os nomes das cores e seus códigos hexadecimais são recuperados de um dicionário no módulo color.py.

No código a seguir, imprimimos os nomes das cores neste módulo.

import matplotlib

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

Produção:

'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

O matplotlib.colors.cnames.items() retorna a coleção de dicionários onde os nomes e códigos das cores são armazenados. O nome é armazenado como a chave do dicionário e o código hexadecimal como seu valor.

Podemos usar essas cores com diferentes tipos de gráficos e figuras com bibliotecas compatíveis. Podemos plotar todas essas cores em um único gráfico e comparar cada cor.

Veja o seguinte 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 resultado:

cores python

No código acima, plotamos cada cor com seu respectivo nome. Dividimos a figura em vários subplots e plotamos cada cor em um pequeno patch retangular usando a função add_patch() em cada machado para cada cor.

Artigo relacionado - Python Color