小编F4R*_*F4R的帖子

找到matplotlib中绘制的两条曲线之间的区域(fill_between区域)

我有一个两条曲线的x和y值列表,两者都有奇怪的形状,我没有任何一个函数.我需要做两件事:(1)绘制它并遮蔽曲线之间的区域,如下图所示; (2)找出曲线之间阴影区域的总面积.

我能够在matplotlib中用fill_between和fill_betweenx绘制和遮蔽这些曲线之间的区域,但我不知道如何计算它们之间的确切区域,特别是因为我没有任何这些曲线的函数.

有任何想法吗?

我到处寻找,找不到一个简单的解决方案.我非常绝望,所以任何帮助都非常感激.

非常感谢你!

曲线之间的区域 - 如何计算没有曲线函数的阴影区域的面积?


编辑:为了将来的参考(如果有人遇到同样的问题),这就是我解决这个问题的方法(几个月后):将每条曲线的第一个和最后一个节点/点连接在一起,产生一个巨大的奇怪形状的多边形,然后用形状自然地计算多边形的面积,这是曲线之间的确切区域,无论它们走向哪个方向或它们的非线性.像魅力一样,已经成千上万的曲线.:)

这是我的代码:

from shapely.geometry import Polygon

x_y_curve1 = [(0.121,0.232),(2.898,4.554),(7.865,9.987)] #these are your points for curve 1 (I just put some random numbers)
x_y_curve2 = [(1.221,1.232),(3.898,5.554),(8.865,7.987)] #these are your points for curve 2 (I just put some random numbers)

polygon_points = [] #creates a empty list where we will append the points to create the polygon

for xyvalue in x_y_curve1:
    polygon_points.append([xyvalue[0],xyvalue[1]]) #append all xy points for curve 1

for xyvalue in x_y_curve2[::-1]: …
Run Code Online (Sandbox Code Playgroud)

python matplotlib area scipy

14
推荐指数
2
解决办法
9542
查看次数

标签 统计

area ×1

matplotlib ×1

python ×1

scipy ×1