簡體   English   中英

在python中計算圖中每個峰下的面積

[英]Calculate the area under each peak in a graph in python

我試圖計算我用一組 x 和 y 坐標繪制的圖表中每個峰下的面積,

我沒有 (x,y) 的函數,所以我找不到合適的方法來做同樣的事情。

坐標是

{
 [10 10]
 [11  1]
 [12  7]
 [14  4]
 [16  8]
 [17  5]]}

對於所有未標記的 x 值, y=0

用 (x,y) 坐標繪制的圖形

你必須對每個梯形一一處理。

Area_1 = ( y1 + y2 ) * 1 / 2

示例: (10 + 1 ) * 1 / 2

有點簡單和正確?

points = [[10, 10],
          [11, 1],
          [12, 7],
          [14, 4],
          [16, 8],
          [17, 5]]

areas = []
areas.append( points[0][0]/2.0 )

for i in range(0, points[-1][0] - points[0][0]-2):

    if ( points[i+1][0] == points[i][0]+1 ):
        areas.append( (points[i+1][1] + points[i][1] )/2.0)
    elif ( points[i+1][0] >= points[i][0]+2):
        areas.append( (points[i][1] )/2.0)
        areas.append( (points[i+1][1] )/2.0)

areas.append( points[-1][1]/2.0 )    

print(areas)
>[5.0, 5.5, 4.0, 3.5, 2.0, 2.0, 4.0, 6.5, 2.5]

暫無
暫無

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

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