Matplotlib - Nesneye Yönelik Arayüz

Hızlı bir şekilde grafik oluşturmak kolay olsa da matplotlib.pyplotmodülünde, nesneye yönelik yaklaşımın kullanılması, arazilerinizin daha fazla kontrol edilmesini ve özelleştirilmesini sağladığından önerilir. İşlevlerin çoğu ayrıcamatplotlib.axes.Axes sınıf.

Daha resmi nesne yönelimli yöntemi kullanmanın arkasındaki ana fikir, şekil nesneleri oluşturmak ve ardından bu nesneden yöntemleri veya nitelikleri çağırmaktır. Bu yaklaşım, üzerinde birden çok çizim bulunan bir tuvalle daha iyi başa çıkmaya yardımcı olur.

Nesne yönelimli arayüzde, Pyplot yalnızca şekil oluşturma gibi birkaç işlev için kullanılır ve kullanıcı, şekil ve eksen nesnelerini açıkça oluşturur ve izler. Bu seviyede, kullanıcı şekiller oluşturmak için Pyplot kullanır ve bu şekiller aracılığıyla bir veya daha fazla eksen nesnesi oluşturulabilir. Bu eksen nesneleri daha sonra çoğu çizim eylemi için kullanılır.

Başlangıç ​​olarak, boş bir tuval sağlayan bir figür örneği oluşturuyoruz.

fig = plt.figure()

Şimdi şekle eksenler ekleyin. add_axes()yöntem, şeklin soluna, altına, genişliğine ve yüksekliğine karşılık gelen 4 öğeden oluşan bir liste nesnesi gerektirir. Her numara 0 ile 1 arasında olmalıdır -

ax=fig.add_axes([0,0,1,1])

Başlığın yanı sıra x ve y ekseni için etiketler belirleyin -

ax.set_title("sine wave")
ax.set_xlabel('angle')
ax.set_ylabel('sine')

Axes nesnesinin plot () yöntemini çağırın.

ax.plot(x,y)

Jupyter dizüstü bilgisayar kullanıyorsanız,% matplotlib satır içi yönergesi verilmelidir; pyplot modülünün otherwistshow () fonksiyonu grafiği gösterir.

Aşağıdaki kodu çalıştırmayı düşünün -

from matplotlib import pyplot as plt
import numpy as np
import math
x = np.arange(0, math.pi*2, 0.05)
y = np.sin(x)
fig = plt.figure()
ax = fig.add_axes([0,0,1,1])
ax.plot(x,y)
ax.set_title("sine wave")
ax.set_xlabel('angle')
ax.set_ylabel('sine')
plt.show()

Çıktı

Yukarıdaki kod satırı aşağıdaki çıktıyı üretir -

Jupyter dizüstü bilgisayarda çalıştırıldığında aynı kod, çıktıyı aşağıda gösterildiği gibi gösterir -