2010-02-25 4 views
0

Задача:Автоматическая линейная шкала для графика временных рядов

Я планирую временные ряды. Я не знаю apriori минимум & максимальных значений. Я хочу построить его за последние 5 секунд данных. Я хочу, чтобы сюжет был automaticaly перемасштабировать себя, чтобы наилучшим образом соответствовать данным за последние пять секунд. Тем не менее, я не хочу, чтобы перемасштабирование было отрывистым (как можно было бы получить постоянный сброс min & max) - при его масштабировании я хочу, чтобы масштабирование было плавным.

Существуют ли существующие алгоритмы для обработки этого?

Формально:

У меня есть функция

поплавка образца();

это можно позвонить несколько раз. Я хочу, чтобы вы постоянно, в реальном времени, задумывались о последних 5 * 60 значениях, с диаграммой, хорошо масштабированной. Я хочу, чтобы диаграмма автоматически масштабировалась; но не «рывком».

Спасибо!

+0

Разве пользователь не был бы полностью сбит с толку, если бы вы сохранили масштабирование? – 2010-02-25 02:03:53

+0

1) Я пользователь. 2) Он предназначен для отладки; Я запускаю симуляцию; Мне нужно построить кучу разных вещей. Я бы хотел, чтобы один класс, я могу просто бросить кучу данных, и он просто «пойдет правильно», – anon

ответ

1

Вы могли бы попробовать что-то вроде

float currentScale = 0; 
float adjustSpeed = .3f; 

void iterate() { 

     float targetScale = sample(); 
     currentScale += adjustSpeed * (targetScale - currentScale); 

} 

И опустить adjustSpeed, если это слишком отрывисто.