A Fabuła pudełkowa jest również znany jako Fabuła wąsów jest tworzony w celu wyświetlenia podsumowania zbioru wartości danych posiadających właściwości takie jak minimum, pierwszy kwartyl, mediana, trzeci kwartyl i maksimum. Na wykresie pudełkowym tworzony jest box od pierwszego kwartyla do trzeciego kwartyla, znajduje się tam również pionowa linia przechodząca przez box przy medianie. Tutaj oś x oznacza dane, które mają zostać wykreślone, podczas gdy oś y pokazuje rozkład częstotliwości.
Tworzenie wykresu pudełkowego
Moduł matplotlib.pyplot biblioteki matplotlib udostępnia funkcję boxplot(), za pomocą której możemy tworzyć wykresy pudełkowe.
Składnia:
matplotlib.pyplot.boxplot(data, notch=Brak, vert=Brak, patch_artist=Brak, szerokości=Brak)
Parametry:
| Atrybut | Wartość |
|---|---|
| dane | tablica lub sekwencja tablicy, która ma zostać wykreślona |
| karb | parametr opcjonalny akceptuje wartości logiczne |
| Zielony | parametr opcjonalny akceptuje wartości logiczne false i true odpowiednio dla wykresu poziomego i pionowego |
| bootstrap | opcjonalny parametr Accepts int określa odstępy wokół wykresów skrzynkowych z karbem |
| media użytkowników | parametr opcjonalny akceptuje tablicę lub sekwencję wymiarów tablicy zgodną z danymi |
| pozycje | parametr opcjonalny akceptuje tablicę i ustawia położenie pól |
| szerokości | parametr opcjonalny akceptuje tablicę i ustawia szerokość pól |
| patch_artysta | opcjonalny parametr posiadający wartości logiczne |
| etykiety | sekwencja ciągów ustawia etykietę dla każdego zestawu danych |
| linia średnia | opcjonalnie mając wartość logiczną, spróbuj renderować linię średnią jako pełną szerokość ramki |
| zamówienie | parametr opcjonalny ustawia kolejność wykresu pudełkowego |
Wartości danych przekazywane metodzie ax.boxplot() mogą być tablicą Numpy, listą Pythona lub krotką tablic. Utwórzmy wykres pudełkowy za pomocą funkcji numpy.random.normal() w celu utworzenia losowych danych, których argumentami będą średnia, odchylenie standardowe i żądana liczba wartości.
plik zmiany Linuksa
Przykład:
Python3
# Import libraries> import> matplotlib.pyplot as plt> import> numpy as np> # Creating dataset> np.random.seed(>10>)> data>=> np.random.normal(>100>,>20>,>200>)> fig>=> plt.figure(figsize>=>(>10>,>7>))> # Creating plot> plt.boxplot(data)> # show plot> plt.show()> |
>
>
Wyjście:

Dostosowywanie wykresu pudełkowego
Funkcja matplotlib.pyplot.boxplot() zapewnia nieograniczone możliwości dostosowywania wykresu pudełkowego. Atrybut notch = True tworzy format wcięcia na wykresie pudełkowym, patch_artist = True wypełnia wykres pudełkowy kolorami, możemy ustawić różne kolory dla różnych prostokątów. Atrybut vert = 0 tworzy poziomy wykres pudełkowy. etykiety mają takie same wymiary jak zbiory danych liczbowych.
Przykład 1:
Python3
# Import libraries> import> matplotlib.pyplot as plt> import> numpy as np> # Creating dataset> np.random.seed(>10>)> data_1>=> np.random.normal(>100>,>10>,>200>)> data_2>=> np.random.normal(>90>,>20>,>200>)> data_3>=> np.random.normal(>80>,>30>,>200>)> data_4>=> np.random.normal(>70>,>40>,>200>)> data>=> [data_1, data_2, data_3, data_4]> fig>=> plt.figure(figsize>=>(>10>,>7>))> # Creating axes instance> ax>=> fig.add_axes([>0>,>0>,>1>,>1>])> # Creating plot> bp>=> ax.boxplot(data)> # show plot> plt.show()> |
>
>
Wyjście:

Przykład 2: Spróbujmy zmodyfikować powyższy wykres za pomocą niektórych dostosowań:
Python3
program do dziedziczenia w Pythonie
# Import libraries> import> matplotlib.pyplot as plt> import> numpy as np> # Creating dataset> np.random.seed(>10>)> data_1>=> np.random.normal(>100>,>10>,>200>)> data_2>=> np.random.normal(>90>,>20>,>200>)> data_3>=> np.random.normal(>80>,>30>,>200>)> data_4>=> np.random.normal(>70>,>40>,>200>)> data>=> [data_1, data_2, data_3, data_4]> fig>=> plt.figure(figsize>=>(>10>,>7>))> ax>=> fig.add_subplot(>111>)> # Creating axes instance> bp>=> ax.boxplot(data, patch_artist>=> True>,> >notch>=>'True'>, vert>=> 0>)> colors>=> [>'#0000FF'>,>'#00FF00'>,> >'#FFFF00'>,>'#FF00FF'>]> for> patch, color>in> zip>(bp[>'boxes'>], colors):> >patch.set_facecolor(color)> # changing color and linewidth of> # whiskers> for> whisker>in> bp[>'whiskers'>]:> >whisker.>set>(color>=>'#8B008B'>,> >linewidth>=> 1.5>,> >linestyle>=>':'>)> # changing color and linewidth of> # caps> for> cap>in> bp[>'caps'>]:> >cap.>set>(color>=>'#8B008B'>,> >linewidth>=> 2>)> # changing color and linewidth of> # medians> for> median>in> bp[>'medians'>]:> >median.>set>(color>=>'red'>,> >linewidth>=> 3>)> # changing style of fliers> for> flier>in> bp[>'fliers'>]:> >flier.>set>(marker>=>'D'>,> >color>=>'#e7298a'>,> >alpha>=> 0.5>)> > # x-axis labels> ax.set_yticklabels([>'data_1'>,>'data_2'>,> >'data_3'>,>'data_4'>])> # Adding title> plt.title(>'Customized box plot'>)> # Removing top axes and right axes> # ticks> ax.get_xaxis().tick_bottom()> ax.get_yaxis().tick_left()> > # show plot> plt.show()> |
>
>
Wyjście:
