Couleurs en Python

Shivam Arora 21 décembre 2022
Couleurs en Python

Cet article a pour but de présenter les couleurs nommées utilisées par le module Matplotlib en Python pour l’affichage des graphes. En traçant des graphiques, Python offre aux utilisateurs la possibilité de choisir des couleurs nommées affichées via sa bibliothèque Matplotlib.

En Python, les noms des couleurs et leurs codes hexadécimaux sont récupérés dans un dictionnaire du module color.py.

Dans le code suivant, nous imprimons les noms des couleurs de ce module.

import matplotlib

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

Production:

'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

Le matplotlib.colors.cnames.items() renvoie la collection de dictionnaires où sont stockés les noms et codes de la couleur. Le nom est stocké comme clé du dictionnaire et le code hexadécimal comme valeur.

Nous pouvons utiliser ces couleurs avec différents types de graphiques et de figures avec des bibliothèques compatibles. Nous pouvons tracer toutes ces couleurs dans un seul graphique et comparer chaque couleur.

Voir le code suivant.

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

Tracé de sortie :

couleurs de python

Dans le code ci-dessus, nous avons tracé chaque couleur avec son nom respectif. Nous avons divisé la figure en plusieurs sous-parcelles et tracé chaque couleur dans un petit patch rectangulaire en utilisant la fonction add_patch() sur chaque axe pour chaque couleur.

Article connexe - Python Color