Skip to content

Maîtriser les tailles de figures dans Matplotlib : un guide complet

Comprendre comment contrôler la taille des figures dans Matplotlib, une bibliothèque populaire de visualisation de données en Python, est crucial pour produire des graphiques de haute qualité. Dans ce guide complet, nous explorerons plusieurs méthodes pour définir les tailles de figures dans Matplotlib, que vous créiez une nouvelle figure ou que vous souhaitiez modifier une figure existante.

Compréhension des tailles de figures dans Matplotlib

Matplotlib fonctionne de manière similaire à MATLAB. Lorsque vous créez une figure, vous pouvez spécifier la taille de la figure en pouces. La fonction figure() est utilisée pour créer une nouvelle figure et elle prend l'argument figsize, qui représente la largeur et la hauteur de la figure en pouces. Il est généralement fourni sous la forme d'un tuple (largeur, hauteur).

Voici un exemple simple de création d'une figure avec une taille spécifiée :

from matplotlib.pyplot import figure
 
## Créer une nouvelle figure avec une taille spécifique (largeur=8 pouces, hauteur=6 pouces)
figure(figsize=(8, 6))

Dans le code ci-dessus, la fonction figure() est appelée avec le paramètre figsize défini sur (8, 6). Cela crée une figure de 8 pouces de largeur et de 6 pouces de hauteur.

Ajuster la taille d'une figure après sa création

Parfois, vous souhaiterez ajuster la taille d'une figure après sa création. La bibliothèque Matplotlib fournit la fonction set_size_inches() pour rendre cela possible.

Voici comment utiliser cette fonction :

import matplotlib.pyplot as plt
 
## Créer une nouvelle figure
fig = plt.gcf()
 
## Définir la taille de la figure à 18,5x10,5 pouces
fig.set_size_inches(18.5, 10.5)
 
## Sauvegarder la figure
fig.savefig('figure.png', dpi=100)

Dans ce code, la fonction gcf() (qui signifie 'get current figure') est utilisée pour obtenir la figure actuelle, puis sa taille est définie à l'aide de la méthode set_size_inches().

Exploiter plt.rcParams

Une autre façon de définir la taille de la figure dans Matplotlib est d'utiliser le paramètre plt.rcParams, particulièrement utile lorsque vous utilisez plt.plot() et ne souhaitez pas utiliser l'environnement de figures.

Voici un exemple simple :

import matplotlib.pyplot as plt
 
## Définir la taille de la figure à 20x3
plt.rcParams["figure.figsize"] = (20,3)

Dans ce code, le dictionnaire rcParams est utilisé pour définir la taille de la figure. Cette approche est extrêmement pratique lorsque vous tracez des graphiques en ligne, par exemple dans un notebook Jupyter.

Définir la taille de la figure en centimètres

Bien que le tuple figsize accepte les pouces, si vous souhaitez définir la taille en centimètres, vous devrez convertir les dimensions de centimètres en pouces (car 1 pouce équivaut à 2,54 cm).

Voici comment faire :

## Définir la taille de la figure en centimètres
largeur_cm = 20
hauteur_cm = 10
 
## Convertir les cm en pouces
largeur_pouces = largeur_cm/2.54
hauteur_pouces = hauteur_cm/2.54
 
## Créer une nouvelle figure avec la taille spécifiée
figure(figsize=(largeur_pouces, hauteur_pouces))

Dans cet exemple, nous spécifions d'abord la largeur et la hauteur en centimètres. Ces dimensions sont ensuite converties en pouces en les divisant par 2,54. Enfin, les dimensions converties sont utilisées pour créer une nouvelle figure avec la taille spécifiée.

Utiliser rcParams pour ajuster la taille de la figure

Il est important de noter la flexibilité et la puissance de l'approche rcParams. Cette stratégie vous permet de définir des paramètres par défaut pour vos figures, garantissant une cohérence entre tous les graphiques de votre script ou notebook. Dans la section suivante, nous verrons comment exploiter rcParams pour ajuster dynamiquement les tailles de figures.

Modifier dynamiquement la taille de la figure avec rcParams

Comme mentionné précédemment, rcParams n'est pas seulement utile pour définir une taille de figure ponctuelle, mais il offre également un moyen efficace d'ajuster les tailles de figures pour tout l'environnement de programmation de manière dynamique. Cette approche est particulièrement bénéfique lors de travaux sur des projets plus importants, où vous pouvez avoir besoin de styles et de dimensions de tracé cohérents.

La taille globale de la figure peut être rétablie par défaut en utilisant l'attribut rcParamsDefault. Voici comment faire :

plt.rcParams["figure.figsize"] = plt.rcParamsDefault["figure.figsize"]

Dans ce code, l'attribut rcParamsDefault contient les paramètres par défaut, rétablissant ainsi la taille de la figure aux dimensions d'origine.

Contrôler les tailles de figures avec Pandas

Pandas, une bibliothèque utilisée pour la manipulation et l'analyse de données, fonctionne souvent en tandem avec Matplotlib pour les visualisations. Si vous souhaitez ajuster la taille de la figure lors de l'utilisation de Pandas, vous pouvez directement définir le paramètre figsize dans la fonction de tracé comme suit :

df['une_colonne'].plot(figsize=(10, 5))

Dans cet exemple, df est un dataframe Pandas, et nous créons un graphique pour 'une_colonne' avec une taille de 10x5 pouces.

Vous pouvez également définir la taille de la figure lors de la création de sous-graphiques :

fig, ax = plt.subplots(figsize=(10, 5))
df['une_colonne'].plot(ax=ax)

Ajuster la taille par défaut de la figure

Vous souhaitez modifier le paramètre de taille par défaut de la figure ? Pas de problème. Matplotlib facilite cela en vous permettant de mettre à jour les paramètres par défaut :

import matplotlib
 
matplotlib.rc('figure', figsize=(10, 5))

Dans ce code, la fonction matplotlib.rc est utilisée pour changer la taille par défaut de la figure. Maintenant, tous les graphiques créés auront une taille de 10x5 pouces.

Alternative à Matplotlib : Visualiser des données avec PyGWalker

En plus d'utiliser Matplotlib pour visualiser vos dataframes Pandas, voici une alternative, une bibliothèque Open Source en Python qui peut vous aider à créer des visualisations de données facilement : PyGWalker (opens in a new tab).

PyGWalker pour la visualisation de données (opens in a new tab) Pas besoin de réaliser des traitements compliqués avec le codage Python, importez simplement vos données et faites glisser-déposer les variables pour créer toutes sortes de visualisations de données ! Voici une vidéo de démonstration rapide sur le fonctionnement :


Voici comment utiliser PyGWalker dans votre cahier Jupyter :

pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)

Alternativement, vous pouvez l'essayer sur Kaggle Notebook/Google Colab :

Exécuter PyGWalker dans Kaggle Notebook (opens in a new tab)Exécuter PyGWalker dans Google Colab (opens in a new tab)Donner à PyGWalker une ⭐️ sur GitHub (opens in a new tab)
Exécuter PyGWalker dans Kaggle Notebook (opens in a new tab)Exécuter PyGWalker dans Google Colab (opens in a new tab)Exécuter PyGWalker dans Google Colab (opens in a new tab)

PyGWalker est développé avec le soutien de notre communauté Open Source. N'oubliez pas de consulter PyGWalker GitHub (opens in a new tab) et de nous donner une étoile !

Foire aux questions :

  1. Comment définir la taille de la figure dans Matplotlib ?

    Vous pouvez définir la taille de la figure dans Matplotlib en utilisant la fonction figure() avec le paramètre figsize. Le paramètre figsize accepte un tuple représentant la largeur et la hauteur de la figure en pouces.

  2. Comment ajuster la taille d'une figure existante dans Matplotlib ?

    Pour ajuster la taille d'une figure existante, utilisez la fonction set_size_inches(). Cette fonction vous permet de définir la largeur et la hauteur de la figure en cours.

  3. Puis-je définir la taille de la figure dans les tracés Pandas ?

    Oui, vous pouvez ajuster la taille de la figure directement dans la fonction plot() de Pandas en utilisant le paramètre figsize.