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

求助:如何调整Matplotlib填充区域以匹配目标图表效果

解决Matplotlib周期波形填充区域裁剪问题
  • 用fill_between的where参数做条件裁剪:
    针对周期波形,可结合模运算限定每个周期内的填充区间,比如要填充每个周期前半段波形与基准线的区域,就设置where=(x % period) < period/2,按需调整条件即可匹配参考图的范围。
  • 自定义填充上下边界:
    通过y2参数指定填充的基准线(比如参考图中的特定水平轴或曲线),替代默认的0,精准控制填充的上下范围。
  • 多条件组合实现复杂裁剪:
    叠加多个布尔条件(用&/|连接),比如where=(y > threshold) & ((x % period) > period/3),实现“仅在周期特定区间且波形高于阈值”的填充效果。
  • 周期裁剪示例代码:
    import matplotlib.pyplot as plt
    import numpy as np
    
    # 生成周期波形数据
    x = np.linspace(0, 4*np.pi, 2000)
    y = np.sin(x) + 0.5*np.sin(3*x)
    period = 2*np.pi
    # 定义每个周期内的填充区间(比如后1/4周期,且波形高于0)
    fill_mask = ((x % period) > 3*period/4) & (y > 0)
    # 执行填充
    plt.fill_between(x, y, 0, where=fill_mask, color='#ff7f0e', alpha=0.4)
    plt.plot(x, y, color='#1f77b4', linewidth=1.5)
    plt.grid(alpha=0.3)
    plt.show()
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 07:25:18