En Basit Haliyle Python Matplotlib Kütüphanesi – Veri Görselleştirme

Merhabalar! Bu yazıda Python’da veri görselleştirmek için kullanılan Matplotlib kütüphanesini kısaca anlatacağım. Görselleştirme için iris veri setini kullanacağım. İyi okumalar.

Veri görselleştirme, bilgi ve verilerin grafiksel bir temsilidir. Grafikler ve haritalar gibi görsel öğeleri kullanan veri görselleştirme araçları, verilerdeki eğilimleri, aykırı değerleri ve kalıpları görmek ve anlamak için erişilebilir bir yol sağlar. Büyük Veri ve Veri Bilimi dünyasında, büyük miktarda bilgiyi analiz etmek ve veriye dayalı kararlar vermek için veri görselleştirme araçları ve teknolojileri kullanılır. Matplotlib, Python’da statik, animasyonlu ve etkileşimli görselleştirmeler oluşturmak için kapsamlı bir kütüphanedir.

İris veri seti, her biri 50 türden oluşan 3 sınıf içerir, burada her sınıf bir tür iris bitkisine karşılık gelir.

Öznitelik Bilgileri:

  • sepal length (cm) — Çanak yaprağı uzunluğu
  • sepal width (cm) — Çanak yaprağı genişliği
  • petal length (cm) — Taç yaprağı uzunluğu
  • petal width (cm) — Taç yaprağı genişliği
  • Türler: Setosa, Versicolour, Virginica

Öncelikle veri setimizi okuyalım ve üç farklı türü veri setimizin içinden alıp kendi isimlerinde bir değişken oluşturalım.


import pandas as pd # Veri setimizi okumak için pandas kütüphanesini çağırıyoruz
df = pd.read_csv("Iris.csv") # Veri setimizi okuyoruz
print(df.info()) # Veri setimizin detaylarını öğrenelim
iris_setosa = df[df.Species == "Iris-setosa"] # Üç farklı türü görselleştirmek için kendi isimlerine tanımlıyoruz
iris_versicolor = df[df.Species == "Iris-versicolor"]
iris_virginica = df[df.Species == "Iris-virginica"]
Image for post
print(df.info())

Görüldüğü gibi veri setimiz 150 örnekten ve 6 tane sütundan oluşuyor. Öz niteliklerin veri tipleri float, integer ve string. Belleğimizden 7.2 KByte alan kullanılmış. Şimdi Veri setimizi kullanarak görselleştirmelerimizi yapalım.

1- Line Plot

Line plot, bir sayı çizgisi boyunca veri sıklığını gösteren bir grafiktir.

# Line Plot
import matplotlib.pyplot as plt # Veri Görselleştirme kütüphanemizi çağıralım
df1 = df.drop(["Id"],axis=1) # Id sütununu veri setimizden atıp df1 olarak kaydedelim
plt.plot(iris_setosa.Id,iris_setosa.PetalLengthCm,color="red",label= "Iris Setosa") # Setosa Id vs. Taç yaprak uzunluğu, kırmızı renk ve Iris Setosa etiket ismi
plt.plot(iris_versicolor.Id,iris_versicolor.PetalLengthCm,color="green",label= "Iris Versicolor") # Versicolor Id vs. Taç yaprak uzunluğu, yeşil renk ve Iris Versicolor etiket ismi
plt.plot(iris_virginica.Id,iris_virginica.PetalLengthCm,color="blue",label= "Iris Virginica") # Virginica Id vs. Taç yaprak uzunluğu, mavi renk ve Iris Virginica etiket ismi
plt.legend() # Etiketleri gösterir
plt.title("ID of Species versus Petal Length") # Grafik Başlığı
plt.xlabel("Id") # x ekseni ismi
plt.ylabel("PetalLengthCm") # y ekseni ismi
plt.show() # Grafiği gösterir
Image for post
Line Plot

Eğer grafiğimize ızgara eklemek istiyorsak grid argümanını True yapmamız gerekiyor. alpha argümanı ile ise grafik çizgimizin netliğini ayarlayabiliriz.

df1.plot(grid=True,alpha= 0.9)
plt.show()
Image for post
grid = True ve alpha = 0.9
Image for post
grid = True ve alpha = 0.3

2- Scatter Plot

Scatter plot, iki farklı sayısal değişken için değerleri temsil etmek üzere noktalar kullanan grafiktir.

# Scatter plot
plt.scatter(iris_setosa.PetalLengthCm,iris_setosa.PetalWidthCm,color="red",label="iris_setosa") # # Setosa Id vs. Taç yaprak uzunluğu, kırmızı renk ve Iris Setosa etiket ismi
plt.scatter(iris_versicolor.PetalLengthCm,iris_versicolor.PetalWidthCm,color="orange",label="iris_versicolor") # Versicolor Id vs. Taç yaprak uzunluğu, yeşil renk ve Iris Versicolor etiket ismi
plt.scatter(iris_virginica.PetalLengthCm,iris_virginica.PetalWidthCm,color="darkblue",label="iris_virginica") # # Virginica Id vs. Taç yaprak uzunluğu, mavi renk ve Iris Virginica etiket ismi
plt.legend() # Etiketleri gösterir
plt.xlabel("Petal Length (cm)") # x ekseni ismi
plt.ylabel("Petal Width (cm)") # y ekseni ismi
plt.title("Scatter Plot") # Grafik Başlığı
plt.show() # Grafiği gösterir
Image for post
Scatter Plot

3- Histogram

Histogram, gruplandırılmış bir veri dağılımının sütun grafiğiyle gösterimidir.

# Histogram Plot
plt.hist(iris_setosa.PetalLengthCm,bins= 20) # Setosa türünün taç yaprak uzunluğunun frekansını gösterelim
plt.xlabel("PetalLength (cm)")
plt.ylabel("Frequency")
plt.title("Histogram")
plt.show()
Image for post
Histogram

4- Bar Plot

Bar plot, kategorik verileri temsil ettikleri değerlerle orantılı yükseklik veya uzunluktaki dikdörtgen çubuklarla ifade eden bir grafiktir. Çubuklar dikey veya yatay olarak çizilebilir. Bu grafiği elde etmek için Numpy kütüphanesinden yararlanacağız. Numpy Python ile bilimsel hesaplama için kullanılan bir kütüphanedir.

import numpy as np # array oluşturmak için numpy kürüphanesini çağırıyoruz
x = np.array([1,2,3,4,5,6,7]) # x adında array oluşturuyoruz (vektör)
a = ["a","b","c","d","e","f","g"] # Grafikteki kategorik değişken
y = (x*5+4)/2 # Orantı
plt.bar(a,y) # Bar plot
plt.title("Bar Plot")
plt.xlabel("x")
plt.ylabel("y")
plt.show()
Image for post
Bar Plot

5- Subplotlar

Subplot, alt grafiklerin tek bir grafikte gösterilmesini sağlar. Bu özelliği aktif etmek için subplot argümanını True yapmamız gerek.

# Subplots
df1.plot(grid=True,alpha= 0.9,subplots = True)
plt.show()
Image for post
Subplot

Subplot oluşturmanın bir başka metoduda ‘plt.subplot()’ metodunu çağırmaktır.

# Diğer metot
plt.subplot(2,1,1) # 2 Satır 1 sütunluk subplotun 1. grafiğini çizdir
plt.plot(iris_setosa.Id,iris_setosa.PetalLengthCm,color="red",label= "Iris Setosa")
plt.ylabel("Setosa - P.L. (cm)")
plt.subplot(2,1,2) # 2 Satır 1 sütunluk subplotun 2. grafiğini çizdir
plt.plot(iris_versicolor.Id,iris_versicolor.PetalLengthCm,color="green",label= "Iris Versicolor")
plt.ylabel("Versicolor - P.L. (cm)")
plt.show()
Image for post
Subplot 2

Bu yazımda en basit haliyle Python Matplotlib kütüphanesinin kullanımını ele aldım. Vakit ayırıp okuduğunuz için teşekkür ederim.

Kaynak: Link

Yorum bırakın