本文實(shí)例為大家分享了python用插值法繪制平滑曲線的具體代碼,供大家參考,具體內(nèi)容如下
原圖:
平滑處理后:
代碼實(shí)現(xiàn)如下:
# 1. 隨機(jī)構(gòu)造數(shù)據(jù)import numpy as npx = range(10)y = np.random.randint(10,size=10)# 2. 繪制原圖import matplotlib as mplimport matplotlib.pyplot as plt%matplotlib inline # jupyter notebook顯示繪圖from scipy.interpolate import spline # 借助scipy庫(kù)plt.plot(x, y)plt.show()# 3. 繪制平滑曲線from scipy.interpolate import spline # 插值法,50表示插值個(gè)數(shù),個(gè)數(shù)>=實(shí)際數(shù)據(jù)個(gè)數(shù),一般來(lái)說(shuō)差值個(gè)數(shù)越多,曲線越平滑x_new = np.linspace(min(x),max(x),50) y_smooth = spline(x, y, x_new)plt.plot(x_new, y_smooth)plt.show()
以上經(jīng)過(guò)平滑后的曲線可能和原圖差距很大,這個(gè)主要看數(shù)據(jù)本身的規(guī)律性。如果數(shù)據(jù)本身比較雜亂無(wú)章,如下:
則平滑后為:
平滑后曲線和原圖還是差得很遠(yuǎn)的,因此該方法慎用,不是萬(wàn)能的。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選