top of page

Seaborn ile Veri Görselleştirme



Hands-on Mentor Kapsamlı Blog İçeriği
Hands-on Mentor Tutorials


Seaborn Nedir?

Seaborn, Matplotlib üzerine inşa edilmiş, daha yüksek seviyeli bir veri görselleştirme kütüphanesidir. Estetik açıdan daha hoş ve karmaşık grafikler oluşturmayı kolaylaştırır. Özellikle istatistiksel grafikler ve kategorik veri görselleştirme konusunda güçlü araçlar sunar.


Seaborn'un Kurulumu

Seaborn kütüphanesini kullanabilmek için öncelikle Python ortamınıza kurmanız gerekmektedir. Kurulum için aşağıdaki komutu kullanabilirsiniz:


pip install seaborn


Seaborn ile İlk Grafik

Seaborn ile basit bir çizgi grafiği oluşturalım. Aşağıdaki örnek, seaborn.lineplot fonksiyonunu kullanarak bir çizgi grafiği nasıl oluşturabileceğinizi göstermektedir.


import seaborn as sns
import matplotlib.pyplot as plt

# Verileri tanımlama
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

# Grafik oluşturma
sns.lineplot(x=x, y=y)
plt.title('Basit Çizgi Grafiği')
plt.xlabel('X Ekseni')
plt.ylabel('Y Ekseni')
plt.show()

Açıklama:

  • import seaborn as sns ile Seaborn kütüphanesini içe aktarıyoruz.

  • sns.lineplot(x=x, y=y) ile x ve y verilerini kullanarak bir çizgi grafiği oluşturuyoruz.

  • plt.title, plt.xlabel, plt.ylabel ve plt.show fonksiyonları ile Matplotlib ile benzer şekilde grafik başlığı, eksen etiketleri ekliyor ve grafiği görüntülüyoruz.


Temel Grafik Türleri


Çizgi Grafiği (Line Plot)

Çizgi grafikleri, verilerin zaman içindeki değişimini göstermek için kullanılır. Aşağıda Seaborn ile basit bir çizgi grafiği örneği verilmiştir.


import seaborn as sns
import matplotlib.pyplot as plt

# Verileri tanımlama
x = [0, 1, 2, 3, 4]
y = [0, 1, 4, 9, 16]

# Grafik oluşturma
sns.lineplot(x=x, y=y, marker='o')
plt.title('Çizgi Grafiği')
plt.xlabel('X Ekseni')
plt.ylabel('Y Ekseni')
plt.grid(True)
plt.show()

Açıklama:

  • sns.lineplot(x=x, y=y, marker='o') ile veri noktalarını göstermek için işaretçiler ekliyoruz.


Çubuk Grafiği (Bar Plot)

Çubuk grafikleri, kategorik verileri karşılaştırmak için kullanılır. Aşağıda Seaborn ile basit bir çubuk grafiği örneği verilmiştir.


import seaborn as sns
import matplotlib.pyplot as plt

# Verileri tanımlama
categories = ['A', 'B', 'C', 'D', 'E']
values = [5, 7, 3, 8, 4]

# Grafik oluşturma
sns.barplot(x=categories, y=values, palette='pastel')
plt.title('Çubuk Grafiği')
plt.xlabel('Kategori')
plt.ylabel('Değer')
plt.show()

Açıklama:

  • sns.barplot(x=categories, y=values, palette='pastel') ile kategorilere göre çubuklar oluşturuyoruz ve pastel renk paleti kullanıyoruz.


Histogram (Histogram)

Histogramlar, verilerin dağılımını göstermek için kullanılır. Aşağıda Seaborn ile basit bir histogram örneği verilmiştir.


import seaborn as sns
import matplotlib.pyplot as plt

# Verileri tanımlama
data = np.random.randn(1000)

# Grafik oluşturma
sns.histplot(data, bins=30, color='purple', kde=True)
plt.title('Histogram')
plt.xlabel('Değer')
plt.ylabel('Frekans')
plt.show()

Açıklama:

  • sns.histplot(data, bins=30, color='purple', kde=True) ile histogram oluşturuyoruz ve 30 binlik kullanıyoruz, ayrıca kernel density estimate (kde) ekliyoruz.


Dağılım Grafiği (Scatter Plot)

Dağılım grafikleri, iki değişken arasındaki ilişkiyi göstermek için kullanılır. Aşağıda Seaborn ile basit bir dağılım grafiği örneği verilmiştir.


import seaborn as sns
import matplotlib.pyplot as plt

# Verileri tanımlama
x = [1, 2, 3, 4, 5]
y = [2, 3, 4, 6, 7]

# Grafik oluşturma
sns.scatterplot(x=x, y=y, color='red')
plt.title('Dağılım Grafiği')
plt.xlabel('X Ekseni')
plt.ylabel('Y Ekseni')
plt.show()

Açıklama:

  • sns.scatterplot(x=x, y=y, color='red') ile x ve y verilerini kullanarak dağılım grafiği oluşturuyoruz ve renk belirliyoruz.


Kutu Grafiği (Box Plot)

Kutu grafikleri, verilerin dağılımını ve özet istatistiklerini göstermek için kullanılır. Aşağıda Seaborn ile basit bir kutu grafiği örneği verilmiştir.


import seaborn as sns
import matplotlib.pyplot as plt

# Verileri tanımlama
data = np.random.randn(100)

# Grafik oluşturma
sns.boxplot(data=data, color='cyan')
plt.title('Kutu Grafiği')
plt.xlabel('Değer')
plt.show()

Açıklama:

  • sns.boxplot(data=data, color='cyan') ile kutu grafiği oluşturuyoruz ve rengi belirliyoruz.


Isı Haritası (Heatmap)

Isı haritaları, verilerin yoğunluğunu görselleştirmek için kullanılır. Aşağıda Seaborn ile basit bir ısı haritası örneği verilmiştir.


import seaborn as sns
import matplotlib.pyplot as plt

# Verileri tanımlama
data = np.random.rand(10, 12)

# Grafik oluşturma
sns.heatmap(data, cmap='viridis')
plt.title('Isı Haritası')
plt.show()

Açıklama:

  • sns.heatmap(data, cmap='viridis') ile ısı haritası oluşturuyoruz ve renk paleti olarak 'viridis' kullanıyoruz.


Kategorik Veri Görselleştirme


Sayısal ve Kategorik Değişkenler

Kategorik veriler ile sayısal verilerin birlikte görselleştirilmesi, veri analizinde sıkça karşılaşılan bir durumdur. Seaborn, bu tür verileri görselleştirmek için çeşitli grafik türleri sunar.


Çubuk Grafiği (Bar Plot)

Kategorik verilerin sayısal verilerle görselleştirilmesi için çubuk grafikleri kullanılır.


import seaborn as sns
import matplotlib.pyplot as plt

# Verileri tanımlama
categories = ['A', 'B', 'C', 'D', 'E']
values = [5, 7, 3, 8, 4]

# Grafik oluşturma
sns.barplot(x=categories, y=values, palette='pastel')
plt.title('Kategorik Veri Çubuk Grafiği')
plt.xlabel('Kategori')
plt.ylabel('Değer')
plt.show()

Açıklama:

  • sns.barplot(x=categories, y=values, palette='pastel') ile kategorilere göre çubuk grafiği oluşturuyoruz.


Sayısal ve Kategorik Dağılımlar

Kategorik ve sayısal verilerin dağılımlarını göstermek için kutu grafikleri kullanılır.


import seaborn as sns
import matplotlib.pyplot as plt

# Verileri tanımlama
categories = ['A', 'B', 'C', 'D']
data = np.random.randn(100, 4)

# Grafik oluşturma
sns.boxplot(data=data, palette='pastel')
plt.title('Kategorik Veri Dağılımı')
plt.xlabel('Kategori')
plt.ylabel('Değer')
plt.xticks(ticks=[0, 1, 2, 3], labels=categories)
plt.show()

Açıklama:

  • sns.boxplot(data=data, palette='pastel') ile kategorik verilerin dağılımını gösteren kutu grafikleri oluşturuyoruz.


Grafik Özelleştirmeleri


Stil ve Renk Paletleri

Seaborn, grafiklerin estetik açıdan daha hoş görünmesi için çeşitli stil ve renk paletleri sunar.


import seaborn as sns
import matplotlib.pyplot as plt

# Seaborn stili ayarlama
sns.set(style="whitegrid")

# Verileri tanımlama
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

# Grafik oluşturma
sns.lineplot(x=x, y=y, marker='o', color='b')
plt.title('Stil ve Renk Paletleri')
plt.xlabel('X Ekseni')
plt.ylabel('Y Ekseni')
plt.show()

Açıklama:

  • sns.set(style="whitegrid") ile Seaborn stilini ayarlıyoruz.

  • sns.lineplot(x=x, y=y, marker='o', color='b') ile çizgi grafiği oluşturuyoruz ve renk belirliyoruz.


Grafik Estetiği

Grafiklerin estetik açıdan daha hoş görünmesi için çeşitli Seaborn ayarları yapabilirsiniz.


import seaborn as sns
import matplotlib.pyplot as plt

# Seaborn estetik ayarları
sns.set(style="darkgrid", palette="muted")

# Verileri tanımlama
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

# Grafik oluşturma
sns.lineplot(x=x, y=y, marker='o')
plt.title('Grafik Estetiği')
plt.xlabel('X Ekseni')
plt.ylabel('Y Ekseni')
plt.show()

Açıklama:

  • sns.set(style="darkgrid", palette="muted") ile Seaborn estetik ayarlarını yapıyoruz.


Veri Görselleştirme İpuçları

Veri görselleştirmenin etkinliğini artırmak için bazı ipuçları:

  1. Renk ve Stil Kullanımı:

  • Grafiklerde anlamlı renkler ve stiller kullanarak verilerinizi daha anlaşılır hale getirin.

  1. Grafik Özelleştirmeleri:

  • Başlıklar, eksen etiketleri ve efsaneler ekleyerek grafikleri daha bilgilendirici hale getirin.

  1. Doğru Grafik Türünü Seçme:

  • Veri türünüze ve analiz amacınıza uygun grafik türlerini kullanın.

  1. Veri Etiği:

  • Grafiklerde doğru ve dürüst veri sunumu yapın, yanıltıcı görselleştirmelerden kaçının.


Bu bölümde, Seaborn ile veri görselleştirme konusunu detaylı bir şekilde ele aldık. Temel grafik türlerinden, grafik özelleştirmelerine kadar birçok konuyu işledik. Bir sonraki bölümde, Matplotlib ve Seaborn ile ileri düzey görselleştirmeler ve özelleştirmeleri inceleyeceğiz.



 

Python temellerini atıp, veri analizi ve bilimi için yetkinlik kazanmak istiyorsanız, 1 aylık yoğun Python kampına hemen kayıt olabilirsiniz. ~40 saat canlı ders, ~50 adet kapsamlı proje, ~15 adet quiz ve sayısız kodlama egzersizinden oluşan, Finlandiya eğitim modellerinden esinlenilerek Helsinki'de geliştirilen interaktif ve pratik odaklı eğitim programına hemen göz atın !




bottom of page