Данные
10 Гц означают, что вам нужно отображать только 10 кадров в секунду. Это должно быть легко, поскольку многие игры достигают> 100 кадров в секунду с гораздо более сложной графикой.
Если вы отображаете 10 пикселей в секунду для каждой возможной точки данных, вы можете отображать данные за минуту, используя виджет шириной 600 пикселей. Если вы сохраните индекс 600-го до последнего образца, то будет легко нарисовать только самые последние данные.
Если у вас нет новой точки данных каждые 10 секунд, вам нужно найти способ вставить интерполированную точку данных. На ум приходят три варианта:
- Повторите последнюю точку данных.
- Вставить «пустую» точку данных. Это приведет к появлению пробелов на графике.
- Не обновляйте график, пока не прибудет следующая точка данных. Затем вставьте все пиксели, которые вы не рисовали одновременно, с линейной интерполяцией между точками данных.
Чтобы сделать анимацию плавной, используйте двойная буферизация . Если целевой язык поддерживает виджет canvas, он, вероятно, поддерживает двойную буферизацию.
При масштабировании у вас есть те же три варианта, что и выше, так как увеличенные точки данных не являются непрерывными, даже если исходные точки данных были.
Это может помочь для его реализации в Java.