Настройки для реального времени QCustomPlot

Я использую Windows 7 x64, Qt 5.6, Visual Studio 2015, QCustomPlot 1.3.2. Мне нужно нарисовать график температуры с датчика (в режиме реального времени). Я получаю значение температуры каждые 500 мс (frequency = 2 Гц). Какие настройки я должен применить к QCustomPlot экземпляр для того, чтобы иметь последние значения, полученные во время time_period = 10 минут?
Вот фрагмент слота обновления:

double key = QDateTime::currentDateTime().toMSecsSinceEpoch() / 1000.0;
custom_plot_->graph(0)->addData(key, value);
custom_plot_->graph(0)->removeDataBefore(old_items_count);
custom_plot_->xAxis->setRange(key + some_delta, old_items_count, Qt::AlignRight);

Какие формулы для переменных old_items_count = func1(time_period, frequency) а также some_delta = func2(time_period, frequency)?
Официальная демонстрация содержит следующие значения: old_items_count = 8, some_delta = 0.25,

1

Решение

Если твой xAxis в секундах, чтобы иметь постоянный диапазон 10 минут (600 секунд), вам нужно установить его диапазон следующим образом:

custom_plot_->xAxis->setRange(key + some_delta, 600, Qt::AlignRight);

Где значение some_delta зависит от тебя. Посмотрите на Описание класса QCPAxis.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]