2016-04-15 9 views
1

Ich verwende Windows 7 x64, Qt 5.6, Visual Studio 2015, QCustomPlot 1.3.2. Ich muss Temperaturdiagramm von einem Sensor (Echtzeit) zeichnen. Ich empfange den Temperaturwert alle 500 ms (frequency = 2 Hz). Welche Einstellungen sollte ich auf die QCustomPlot Instanz anwenden, damit die letzten Werte während time_period = 10 Minuten empfangen werden? Hier ist ein Fragment der Erneuerung Schlitz:Einstellungen für Echtzeit QCustomPlot

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); 

Was die Formeln für Variablen sind old_items_count = func1(time_period, frequency) und some_delta = func2(time_period, frequency)? Offizielle Demo enthält die folgenden Werte: old_items_count = 8, some_delta = 0.25.

Antwort

1

Wenn Ihr xAxis in Sekunden, um einen konstanten Bereich von 10 Minuten haben (600 Sekunden) Sie sein Angebot einstellen müssen, wie folgt:

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

Wenn der Wert von some_delta bis zu ist Sie. Werfen Sie einen Blick auf die QCPAxis Class Reference.