English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

接口面向对象Matplotlib

Bien que la génération de dessins soit facile et rapide avec le module matplotlib.pyplot, il est recommandé d'utiliser la méthode orientée objet car elle permet une meilleure contrôle et personnalisation des dessins. La classe matplotlib.axes.Axes offre également la plupart des fonctions.

L'idée principale derrière l'utilisation d'une méthode orientée objet plus formelle est de créer un objet graphique, puis d'appeler uniquement les méthodes ou les attributs de cet objet. Cette méthode aide à mieux gérer les canevas qui ont plusieurs dessins.

Dans l'interface orientée objet, Pyplot n'est utilisé que pour certaines fonctionnalités, telles que la création de graphiques, la création et le suivi explicites d'objets graphiques et d'axes par l'utilisateur. À ce niveau, l'utilisateur crée des graphiques via lesquels il peut créer un ou plusieurs objets axes. Ces objets axes sont ensuite utilisés pour la plupart des opérations de dessin.

Tout d'abord, créez une instance de graphique qui fournit un canevas vide.

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : fr.oldtoolbag.com
# Date : 2020-08-08
fig = plt.figure()

Ajouter un axe au graphique. La méthode add_axes() nécessite un4une liste d'éléments, correspondant aux côtés gauche, bas, largeur et hauteur du graphique. Chaque nombre doit être compris entre 0 et1entre -

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : fr.oldtoolbag.com
# Date : 2020-08-08
ax=fig.add_axes([0,0,1,1])

Définir les étiquettes des axes x et y ainsi que le titre -

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : fr.oldtoolbag.com
# Date : 2020-08-08
ax.set_title("sine wave")
 ax.set_xlabel('angle')
 ax.set_ylabel('sine')

appelez la méthode plot() de l'objet axes.

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : fr.oldtoolbag.com
# Date : 2020-08-08
ax.plot(x,y)

Si vous utilisez Jupyter notebookSi vous devez ajouter %matplotlib inline; la fonction show() du module pyplot affiche le graphique.

Lire et exécuter le code suivant -

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : fr.oldtoolbag.com
# Date : 2020-08-08
#! /usr/bin/env python
 #coding=utf-8
 from matplotlib import pyplot as plt
 import numpy as np
 import math
 # Afficher les réglages chinois...
 plt.rcParams['font.sans']-police serif] = ['SimHei'] # Étape un (remplacer 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 des coordonnées)
 %matplotlib inline
 x = np.arange(0, math.pi*2, 0.05)
 y = np.sin(x)
 fig = plt.figure()
 ax = fig.add_axes([0,0,1,1])
 ax.plot(x,y)
 ax.set_title("Onde sinus")
 ax.set_xlabel('Angle')
 ax.set_ylabel('Sinus')
 plt.show()

Les lignes de code ci-dessus génèrent les sorties suivantes -

dans Jupyter notebookdu même code que celui exécuté en temps réel -

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : fr.oldtoolbag.com
# Date : 2020-08-08
#! /usr/bin/env python
 #coding=utf-8
 from matplotlib import pyplot as plt
 import numpy as np
 import math
 # Afficher les réglages chinois...
 plt.rcParams['font.sans']-police serif] = ['SimHei'] # Étape un (remplacer 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 des coordonnées)
 %matplotlib inline
 x = np.arange(0, math.pi*2, 0.05)
 y = np.sin(x)
 fig = plt.figure()
 ax = fig.add_axes([0,0,1,1])
 ax.plot(x,y)
 ax.set_title("Onde sinus")
 ax.set_xlabel('Angle')
 ax.set_ylabel('Sinus')
 plt.show()

Affichage de la sortie comme suit -