Matplotlib 如何设置pyplot图形特定区域的背景色?

Matplotlib 如何设置pyplot图形特定区域的背景色?,matplotlib,Matplotlib,我用以下代码绘制了一系列点: plt = pp.figure() for i in range(spt.shape[1]): spktrain = spt[0,i] for trial in spktrain: non_z = np.nonzero(trial) non_z = non_z[0] pp.plot(t[non_z], trial[non_z], 'bo') 我想在图上放置交替的白色和灰色背景带,以便将数据从外部for

我用以下代码绘制了一系列点:

plt = pp.figure()
for i in range(spt.shape[1]):
    spktrain = spt[0,i]
    for trial in spktrain:
        non_z = np.nonzero(trial)
        non_z = non_z[0]
        pp.plot(t[non_z], trial[non_z], 'bo')
我想在图上放置交替的白色和灰色背景带,以便将数据从外部for循环的每次迭代中分离出来。换句话说,我希望每个“SPCTrain”的数据都有自己的背景色(数据不重叠)


如何更改特定区域中地物的背景色?

您可以像这样使用
axhspan
和/或
axvspan

import matplotlib.pyplot as plt

plt.figure()
plt.xlim(0, 5)
plt.ylim(0, 5)

for i in range(0, 5):
    plt.axhspan(i, i+.2, facecolor='0.2', alpha=0.5)
    plt.axvspan(i, i+.5, facecolor='b', alpha=0.5)

plt.show()

您还可以使用
zorder
将这些矩形设置为在实际绘图后面绘制。例如:
plt.axhspan(i,i+.2,facecolor='0.2',alpha=0.5,zorder=-100)
。因此,我需要颜色范围自动匹配刻度的值。你能把你的答案扩展到这方面吗?提前感谢您的帮助!=)@西科西奥:据我所知,我认为你的问题与此完全不同,因此最好是单独提问。@tom10当然,谢谢你的快速回复!刚才问。