【发布时间】:2020-05-02 15:44:53
【问题描述】:
当我的信号值大于该信号的平均值时,我想在图表上画一条线。我的信号是肌肉拉动和放松的简单串联。
muscle_on2 = np.random.uniform(-1, 1, 1000) + offs
muscle_off = np.random.uniform(-0.05, 0.05, 500) + offs
emg = np.concatenate([muscle_off, muscle_on1, muscle_off, muscle_on2, muscle_off])
为了做到这一点,我尝试了这样的事情:
pl.plot(x_axis)
for i in range(0, len(emg), 1):
if emg[i]>RM:
pl.plot([i, 1.0], [i, 1.0], 'r-', lw=5)
RM 在哪里:
RM = np.mean(emg)
有人可以帮我解决这个问题吗?
我忘了澄清这一点,在这种情况下,偏移量(偏移量已被过滤掉)这部分代码是为了显示我的信号是如何创建的。当我打印出照片上的平均值时,它在 0.26 左右振荡。我希望我的线在信号值大于平均值时出现,并在信号值小于平均值时结束。
【问题讨论】:
-
您的代码中的
offs是什么?请提供minimal reproducible example。也不清楚你希望你的线路如何?水平的?这条线的延伸是什么? -
对不起。我忘了澄清它,在这种情况下偏移(偏移已被过滤掉)这部分代码是为了显示我的信号是如何创建的。当我打印出照片上的平均值时,它在 0.26 左右振荡。我希望我的线在信号值大于平均值时出现,并在信号值小于平均值时结束。
-
你有机会看看我的回答吗?这种方法是否能给你想要的输出?
标签: python if-statement matplotlib signal-processing