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 ()
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 ()
Ç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?