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.