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