matplotlib 突出显示图形上的布尔数组

bjg7j2ky  于 2023-06-06  发布在  其他
关注(0)|答案(1)|浏览(162)

我需要绘制一个图表(时间,速度),并需要过滤低于14.0的值,并在图表中突出显示这些值。

# IV-T

diffhor = np.diff(xframe)
diffvert = np.diff(yframe)
vel = np.sqrt((diffhor**2)+(diffvert**2))

filteredvel = flt.savgol_filter(vel, 70, 2)

fixations = np.zeros_like(filteredvel, dtype=bool)
fixations[filteredvel <= 14.0] = True

# plot velocity over time

plt.plot(timeframe[0:-1], fixations)
plt.xlabel('time (ms)')
plt.ylabel('velocity signal')
plt.title('IV-T')
plt.show()

因此,这里它确实绘制了固定值(值低于14.0),但仅作为0和1,因为它是一个布尔数组。是否有一种方法来绘制时间,过滤值,以便在固定中的所有True值在图形中突出显示?

zbwhf8kr

zbwhf8kr1#

找到了:

fixations = fixations * filteredvel

fixations[fixations == 0] = np.nan

现在,如果我在原始图上用红色绘制,它正确地显示了14.0以下的所有值

相关问题