Was ist Boxplot?
Ein Boxplot ist eine Möglichkeit, die Verteilung der Daten mithilfe einer Box und einiger vertikaler Linien zu visualisieren. Es ist als Whisker-Plot bekannt. Die Daten können auf fünf Schlüsselbereiche verteilt werden, die wie folgt lauten:
if else-Anweisung Java
Hier repräsentiert IQR das InterQuartilbereich die beim ersten Quartil (Q1) beginnt und beim dritten Quartil (Q3) endet.
Boxplot-Visualisierung
Im Boxplot werden die Punkte, die außerhalb des Bereichs liegen, als Ausreißer bezeichnet. Wir können das Boxplot der Daten erstellen, um Folgendes zu bestimmen:
- Die Anzahl der Ausreißer in einem Datensatz
- Sind die Daten verzerrt oder nicht?
- Der Bereich der Daten
Der Bereich der Daten vom Minimum bis zum Maximum wird als Whisker-Grenze bezeichnet. In Python verwenden wir das Pyplot-Modul des Matplotlib-Moduls, das über eine integrierte Funktion namens boxplot() verfügt, die den Boxplot eines beliebigen Datensatzes erstellen kann.
Syntax:
matplotlib.pyplot.boxplot(data,notch=none,vert=none,patch_artist,widths=none)
In der Funktion boxplot() verfügen wir über viele Attribute, die verwendet werden können, um einen attraktiveren und beeindruckenderen Boxplot des Datensatzes zu erstellen.
Beispiel 1:
Wir erstellen den Zufallsdatensatz des Numpy-Arrays und erstellen das Boxplot.
Python-Chr-Funktion
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()
Ausgabe:
Erläuterung:
Im obigen Code haben wir zunächst die Bibliotheken Numpy und Matplotlib in den Code importiert. Dann haben wir den Zufallsdatensatz erstellt und den Boxplot mit der Funktion boxplot() geplottet.
Beispiel2:
Wir können mehrere Boxplots gleichzeitig in derselben Datei erstellen.
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()
Ausgabe:
Erläuterung:
Füße gegen Fuß
Im obigen Code haben wir vier Datensätze, die Zufallsmethoden von Numpy verwenden. Dann haben wir die Liste der vier Datensätze erstellt und verwenden diese innerhalb der boxplot()-Funktion.
Stringlänge Java
Beispiel 3:
Wir können einige Attribute der boxplot()-Funktion verwenden, um den Plot anzupassen.
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()
Ausgabe:
Erläuterung:
Im obigen Code haben wir die vier Datensätze mithilfe von Zufallsfunktionen erstellt und in einer Liste zusammengefasst. Jetzt haben wir die verschiedenen Farben für jeden Boxplot mithilfe der Farbliste und der Funktion set_facecolor() festgelegt.
Wir haben die Linienbreite jedes Boxplots festgelegt und auch die Beschriftungen für jeden Boxplot festgelegt. Wir haben das Attribut vert =0 gesetzt, was bedeutet, dass alle Diagramme im horizontalen Modus vorliegen.