SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
Matplotlib | SSP
HAMIDI
Ecole supérieure de technologie de Laâyoune
12 janvier 2023
HAMIDI (ESTL) 12 janvier 2023 1 / 21
La bibliothèque Matplotlib est utilisée pour créer des fichiers statiques,
animés, et des tracés ou des figures 2D interactifs en Python. Ça peut
être installé à l’aide de la commande pip suivante à partir du invite de
commande :
pip i n s t a l l m a t p l o t l i b
Pour tracer à l’aide de Matplotlib, nous devons importer son Module
Pyplot à l’aide de la commande suivante :
import m a t p l o t l i b . pyplot as p l t
Le module pyplot de matplotlib contient une collection de fonctions
utilisables pour travailler sur une repère. Les La fonction plot() du
module pyplot est utilisée pour créer une figure. Une figure est la
fenêtre globale où les sorties des fonctions pyplot sont tracées. Une
figure contient une zone de traçage, une légende, des étiquettes
d’axes, des graduations, un titre, etc. Chaque fonction apporte des
modifications à une figure.
HAMIDI (ESTL) 12 janvier 2023 2 / 21
Par exemple, crée une figure, crée une zone de traçage dans un figure,
trace quelques lignes dans une zone de traçage, décore le tracer avec
des étiquettes, etc.
Quand on veut représenter des données graphiquement, nous devrions
toujours donner un titre au graphique, étiqueter les axes du graphique
et fournir une légende au cas où nous en aurions plus d’un données
tracées.
Pour tracer x versus y, nous pouvons écrire plt.plot(x, y). La fonction
show() est utilisée pour afficher la figure créée par la fonction plot().
HAMIDI (ESTL) 12 janvier 2023 3 / 21
Considérons une enreprise multinationle d’IT, a enregistré le nombre
maximale d’incidents traité cinq jours. L’exemple suivant montre comment
tracer le nombre d’incidents pour les dates données. La sortie générée est
un line chart(graphique linéaire) :
i m p o r t m a t p l o t l i b . p y p l o t as p l t
j o u r s = [ ’ 09/01/2023 ’ , ’ 10/01/2023 ’ , ’ 11/01/2023 ’ , ’ 12/01/2023 ’ , ’ 13/01/2023 ’ ]
i n c i d e n t s = [ 1 0 , 25 , 28 , 15 , 50]
p l t . p l o t ( j o u r s , i n c i d e n t s )
p l t . show ( )
HAMIDI (ESTL) 12 janvier 2023 4 / 21
Il faut fournire à la fonction plot() deux parametre, les valeurs pour
l’axe des x et l’axe des y, respectivement. Comme montré dans
precedante, la fonction plot() trace par défaut un line chart. Nous
pouvons cliquer sur le bouton enregistrer sur la sortie fenêtre et
enregistrer notre figure en tant qu’image. Un figure peut aussi être
enregistré en utilisant la fonction savefig(). On peut donné le nom de
l’image comme parametre.
p l t . s a v e f i g ( ’ i n c i d e n t s . png ’ ) .
Nous avons utilisé la fonction plot() pour tracer un line chart. Le choix
de type de courbe depend toujours des données que l’on veut tracer.
Le line chart est le type de courbe par default, mais il existe plusieurs
type supporter par matplotlib :
HAMIDI (ESTL) 12 janvier 2023 5 / 21
HAMIDI (ESTL) 12 janvier 2023 6 / 21
BAR Chart
L’exemple suivant montre comment tracer un bar chart a partir d’un
dictionaire, il present des parametres que l’on peut ajouté la fonction
bar :
donnees = { ’C ’ :20 , ’C++’ :15 , ’ Java ’ :30 ,
’ Python ’ :35}
courses = l i s t ( donnees . keys ( ) )
v a l u e s = l i s t ( donnees . v a l u e s ( ) )
p l t . f i g u r e ( f i g s i z e = (10 , 5))
p l t . bar ( courses , values , c o l o r =’ purple ’ ,
width = 0.4)
p l t . x l a b e l ( " Cours " )
p l t . y l a b e l ( "Nombre␣d ’ tudiants " )
p l t . t i t l e ( "Nombre␣d ’ Etudiant ␣ par ␣Cour" )
p l t . show ()
HAMIDI (ESTL) 12 janvier 2023 7 / 21
BAR Chart
HAMIDI (ESTL) 12 janvier 2023 8 / 21
SCATTER Chart
L’exemple suivant montre comment tracer un scatter chart, on
remarque que pour ce dernier on peut specifier aussi la taille et la
couleur(des bules), il prennent des valeurs numerique dans l’intervale
[vmin, vmax] :
j o u r s = [ ’ 09/01/2023 ’ , ’ 10/01/2023 ’ , ’ 11/01/2023 ’ ,
’ 12/01/2023 ’ , ’ 13/01/2023 ’ ]
i n c i d e n t s = [10 , 25 , 28 , 15 , 50]
# Generer des t a i l l e s et c o u l e u r s entre 15 et 100
t a i l l e s = np . random . uniform (15 , 100 , len ( j o u r s ))
c o u l e u r s = np . random . uniform (15 , 100 , len ( j o u r s ))
p l t . s c a t t e r ( jours , i n c i d e n t s , s=t a i l l e s ,
c=couleurs , vmin=0, vmax=100)
p l t . t i t l e ( " I n c i d e n t s ␣ par ␣ j o u r s " )
p l t . y l a b e l ( "Nombre␣d ’ i n c i d e n t s " )
p l t . x l a b e l ( " Jours " )
p l t . show ()
HAMIDI (ESTL) 12 janvier 2023 9 / 21
SCATTER Chart
HAMIDI (ESTL) 12 janvier 2023 10 / 21
PIE Chart
Exemple :
t y p e s = [ ’ A p p l i c a t i o n ␣ p r i n c i p a l e ’ , ’ M a t e r i e l ’ , ’ E l e c t r i c i t e ’ ,
’ L o g i c i e l ’ , ’ I n t e r n e t ’ ]
n b _ i n c i d e n t s = [ 4 0 , 27 , 35 , 10 , 15]
# Decalage
d a c a l a g e = ( 0 . 2 5 , 0 . 0 , 0 . 1 5 , 0 . 1 , 0 . 0 )
c o u l e u r s = ( " red " , " g r e y " , " t e a l " ,
" cyan " , " c o r a l " )
# Fonction d ’ a f f i c h a g e du p o u r c e n t r a g e
d e f a f f i c h a g e _ p o u r c e n t a g e ( pct , v a l e u r s ) :
r e t u r n " { : . 1 f}%" . format ( pct )
f i g , ax = p l t . s u b p l o t s ( f i g s i z e =(10 , 7 ) )
wedges , t e x t s , a u t o t e x t s = ax . p i e ( nb_incidents ,
au to pct = lambda pourc entage :
a f f i c h a g e _ p o u r c e n t a g e (
pourcentage , n b _ i n c i d e n t s ) ,
e x p l o d e = dacalage ,
l a b e l s = types ,
shadow = True ,
c o l o r s = c o u l e u r s ,
s t a r t a n g l e = 90)
HAMIDI (ESTL) 12 janvier 2023 11 / 21
PIE Chart
Suite
# D e s c r i p t i o n
ax . l e g e n d ( wedges , types ,
t i t l e =" Types ␣d ’ i n c i d e n t s " ,
# l e s parametre s on t : x , y
bbox_to_anchor =(1 , 1 ) )
#a j o u t des p ourcentage de chaque s l i c e
p l t . s e t p ( a u t o t e x t s , s i z e = 8 , weight =" bold " )
ax . s e t _ t i t l e ( " D i s t r i b u t i o n ␣ des ␣ i n c i d e n t s ␣ par ␣ type " )
p l t . show ( )
On trace les types d’incidents par importance, le pie chart a plusieurs
parametres, comme le decalage(explosion), couleurs, affichage textuel
dans chaque slice, titre, etc.
HAMIDI (ESTL) 12 janvier 2023 12 / 21
PIE Chart
HAMIDI (ESTL) 12 janvier 2023 13 / 21
HISTOGRAM Chart
Les histogrammes sont des graphiques à colonnes, où chaque colonne
représente un intervale([point depart, point stop] et la hauteur d’une
colonne correspond au nombre de valeurs comprises dans cette plage.
Pour faire un histogramme, les données sont triées en "bins" et le
nombre de points de données dans chaque "bin" est la hauteur de ce
"bin". On peut dire aussi que la hauteur de chaque colonne dans
l’histogramme est decrit par le nombre de points de données que son
"bin" contient.
donnes = np . random . normal (0 , 1 , 10000)
p l t . h i s t ( donnes , bins =50)
p l t . t i t l e ( " Histogram ␣ l o i ␣ normale " )
p l t . x l a b e l ( " Valeurs ␣ qui ␣ s u i t ␣N(0 , ␣ 1) " )
p l t . y l a b e l ( "Nombre␣de␣ v a l e u r s ␣ dans␣ l e ␣ bin " )
p l t . show ()
HAMIDI (ESTL) 12 janvier 2023 14 / 21
HISTOGRAM Chart
HAMIDI (ESTL) 12 janvier 2023 15 / 21
Style et annotation
df = pd . DataFrame ({
’ j o u r ’ : [
’ 01/01/2023 ’ , ’ 02/01/2023 ’ , ’ 03/01/2023 ’ , ’ 04/01/2023 ’ , ’ 05/01/2023 ’ , ’ 06/01
] ,
’ i n c i d e n t s ’ : [
10 , 50 , 70 , 100 , 150 ,170 , 200 , 250 , 283 , 500
]
})
df [ ’ j o u r ’ ] = pd . to_datetime ( df [ ’ j o u r ’ ] , format=’%d/%m/%Y ’ ) . dt . date
t i t r e _ s t y l e = {
’ c o l o r ’ : ’ red ’ ,
’ s i z e ’ : ’ xx−l a r g e ’ ,
’ weight ’ : ’ 800 ’
}
a x e s _ s t y l e = {
’ s i z e ’ : ’ x−l a r g e ’ ,
’ weight ’ : ’ 800 ’
}
f = p l t . f i g u r e ( f i g s i z e =(20 , 7 ) )
p l t . t i t l e ( "Nombre␣d ’ i n c i d e n t s ␣ par ␣ j o u r s " , f o n t d i c t=t i t r e _ s t y l e )
ax = f . add_subplot (111)
p l t . p l o t ( df [ ’ j o u r ’ ] , df [ ’ i n c i d e n t s ’ ] )
f o r elm1 , elm2 i n z i p ( df [ ’ j o u r ’ ] , df [ ’ i n c i d e n t s ’ ] ) :
ax . annotate ( s t r ( elm2 ) , xy=(elm1 , elm2 ) )
p l t . x l a b e l ( ’ J o u r s ’ , f o n t d i c t=a x e s _ s t y l e )
p l t . y l a b e l ( ’ I n c i d e n t s ’ , f o n t d i c t=a x e s _ s t y l e )
p l t . show ( )
HAMIDI (ESTL) 12 janvier 2023 16 / 21
Style et annotation
p l t . x l a b e l ( ’ J o u r s ’ , f o n t d i c t=a x e s _ s t y l e )
p l t . y l a b e l ( ’ I n c i d e n t s ’ , f o n t d i c t=a x e s _ s t y l e )
p l t . show ( )
Cet exemple montre comme ajouter des styles au texts present dans
notre courbe, comme le titre et les axes, des styles comme la couleur,
la taille(size) et l’epaisseur du text(weight), il montre aussi comment
on peut ajouter des annotations avec la fonction subplot, pour chaque
point (x, y) l’ajout des anotations est fait avec la fonction annotate,
aussi pour iterer sur les point on doit transformer les données en liste
de tuples(ex : [(x1, y1), (x2, y2), ....., (xn, yn)], on peut faire cette
transformation avec la foncton zip, en suite on itere sur ce nouveau
tableau de tuples, le premier tuple (x1, y1) represente un point sur le
repere ou on va ajouté l’annotation avec la fonction annotate, et ainsi
de suite jusqu’a la fin des points.
HAMIDI (ESTL) 12 janvier 2023 17 / 21
Style et annotation
HAMIDI (ESTL) 12 janvier 2023 18 / 21
Style et annotation 2
ob = {
’ Personne ’ : [
’ a ’ , ’ b ’ , ’ c ’ , ’ d ’ , ’ e ’ , ’ f ’ , ’ g ’ , ’ h ’ , ’ i ’ , ’ j ’
] ,
’ Notes ’ : [
10 , 15 , 8 , 19 , 20 , 6 , 12 , 14 , 13 , 17
]
}
d = pd . DataFrame ( ob )
t o t a l = 0
f o r elm i n d [ ’ Notes ’ ] :
t o t a l += elm
f = p l t . f i g u r e ( f i g s i z e =(20 , 7 ) )
p l t . t i t l e ( " Notes " )
ax = f . add_subplot (111)
p l t . bar ( d [ ’ Personne ’ ] , d [ ’ Notes ’ ] , width =0.3 , c o l o r=" p u r p l e " )
f o r i i n range ( l e n ( d [ ’ Notes ’ ] ) ) :
ax . annotate ( s t r ( d [ ’ Notes ’ ] [ i ])+ ’ n ’+s t r ( round ( d [ ’ Notes ’ ] [ i ]∗100/ t o t a l , 2))+ ’%’ ,
xy=( i , d [ ’ Notes ’ ] [ i ] ) )
p l t . x l a b e l ( ’ J o u r s ’ )
p l t . y l a b e l ( ’ I n c i d e n t s ’ )
p l t . show ( )
HAMIDI (ESTL) 12 janvier 2023 19 / 21
Style et annotation 2
On a utilsé une autre manière pour affiché des annotations sur notre
graphique, au lieu d’iterer sur une liste de tuple comme l’exemple
precedant, on itere sur sur les données avec les indices, puisque nos
données x et y on la meme longeur, alors on itere sur le range de la longeur
d’un des deux(ex : si il on la longeur de 5, alors range(5)), et ensuite on
ajoute des annotations, on peut concatener des données dans notre
annotation puisque c’est un texte, dans ce exemple on a affiché la hauteur
et le pourcentrage de cet hauteur par rapport au totale.
HAMIDI (ESTL) 12 janvier 2023 20 / 21
Style et annotation 2
HAMIDI (ESTL) 12 janvier 2023 21 / 21

Contenu connexe

Similaire à cours-5.1.pdf

RCarte_Commandes-R.pdf
RCarte_Commandes-R.pdfRCarte_Commandes-R.pdf
RCarte_Commandes-R.pdfDrissRifai1
 
Cours Algorithme: Matrice
Cours Algorithme: MatriceCours Algorithme: Matrice
Cours Algorithme: MatriceInforMatica34
 
ch7_les chaines de caractères.pdf
ch7_les chaines de caractères.pdfch7_les chaines de caractères.pdf
ch7_les chaines de caractères.pdfFadouaBouafifSamoud
 
Analyse en Composantes Principales
Analyse en Composantes PrincipalesAnalyse en Composantes Principales
Analyse en Composantes PrincipalesJaouad Dabounou
 
Exercices sur-python-turtle-corrige
Exercices sur-python-turtle-corrigeExercices sur-python-turtle-corrige
Exercices sur-python-turtle-corrigeWajihBaghdadi1
 
Ch8 correction exercices (1)
Ch8 correction exercices (1)Ch8 correction exercices (1)
Ch8 correction exercices (1)abdellah12
 
Ch5-les tableaux et les pointeurs.pdf
Ch5-les tableaux et les pointeurs.pdfCh5-les tableaux et les pointeurs.pdf
Ch5-les tableaux et les pointeurs.pdfFadouaBouafifSamoud
 
Presentation of SOMbrero
Presentation of SOMbreroPresentation of SOMbrero
Presentation of SOMbrerotuxette
 
Support tutoriel : Créer votre jeu en HTML5
Support tutoriel : Créer votre jeu en HTML5Support tutoriel : Créer votre jeu en HTML5
Support tutoriel : Créer votre jeu en HTML5SmartnSkilled
 
Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniShellmates
 
Algorithmique et programmation en Pascal (résumé)
Algorithmique et programmation en Pascal (résumé)Algorithmique et programmation en Pascal (résumé)
Algorithmique et programmation en Pascal (résumé)salah fenni
 
Scala IO 2017 : Probabilités fonctionnelles
Scala IO 2017 : Probabilités fonctionnellesScala IO 2017 : Probabilités fonctionnelles
Scala IO 2017 : Probabilités fonctionnellesSamy Zarour
 
Statistiques descriptives [PDF].pptx
Statistiques descriptives [PDF].pptxStatistiques descriptives [PDF].pptx
Statistiques descriptives [PDF].pptxTarekDHAHRI1
 

Similaire à cours-5.1.pdf (20)

Tql 2011 2012
Tql 2011 2012Tql 2011 2012
Tql 2011 2012
 
C4 spec-adt
C4 spec-adtC4 spec-adt
C4 spec-adt
 
Ggplot2 french-cheatsheet
Ggplot2 french-cheatsheetGgplot2 french-cheatsheet
Ggplot2 french-cheatsheet
 
RCarte_Commandes-R.pdf
RCarte_Commandes-R.pdfRCarte_Commandes-R.pdf
RCarte_Commandes-R.pdf
 
Cours Algorithme: Matrice
Cours Algorithme: MatriceCours Algorithme: Matrice
Cours Algorithme: Matrice
 
ch7_les chaines de caractères.pdf
ch7_les chaines de caractères.pdfch7_les chaines de caractères.pdf
ch7_les chaines de caractères.pdf
 
Analyse en Composantes Principales
Analyse en Composantes PrincipalesAnalyse en Composantes Principales
Analyse en Composantes Principales
 
Exercices sur-python-turtle-corrige
Exercices sur-python-turtle-corrigeExercices sur-python-turtle-corrige
Exercices sur-python-turtle-corrige
 
Ch8 correction exercices (1)
Ch8 correction exercices (1)Ch8 correction exercices (1)
Ch8 correction exercices (1)
 
Chapitre 2
Chapitre 2Chapitre 2
Chapitre 2
 
Ch5-les tableaux et les pointeurs.pdf
Ch5-les tableaux et les pointeurs.pdfCh5-les tableaux et les pointeurs.pdf
Ch5-les tableaux et les pointeurs.pdf
 
Presentation of SOMbrero
Presentation of SOMbreroPresentation of SOMbrero
Presentation of SOMbrero
 
Tp3 matlab
Tp3 matlabTp3 matlab
Tp3 matlab
 
Support tutoriel : Créer votre jeu en HTML5
Support tutoriel : Créer votre jeu en HTML5Support tutoriel : Créer votre jeu en HTML5
Support tutoriel : Créer votre jeu en HTML5
 
C# dates and times date formats
C# dates and times  date formatsC# dates and times  date formats
C# dates and times date formats
 
Initiation r
Initiation rInitiation r
Initiation r
 
Introduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El HassaniIntroduction à Python - Achraf Kacimi El Hassani
Introduction à Python - Achraf Kacimi El Hassani
 
Algorithmique et programmation en Pascal (résumé)
Algorithmique et programmation en Pascal (résumé)Algorithmique et programmation en Pascal (résumé)
Algorithmique et programmation en Pascal (résumé)
 
Scala IO 2017 : Probabilités fonctionnelles
Scala IO 2017 : Probabilités fonctionnellesScala IO 2017 : Probabilités fonctionnelles
Scala IO 2017 : Probabilités fonctionnelles
 
Statistiques descriptives [PDF].pptx
Statistiques descriptives [PDF].pptxStatistiques descriptives [PDF].pptx
Statistiques descriptives [PDF].pptx
 

cours-5.1.pdf

  • 1. Matplotlib | SSP HAMIDI Ecole supérieure de technologie de Laâyoune 12 janvier 2023 HAMIDI (ESTL) 12 janvier 2023 1 / 21
  • 2. La bibliothèque Matplotlib est utilisée pour créer des fichiers statiques, animés, et des tracés ou des figures 2D interactifs en Python. Ça peut être installé à l’aide de la commande pip suivante à partir du invite de commande : pip i n s t a l l m a t p l o t l i b Pour tracer à l’aide de Matplotlib, nous devons importer son Module Pyplot à l’aide de la commande suivante : import m a t p l o t l i b . pyplot as p l t Le module pyplot de matplotlib contient une collection de fonctions utilisables pour travailler sur une repère. Les La fonction plot() du module pyplot est utilisée pour créer une figure. Une figure est la fenêtre globale où les sorties des fonctions pyplot sont tracées. Une figure contient une zone de traçage, une légende, des étiquettes d’axes, des graduations, un titre, etc. Chaque fonction apporte des modifications à une figure. HAMIDI (ESTL) 12 janvier 2023 2 / 21
  • 3. Par exemple, crée une figure, crée une zone de traçage dans un figure, trace quelques lignes dans une zone de traçage, décore le tracer avec des étiquettes, etc. Quand on veut représenter des données graphiquement, nous devrions toujours donner un titre au graphique, étiqueter les axes du graphique et fournir une légende au cas où nous en aurions plus d’un données tracées. Pour tracer x versus y, nous pouvons écrire plt.plot(x, y). La fonction show() est utilisée pour afficher la figure créée par la fonction plot(). HAMIDI (ESTL) 12 janvier 2023 3 / 21
  • 4. Considérons une enreprise multinationle d’IT, a enregistré le nombre maximale d’incidents traité cinq jours. L’exemple suivant montre comment tracer le nombre d’incidents pour les dates données. La sortie générée est un line chart(graphique linéaire) : i m p o r t m a t p l o t l i b . p y p l o t as p l t j o u r s = [ ’ 09/01/2023 ’ , ’ 10/01/2023 ’ , ’ 11/01/2023 ’ , ’ 12/01/2023 ’ , ’ 13/01/2023 ’ ] i n c i d e n t s = [ 1 0 , 25 , 28 , 15 , 50] p l t . p l o t ( j o u r s , i n c i d e n t s ) p l t . show ( ) HAMIDI (ESTL) 12 janvier 2023 4 / 21
  • 5. Il faut fournire à la fonction plot() deux parametre, les valeurs pour l’axe des x et l’axe des y, respectivement. Comme montré dans precedante, la fonction plot() trace par défaut un line chart. Nous pouvons cliquer sur le bouton enregistrer sur la sortie fenêtre et enregistrer notre figure en tant qu’image. Un figure peut aussi être enregistré en utilisant la fonction savefig(). On peut donné le nom de l’image comme parametre. p l t . s a v e f i g ( ’ i n c i d e n t s . png ’ ) . Nous avons utilisé la fonction plot() pour tracer un line chart. Le choix de type de courbe depend toujours des données que l’on veut tracer. Le line chart est le type de courbe par default, mais il existe plusieurs type supporter par matplotlib : HAMIDI (ESTL) 12 janvier 2023 5 / 21
  • 6. HAMIDI (ESTL) 12 janvier 2023 6 / 21
  • 7. BAR Chart L’exemple suivant montre comment tracer un bar chart a partir d’un dictionaire, il present des parametres que l’on peut ajouté la fonction bar : donnees = { ’C ’ :20 , ’C++’ :15 , ’ Java ’ :30 , ’ Python ’ :35} courses = l i s t ( donnees . keys ( ) ) v a l u e s = l i s t ( donnees . v a l u e s ( ) ) p l t . f i g u r e ( f i g s i z e = (10 , 5)) p l t . bar ( courses , values , c o l o r =’ purple ’ , width = 0.4) p l t . x l a b e l ( " Cours " ) p l t . y l a b e l ( "Nombre␣d ’ tudiants " ) p l t . t i t l e ( "Nombre␣d ’ Etudiant ␣ par ␣Cour" ) p l t . show () HAMIDI (ESTL) 12 janvier 2023 7 / 21
  • 8. BAR Chart HAMIDI (ESTL) 12 janvier 2023 8 / 21
  • 9. SCATTER Chart L’exemple suivant montre comment tracer un scatter chart, on remarque que pour ce dernier on peut specifier aussi la taille et la couleur(des bules), il prennent des valeurs numerique dans l’intervale [vmin, vmax] : j o u r s = [ ’ 09/01/2023 ’ , ’ 10/01/2023 ’ , ’ 11/01/2023 ’ , ’ 12/01/2023 ’ , ’ 13/01/2023 ’ ] i n c i d e n t s = [10 , 25 , 28 , 15 , 50] # Generer des t a i l l e s et c o u l e u r s entre 15 et 100 t a i l l e s = np . random . uniform (15 , 100 , len ( j o u r s )) c o u l e u r s = np . random . uniform (15 , 100 , len ( j o u r s )) p l t . s c a t t e r ( jours , i n c i d e n t s , s=t a i l l e s , c=couleurs , vmin=0, vmax=100) p l t . t i t l e ( " I n c i d e n t s ␣ par ␣ j o u r s " ) p l t . y l a b e l ( "Nombre␣d ’ i n c i d e n t s " ) p l t . x l a b e l ( " Jours " ) p l t . show () HAMIDI (ESTL) 12 janvier 2023 9 / 21
  • 10. SCATTER Chart HAMIDI (ESTL) 12 janvier 2023 10 / 21
  • 11. PIE Chart Exemple : t y p e s = [ ’ A p p l i c a t i o n ␣ p r i n c i p a l e ’ , ’ M a t e r i e l ’ , ’ E l e c t r i c i t e ’ , ’ L o g i c i e l ’ , ’ I n t e r n e t ’ ] n b _ i n c i d e n t s = [ 4 0 , 27 , 35 , 10 , 15] # Decalage d a c a l a g e = ( 0 . 2 5 , 0 . 0 , 0 . 1 5 , 0 . 1 , 0 . 0 ) c o u l e u r s = ( " red " , " g r e y " , " t e a l " , " cyan " , " c o r a l " ) # Fonction d ’ a f f i c h a g e du p o u r c e n t r a g e d e f a f f i c h a g e _ p o u r c e n t a g e ( pct , v a l e u r s ) : r e t u r n " { : . 1 f}%" . format ( pct ) f i g , ax = p l t . s u b p l o t s ( f i g s i z e =(10 , 7 ) ) wedges , t e x t s , a u t o t e x t s = ax . p i e ( nb_incidents , au to pct = lambda pourc entage : a f f i c h a g e _ p o u r c e n t a g e ( pourcentage , n b _ i n c i d e n t s ) , e x p l o d e = dacalage , l a b e l s = types , shadow = True , c o l o r s = c o u l e u r s , s t a r t a n g l e = 90) HAMIDI (ESTL) 12 janvier 2023 11 / 21
  • 12. PIE Chart Suite # D e s c r i p t i o n ax . l e g e n d ( wedges , types , t i t l e =" Types ␣d ’ i n c i d e n t s " , # l e s parametre s on t : x , y bbox_to_anchor =(1 , 1 ) ) #a j o u t des p ourcentage de chaque s l i c e p l t . s e t p ( a u t o t e x t s , s i z e = 8 , weight =" bold " ) ax . s e t _ t i t l e ( " D i s t r i b u t i o n ␣ des ␣ i n c i d e n t s ␣ par ␣ type " ) p l t . show ( ) On trace les types d’incidents par importance, le pie chart a plusieurs parametres, comme le decalage(explosion), couleurs, affichage textuel dans chaque slice, titre, etc. HAMIDI (ESTL) 12 janvier 2023 12 / 21
  • 13. PIE Chart HAMIDI (ESTL) 12 janvier 2023 13 / 21
  • 14. HISTOGRAM Chart Les histogrammes sont des graphiques à colonnes, où chaque colonne représente un intervale([point depart, point stop] et la hauteur d’une colonne correspond au nombre de valeurs comprises dans cette plage. Pour faire un histogramme, les données sont triées en "bins" et le nombre de points de données dans chaque "bin" est la hauteur de ce "bin". On peut dire aussi que la hauteur de chaque colonne dans l’histogramme est decrit par le nombre de points de données que son "bin" contient. donnes = np . random . normal (0 , 1 , 10000) p l t . h i s t ( donnes , bins =50) p l t . t i t l e ( " Histogram ␣ l o i ␣ normale " ) p l t . x l a b e l ( " Valeurs ␣ qui ␣ s u i t ␣N(0 , ␣ 1) " ) p l t . y l a b e l ( "Nombre␣de␣ v a l e u r s ␣ dans␣ l e ␣ bin " ) p l t . show () HAMIDI (ESTL) 12 janvier 2023 14 / 21
  • 15. HISTOGRAM Chart HAMIDI (ESTL) 12 janvier 2023 15 / 21
  • 16. Style et annotation df = pd . DataFrame ({ ’ j o u r ’ : [ ’ 01/01/2023 ’ , ’ 02/01/2023 ’ , ’ 03/01/2023 ’ , ’ 04/01/2023 ’ , ’ 05/01/2023 ’ , ’ 06/01 ] , ’ i n c i d e n t s ’ : [ 10 , 50 , 70 , 100 , 150 ,170 , 200 , 250 , 283 , 500 ] }) df [ ’ j o u r ’ ] = pd . to_datetime ( df [ ’ j o u r ’ ] , format=’%d/%m/%Y ’ ) . dt . date t i t r e _ s t y l e = { ’ c o l o r ’ : ’ red ’ , ’ s i z e ’ : ’ xx−l a r g e ’ , ’ weight ’ : ’ 800 ’ } a x e s _ s t y l e = { ’ s i z e ’ : ’ x−l a r g e ’ , ’ weight ’ : ’ 800 ’ } f = p l t . f i g u r e ( f i g s i z e =(20 , 7 ) ) p l t . t i t l e ( "Nombre␣d ’ i n c i d e n t s ␣ par ␣ j o u r s " , f o n t d i c t=t i t r e _ s t y l e ) ax = f . add_subplot (111) p l t . p l o t ( df [ ’ j o u r ’ ] , df [ ’ i n c i d e n t s ’ ] ) f o r elm1 , elm2 i n z i p ( df [ ’ j o u r ’ ] , df [ ’ i n c i d e n t s ’ ] ) : ax . annotate ( s t r ( elm2 ) , xy=(elm1 , elm2 ) ) p l t . x l a b e l ( ’ J o u r s ’ , f o n t d i c t=a x e s _ s t y l e ) p l t . y l a b e l ( ’ I n c i d e n t s ’ , f o n t d i c t=a x e s _ s t y l e ) p l t . show ( ) HAMIDI (ESTL) 12 janvier 2023 16 / 21
  • 17. Style et annotation p l t . x l a b e l ( ’ J o u r s ’ , f o n t d i c t=a x e s _ s t y l e ) p l t . y l a b e l ( ’ I n c i d e n t s ’ , f o n t d i c t=a x e s _ s t y l e ) p l t . show ( ) Cet exemple montre comme ajouter des styles au texts present dans notre courbe, comme le titre et les axes, des styles comme la couleur, la taille(size) et l’epaisseur du text(weight), il montre aussi comment on peut ajouter des annotations avec la fonction subplot, pour chaque point (x, y) l’ajout des anotations est fait avec la fonction annotate, aussi pour iterer sur les point on doit transformer les données en liste de tuples(ex : [(x1, y1), (x2, y2), ....., (xn, yn)], on peut faire cette transformation avec la foncton zip, en suite on itere sur ce nouveau tableau de tuples, le premier tuple (x1, y1) represente un point sur le repere ou on va ajouté l’annotation avec la fonction annotate, et ainsi de suite jusqu’a la fin des points. HAMIDI (ESTL) 12 janvier 2023 17 / 21
  • 18. Style et annotation HAMIDI (ESTL) 12 janvier 2023 18 / 21
  • 19. Style et annotation 2 ob = { ’ Personne ’ : [ ’ a ’ , ’ b ’ , ’ c ’ , ’ d ’ , ’ e ’ , ’ f ’ , ’ g ’ , ’ h ’ , ’ i ’ , ’ j ’ ] , ’ Notes ’ : [ 10 , 15 , 8 , 19 , 20 , 6 , 12 , 14 , 13 , 17 ] } d = pd . DataFrame ( ob ) t o t a l = 0 f o r elm i n d [ ’ Notes ’ ] : t o t a l += elm f = p l t . f i g u r e ( f i g s i z e =(20 , 7 ) ) p l t . t i t l e ( " Notes " ) ax = f . add_subplot (111) p l t . bar ( d [ ’ Personne ’ ] , d [ ’ Notes ’ ] , width =0.3 , c o l o r=" p u r p l e " ) f o r i i n range ( l e n ( d [ ’ Notes ’ ] ) ) : ax . annotate ( s t r ( d [ ’ Notes ’ ] [ i ])+ ’ n ’+s t r ( round ( d [ ’ Notes ’ ] [ i ]∗100/ t o t a l , 2))+ ’%’ , xy=( i , d [ ’ Notes ’ ] [ i ] ) ) p l t . x l a b e l ( ’ J o u r s ’ ) p l t . y l a b e l ( ’ I n c i d e n t s ’ ) p l t . show ( ) HAMIDI (ESTL) 12 janvier 2023 19 / 21
  • 20. Style et annotation 2 On a utilsé une autre manière pour affiché des annotations sur notre graphique, au lieu d’iterer sur une liste de tuple comme l’exemple precedant, on itere sur sur les données avec les indices, puisque nos données x et y on la meme longeur, alors on itere sur le range de la longeur d’un des deux(ex : si il on la longeur de 5, alors range(5)), et ensuite on ajoute des annotations, on peut concatener des données dans notre annotation puisque c’est un texte, dans ce exemple on a affiché la hauteur et le pourcentrage de cet hauteur par rapport au totale. HAMIDI (ESTL) 12 janvier 2023 20 / 21
  • 21. Style et annotation 2 HAMIDI (ESTL) 12 janvier 2023 21 / 21