我正在使用 matplotlib 创建一个简单的线图。我的情节是一个简单的时间序列数据集,其中我有沿 x 轴的时间和我在 y 轴上测量的东西的值。y 值可以有正值或负值,如果 y 值 > 0,我想用蓝色填充我的线上方和下方的区域,如果 y 值 < 0,我想用红色填充。这是我的情节:
如您所见,我可以正确填充蓝色,但无法正确填充红色。这是我正在使用的基本代码:
plt.plot(x, y, marker='.', lw=1)
d = scipy.zeros(len(y))
ax.fill_between(xs,ys,where=ys>=d, color='blue')
ax.fill_between(xs,0,where=ys<=d, color='red')
如何使从正 y 值到 x 轴的区域为蓝色,从负 y 值到 x 轴的区域为红色?谢谢您的帮助。