我有一个两条曲线的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)