matplotlib 蒙层
时间: 2023-09-03 19:10:25 浏览: 45
如果你想要在 matplotlib 中创建蒙层(overlay),即在一张图上绘制多个图层,可以使用 `fill_between()` 或 `fill_betweenx()` 函数来实现。
下面是一个简单的示例代码,展示了如何使用 `fill_between()` 函数创建蒙层效果:
```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)
# 创建图表
fig, ax = plt.subplots()
# 绘制曲线
ax.plot(x, y1, color='blue', label='sin(x)')
ax.plot(x, y2, color='red', label='cos(x)')
# 创建蒙层
ax.fill_between(x, y1, y2, where=(y1 > y2), interpolate=True, color='gray', alpha=0.5)
# 添加图例和标签
ax.legend()
ax.set_xlabel('x')
ax.set_ylabel('y')
# 显示图表
plt.show()
```
在这个例子中,我们使用 `plot()` 函数绘制了两个曲线,分别对应于 `sin(x)` 和 `cos(x)`。然后,我们使用 `fill_between()` 函数创建了一个蒙层,通过指定 `where` 参数来控制蒙层的形成条件。在这个例子中,我们使用 `(y1 > y2)` 来指定 `sin(x)` 大于 `cos(x)` 时形成蒙层。`interpolate=True` 参数可以让蒙层更加平滑。
你可以根据自己的需求调整数据、条件以及蒙层样式,来创建符合你需要的蒙层效果。