English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
pip3 Installation :
pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple
Les systèmes Linux peuvent également utiliser le gestionnaire de paquets Linux pour installer :
Debian / Ubuntu :
sudo apt-get install python-matplotlib
Fedora / Redhat :sudo yum install python-matplotlib
Après l'installation, vous pouvez utiliser python -m pip list La commande peut être utilisée pour vérifier si le module matplotlib est installé.
$ pip3 list | grep matplotlib matplotlib 3.3.0
import numpy as np from matplotlib import pyplot as plt x = np.arange(1,11) y = 2 * x + 5 plt.title("démonstration Matplotlib") plt.xlabel("intitulé axe x") plt.ylabel("intitulé axe y") plt.plot(x, y) plt.show()
Dans cet exemple, la fonction np.arange() crée des valeurs sur l'axe des abscisses. Les valeurs correspondantes sur l'axe des ordonnées sont stockées dans un autre objet d'array y. Ces valeurs sont tracées à l'aide de la fonction plot() du sous-module pyplot du paquet matplotlib.
Le graphique est affiché par la fonction show()
Matplotlib ne prend pas en charge le chinois par défaut, nous pouvons utiliser la méthode simple suivante pour résoudre ce problème.
Ici, nous utilisons le Source Han Sans, une police ouverte lancée par Adobe et Google.
Site officiel : https://source.typekit.com/source-han-serif/cn/
Adresse GitHub : https://github.com/adobe-fonts/source-han-sans/tree/release/OTF/SimplifiedChinese
Après avoir ouvert le lien, choisissez-en un dedans :
Vous pouvez télécharger une police OTF, par exemple SourceHanSansSC-Bold.otf, placez ce fichier dans le fichier de code en cours d'exécution :
SourceHanSansSC-Bold.otf doit être placé dans le fichier de code en cours d'exécution :
import numpy as np from matplotlib import pyplot as plt import matplotlib # fname est le chemin vers la bibliothèque de polices que vous avez téléchargée, notez que le fichier SourceHanSansSC-Bold.otf chemin du fichier de police zhfont1 = matplotlib.font_manager.FontProperties(fname="SourceHanSansSC-Bold.otf") x = np.arange(1,11) y = 2 * x + 5 plt.title("Produit en terre - test", fontproperties=zhfont1) # fontproperties configure la visualisation des caractères chinois, fontsize configure la taille de la police plt.xlabel("axe x", fontproperties=zhfont1) plt.ylabel("axe y", fontproperties=zhfont1) plt.plot(x,y) plt.show()
De plus, nous pouvons utiliser les polices du système :
from matplotlib import pyplot as plt import matplotlib a=sorted([f.name for f in matplotlib.font_manager.fontManager.ttflist]) for i in a: print(i)
Imprimez tous les noms enregistrés dans ttflist de votre font_manager, trouvez une police de caractères chinoise par exemple : STFangsong (Fangsong), puis ajoutez le code suivant :
plt.rcParams['font.family']=['STFangsong']
En tant que substitut du graphique linéaire, vous pouvez afficher les valeurs discrètes en ajoutant une chaîne de formatage à la fonction plot(). Vous pouvez utiliser les caractères de formatage suivants.
caractère | description |
'-' | style en ligne |
'--' | style en tiret court |
'-.' | style en tiret pointillé |
':' | style en tiret |
'.' | marque en point |
',' | marque en pixel |
'o' | marque en cercle |
'v' | marque triangle inversé |
'^' | marque triangle |
'<' | marque triangle gauche |
'>' | marque triangle droit |
'1' | marque flèche vers le bas |
'2' | marque flèche vers le haut |
'3' | marque flèche gauche |
'4' | marque flèche droite |
's' | marque carrée |
'p' | marque pentagonal |
'*' | marque en étoile |
'h' | marque hexagonal 1 |
'H' | marque hexagonal 2 |
'+' | marque plus |
'x' | marque X |
'D' | marque en losange |
'd' | marque en losange étroit |
'|' | marque verticale |
'_' | marque horizontale |
Voici les abréviations des couleurs :
caractère | couleur |
'b' | bleu |
'g' | vert |
'r' | rouge |
'c' | bleu |
'm' | rose |
'y' | jaune |
'k' | noir |
'w' | blanc |
Pour afficher des cercles pour représenter les points au lieu de la ligne dans l'exemple précédent, utilisez ob comme chaîne de format dans la fonction plot().
import numpy as np from matplotlib import pyplot as plt x = np.arange(1,11) y = 2 * x + 5 plt.title("démonstration Matplotlib") plt.xlabel("intitulé axe x") plt.ylabel("intitulé axe y") plt.plot(x,y,"ob") plt.show()
Les résultats de l'exécution sont représentés comme suit :
L'exemple suivant utilise matplotlib pour générer un graphique en onde sinus.
import numpy as np import matplotlib.pyplot as plt # Calculer les coordonnées x et y des points sur la courbe sinus x = np.arange(0, 3 * np.pi, 0.1) y = np.sin(x) plt.title("forme d'onde sinus") # Utiliser matplotlib pour dessiner des points plt.plot(x, y) plt.show()
Les résultats de l'exécution sont représentés comme suit :
La fonction subplot() permet de dessiner différentes choses sur le même graphique.
L'exemple suivant dessine les valeurs sinus et cosinus:
import numpy as np import matplotlib.pyplot as plt # Calculer les coordonnées x et y des points sur les courbes sinus et cosinus x = np.arange(0, 3 * np.pi, 0.1) y_sin = np.sin(x) y_cos = np.cos(x) # Créer une grille de subplot, hauteur de 2,largeur de 1 # Activer le premier subplot plt.subplot(2, 1, 1) # Dessiner la première image plt.plot(x, y_sin) plt.title('Sinus') # Activer le deuxième subplot et dessiner la deuxième image plt.subplot(2, 1, 2) plt.plot(x, y_cos) plt.title('Cosinus') # Afficher l'image plt.show()
Les résultats de l'exécution sont représentés comme suit :
Le sous-module pyplot fournit la fonction bar() pour générer des graphiques en barres.
L'exemple suivant génère deux groupes de graphiques en barres pour les tableaux x et y.
from matplotlib import pyplot as plt x = [5,8,10] y = [12,16,6] x2 = [6,9,11] y2 = [6,15,7] plt.bar(x, y, align = 'center') plt.bar(x2, y2, color = 'g', align = 'center') plt.title('Bar graph') plt.ylabel('Y axe') plt.xlabel('X axe') plt.show()
Les résultats de l'exécution sont représentés comme suit :
La fonction numpy.histogram() est une représentation graphique de la distribution de fréquence des données. Des rectangles de même dimension horizontale correspondent aux intervalles de classe, appelés bins, et la variable height correspond à la fréquence.
La fonction numpy.histogram() prend deux paramètres : un tableau d'entrée et un tableau d'intervalles. Les éléments continus du tableau d'intervalles sont utilisés comme limites pour chaque intervalle.
import numpy as np a = np.array([22,87,5,43,56,73,55,54,11,20,51,5,79,31,27]) np.histogram(a, bins = [0,20,40,60,80,100]) hist, bins = np.histogram(a, bins = [0,20,40,60,80,100]) print(hist) print(bins)
Le résultat de la sortie est :
[3 4 5 2 1] [ 0 20 40 60 80 100]
Matplotlib peut convertir la représentation numérique des histogrammes en graphiques. La fonction plt() du sous-module pyplot convertit un tableau contenant des données et un tableau d'intervalles en histogramme.
from matplotlib import pyplot as plt import numpy as np a = np.array([22,87,5,43,56,73,55,54,11,20,51,5,79,31,27]) plt.hist(a, bins = [0,20,40,60,80,100]) plt.title("histogramme") plt.show()
Les résultats de l'exécution sont représentés comme suit :
Plus de ressources pour Matplotlib :
Guide de l'utilisateur Questions fréquentes et réponses Capture d'écran