python画两条曲线_查找在matplotlib中绘制的两条曲线之间的区域(在区域之间填充)...
我有兩條曲線的x和y值列表,它們都有奇怪的形狀,而且我沒有任何函數(shù)。我需要做兩件事:(1)繪制它并對(duì)曲線之間的區(qū)域進(jìn)行著色,如下圖所示;(2)找到曲線之間該著色區(qū)域的總面積。
在matplotlib中,我可以用fill-betweenx和fill-betweenx繪制和著色這些曲線之間的區(qū)域,但是我不知道如何計(jì)算它們之間的確切區(qū)域,特別是因?yàn)槲覜]有任何這些曲線的函數(shù)。
有什么想法嗎?
我到處找都找不到簡(jiǎn)單的解決辦法。我很絕望,所以非常感謝你的幫助。
非常感謝!
編輯:為了以后的參考(如果有人遇到同樣的問題),下面是我如何解決的(許多個(gè)月后):將每條曲線的第一個(gè)和最后一個(gè)節(jié)點(diǎn)/點(diǎn)連接在一起,形成一個(gè)形狀怪異的大多邊形,然后使用shapely自動(dòng)計(jì)算多邊形的面積,這是曲線之間的精確區(qū)域,不管它們走哪條路,也不管它們有多非線性。就像一個(gè)魔咒,已經(jīng)跑了上千條曲線。:)
這是我的代碼: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]:
polygon_points.append([xyvalue[0],xyvalue[1]]) #append all xy points for curve 2 in the reverse order (from last point to first point)
for xyvalue in x_y_curve1[0:1]:
polygon_points.append([xyvalue[0],xyvalue[1]]) #append the first point in curve 1 again, to it "closes" the polygon
polygon = Polygon(polygon_points)
area = polygon.area
print(area)
總結(jié)
以上是生活随笔為你收集整理的python画两条曲线_查找在matplotlib中绘制的两条曲线之间的区域(在区域之间填充)...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python中匿名函数的作用_什么是Py
- 下一篇: 大一python题库刷题训练_pytho