我能夠繪制線條并填充其間的區域,但是,我正在嘗試計算兩條曲線之間的區域。我不能使用積分,因為我沒有方程,我只有一堆點。如何計算兩者之間的面積?
fig,ax1= plt.subplots(figsize=(8,5))
plt.plot(Lag_Distance,True_Values,color='blue',label='Sampled Variogram'); plt.scatter(Lag_Distance,True_Values,color='blue',edgecolor='blue',zorder=10)
plt.plot(Lag_Distance,a['Variogram Value'],color='black',label='Estimated Variogram (P=1)'); plt.scatter(Lag_Distance,a['Variogram Value'],color='black',edgecolor='black',zorder=10)
plt.fill_between(Lag_Distance,a['Variogram Value'],True_Values,color='red',alpha=0.2)
plt.legend(loc='lower right',fontsize=20)
ax1.set_xlabel('Lag Distance',fontsize=20);
ax1.set_ylabel('$^\gamma$',fontsize=30);
ax1.set_title(' Variogram in the major direction 160 (P =1) ',fontsize=20);
plt.subplots_adjust(left=0.0,bottom=0.0,right=1.0,top=1.1); plt.show() # set plot size

uj5u.com熱心網友回復:
由于所有點都由線連接,因此使用梯形規則積分將為您提供確切的面積。
該numpy庫具有梯形積分函式,因此您可以獲取估計的變異函式下的面積和采樣的變異函式下的面積之間的差異:
import numpy as np
area = np.trapz(y=a['Variogram Value'] - True_Values, x=Lag_Distance)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/426279.html
