Matplotlib'de düzgün bir eğri nasıl çizilir


Genellikle bir çizgi grafiği için Matplotlib’de düzgün bir eğri çizmek isteyebilirsiniz. Neyse ki, aşağıdaki SciPy işlevlerini kullanarak bunu yapmak kolaydır:

Bu eğitimde bu işlevlerin pratikte nasıl kullanılacağı açıklanmaktadır.

Örnek: Matplotlib’de düzgün bir eğri çizmek

Aşağıdaki kod, bir veri kümesi için basit bir çizgi grafiğin nasıl oluşturulacağını gösterir:

 import numpy as np
import matplotlib.pyplot as plt

#create data
x = np.array([1, 2, 3, 4, 5, 6, 7, 8])
y = np.array([4, 9, 12, 30, 45, 88, 140, 230])

#create line chart
plt. plot (x,y)
plt. show ()

Temel veriler düzgün bir çizgi izlemediğinden çizgi grafiğinin tamamen düzgün olmadığını unutmayın. Bu veri kümesi için düzgün bir eğri oluşturmak amacıyla aşağıdaki kodu kullanabiliriz:

 from scipy.interpolate import make_interp_spline, BSpline

#createdata
x = np.array([1, 2, 3, 4, 5, 6, 7, 8])
y = np.array([4, 9, 12, 30, 45, 88, 140, 230])

#define x as 200 equally spaced values between the min and max of original x 
xnew = np. linspace ( x.min (), x.max (), 200 ) 

#define spline
spl = make_interp_spline (x, y, k= 3 )
y_smooth = spl (xnew)

#create smooth line chart 
plt. plot (xnew, y_smooth)
plt. show ()

Matplotlib'de düzgün eğri

K argümanı için kullandığınız derece ne kadar yüksek olursa, eğrinin de o kadar “dalgalı” olacağını unutmayın. Örneğin, aşağıdaki k=7 grafiğini düşünün:

 from scipy.interpolate import make_interp_spline, BSpline

#createdata
x = np.array([1, 2, 3, 4, 5, 6, 7, 8])
y = np.array([4, 9, 12, 30, 45, 88, 140, 230])

#define x as 200 equally spaced values between the min and max of original x 
xnew = np. linspace ( x.min (), x.max (), 200 ) 

#define spline with degree k=7
spl = make_interp_spline (x, y, k= 7 )
y_smooth = spl (xnew)

#create smooth line chart 
plt. plot (xnew, y_smooth)
plt. show () 

Matplotlib'de düzgün kavisli spline

Çizginin ne kadar eğri olmasını istediğinize bağlı olarak k’nin değerini değiştirebilirsiniz.

Ek kaynaklar

Matplotlib grafiklerinde kılavuz çizgileri nasıl gösterilir?
Matplotlib grafiklerinden keneler nasıl kaldırılır
Logaritmik ölçeklerle Matplotlib grafikleri nasıl oluşturulur?

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir