本文實例為大家分享了python用插值法繪制平滑曲線的具體代碼,供大家參考,具體內容如下
原圖:

平滑處理后:

代碼實現(xiàn)如下:
# 1. 隨機構造數(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庫plt.plot(x, y)plt.show()# 3. 繪制平滑曲線from scipy.interpolate import spline # 插值法,50表示插值個數(shù),個數(shù)>=實際數(shù)據(jù)個數(shù),一般來說差值個數(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)過平滑后的曲線可能和原圖差距很大,這個主要看數(shù)據(jù)本身的規(guī)律性。如果數(shù)據(jù)本身比較雜亂無章,如下:

則平滑后為:

平滑后曲線和原圖還是差得很遠的,因此該方法慎用,不是萬能的。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林站長站。
新聞熱點
疑難解答