我想计算一个未知函数轮廓内的面积。我的函数值保存在一个Numpy数组中,绘制时如下所示:
我想计算不同高度的横截面积,例如峰高的50%。在
此外,有时特征周围会有噪声,因此会出现其他峰值,这意味着特定高度的轮廓可能会导致创建多个区域。如果从上面看的话,我只对围绕“兴趣峰”的轮廓内的区域感兴趣。在
在上图中,“感兴趣的峰值”是在其顶点有红点的那个。我有一个算法可以识别感兴趣的峰值,所以我总是知道我对哪个特定的峰值感兴趣。在
有人能帮我吗?
非常感谢
我找到了this question,但无法运行给定的示例。我对vs = contour.get_paths()[0].vertices行有问题,列表索引超出范围。在
我还需要修改代码,以确保该区域包含了峰值位置
这是尝试查找区域的代码部分
水平=[0.5,0.75]calc_levels = (radial[x_peak,y_peak])*np.transpose(levels)
cs = plt.contour(Z,X_,radial, levels = calc_levels,colors='k')
plt.clabel(cs, inline=2, fontsize=10)
for loop in range(len(levels)):
vs = None
contour_ = None
contour_ = cs