擅长:python、mysql、java
<p>只要您有良好的连续(相对于X)数据,<code>fill_between</code>就可以很好地工作。如果你不这样做,你可以考虑其他一些方法。在</p>
<p>一种可能是手工创建多边形。多边形将具有以下边:</p>
<ul>
<li>第一条极限曲线上的点</li>
<li>第二条极限曲线上的点</li>
</ul>
<p>好的一点是,使用这种方法,您没有任何x/y约束,而且如果需要,您甚至可以使用参数化曲线。在</p>
<p>应用于您的简单示例:</p>
<pre><code># create the limiting polygon
vert_x = np.concatenate((SII, SIIs[::-1]))
vert_y = np.concatenate((log_OIII_Hb_SII(SII), stravinska_SII(SIIs[::-1])))
p = plt.Polygon(np.column_stack((vert_x, vert_y)), facecolor='gray', alpha=.45, edgecolor='none')
ax.add_artist(p)
</code></pre>
<p>这样,您的示例变成:</p>
<p><img src="https://i.stack.imgur.com/yailx.png" alt="enter image description here"/></p>