fill_between函数
时间: 2024-01-10 10:06:27 浏览: 23
`fill_between` 函数是 matplotlib 库中的一个函数,用于在两个曲线之间填充颜色。它的语法如下:
```python
fill_between(x, y1, y2=0, where=None, interpolate=False, step=None, *, data=None, **kwargs)
```
参数说明:
- `x`:一个数组或序列,表示 x 轴的数据。
- `y1`:一个数组或序列,表示第一个曲线的 y 轴数据。
- `y2`:一个数组或序列,表示第二个曲线的 y 轴数据,如果不指定,则默认为 0。
- `where`:一个布尔数组或条件表达式,用于指定在哪些位置填充颜色。
- `interpolate`:一个布尔值,表示是否进行插值。如果为 True,则在曲线之间进行线性插值。
- `step`:一个字符串,表示进行步进插值的方向。如果为 'pre',则从前往后插值;如果为 'post',则从后往前插值。
- `data`:一个可选的数据输入对象,用于指定 `x`、`y1` 和 `y2` 的数据来源。
- `**kwargs`:其他可选的关键字参数,如填充颜色、透明度等。
下面是一个简单的示例:
```python
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 2 * np.pi, 100)
y1 = np.sin(x)
y2 = np.cos(x)
plt.plot(x, y1, label='sin(x)')
plt.plot(x, y2, label='cos(x)')
plt.fill_between(x, y1, y2, where=y2>y1, interpolate=True, color='green', alpha=0.3)
plt.legend()
plt.show()
```
这段代码会在 sin(x) 曲线和 cos(x) 曲线之间填充颜色,只有在 cos(x) 大于 sin(x) 的位置才会填充颜色。效果如下图所示:
![fill_between](https://matplotlib.org/stable/_images/sphx_glr_fillbetween_001.png)