我不知道如何解释这个概念,好像我可能已经在Google上找到答案了。
我想做的是获取y点列表,并减少特定选定点以上和以下的所有值。可能在图表的中间,可能在图表的开头,等等。
使用图片更容易。这是我想做什么的可视化。
您可以看到我选择“减少”周围点的点。
我写了这个过于复杂的函数来做到这一点:
import numpy as np
x = [0.0, 4.8, 9.0, 11.3, 13.6, 17.1, 23.1, 29.5, 35.1, 39.8, 42.2]
y = [1.35, 1.36, 1.39, 1.43, 1.46, 1.48, 1.49, 1.53, 1.59, 1.68, 1.8]
squash_around = 1.43
squash_min = min([i-squash_around for i in y])
squash_max = max([i-squash_around for i in y])
y = [np.interp(i-squash_around, [squash_min, 0, squash_max], [.9, 1.0, 1.1])*i for i in y]
但是,它不能正确处理某些数据,例如,我将squash_around
设置为.2,因此它应该修改除左上角以外的所有点,但不能:
如果有人可以指出我可能重复的问题,那就太好了。