You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Matplotlib fill_between如何在折线与非零水平阈值线间填充

问题原因

plt.fill_between() 未显式指定填充下边界时,默认以y=0(x轴位置)作为填充起始边界,因此现有写法会从x轴向上填充至曲线位置,无法限定在阈值线与曲线之间。

修正方法

调用时显式传入水平阈值作为填充下边界,将目标曲线作为填充上边界,即可实现指定区间的填充,修正代码如下:

threshold = 205
plt.fill_between(
    df.index,
    threshold,  # 填充下边界:205对应的水平阈值线
    df['Data'], # 填充上边界:目标数据曲线
    where=(df['Data'] > threshold), # 仅在曲线值高于阈值时触发填充
    color='orange'
)

补充说明

  • 可新增alpha参数传入0~1之间的数值设置填充透明度,优化视觉效果
  • 若需要填充曲线低于阈值的区域,仅需将where条件改为df['Data'] < threshold,同时交换下边界和上边界的传值,避免填充方向颠倒
  • 填充边界既支持传入固定数值生成水平参考线的填充效果,也支持传入与x轴长度匹配的序列,实现两条曲线之间的条件填充

内容的提问来源于stack exchange,提问作者ortunoa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 23:39:25