当前位置: 首页 > 面试题库 >

如何将axvfill与布尔系列一起使用

钦德佑
2023-03-14
问题内容

我有一个布尔时间序列,我想用它来确定绘图中应加阴影的部分。

目前我有:

ax1.fill_between(data.index, r_min, r_max, where=data['USREC']==True, alpha=0.2)

其中, r_minr_max 只是y轴的最小值和最大值。

但是fill_between不会一直填充到图的顶部和底部,因为,因此我想改用 axvspan()

给定axvspan仅采用坐标,有什么简单的方法可以做到这一点?因此,我能想到的唯一方法是将所有彼此相邻且均为True的日期分组,然后将这些日期的第一个和最后一个日期传递给axvspan。

谢谢


问题答案:

fill_between如果愿意,您仍然可以使用。但是,您可以在坐标轴中指定它们,而不是在数据坐标中指定y坐标(对于它来说,先验性尚不清楚,它们需要多大)。这可以通过使用变换来实现,其中x部分位于数据坐标中,而y部分位于轴坐标中。xaxis变换就是这样的变换。(这并不奇怪,因为x轴始终独立于ycoorinates。)

ax.fill_between(data.index, 0,1, where=data['USREC'], transform=ax.get_xaxis_transform())

会做的工作。

这是一个完整的示例:

import matplotlib.pyplot as plt
import numpy as np; np.random.seed(0)

x = np.linspace(0,100,350)
y = np.cumsum(np.random.normal(size=len(x))) 
bo = np.zeros(len(y))
bo[y>5] = 1

fig, ax = plt.subplots()
ax.fill_between(x, 0, 1, where=bo, alpha=0.4, transform=ax.get_xaxis_transform())

plt.plot(x,y)
plt.show()

在此处输入图片说明



 类似资料:
  • 我有一个重命名了布尔变量的FileBean。它有以下代码。 我已经使用请求对象将其对象传递给jsp(考虑fileDetail是一个请求属性名)。我的jsp包含以下代码。 使用这个,我在jsp上获得了以下运行时异常。 请向我建议解决办法。 提前谢谢。

  • 问题内容: 我正在用几个打标机。 当列表()中没有条目时,我想显示一条消息。 我尝试使用with,但是它不起作用。 自定义列表布局代码: 列表适配器类: 列表解析方法: 方法: 问题答案: 这对我有用(从WilliamRemacle提出的问题中得到了解决方案)。您可能会错过的是 将创建的 对象 添加 到 布局父对象 (下面方法底部的第二行代码): 在我中,我使用以下方法为空视图获取视图: 然后在的

  • 我在Ubuntu 14.04中安装了phpbrew以使用PHP5.4。它工作得很好,但当我尝试使用composer时除外,composer会忽略phpbrew并安装与PHP5.5相关的依赖项。 有没有办法强制composer与phpbrew config兼容?我试图在我的作曲家中添加:php:“5.4”。json,但是它说这个要求在我的php版本中是不可能的。

  • 我是Micronaut框架的新手,我正在尝试使用entitymanager创建我的存储库。我这样创建了我的存储库 我使用这个类实现接口并注入entitymanager 问题是我一直有这个错误: PS:我已经启用了注释处理

  • 我正在尝试将composer与我的WampServer一起使用。 我所有文件的路径都是,但当我运行composer时,它会将供应商文件和其他东西安装到其他地方。 我甚至不知道我的项目在哪里,我也不能改变我的项目在哪里的路径。我已经尝试了所有的方法,但它似乎仍然没有在我的项目文件夹中安装供应商文件。

  • API level 28和Google建议使用registerNetworkCallback(NetworkRequest,PendingIntent)不推荐CONNECTIVITY\u操作。 我尝试使用ConnectionManager注册了registerNetworkCallback。NetworkCallback和它的工作,但我想使用PendingContent。 让我困惑的是公共空寄存器