python用插值法繪制平滑曲線
更新時間:2021年02月19日 11:29:23 作者:KEE_HA
這篇文章主要為大家詳細介紹了python用插值法繪制平滑曲線,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了python用插值法繪制平滑曲線的具體代碼,供大家參考,具體內容如下
原圖:
平滑處理后:
代碼實現(xiàn)如下:
# 1. 隨機構造數(shù)據(jù) import numpy as np x = range(10) y = np.random.randint(10,size=10) # 2. 繪制原圖 import matplotlib as mpl import 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()
以上經過平滑后的曲線可能和原圖差距很大,這個主要看數(shù)據(jù)本身的規(guī)律性。如果數(shù)據(jù)本身比較雜亂無章,如下:
則平滑后為:
平滑后曲線和原圖還是差得很遠的,因此該方法慎用,不是萬能的。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。