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:
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.