问题:
我正在策划一个时间序列。我不知道apriori最低&最大值。我想在最后5秒的数据中绘制它。我希望绘图 automaticaly 重新缩放自身,以最适合过去五秒钟的数据。但是,我不希望重新缩放是不稳定的(因为不断重置最小和最大值) - 当它重新缩放时,我希望重新缩放是平滑的。
是否存在处理此问题的现有算法?
形式上:
我有一个功能
float sample();
你可以多次打电话。我希望你不断地,实时地将最后的5 * 60值绘制给我,并且图表很好地缩放。我希望图表自动重新缩放;但不是以“生涩”的方式。
谢谢!
答案 0 :(得分:1)
您可以尝试类似
的内容 float currentScale = 0;
float adjustSpeed = .3f;
void iterate() {
float targetScale = sample();
currentScale += adjustSpeed * (targetScale - currentScale);
}
如果adjustSpeed太生涩了,请降低它。