Introduction
Dans le monde de la visualisation de données en Python, créer des diagrammes en barres attrayants visuellement et informatifs nécessite plus que simplement tracer des données. Ce tutoriel explore l'art de personnaliser les couleurs des diagrammes en barres Matplotlib, en fournissant aux développeurs des techniques complètes pour améliorer leurs compétences en présentation de données et créer des visualisations plus captivantes.
Les bases des couleurs dans Matplotlib
Comprendre la représentation des couleurs dans Matplotlib
Matplotlib propose plusieurs façons de spécifier les couleurs pour la visualisation de données. Comprendre ces méthodes est crucial pour créer des graphiques attrayants visuellement et informatifs.
Méthodes de spécification des couleurs
Matplotlib prend en charge plusieurs techniques de représentation des couleurs :
- Couleurs nommées
import matplotlib.pyplot as plt
## Utilisation de noms de couleurs
plt.bar(['A', 'B', 'C'], [10, 20, 15], color='blue')
- Codes de couleur hexadécimaux
## Utilisation de codes de couleur hexadécimaux
plt.bar(['A', 'B', 'C'], [10, 20, 15], color='#3498db')
- Représentation en tuple RGB
## Utilisation de tuples RGB (normalisés de 0 à 1)
plt.bar(['A', 'B', 'C'], [10, 20, 15], color=(0.2, 0.4, 0.6))
Conventions de nommage des couleurs
| Représentation de la couleur | Exemple | Description |
|---|---|---|
| Couleurs nommées | 'red', 'blue' | Noms de couleurs prédéfinis |
| Codes hex | '#FF0000' | Représentation hexadécimale à 6 chiffres |
| Tuples RGB | (1.0, 0.0, 0.0) | Valeurs RGB normalisées |
Espaces de couleur et palettes
graph LR
A[Spécification de la couleur] --> B[Couleurs nommées]
A --> C[Codes hex]
A --> D[Tuples RGB]
A --> E[Palettes prédéfinies]
Palettes de couleurs prédéfinies
Matplotlib propose des palettes de couleurs intégrées via différentes bibliothèques :
import matplotlib.pyplot as plt
import seaborn as sns
## Utilisation de palettes de couleurs Seaborn
colors = sns.color_palette('deep', 3)
plt.bar(['A', 'B', 'C'], [10, 20, 15], color=colors)
Meilleures pratiques
- Choisissez des couleurs avec un contraste suffisant
- Considérez des palettes de couleurs accessibles aux daltoniens
- Maintenez une cohérence dans les schémas de couleurs
- Utilisez la couleur pour améliorer l'interprétation des données
Astuce de visualisation LabEx
Lorsque vous travaillez sur la personnalisation des couleurs, LabEx recommande d'expérimenter différents schémas de couleurs pour trouver la visualisation la plus efficace pour vos données.
Couleurs uniques et multiples
Application d'une couleur unique
Diagramme en barres avec une couleur unique
import matplotlib.pyplot as plt
## Une seule couleur pour l'ensemble du diagramme en barres
plt.figure(figsize=(8, 4))
plt.bar(['A', 'B', 'C'], [10, 20, 15], color='blue')
plt.title('Diagramme en barres avec une couleur unique')
plt.show()
Stratégies de couleurs multiples
Couleurs individuelles pour chaque barre
## Une couleur différente pour chaque barre
plt.bar(['A', 'B', 'C'],
[10, 20, 15],
color=['red', 'green', 'blue'])
Listes et tableaux de couleurs
colors = ['#FF6B6B', '#4ECDC4', '#45B7D1']
plt.bar(['A', 'B', 'C'], [10, 20, 15], color=colors)
Mappage de couleurs avancé
graph LR
A[Mappage de couleurs] --> B[Couleurs uniformes]
A --> C[Couleurs graduées]
A --> D[Couleurs conditionnelles]
Mappage de couleurs graduées
import numpy as np
data = [10, 20, 15]
colors = plt.cm.viridis(np.linspace(0, 1, len(data)))
plt.bar(['A', 'B', 'C'], data, color=colors)
Techniques de sélection de couleurs
| Technique | Description | Exemple |
|---|---|---|
| Couleurs uniformes | Même couleur pour toutes les barres | color='blue' |
| Couleurs individuelles | Couleur unique pour chaque barre | color=['red','green','blue'] |
| Couleurs graduées | Couleurs basées sur la valeur | plt.cm.viridis() |
Coloration conditionnelle
def get_color(value):
return 'green' if value > 15 else 'red'
colors = [get_color(val) for val in [10, 20, 15]]
plt.bar(['A', 'B', 'C'], [10, 20, 15], color=colors)
Aperçu de la visualisation LabEx
Lorsque vous travaillez avec plusieurs couleurs, LabEx recommande de maintenir la clarté visuelle et de vous assurer que les choix de couleurs améliorent l'interprétation des données.
Stratégies de mappage de couleurs
Présentation du mappage de couleurs
Le mappage de couleurs transforme les valeurs de données en représentations visuelles de couleurs, offrant des informations supplémentaires au-delà de la visualisation de base.
Types de colormaps
graph LR
A[Stratégies de colormap] --> B[Séquentielles]
A --> C[Divergentes]
A --> D[Catégorielles]
Colormaps séquentielles
import matplotlib.pyplot as plt
import numpy as np
data = [10, 20, 30, 40, 50]
colors = plt.cm.Blues(np.linspace(0.3, 1, len(data)))
plt.bar(range(len(data)), data, color=colors)
Colormaps divergentes
def map_diverging_colors(values):
norm = plt.Normalize(min(values), max(values))
colors = plt.cm.RdYlGn(norm(values))
return colors
data = [-10, 0, 5, 15, 25]
colors = map_diverging_colors(data)
plt.bar(range(len(data)), data, color=colors)
Techniques de mappage de couleurs
| Technique | But | Colormap exemple |
|---|---|---|
| Séquentielle | Représenter des données continues | plt.cm.Blues |
| Divergente | Montrer la variation à partir d'un point central | plt.cm.RdYlGn |
| Catégorielle | Distinguer des catégories discrètes | plt.cm.Set3 |
Mappage de couleurs catégorielles
categories = ['Faible', 'Moyen', 'Elevé', 'Critique']
colors = plt.cm.Set3(np.linspace(0, 1, len(categories)))
plt.bar(categories, [10, 20, 30, 40], color=colors)
Normalisation avancée des couleurs
from matplotlib.colors import Normalize
def custom_color_mapping(values):
norm = Normalize(vmin=min(values), vmax=max(values))
colors = plt.cm.viridis(norm(values))
return colors
data = [5, 15, 25, 35, 45]
colors = custom_color_mapping(data)
plt.bar(range(len(data)), data, color=colors)
Meilleures pratiques pour le mappage de couleurs
- Choisissez des colormaps qui correspondent aux caractéristiques des données
- Assurez-vous que les transitions de couleur sont uniformes visuellement
- Considérez des palettes de couleurs accessibles aux daltoniens
- Utilisez la couleur pour améliorer l'interprétation des données
Recommandation de visualisation LabEx
LabEx suggère d'expérimenter différentes stratégies de mappage de couleurs pour trouver la visualisation la plus efficace pour votre ensemble de données spécifique.
Sommaire
En maîtrisant la personnalisation des couleurs dans Matplotlib, les développeurs Python peuvent transformer les diagrammes en barres ordinaires en puissants outils de communication visuelle. Les techniques présentées dans ce tutoriel fournissent une base solide pour créer des visualisations de données dynamiques, significatives et esthétiquement plaisantes qui transmettent efficacement des informations complexes.



