如何在pyplot数字的特定区域设置背景颜色?

时间:2012-03-31 16:25:06

标签: 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循环的每次迭代分开。换句话说,我希望每个“spktrain”的数据都有自己的背景颜色(数据不重叠)。

如何更改特定区域中图形的背景颜色?

1 个答案:

答案 0 :(得分:65)

您可以像这样使用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()

enter image description here