Matplotlib; 2 boyutlu grafikler hazırlamamızı sağlayan bir Python kütüphanesidir. Tanımı böyle olmaısna rağmen 3 boyutlu görselleştirme de yapılabiliyor.
Büyük veri ifadesi popülerleştikten sonra verilerin görselleştirilmesi daha da bir önem kazandı. Bu konuda çok popüler açık kaynaklı kütüphanelerden biri de matplotlib‘dir. Diğer alternatif olan Seaborn için şöyle bir yazı yazmıştım.
Kurulum için pip install matplotlib komutunu komut satırına girebilirsiniz. Ya da bir linux ortamındaysanız veya sorunla karşılaşırsanız şu linkte daha detaylı anlatım mevcut.
Basit bir sinüs grafiği çizerek ilk örneğimizi yapalım. 0-4 Pi arasında sayılar X eksenimiz, bu sayılara denk gelen sinüs değerleri de Y eksenimiz olacak.
import numpy as np import matplotlib.pyplot as plt plt.rcdefaults() x = np.linspace(0, 4, 360) y = np.sin(np.pi * x) fig, ax = plt.subplots() ax.fill(x, y) plt.show()
İlk iki satırımızda kullanılacak modülleri ekliyoruz. plt.rcdefaults() ise matplotlib’e metin rengi, boyutu, çizgi kalınlığı gibi stil değerlerini varsayılan haline getirmesini söyler.
Numpy kullanarak x ve y değerlerimizi olkuşturduk. Şu yazıda bu metodlara kısaca değinmiştim.
plt.subplots(); bu metod ise bize bir Figure nesnesi ve istediğimiz kadar Axes nesnesi döndürür. Bu örneğimizde bir tane Axes nesnesi istediğimiz için dönen bir dizi değil tek bir nesne oldu. Bir sonraki örnekte çoklu Axes da olacak.
Fill metodu ile dönen Axes nesnemizi verdiğimiz x,y değerleri ile dolduruyoruz.
Ve son olarak matplotlib modülünün show metodunu çağırarak grafiğimizi gösteriyoruz.
Şimdi bu grafiğe kosinüs değerlerini de ekleyelim.
import numpy as np import matplotlib.pyplot as plt plt.rcdefaults() x = np.linspace(0, 4, 360) y = np.sin(np.pi * x) y_cos = np.cos(np.pi * x) fig, ax = plt.subplots(nrows=2, ncols=1, sharex=True) ax[0].fill(x, y) ax[0].set_title("Sinüs") ax[1].fill(x, y_cos) ax[1].set_title("Cosinüs") plt.show()
subplots metoduna 2 satırlık bir grafik için gerekli parametreleri veriyoruz. sharex parametresi ise iki grafiğin aynı X eksenini kullanmasını söylüyor, grafiği daha basit hale indirgeyecektir.
Burada dönen Axis nesnesi bir dizi artık. Bu yüzden ax[0] diyerek ilk nesneye ulaşıp değerlerini gösteriyor ve set_title ile karışmaması için bir başlık veriyoruz.
Fill metodu iki farklı veri setini alabilir yapı olarak ve bunlar farklı renkler ile çizebilir. Subplots metoduna parametre vermeden fill metodunu aşağıdaki şekilde kullanırsanız sinüs ve kosinüs eğrilerini üst üste görebilirsiniz.
ax.fill(x, y, 'b', x, y_cos, 'r', alpha=0.5) # buradaki b ve r, kendinden önce gelen veri setinin rengini belirtiyor
Vakit buldukça bir kaç kompleks örnek ekleyeceğim buraya.
Bu linkte onlarca örnek çizim yöntemi var ve hepsinin kendine has parametreleri var.
https://matplotlib.org/gallery.html
Bir cevap yazın