- 此问题在此处已有答案**:
How to highlight specific x-value ranges(2个答案)
四年前关闭了。
给定一个像这样的图
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
t = np.arange(0.0, 2.0, 0.01)
s = 1 + np.sin(2 * np.pi * t)
fig, ax = plt.subplots()
ax.plot(s)
ax.set(xlabel='time (s)', ylabel='voltage (mV)', title='sine')
ax.grid()
plt.show()
如何自动为图表中y值介于(例如)1.25和0.75之间的垂直切片(从下到上)添加阴影?
正弦在这里只是一个样本,曲线的实际值不太规则。
我看过FIll between two vertical lines in matplotlib,它看起来和这个问题很相似,但是它的答案在固定的x值之间给一个区域加了阴影,我希望阴影区域由y值决定。
2条答案
按热度按时间jhkqcmku1#
您可能正在寻找ax.fill_between,它非常灵活(参见链接的文档)。
对于你的具体情况,如果我理解正确的话,这应该足够了:
vc9ivgsu2#
你可以使用
ax.axvspan
,它显然完全符合你的要求。为了得到更好的结果,使用一个小于0.5的alpha
值,并可选地设置颜色和边缘颜色/宽度。如果希望着色显示在不同的方向(水平而不是垂直),也可以使用
ax.axhspan
方法。