logo

Wykres pudełkowy w Pythonie przy użyciu Matplotlib

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:

box-plot-python

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:

box-plot-python

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:

box-plot-python