对matplotlib p中两点之间的区域进行着色

2024-04-27 23:02:22 发布

您现在位置:Python中文网/ 问答频道 /正文

如何在matplotlib绘图中的两点之间添加阴影区域?

在下面的示例matplotlib绘图中,我使用Skitch手动添加了着色的黄色区域。我想知道如何做到这一点。

alt text


Tags: 区域绘图示例matplotlib手动阴影着色黄色
1条回答
网友
1楼 · 发布于 2024-04-27 23:02:22

您可以使用函数axvspan。这样做的好处是,无论您如何平移/缩放绘图,垂直区域(或水平区域,在axhspan的情况下)都将保持阴影。这里有一个完整的例子here

下面是一个简单的例子:

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 20, 500)
y = np.cos(3*x) - 2*np.cos(5*x) + 0.5*np.cos(6*x)

a = 5
b = 15

plt.axvspan(a, b, color='y', alpha=0.5, lw=0)
plt.plot(x, y)
plt.savefig('shade.png', dpi=300)
plt.show()

结果就是 enter image description here

相关问题 更多 >