Data Visualization

Matplotlib’te Çoklu Histogram Oluşturma

Spread the love

Veri dağılımlarının görselleştirilmesi, etkili veri analizinin temel taşlarından biridir ve histogram grafikleri bu amaç için güçlü bir araçtır. Analistler sıklıkla iki veya daha fazla veri kümesinin dağılımlarını karşılaştırmak zorundadır. Yaygın olarak kullanılan bir Python çizim kütüphanesi olan Matplotlib, bu karşılaştırmayı gerçekleştirmek için çeşitli zarif yollar sunar. Bu makale, Matplotlib’te birden fazla histogram grafiği çizmek için üç temel yöntemi, açıklayıcı örnekler ve açıklamalarla birlikte ele almaktadır.

İçindekiler

Yöntem 1: Histogram Grafiklerinin Üst Üste Çizimi

En basit yaklaşım, histogram grafiklerini doğrudan aynı eksenlere üst üste çizmeyi içerir. Bu, şekil ve dağılımların doğrudan görsel bir karşılaştırmasını sağlar. Bununla birlikte, dağılımlar çok benzerse veya veri yoğunluğu yüksekse, bu yöntem ayrıntıların gizlenmesine yol açarak daha az etkili hale gelebilir. Bu sorunu hafifletmek için şeffaflık önemlidir.

import matplotlib.pyplot as plt
import numpy as np

# Örnek veri
data1 = np.random.randn(1000)
data2 = np.random.randn(1000) + 1  # Daha iyi görselleştirme için kaydırıldı

# Çizim
plt.hist(data1, alpha=0.5, label='Veri 1', bins=30)
plt.hist(data2, alpha=0.5, label='Veri 2', bins=30)

plt.xlabel('Değer')
plt.ylabel('Frekans')
plt.title('Üst Üste Çizilmiş Histogram Grafikleri')
plt.legend(loc='upper right')
plt.show()

Bu kod, her iki histogramın da net bir şekilde görünür olmasını sağlayan şeffaflığı kontrol etmek için alpha parametresini kullanır. Kolay tanımlama için etiketler eklenir ve bir efsane açıklığı artırır.

Yöntem 2: Yan Yana Histogram Grafikleri

Özellikle benzer dağılımları karşılaştırırken daha iyi bir netlik için, yan yana histogram grafikleri şiddetle önerilir. Matplotlib’in alt grafik işlevi bunu kolaylaştırır.

import matplotlib.pyplot as plt
import numpy as np

# Örnek veri (yukarıdakiyle aynı)
data1 = np.random.randn(1000)
data2 = np.random.randn(1000) + 1

# Yan yana çizim
fig, axes = plt.subplots(1, 2, figsize=(10, 5))

axes[0].hist(data1, bins=20)
axes[0].set_title('Veri 1')
axes[0].set_xlabel('Değer')
axes[0].set_ylabel('Frekans')

axes[1].hist(data2, bins=20)
axes[1].set_title('Veri 2')
axes[1].set_xlabel('Değer')
axes[1].set_ylabel('Frekans')

plt.tight_layout()
plt.show()

Bu kod, her biri tek bir histogram grafiğine ayrılmış iki alt grafiğe sahip bir şekil oluşturur. plt.tight_layout(), alt grafikler arasında uygun boşluk sağlar.

Yöntem 3: Histogram Görünümünün Özelleştirilmesi

Görsel ayrımı daha da geliştirmek, farklı renkler, kenar renkleri, çizgi stilleri veya hatta histogram türleri (örneğin, çubuk karşı adım) kullanılarak elde edilebilir.

import matplotlib.pyplot as plt
import numpy as np

# Örnek veri (yukarıdakiyle aynı)
data1 = np.random.randn(1000)
data2 = np.random.randn(1000) + 1

# Farklı stiller ile çizim
plt.hist(data1, bins=20, color='skyblue', edgecolor='black', label='Veri 1')
plt.hist(data2, bins=20, color='coral', edgecolor='black', alpha=0.7, label='Veri 2', histtype='step')

plt.xlabel('Değer')
plt.ylabel('Frekans')
plt.title('Farklı Stillere Sahip Histogram Grafikleri')
plt.legend()
plt.show()

Bu örnek, görsel olarak farklı histogram grafikleri oluşturmak için farklı renklerin, kenar renklerinin ve histtype parametresinin kullanımını göstermektedir. Efsane, doğru etiketleme için çok önemli olmaya devam etmektedir.

Sonuç

Matplotlib, veri dağılımlarının bilgilendirici görselleştirmelerini oluşturmak için esnek ve güçlü bir araç seti sunar. Birden fazla histogram grafiği çizmek için yöntem seçimi, verinin belirli özelliklerine ve karşılaştırmada istenen ayrıntı düzeyine büyük ölçüde bağlıdır. Üst üste binen histogram grafikleri hızlı kontroller için uygundur, oysa yan yana ve özelleştirilmiş grafikler gelişmiş netlik ve görsel etki sağlar.

SSS

  • S: Hücre sayısını nasıl ayarlarım? C: plt.hist() içindeki bins parametresini kullanın. Verilerin yapısını en iyi şekilde ortaya çıkaranı bulmak için deneme yapın.
  • S: Farklı renkler ve etiketler kullanabilir miyim? C: Kesinlikle! color ve label parametrelerini kullanın ve her zaman plt.legend() kullanarak bir efsane ekleyin.
  • S: Grafiği nasıl kaydedebilirim? C: Grafiğinizi kaydetmek için plt.savefig('dosyaadi.png') (veya benzer bir fonksiyon) kullanın. 'dosyaadi.png'‘yi tercih ettiğiniz dosya adı ve uzantısıyla değiştirin.
  • S: Histogram grafiklerim çok fazla üst üste biniyor. Ne yapabilirim? C: Yan yana histogram grafiklerini deneyin, şeffaflığı (alpha) artırın, farklı histtype seçenekleri kullanın veya ölçekler önemli ölçüde farklıysa verilerinizi normalleştirmeyi düşünün.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir