请看下面的图片:创建左侧图表的代码是:import matplotlib.pyplot as pltimport numpy as npt = np.arange(0.0, 2.0, 0.01)s = 1 + np.sin(2*np.pi*t)plt.plot(t, s)plt.grid(axis='y')plt.savefig("test_transparent.png", transparent=True)plt.show()我怎样才能改变网格背景颜色来创建一个像右边的图表?所以基本上我必须删除 X 轴并为水平行设置备用背景颜色。我想在不设置 matplotlib 使用的 Y 轴步长(0、0.25、0.50 等)的情况下创建这些彩色区域。MatplotLib 会自动设置它们,对我来说没问题,我只需要交替颜色。谢谢
1 回答
catspeake
TA贡献1111条经验 获得超0个赞
您可以提取 yticks 列表并为它们创建水平跨度。
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)
plt.plot(t, s)
plt.grid(axis='y')
yticks, _ = plt.yticks()
for y0, y1 in zip(yticks[::2], yticks[1::2]):
plt.axhspan(y0, y1, color='black', alpha=0.1, zorder=0)
plt.yticks(yticks) # force the same yticks again
plt.show()
添加回答
举报
0/150
提交
取消