为了账号安全,请及时绑定邮箱和手机立即绑定

MatplotLib 中的备用网格背景颜色

MatplotLib 中的备用网格背景颜色

幕布斯6054654 2023-05-16 15:03:43
请看下面的图片:创建左侧图表的代码是: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()

//img1.sycdn.imooc.com//64632afb00011f2721700759.jpg

查看完整回答
反对 回复 2023-05-16
  • 1 回答
  • 0 关注
  • 77 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信