English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans ce chapitre, nous allons apprendre à créer plusieurs sous-graphiques sur le même canevas.
La fonction subplot() renvoie l'objet axes à la position de la grille donnée. La signature de cette fonction est -
# Fichier : example.py # Copyright : 2020 By w3codebox # Auteur par : fr.oldtoolbag.com # Date : 2020-08-08 plt.subplot(subplot(nrows, ncols, index))
Dans le graphique actuel, cette fonction crée et renvoie un objet Axes à la position d'index de la grille ncolsxnrows.1jusqu'à nrows * ncols, croissant par ordre décroissant des lignes. Si nrows, ncols et index sont tous inférieurs à10L'index peut également être donné en tant que nombre unique, ou en tant que trois nombres séparés par des virgules.
Par exemple, subplot(2, 3, 3) et subplot(233) sont créés dans le coin supérieur droit du graphique, prenant la moitié de la hauteur du graphique et un tiers de la largeur du graphique.
La création d'un sous-graphique supprime tout sous-graphique préexistant qui chevauche, plutôt que de partager des limites.
Consultez l'exemple de code suivant :
# Fichier : example.py # Copyright : 2020 By w3codebox # Auteur par : fr.oldtoolbag.com # Date : 2020-08-08 #! /usr/bin/env python #coding=utf-8 import matplotlib.pyplot as plt # Affichage des réglages chinois... plt.rcParams['font.sans-serif'] = ['SimHei'] # Étape 1 (remplacement de sans-police serif) plt.rcParams['axes.unicode_minus'] = False # Étape 2 (résolution du problème de l'affichage des signes négatifs des axes) Texte d'origine de 【立地货】,pour toute reproduction commerciale, veuillez contacter l'auteur pour obtenir une autorisation, pour une utilisation non commerciale, veuillez conserver le lien d'origine # Tracez une ligne, créant implicitement un subplot (111) plt.plot([1,2,3]) # maintenant créez un subplot qui représente le graphique supérieur d'une grille avec 2 lignes et 1 colonne. # Comme ce subplot chevauchera le premier, le graphique (et ses axes) créés précédemment seront supprimés plt.subplot(211) plt.plot(range(12)) plt.subplot(212, facecolor='y') # crée 2nd subplot avec fond jaune plt.plot(range(12)) plt.show()
Exécuter le code d'exemple suivant, pour obtenir le résultat suivant :
La fonction add_subplot() de la classe figure ne couvre pas le graphique existant, consultez le code suivant -
# Fichier : example.py # Copyright : 2020 By w3codebox # Auteur par : fr.oldtoolbag.com # Date : 2020-08-08 #! /usr/bin/env python #coding=utf-8 import matplotlib.pyplot as plt # Affichage des réglages chinois... plt.rcParams['font.sans-serif'] = ['SimHei'] # Étape 1 (remplacement de sans-police serif) plt.rcParams['axes.unicode_minus'] = False # Étape deux (résoudre le problème de l'affichage des signes négatifs des axes) fig = plt.figure() ax1 = fig.add_subplot(111) ax1.plot([1,2,3]) ax2 = fig.add_subplot(221, facecolor='y') ax2.plot([1,2,3]) plt.show()
Exécuter le code d'exemple suivant, pour obtenir le résultat suivant :
Il est possible d'ajouter une insertion graphique dans le même canevas graphique en ajoutant un autre objet d'axe. Consultez l'implémentation du code suivant -
# Fichier : example.py # Copyright : 2020 By w3codebox # Auteur par : fr.oldtoolbag.com # Date : 2020-08-08 #! /usr/bin/env python #coding=utf-8 import matplotlib.pyplot as plt import numpy as np import math # Affichage des réglages chinois... plt.rcParams['font.sans-serif'] = ['SimHei'] # Étape 1 (remplacement de sans-police serif) plt.rcParams['axes.unicode_minus'] = False # Étape deux (résoudre le problème de l'affichage des signes négatifs des axes) x = np.arange(0, math.pi*2, 0.05) fig=plt.figure() axes1 = fig.add_axes([0.1, 0.1, 0.8, 0.8]) # axe principal axes2 = fig.add_axes([0.55, 0.55, 0.3, 0.3]) # axe inséré y = np.sin(x) axes1.plot(x, y, 'b') axes2.plot(x, np.cos(x), 'r') axes1.set_title('Sinus') axes2.set_title("Cos") plt.show()
Exécuter le code d'exemple suivant, pour obtenir le résultat suivant :