Histogram, Matplotlib kütüphanesi içerisinde bulunan ve veri kümesindeki frekans değerini gösteren grafiklerdir. Grafik iki farklı eksenden (x ve y) oluşur ve genellikle x ekseninde veri setinin birim değerleri,y ekseninde ise frekansını gösterilir.
Kullanılabilmesi için "matplotlib.pyplot" kütüphanesinin içe aktarılması gerekmektedir.
import matplotlib.pyplot as plt
Söz dizimi: hist (x, bins=None, range=None, density=False, weights=None, cumulative=False, bottom=None, histtype='bar', align='mid', orientation='vertical', rwidth=None, log=False, color=None, label=None, stacked=False, *, data=None, **kwargs).
- x, veri setini temsil etmektedir.
- bins, veri setinin kaç parça halinde grafikte gösterileceğini gösterir. Tam sayı değerler alır.
- range,x eksendeki değerlerin [min,max] aralığını belirler.
- histtype,histogram çubuklarının nasıl görüneceğini belirler. 'bar', 'barstacked', 'step', 'stepfilled' olmak üzere 4 tanedir, default olarak bar bulunmaktadır.
- align,histogram çubuklarının yatay olarak hizalanmasını sağlar."left","right","mid" olmak üzere 3 tanedir, default olarak mid bulunmaktadır.
- orientation, histogram çubuklarının yatay veya dikey olarak görüntülenmesini sağlar. "vertical","horizontal" olmak üzere 2 tanedir, default olarak vertical bulunmaktadır.
- color, histogram çubuklarının rengini ifade eder. İki şekilde de (c veya color) yazılabilir. Çizimi yapılabilecek renkler blue, green, red, cyan, magenta, yellow, black, white'dır. Bu renklerin sadece baş harfleri de kullanılabilir.
- label, histogram çubuklarının açıklamalarıdır.
- data, x sütununun bağlı olduğu DataFrame'yi temsil etmektedir.(Örn: data=df) .
Bir grafiğin nasıl elde edileceği bilgisi aşağıdaki örnekler içersinde detaylandırılarak anlatılmıştır.
Örnek-1: Rastgele olarak bir tane değişken oluşturalım ve bu değişken değerlerini görselleştirelim.
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
#Değişken ataması yapıldı
x = np.random.normal(170, 10, 250) #ortalaması 170, standart sapması 10, 250 tane data
print(f"x değişkeni ilk 40 değeri:{x[0:40]}")
Çıktı:
x değişkeni ilk 40 değeri:[169.55993479 160.03939453 168.18329696 175.50609762 180.95995242 175.08890758 148.582796 172.96758703 162.64040544 152.14109852 164.27957041 166.91355668 175.91853436 170.24993052 174.28802267 164.33479893 168.86928121 166.37276445 173.36332721 161.09440067 179.66834786 179.7412282 160.08562492 171.22274052 165.06123539 169.04475802 188.24437252 175.65860989 164.87051202 169.72106838 166.48175423 176.43282651 161.79725261 182.56937753 173.66783457 169.54972939 172.91843837 173.00192763 181.22998459 165.18912956]
Değişken ataması yapıldığı için artık görselleştirme aşamasına geçilebilir. Görselleştirme aşamasında Figure ve Axes konusunda görülen yapının aynısı kullanılacak olup sadece ilgili grafik çizme yöntemi ne ise (burada Histogram) ilgili eksene yerleştirilecektir.
plt.figure(figsize=(8,4))
plt.hist(x,
bins=None,
range=[170, 175],
histtype="bar",
align="mid",
orientation="vertical",
color="red",
label="x çubukları")
plt.title("X değerlerinin frekansı")
plt.xlabel('X sutünu')
plt.ylabel('Frekans')
plt.savefig("resim1.png",dpi=128)
Çıktı:
Örnek-2: Rastgele olarak bir tane değişken oluşturalım ve bu değişken değerlerini görselleştirelim.
#Kütüphaneler import edildi
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
#Değişken atama işlemleri yapıldı
x = np.random.normal(20, 2, 100) #ortalaması 170, standart sapması 10, 250 tane data
#Görselleştirme işlemi yapıldı
plt.figure(figsize=(8,4))
plt.hist(x,histtype="bar",orientation="horizontal",color="y",)
plt.title("X değerlerinin frekansı")
plt.xlabel('Frekans')
plt.ylabel('X sutünu')
plt.savefig("resim2.png",dpi=128)
Çıktı: