Sous-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.
12345import matplotlib.pyplot as plt fig, axs = plt.subplots(2, 2) plt.show()
Une grille de sous-graphiques 2 par 2 a été créée.
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.
1234567891011121314import 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()
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 :
123456789fig, 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()
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.
123456789fig, 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()
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.
Comme d’habitude, n’hésitez pas à explorer davantage la
subplots() documentation si vous le souhaitez.
Swipe to start coding
- Utiliser la fonction appropriée pour créer une grille de sous-graphiques.
- La grille doit comporter 3 lignes et 1 colonne (spécifier les deux premiers paramètres).
- Indiquer l'argument de mot-clé le plus à droite afin que l'axe des x soit partagé entre tous les sous-graphiques.
- Stocker le résultat de la fonction de création des sous-graphiques dans les variables
figetaxs(de gauche à droite). - Placer le premier graphique linéaire pour
data_linearsur la première ligne (ligne0) de la grille de sous-graphiques. - Placer le deuxième graphique linéaire pour
data_squaredsur la deuxième ligne (ligne1) de la grille de sous-graphiques. - Placer le troisième graphique linéaire pour
data_expsur la troisième ligne (ligne2) de la grille de sous-graphiques.
Solution
Merci pour vos commentaires !
single
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Awesome!
Completion rate improved to 3.85
Sous-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.
12345import matplotlib.pyplot as plt fig, axs = plt.subplots(2, 2) plt.show()
Une grille de sous-graphiques 2 par 2 a été créée.
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.
1234567891011121314import 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()
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 :
123456789fig, 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()
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.
123456789fig, 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()
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.
Comme d’habitude, n’hésitez pas à explorer davantage la
subplots() documentation si vous le souhaitez.
Swipe to start coding
- Utiliser la fonction appropriée pour créer une grille de sous-graphiques.
- La grille doit comporter 3 lignes et 1 colonne (spécifier les deux premiers paramètres).
- Indiquer l'argument de mot-clé le plus à droite afin que l'axe des x soit partagé entre tous les sous-graphiques.
- Stocker le résultat de la fonction de création des sous-graphiques dans les variables
figetaxs(de gauche à droite). - Placer le premier graphique linéaire pour
data_linearsur la première ligne (ligne0) de la grille de sous-graphiques. - Placer le deuxième graphique linéaire pour
data_squaredsur la deuxième ligne (ligne1) de la grille de sous-graphiques. - Placer le troisième graphique linéaire pour
data_expsur la troisième ligne (ligne2) de la grille de sous-graphiques.
Solution
Merci pour vos commentaires !
single