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

如何使用Matplotlib填充曲线与连接X/Y极值的对角线之间的区域

Matplotlib曲线与对角线区域填充解决方案

核心实现逻辑是先计算出对角线上和输入x数组每个点一一对应的y值,再调用fill_between方法通过条件判断区分上下区域分别填充即可,修改后的完整代码如下:

import numpy as np
import matplotlib.pyplot as plt

fig, ax = plt.subplots(figsize = (6,4))
x = np.array([0,1,2,3,4,5,6,7,8,9,10])
y = np.array([0,4,5,5,4,5,6,8,9,9,15])

# 计算对角线上每个x坐标对应的y值
y_diag = np.linspace(y.min(), y.max(), len(x))

ax.plot(x, y, color = "red", lw=1.2)
ax.plot([x.min(), x.max()], [y.min(), y.max()], color = "black", lw=1.2)

# 填充对角线以上的红色区域
ax.fill_between(x, y, y_diag, where=(y >= y_diag), color='red', alpha=0.3, interpolate=True)
# 填充对角线以下的蓝色区域
ax.fill_between(x, y, y_diag, where=(y < y_diag), color='blue', alpha=0.3, interpolate=True)

plt.show()

参数说明

  • interpolate=True用于自动处理曲线和对角线交叉位置的填充断点,避免出现空白或填充错位问题
  • alpha为填充区域透明度参数,取值范围0~1,可根据实际视觉需求自行调整

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 06:45:05