如图,这个图是由30000多个坐标点画出来的,但是我不需要这么密的点,我只想要最高的二百来个坐标,但是通过y轴高度过滤的不行,下面图是局部放大的
我只想要 每个 明显凸起的最高值
通过y轴高度过滤的不行 你自己筛选一下数组.比如按10个切分.每10个里面找出最大值.
再把所有最大值展示出来.
PS:失真是肯定会失真的
我找了资料,这应该牵涉到数学范畴,资料都出自matlab中,从一个其他厂家提供的接口中看到,他们有2种寻峰方法,默认使用的叫做质心寻峰法,除了这些,一头雾水,单纯通过y轴的值并不能得到想要的数据
@MSky:
1.一定会失真
2.原始数据有10000个.你现在要缩成100个.也就是要100个和成一个
3.要看你的报表是想看峰值还是最低值.
4.至于你说的那些算法..没啥意义.以为反正都会失真.为了这么点准确性没必要.
@吴瑞祥: 我想要的就是黑框内的,每个黑框内取一个最大值
@吴瑞祥: 失真无所谓,就要这些凸起的特征
@MSky: 你要几个点就分成几分.然后取中间最大值就是了
@吴瑞祥: 问题是间宽不等怎么来划分区间呢
@MSky: 别说这样的怪话...
@吴瑞祥: 您可能没理解我说的意思,比如第一个凸起最高点,到第二个凸起最高点,假设中间宽是50,第二个最高点,到第三个最高点,中间只有20,如果平均划分区间集合来取最大值,可能有问题,下面的图就是通过抽取峰得到的我想要的结果(两张图数据源不一样)
@MSky: 那把你的想写写成代码就好了.
你不要纠结中间只有20不够间隙的问题.要是这么纠结那要是中间只有2个空你怎么办.当然是取最高的.当成一个峰值了.
@吴瑞祥: 好吧,先按平均的取试试,看看结果效果怎么样
你找找api看看有没有实现这种功能的,如果没有只有从数据源上动手了。
这是数学没学好的问题。当然,也可能是语文没学好。