logo

Python'da Matplotlib kullanarak Kutu Grafiği

Kutu Grafiği Nedir?

Kutu grafiği, bir kutu ve bazı dikey çizgiler kullanarak verilerin dağılımını görselleştirmenin bir yoludur. Bıyık grafiği olarak bilinir. Veriler aşağıdaki gibi beş temel aralık arasında dağıtılabilir:

    Asgari: Ç1-1,5*IQR1. çeyrek(Q1): 25. yüzdelik dilimMedyan:50. yüzdelik dilim3. çeyrek(S3):75. yüzdelik dilimMaksimum: Ç3+1,5*IQR

Burada IQR temsil eder Çeyrekler arası aralık birinci çeyrekte (Q1) başlar ve üçüncü çeyrekte (Q3) biter.

Kutu Grafiği görselleştirmesi

Python'da Matplotlib kullanarak Kutu Grafiği

Kutu grafiğinde aralık dışında olan noktalara aykırı değerler denir. Aşağıdakileri belirlemek için verilerin kutu grafiğini oluşturabiliriz:

örneği
  • Bir veri kümesindeki aykırı değerlerin sayısı
  • Veriler çarpık mı değil mi?
  • Veri aralığı

Verilerin minimumdan maksimuma kadar olan aralığına bıyık sınırı denir. Python'da, herhangi bir veri kümesinin kutu grafiğini oluşturabilen boxplot() adında yerleşik bir işleve sahip olan matplotlib modülünün pyplot modülünü kullanacağız.

Sözdizimi:

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

boxplot() fonksiyonunda, veri setinin daha çekici ve şaşırtıcı bir kutu grafiğini oluşturmak için kullanılabilecek birçok özelliğe sahibiz.

    veri: Veriler çizilecek bir dizi veya dizi dizisi olmalıdır.çentik: Bu parametre yalnızca doğru veya yanlış Boole değerlerini kabul eder.Yeşil: Bu özellik bir Boolean değeri kabul eder. True olarak ayarlanırsa grafik dikey olacaktır. Aksi takdirde yatay olacaktır.konum: Kutunun konumunu tanımlayan tamsayı dizisini kabul eder.genişlikler: Kutunun genişliğini tanımlayan tamsayı dizisini kabul eder.patch_artist: Bu parametre, doğru veya yanlış Boolean değerlerini kabul eder ve bu isteğe bağlı bir parametredir.etiketler: Bu, her veri noktasının etiketlerini tanımlayan dizeleri kabul ederortalama çizgi: Bir boole değeri kabul eder ve isteğe bağlıdır.emir: Kutu grafiğinin sırasını ayarlar.önyükleme: Çentikli kutu grafiğinin aralığını belirten tamsayı değerini kabul eder.

Örnek 1:

Numpy dizisinin rastgele veri setini oluşturup kutu grafiğini oluşturacağız.

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

Çıktı:

Python'da Matplotlib kullanarak Kutu Grafiği

Açıklama:

Yukarıdaki kodda öncelikle kodun içindeki numpy ve matplotlib kütüphanelerini import ettik. Daha sonra rastgele veri kümesini oluşturduk ve boxplot() fonksiyonunu kullanarak kutu grafiğini çizdik.

Örnek2:

Aynı dosyada aynı anda birden fazla kutu grafiği oluşturabiliriz.

erkek arkadaşlar için bir şeyler
 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() 

Çıktı:

Python'da Matplotlib kullanarak Kutu Grafiği

Açıklama:

Yukarıdaki kodda, rastgele numpy yöntemlerini kullanan dört veri setimiz var. Daha sonra dört veri setinin listesini oluşturduk ve bunu boxplot() fonksiyonunun içinde kullandık.

Örnek 3:

Grafiği özelleştirmek için boxplot() fonksiyonunun bazı özelliklerini kullanabiliriz.

ankita lokhande'nin yaşı
 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() 

Çıktı:

Python'da Matplotlib kullanarak Kutu Grafiği

Açıklama:

Yukarıdaki kodda rastgele fonksiyonları kullanarak dört veri kümesini oluşturduk ve bunları bir liste halinde ayarladık. Şimdi renk listesini ve set_facecolor() fonksiyonunu kullanarak her kutu grafiği için farklı renkleri ayarladık.

Her kutu grafiğinin çizgi genişliğini ayarladık ve ayrıca her kutu grafiği için etiketleri ayarladık. vert =0 özelliğini ayarladık, bu da tüm grafiklerin yatay modda olacağı anlamına geliyor.