私が正しく理解できれば、xAxis
範囲が一定であるというグラフが得られます。秒として定義されているMAX_RANGE
としましょう。MAX_RANGE
秒を過ぎると、グラフがクリアされ、秒から最初からやり直され0
ます。
T
これがすべて正しければ、プロットを更新するために1秒ごとに1回呼び出す関数が既にあると思います。そうでない場合は、この例を見てください。
毎秒呼び出す関数が既にあるとしますT
。
void MyPlot::updatePlot(int yValue)
timeCounter
次に、呼び出しごとに更新されるクラス変数として a を追加するだけです。if
次に、合格したかどうかを確認するステートメントを追加しMAX_RANGE
ます。を使用してグラフをクリアした場合はclearData()
、新しい値を追加してリセットしtimeCounter
ます。そうでない場合は、新しい値を追加するだけです。簡単な例 (ケースに合わせて変更するだけです):
void MyPlot::updatePlot(int yValue){
this->timeCounter += T;
if (this->timeCounter >= MAX_RANGE) {
ui->customPlot->graph(0)->clearData();
ui->customPlot->graph(0)->addData(0, yValue);
this->timeCounter = 0;
}
else {
ui->customPlot->graph(0)->addData(this->timeCounter, yValue);
}
}