Veri Görselleştirmesi - Matplotlib

Figure ve Axes

Yayın tarihi :28-Mar-22
Bölüm kodlarını ve/veya veri setlerini indir.

Grafik çizim işlemleri yaparken bilinmesi gereken 2 önemli kavram bulunamktadır. Bunlar;

  • Figure, tüm çizim öğelerini kapsayan alandır.
  • Axes, çizim içerisindeki resimleri temsil etmektedir.

1.Figure (Figür/Şekil): Yukarıdaki resimde de görüldüğü üzere "Figure" tüm resmi kapsamaktadır. 

Söz dizimi: figure(figsize=None, dpi=None, facecolor=None, edgecolor=None, linewidth=0.0, frameon=None, subplotpars=None, tight_layout=None, constrained_layout=None)

  • figsize, figürün boyutunu genişlik,yükseklik şeklinde temsil eder.
  • dpi,  figürün çözünürlüğünü temsil eder.
  • facecolor, figürün arkaplan rengini temsil eder.
  • edgecolor, figürün çerçevesinin rengini temsil eder.
  • linewidth, figür çerçevesinin kalınlığını temsil eder.

Oluşturulan figure(figür veya şekil) ilgili grafiklerin eklenmesi sonrasında kaydedilebilir. Bunun için "savefig()" komutu kullanılır.

Örnek-1: İçi boş bir şekil oluşturalım ve "figure1.png" olarak bilgisayar ortamına kaydedelim.

#Kütüphaneler import edildi
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline

#figüre tanımlaması yapıldı
fig=plt.figure(
    figsize=(8,5),
    facecolor="blue",
    edgecolor="red",
    linewidth=5,
    dpi=128)

#Görselleştirmek için içerisinde 1 tane axes başlığı yerleştirildi
plt.title("Test Figure")

#Oluşturulan figure kaydedildi.
fig.savefig("figure1.png")

Çıktı:

2.Axes (Eksenler): Figür içerisindeki resimleri temsil etmektedir. Bir figür içerisinde 1 tane eksen olabileceği gibi birkaç tane de eksen oluşturulabilmektedir. Oluşturulan eksenlerde temel olarak kullanılan bazı yapılar bulunmaktadır. Bu yapıları incelemek gerekirse;

2.1.Bir figür içinde bir tane eksen(axes) oluşturma işlemleri

  • plt.title(): Eksenin ismini tanımlamak için kullanılır.
  • plt.xlabel(): Eksenin "X" eksenindeki ismini tanımlamak için kullanılır.
  • plt.ylabel(): Eksenin "Y" eksenindeki ismini tanımlamak için kullanılır.
  • plt.xticks(): Eksenin "X" eksenindeki değerlerini temsil etmektedir. (Eğer xticks([]) şeklinde kullanılırsa değerler alanı kaldırılacaktır.)
  • plt.yticks(): Eksenin "Y" eksenindeki değerlerini temsil etmektedir. (Eğer yticks([]) şeklinde kullanılırsa değerler alanı kaldırılacaktır.)
  • plt.legend(): Eksen içersinde bulunan çizimlerin açıklamalarını temsil etmektedir.

Örnek-2: Oluşturulan figur içersine bir tane eksen oluşturalım.

#Kütüphaneler import edildi
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline

#figüre tanımlaması yapıldı
fig=plt.figure(
    figsize=(8,5),
    facecolor="yellow",
    edgecolor="blue",
    linewidth=4,
    dpi=128)

#Eksen görselleştirmesi yapıldı
plt.title("Test Eksen Oluşturma İşlemleri",size=12,color="red")
plt.xlabel("X Ekseni")
plt.ylabel("Y Ekseni")
plt.xticks([0,5,10])
plt.yticks([0,2,4])

#Oluşturulan figure kaydedildi.
fig.savefig("figure2.png")

Çıktı:


 2.2.Bir figür içinde birden fazla eksen(axes) oluşturma işlemleri

Bu işlem için uygulanması gereken adımlar;

  • Figurün özellikleri(boyutu, arka plan rengi vb.) tanımlaması yapılır ve bir değişkene atanır. 
    fig=plt.figure(
        figsize=(8,5),
        facecolor="yellow",
        edgecolor="blue",
        linewidth=4,
        dpi=128)
  • Figür içerisine yerleştirilecek olan eksenlerin, figürünün hangi satırında, kaçıncı sırada olacağını belirten bir değişkene atama işlemi uygulanır. 
    x1=fig.add_subplot(131) #Sırası ile 1 satırda 3 ekseni olan figürün 1. ekseni
    x2=fig.add_subplot(132) #Sırası ile 1 satırda 3 ekseni olan figürün 2. ekseni
    x3=fig.add_subplot(133) #Sırası ile 1 satırda 3 ekseni olan figürün 3. ekseni
  • Madde 2.1. de tanımlanmış olan title, xlabel, ylabel gibi eksene özgü tanımlamalar başlarına "set_" ifadesi konularak tanımlanır.
    #1.Eksen
    x1.set_title("1.Eksen")
    #...
    
    #2.Eksen
    x2.set_title("2.Eksen")
    #...
    
    #3.Eksen
    x3.set_title("3.Eksen")
    #...

Örnek-3: Oluşturulan figur içersine 3 tane eksen oluşturalım. (Yukarıda anlatılan figurün tüm kodlarının birleştirilmiş halini içerir.)

#Kütüphaneler import edildi
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline

fig=plt.figure(
    figsize=(12,4),
    facecolor="yellow",
    edgecolor="blue",
    linewidth=4,
    dpi=128)

x1=fig.add_subplot(131) #Sırası ile 1 satırda 3 ekseni olan figürün 1. ekseni
x2=fig.add_subplot(132) #Sırası ile 1 satırda 3 ekseni olan figürün 2. ekseni
x3=fig.add_subplot(133) #Sırası ile 1 satırda 3 ekseni olan figürün 3. ekseni

#1.Eksen
x1.set_title("1.Eksen")
#...

#2.Eksen
x2.set_title("2.Eksen")
#...

#3.Eksen
x3.set_title("3.Eksen")
#...

Çıktı:

Örnek-4: Oluşturulan figur içersine 9 tane eksen oluşturalım. (Eksenlerin sayısı fazla olduğundan dolayı for döngüsü kullanarak oluşturalım.)

#Kütüphaneler import edildi
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline

#figüre tanımlaması yapıldı
fig=plt.figure(figsize=(20,12),facecolor="pink")

#Görselleştirme yapıldı
for i in range(9):
    x1=plt.subplot(3,3,i+1)
    x1.set_title(f"{i+1} .Eksen")
    x1.set_xticks([0,2,4])
    x1.set_yticks([0,2,4])

Çıktı:

Buraya kadar olan kısımda "Figure" ve "Axes" kavramlarının ne olduğu ve nasıl görselleştirme yapılacağı hakkında bilgi verilmeye çalışıldı ama eksenlerin içlerine herhangi bir grafik uygulanmadı. Bundan sonraki aşamalarda Matplotlib altında bulunan grafik çizim yöntemlerinin ne olduklarını öğrenerek bu boş olan eksenleri grafiklerle dolduracağız.

Paylaş:

Yorum Yap (*Yorumunuza kod eklemek isterseniz Kod Parçacığı Ekle butonuna tıklayarak ekleyebilirsiniz.)

Yorumlar

Henüz hiç yorum yapılmamış, ilk yorum yapan sen ol.