gpt4 book ai didi

python - 在matplotlib中的两条垂直线之间填充

转载 作者:IT老高 更新时间:2023-10-28 21:33:33 24 4
gpt4 key购买 nike

我通过了examplesmatplotlib 文档中,但我不清楚如何制作一个填充两条特定垂直线之间区域的图。

例如,假设我想在 x=0.2x=4 之间创建一个绘图(对于完整的 y 范围阴谋)。我应该使用 fill_betweenfill 还是 fill_betweenx

我可以为此使用 where 条件吗?

最佳答案

听起来你想要axvspan ,而不是函数之间的填充之一。不同之处在于 axvspan (和 axhspan )将填满绘图的整个 y(或 x)范围,无论您如何缩放。

例如,让我们使用 axvspan 来突出显示 8 到 14 之间的 x 区域:

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.plot(range(20))
ax.axvspan(8, 14, alpha=0.5, color='red')

plt.show()

enter image description here

您可以使用 fill_betweenx 来执行此操作,但矩形的范围(x 和 y)将在 数据坐标 中。使用 axvspan,矩形的 y 范围默认为 0 和 1,并且位于 axes 坐标 中(换句话说,是绘图高度的百分比)。

为了说明这一点,让我们让矩形从高度的 10% 延伸到 90%(而不是占据整个范围)。尝试缩放或平移,注意 y 范围在显示空间中固定,而 x 范围随着缩放/平移而移动:

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.plot(range(20))
ax.axvspan(8, 14, ymin=0.1, ymax=0.9, alpha=0.5, color='red')

plt.show()

enter image description here

关于python - 在matplotlib中的两条垂直线之间填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23248435/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com