Matplotlib axvspan实心填充?

2024-05-12 12:40:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用这一行代码来创建一个使用matplotlib跨越图形的垂直跨距。在

matplotlib.pyplot.axvspan(datetime.datetime.strptime("09-10-2015", '%d-%m-%Y'), datetime.datetime.strptime(now.strftime("%d-%m-%Y"), '%d-%m-%Y'), fill=True, linewidth=0, color='r')

不过,我希望它能在图表上隐藏线条。目前它只是这样做。在

enter image description here

我怎样才能使这个axvspan的填充牢固而不透明?在


Tags: 代码true图形datetimematplotlib图表fillnow
1条回答
网友
1楼 · 发布于 2024-05-12 12:40:47

这与透明度无关(可以通过alpha参数更改透明度)。它大约是zorder(与用户的距离是一种距离,较低的zorder会更远)。你需要把grid的zorder放在axvspan的zorder之下(我想,它应该在{}的下面)。检查以下示例:

import numpy as np
import matplotlib.pyplot as plt

t = np.arange(-1, 2, .01)
s = np.sin(2*np.pi*t)

plt.plot(t, s,zorder=4)

p = plt.axvspan(1.25, 1.55, facecolor='g', alpha=1,zorder=3)

plt.axis([-1, 2, -1, 2])
plt.grid(zorder=2)

plt.show()

,结果是:

Zorder of elements in matplotlib plot

相关问题 更多 >