Cara memplot kurva halus di matplotlib


Seringkali Anda mungkin ingin memplot kurva halus di Matplotlib untuk grafik garis. Untungnya, hal ini mudah dilakukan menggunakan fungsi SciPy berikut:

Tutorial ini menjelaskan cara menggunakan fungsi-fungsi ini dalam praktik.

Contoh: memplot kurva mulus di Matplotlib

Kode berikut menunjukkan cara membuat diagram garis sederhana untuk sekumpulan data:

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

Perhatikan bahwa diagram garis tidak sepenuhnya mulus karena data yang mendasarinya tidak mengikuti garis mulus. Kita dapat menggunakan kode berikut untuk membuat kurva mulus untuk kumpulan data ini:

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

Kurva halus di Matplotlib

Perhatikan bahwa semakin tinggi derajat yang Anda gunakan untuk argumen k , kurvanya akan semakin “bergelombang”. Misalnya, perhatikan grafik berikut dengan k=7 :

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

Spline melengkung halus di Matplotlib

Bergantung pada kelengkungan garis yang Anda inginkan, Anda dapat mengubah nilai k.

Sumber daya tambahan

Cara menampilkan garis kisi pada plot Matplotlib
Cara menghilangkan centang dari plot Matplotlib
Cara membuat plot Matplotlib dengan skala logaritmik

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *