簡體   English   中英

基數插值曲線下的面積

[英]Area under cardinal interpolation curve

我想計算曲線下藍色區域的面積。 通過使用D3的line()從紅色數據點進行基數插值來繪制曲線。

在此處輸入圖片說明

我試圖以線性插值(沿黑線)的方式來計算面積,但它不是確切的數字。

請幫我在這里。 先感謝您!

如果要計算所有梯形局部區域的總和,可以使用以下公式:

Area = ((sum of all y values)- 0.5*((first y value)+(last y value)) * (delta x)

或者,JavaSript代碼:

A = (y.reduce((s,v)=>s+v)-.5*(y[0]+y[y.length-1]))*deltax

我基於出色的答案解決了這個問題: https : //stackoverflow.com/a/10045537/4505826 請記住,路徑必須是封閉路徑,這意味着它必須以Z結尾。

當我運行代碼時,瀏覽器會不斷通知這些錯誤:

  • path.getPointAtLength()不是函數
  • path.getTotalLength()不是函數
  • 未捕獲的TypeError:無法讀取未定義的屬性'createElementNS'

::::解決方案:調整上面的代碼,如下所示::::

path.getPointAtLength(d)   ->    path.node().getPointAtLength(d)

path.getTotalLength(d)   ->    path.node().getTotalLength(d)

並更換

var doc = path.ownerDocument;
var poly = doc.createElementNS('http://www.w3.org/2000/svg','polygon');

通過

var poly = document.createElementNS('http://www.w3.org/2000/svg','polygon');

從這個答案https://stackoverflow.com/a/25611318/4505826

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM