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:
Burada IQR temsil eder Çeyrekler arası aralık birinci çeyrekte (Q1) başlar ve üçüncü çeyrekte (Q3) biter.
Kutu Grafiği görselleştirmesi
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.
Ö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ı:
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ı:
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ı:
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.