Hvad er Box Plot?
Et boksplot er en måde at visualisere fordelingen af data ved at bruge en boks og nogle lodrette linjer. Det er kendt som whisker plot. Dataene kan fordeles mellem fem nøgleområder, som er som følger:
Her repræsenterer IQR InterQuartil Range som starter fra første kvartil (Q1) og slutter ved tredje kvartil (Q3).
Box Plot visualisering
I boksplottet kaldes de punkter, der er uden for rækkevidde, for outliers. Vi kan oprette boksplot af dataene for at bestemme følgende:
- Antallet af outliers i et datasæt
- Er dataene skæve eller ej
- Rækkevidden af data
Dataintervallet fra minimum til maksimum kaldes whisker-grænsen. I Python vil vi bruge matplotlib-modulets pyplot-modul, som har en indbygget funktion ved navn boxplot(), som kan skabe boxplot af ethvert datasæt.
hashset vs hashmap
Syntaks:
matplotlib.pyplot.boxplot(data,notch=none,vert=none,patch_artist,widths=none)
I funktionen boxplot() har vi en masse attributter, som kan bruges til at skabe et mere attraktivt og fantastisk boksplot af datasættet.
Eksempel 1:
Vi vil oprette det tilfældige datasæt for numpy-arrayet og oprette boksplotten.
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()
Produktion:
Forklaring:
I ovenstående kode har vi først og fremmest importeret bibliotekerne numpy og matplotlib i koden. Derefter oprettede vi det tilfældige datasæt og plottede boxplotten ved hjælp af boxplot()-funktionen.
Eksempel 2:
Vi kan oprette flere boksplot samtidigt i den samme fil.
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()
Produktion:
Forklaring:
java array sortering
I ovenstående kode har vi fire datasæt ved hjælp af tilfældige metoder til numpy. Så har vi lavet listen over de fire datasæt og bruger denne inside boxplot() funktion.
Eksempel 3:
Vi kan bruge nogle attributter af funktionen boxplot() til at tilpasse plottet.
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()
Produktion:
hvordan man initialiserer et array i java
Forklaring:
I ovenstående kode har vi oprettet de fire datasæt ved hjælp af tilfældige funktioner og sat dem i en liste. Nu har vi indstillet de forskellige farver for hvert boksplot ved hjælp af listen over farver og ved hjælp af funktionen set_facecolor().
Vi har indstillet linjebredden for hvert kasseplot og også sat etiketterne for hvert kasseplot. Vi har sat attributten vert =0, hvilket betyder, at alle plots vil være i vandret tilstand.