logo

Box Plot en Python en utilisant Matplotlib

Qu’est-ce que le Box Plot ?

Une boîte à moustaches est un moyen de visualiser la distribution des données à l'aide d'une boîte et de quelques lignes verticales. C’est ce qu’on appelle le tracé des moustaches. Les données peuvent être réparties entre cinq plages clés, qui sont les suivantes :

    Le minimum: Q1-1.5*IQR1er quartile(Q1) : 25e centileMédian:50e centile3ème trimestre(Q3) : 75e centileMaximum: T3+1,5*IQR

Ici, l'IQR représente le Gamme interquartile qui commence au premier quartile (Q1) et se termine au troisième quartile (Q3).

Visualisation du diagramme en boîte

Box Plot en Python en utilisant Matplotlib

Dans le diagramme en boîte, les points hors limites sont appelés valeurs aberrantes. Nous pouvons créer la boîte à moustaches des données pour déterminer les éléments suivants :

  • Le nombre de valeurs aberrantes dans un ensemble de données
  • Les données sont-elles faussées ou non
  • La portée des données

La plage des données du minimum au maximum est appelée la limite des moustaches. En Python, nous utiliserons le module pyplot du module matplotlib, qui possède une fonction intégrée nommée boxplot() qui peut créer la boîte à moustaches de n'importe quel ensemble de données.

Syntaxe:

 matplotlib.pyplot.boxplot(data,notch=none,vert=none,patch_artist,widths=none) 

Dans la fonction boxplot(), nous avons de nombreux attributs qui peuvent être utilisés pour créer une boîte à moustaches plus attrayante et étonnante de l'ensemble de données.

    données: Les données doivent être un tableau ou une séquence de tableaux qui seront tracés.entailler: Ce paramètre accepte uniquement les valeurs booléennes, vraies ou fausses.vert: Cet attribut accepte une valeur booléenne. S'il est défini sur vrai, alors le graphique sera vertical. Sinon, ce sera horizontal.position: Il accepte le tableau d'entiers qui définit la position de la case.largeurs: Il accepte le tableau d'entiers qui définit la largeur de la boîte.patch_artiste: ce paramètre accepte les valeurs booléennes, vraies ou fausses, et il s'agit d'un paramètre facultatif.Étiquettes: Ceci accepte les chaînes qui définissent les étiquettes pour chaque point de donnéesligne moyenne: Il accepte une valeur booléenne et est facultatif.commande: Il définit l’ordre du boxplot.amorcer: Il accepte la valeur entière, qui spécifie la plage du boxplot encoché.

Exemple 1:

Nous allons créer l'ensemble de données aléatoires du tableau numpy et créer la boîte à moustaches.

 import matplotlib.pyplot as plt import numpy as np np.random.seed(15) dataSet = np.random.normal(100, 25, 200) print(dataSet) figure = plt.figure(figsize =(10, 8)) plt.boxplot(dataSet) plt.show() 

Sortir:

Box Plot en Python en utilisant Matplotlib

Explication:

Dans le code ci-dessus, nous avons tout d'abord importé les bibliothèques numpy et matplotlib dans le code. Ensuite, nous avons créé l'ensemble de données aléatoires et tracé la boîte à moustaches à l'aide de la fonction boxplot().

comment savoir si quelqu'un vous a bloqué sur Android

Exemple 2 :

Nous pouvons créer plusieurs boîtes à moustaches simultanément dans le même fichier.

 import matplotlib.pyplot as plt import numpy as np np.random.seed(10) dataSet1 = np.random.normal(100, 10, 220) dataSet2 = np.random.normal(80, 20, 200) dataSet3 = np.random.normal(60, 35, 220) dataSet4 = np.random.normal(50, 40, 200) dataSet = [dataSet1, dataSet2, dataSet3, dataSet4] figure = plt.figure(figsize =(10, 7)) ax = figure.add_axes([0, 0, 1, 1]) bp = ax.boxplot(dataSet) plt.show() 

Sortir:

Box Plot en Python en utilisant Matplotlib

Explication:

Dans le code ci-dessus, nous avons quatre ensembles de données utilisant des méthodes aléatoires de numpy. Ensuite, nous avons créé la liste des quatre ensembles de données et utilisons cette fonction dans la fonction boxplot().

Exemple 3 :

Nous pouvons utiliser certains attributs de la fonction boxplot() pour personnaliser le tracé.

 import matplotlib.pyplot as plt import numpy as np np.random.seed(10) dataSet1 = np.random.normal(100, 10, 220) dataSet2 = np.random.normal(80, 20, 200) dataSet3 = np.random.normal(60, 35, 220) dataSet4 = np.random.normal(50, 40, 200) dataSet = [dataSet1, dataSet2, dataSet3, dataSet4] figure = plt.figure(figsize =(10, 7)) ax = figure.add_subplot(111) bp = ax.boxplot(dataSet, patch_artist = True,notch ='True', vert = 0) colors = ['#00FF00','#0F00FF', '#F00FF0','#FFFF0F'] for patch, color in zip(bp['boxes'], colors): patch.set_facecolor(color) for whisker in bp['whiskers']: whisker.set(color ='#8E008B',linewidth = 1.4,linestyle =':') for cap in bp['caps']: cap.set(color ='#8E008B',linewidth = 2.1) for median in bp['medians']: median.set(color ='blue',linewidth = 3) for flier in bp['fliers']: flier.set(marker ='D',color ='#d7298c',alpha = 0.6) ax.set_yticklabels(['dataSet1', 'dataSet2','dataSet3', 'dataSet4']) plt.title('Customized box plot using attributes') ax.get_xaxis().tick_bottom() ax.get_yaxis().tick_left() plt.show() 

Sortir:

Box Plot en Python en utilisant Matplotlib

Explication:

chaîne.format

Dans le code ci-dessus, nous avons créé les quatre ensembles de données à l'aide de fonctions aléatoires et les avons définis dans une liste. Nous avons maintenant défini les différentes couleurs pour chaque boîte à moustaches en utilisant la liste des couleurs et en utilisant la fonction set_facecolor().

Nous avons défini la largeur de ligne de chaque boîte à moustaches et également défini les étiquettes pour chaque boîte à moustaches. Nous avons défini l'attribut vert =0, ce qui signifie que tous les tracés seront en mode horizontal.