logo

Wykres pudełkowy w Pythonie przy użyciu Matplotlib

Co to jest fabuła pudełkowa?

Wykres pudełkowy to sposób na wizualizację rozkładu danych przy użyciu prostokąta i kilku pionowych linii. Nazywa się to fabułą wąsów. Dane można rozłożyć na pięć kluczowych zakresów, które są następujące:

    Minimum: Q1-1,5*IQR1. kwartyl(Q1): 25 percentylMediana:50 percentylTrzeci kwartał(Q3): 75. percentylMaksymalny: Q3+1,5*IQR

Tutaj IQR reprezentuje Zakres międzykwartylowy który zaczyna się od pierwszego kwartyla (Q1) i kończy na trzecim kwartylu (Q3).

Wizualizacja wykresu pudełkowego

Wykres pudełkowy w Pythonie przy użyciu Matplotlib

Na wykresie pudełkowym punkty znajdujące się poza zakresem nazywane są punktami odstającymi. Możemy utworzyć wykres pudełkowy danych, aby określić następujące elementy:

  • Liczba wartości odstających w zbiorze danych
  • Czy dane są wypaczone, czy nie
  • Zakres danych

Zakres danych od minimum do maksimum nazywany jest granicą wąsów. W Pythonie użyjemy modułu pyplot modułu matplotlib, który ma wbudowaną funkcję o nazwie boxplot(), która może utworzyć wykres pudełkowy dowolnego zbioru danych.

Składnia:

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

W funkcji boxplot() mamy wiele atrybutów, które można wykorzystać do stworzenia bardziej atrakcyjnego i niesamowitego wykresu pudełkowego zbioru danych.

    dane: Dane powinny być tablicą lub sekwencją tablic, które zostaną wykreślone.karb: Ten parametr akceptuje tylko wartości logiczne, prawdę lub fałsz.Zielony: Ten atrybut akceptuje wartość logiczną. Jeśli jest ustawiona na true, wykres będzie pionowy. W przeciwnym razie będzie poziomo.pozycja: Akceptuje tablicę liczb całkowitych, która definiuje położenie pudełka.szerokości: Akceptuje tablicę liczb całkowitych, która definiuje szerokość pudełka.patch_artysta: ten parametr akceptuje wartości logiczne, prawdę lub fałsz, i jest to parametr opcjonalny.etykiety: Akceptuje ciągi definiujące etykiety dla każdego punktu danychlinia średnia: Akceptuje wartość logiczną i jest opcjonalna.zamówienie: Ustawia kolejność wykresu pudełkowego.bootstrap: Akceptuje wartość całkowitą, która określa zakres wykresu skrzynkowego z karbem.

Przykład 1:

Stworzymy losowy zestaw danych tablicy numpy i utworzymy wykres pudełkowy.

 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() 

Wyjście:

Wykres pudełkowy w Pythonie przy użyciu Matplotlib

Wyjaśnienie:

W powyższym kodzie przede wszystkim zaimportowaliśmy biblioteki numpy i matplotlib. Następnie utworzyliśmy losowy zbiór danych i wykreśliliśmy wykres pudełkowy za pomocą funkcji boxplot().

plik zmiany Linuksa

Przykład 2:

Możemy jednocześnie utworzyć wiele wykresów pudełkowych w tym samym pliku.

 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() 

Wyjście:

Wykres pudełkowy w Pythonie przy użyciu Matplotlib

Wyjaśnienie:

W powyższym kodzie mamy cztery zestawy danych wykorzystujące losowe metody numpy. Następnie utworzyliśmy listę czterech zestawów danych i użyliśmy tej wewnętrznej funkcji boxplot().

Przykład 3:

Możemy użyć niektórych atrybutów funkcji boxplot(), aby dostosować wykres.

 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() 

Wyjście:

Wykres pudełkowy w Pythonie przy użyciu Matplotlib

Wyjaśnienie:

program do dziedziczenia w Pythonie

W powyższym kodzie utworzyliśmy cztery zbiory danych przy użyciu funkcji losowych i umieściliśmy je na liście. Teraz ustawiliśmy różne kolory dla każdego wykresu pudełkowego, korzystając z listy kolorów i funkcji set_facecolor().

Ustawiliśmy szerokość linii każdego wykresu pudełkowego, a także ustawiliśmy etykiety dla każdego wykresu pudełkowego. Ustawiliśmy atrybut vert =0, co oznacza, że ​​wszystkie wykresy będą w trybie poziomym.