Настройки для 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.


person ilya    schedule 15.04.2016    source источник


Ответы (1)


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

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

Где значение some_delta зависит от вас. Взгляните на справочник классов QCPAxis.

person A. Sarid    schedule 16.04.2016