Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Sous-Graphiques | Personnalisation des Graphiques
Visualisation Ultime Avec Python

bookSous-Graphiques

La fonction subplots() de pyplot est utilisée pour créer plusieurs graphiques dans une seule figure. Vous l'avez déjà vue lors de la création d'un canevas ; nous l'examinons maintenant plus en détail.

Lignes et colonnes

Les arguments principaux sont nrows et ncolumns, qui définissent la grille des sous-graphiques. Par défaut, les deux valent 1, produisant un seul objet Axes.

Axes renvoie une subplots() et soit un objet Figure, soit un tableau d'objets Axes, selon la disposition.

12345
import matplotlib.pyplot as plt fig, axs = plt.subplots(2, 2) plt.show()
copy

Une grille de sous-graphiques 2 par 2 a été créée.

Note
Remarque

Comme il y a plusieurs sous-graphiques, subplots renvoie un tableau d’objets Axes, généralement stocké dans une variable appelée axs (le singulier ax est utilisé pour un seul graphique).

Dans ce cas, axs est un tableau à deux dimensions, il faut donc un indice de ligne et un indice de colonne pour accéder à un sous-graphique spécifique.

1234567891011121314
import matplotlib.pyplot as plt import numpy as np data_linear = np.arange(1, 11) data_squared = data_linear**2 fig, axs = plt.subplots(2, 2) axs[0, 0].plot(data_linear) axs[0, 1].plot(data_squared) axs[1, 0].scatter(data_linear, data_linear) axs[1, 1].scatter(data_linear, data_squared) plt.show()
copy

La première ligne contient deux graphiques linéaires ; la deuxième ligne contient deux nuages de points. Chaque graphique doit être tracé en utilisant la méthode de l'objet Axes correspondant, et non plt.plot() ou plt.scatter().

Conversion en tableau 1D

Il est possible d'aplatir le tableau 2D Axes en utilisant .ravel() afin de simplifier l'indexation :

123456789
fig, axs = plt.subplots(2, 2) axs = axs.ravel() axs[0].plot(data_linear) axs[1].plot(data_squared) axs[2].scatter(data_linear, data_linear) axs[3].scatter(data_linear, data_squared) plt.show()
copy

Avec un tableau 2x2, axs.ravel() le convertit en un tableau 1D contenant quatre éléments.

Partage d'un axe

La fonction subplots() possède également les paramètres sharex et sharey. Ils contrôlent si les axes x ou y sont partagés entre les sous-graphiques. Les deux sont définis sur False par défaut.

123456789
fig, axs = plt.subplots(2, 2, sharex=True) axs = axs.ravel() axs[0].plot(data_linear) axs[1].plot(data_squared) axs[2].scatter(data_linear, data_linear) axs[3].scatter(data_linear, data_squared) plt.show()
copy

Définir sharex=True permet de partager l’axe des abscisses entre tous les sous-graphiques. Il est également possible de passer 'row' ou 'col' pour partager les axes uniquement au sein des lignes ou des colonnes.

Note
Approfondir

Comme d’habitude, n’hésitez pas à explorer davantage la subplots() documentation si vous le souhaitez.

Tâche

Swipe to start coding

  1. Utiliser la fonction appropriée pour créer une grille de sous-graphiques.
  2. La grille doit comporter 3 lignes et 1 colonne (spécifier les deux premiers paramètres).
  3. Indiquer l'argument de mot-clé le plus à droite afin que l'axe des x soit partagé entre tous les sous-graphiques.
  4. Stocker le résultat de la fonction de création des sous-graphiques dans les variables fig et axs (de gauche à droite).
  5. Placer le premier graphique linéaire pour data_linear sur la première ligne (ligne 0) de la grille de sous-graphiques.
  6. Placer le deuxième graphique linéaire pour data_squared sur la deuxième ligne (ligne 1) de la grille de sous-graphiques.
  7. Placer le troisième graphique linéaire pour data_exp sur la troisième ligne (ligne 2) de la grille de sous-graphiques.

Solution

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 6
single

single

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

close

Awesome!

Completion rate improved to 3.85

bookSous-Graphiques

Glissez pour afficher le menu

La fonction subplots() de pyplot est utilisée pour créer plusieurs graphiques dans une seule figure. Vous l'avez déjà vue lors de la création d'un canevas ; nous l'examinons maintenant plus en détail.

Lignes et colonnes

Les arguments principaux sont nrows et ncolumns, qui définissent la grille des sous-graphiques. Par défaut, les deux valent 1, produisant un seul objet Axes.

Axes renvoie une subplots() et soit un objet Figure, soit un tableau d'objets Axes, selon la disposition.

12345
import matplotlib.pyplot as plt fig, axs = plt.subplots(2, 2) plt.show()
copy

Une grille de sous-graphiques 2 par 2 a été créée.

Note
Remarque

Comme il y a plusieurs sous-graphiques, subplots renvoie un tableau d’objets Axes, généralement stocké dans une variable appelée axs (le singulier ax est utilisé pour un seul graphique).

Dans ce cas, axs est un tableau à deux dimensions, il faut donc un indice de ligne et un indice de colonne pour accéder à un sous-graphique spécifique.

1234567891011121314
import matplotlib.pyplot as plt import numpy as np data_linear = np.arange(1, 11) data_squared = data_linear**2 fig, axs = plt.subplots(2, 2) axs[0, 0].plot(data_linear) axs[0, 1].plot(data_squared) axs[1, 0].scatter(data_linear, data_linear) axs[1, 1].scatter(data_linear, data_squared) plt.show()
copy

La première ligne contient deux graphiques linéaires ; la deuxième ligne contient deux nuages de points. Chaque graphique doit être tracé en utilisant la méthode de l'objet Axes correspondant, et non plt.plot() ou plt.scatter().

Conversion en tableau 1D

Il est possible d'aplatir le tableau 2D Axes en utilisant .ravel() afin de simplifier l'indexation :

123456789
fig, axs = plt.subplots(2, 2) axs = axs.ravel() axs[0].plot(data_linear) axs[1].plot(data_squared) axs[2].scatter(data_linear, data_linear) axs[3].scatter(data_linear, data_squared) plt.show()
copy

Avec un tableau 2x2, axs.ravel() le convertit en un tableau 1D contenant quatre éléments.

Partage d'un axe

La fonction subplots() possède également les paramètres sharex et sharey. Ils contrôlent si les axes x ou y sont partagés entre les sous-graphiques. Les deux sont définis sur False par défaut.

123456789
fig, axs = plt.subplots(2, 2, sharex=True) axs = axs.ravel() axs[0].plot(data_linear) axs[1].plot(data_squared) axs[2].scatter(data_linear, data_linear) axs[3].scatter(data_linear, data_squared) plt.show()
copy

Définir sharex=True permet de partager l’axe des abscisses entre tous les sous-graphiques. Il est également possible de passer 'row' ou 'col' pour partager les axes uniquement au sein des lignes ou des colonnes.

Note
Approfondir

Comme d’habitude, n’hésitez pas à explorer davantage la subplots() documentation si vous le souhaitez.

Tâche

Swipe to start coding

  1. Utiliser la fonction appropriée pour créer une grille de sous-graphiques.
  2. La grille doit comporter 3 lignes et 1 colonne (spécifier les deux premiers paramètres).
  3. Indiquer l'argument de mot-clé le plus à droite afin que l'axe des x soit partagé entre tous les sous-graphiques.
  4. Stocker le résultat de la fonction de création des sous-graphiques dans les variables fig et axs (de gauche à droite).
  5. Placer le premier graphique linéaire pour data_linear sur la première ligne (ligne 0) de la grille de sous-graphiques.
  6. Placer le deuxième graphique linéaire pour data_squared sur la deuxième ligne (ligne 1) de la grille de sous-graphiques.
  7. Placer le troisième graphique linéaire pour data_exp sur la troisième ligne (ligne 2) de la grille de sous-graphiques.

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 6
single

single

some-alt