1

Qt&を使用してシリアル ポートからリアルタイム データをプロットするアプリを作成しています。メソッドを使用してオブジェクトQwtにデータをプロットしています。大量のデータをプロットしているため、x 軸が縮小し続け、特定の後にグラフが醜くなります。 500 ポイントをプロットした後、リセットしています。改善されましたが、まだ 500 ポイントまで縮小し続けていません。x軸を静的にする必要があります。解決策はありますか??QwtPlotQwtPlotCurvesetData(QVector<double>&,QVector<double>QVector<double>

参照用のコードの一部を次に示します。

    d = new QVector<double>();
    t = new QVector<double>();
    curve = new QwtPlotCurve("My Plot");
    curve->setPen(QPen(Qt::red));
    curve->attach(ui->qwtPlot);

プロット:

void MainWindow::plot(double val)
{
    if(d->size() < 500)
    {
      d->push_back(val);
      t->push_back(d->size());
    }
    else
    {
        d->clear();
        t->clear();
        d->push_back(val);
        t->push_back(d->size());

    }

    curve->setData(*t,*d);
    ui->qwtPlot->replot();
}

このplot()メソッドは、シリアル ポートで新しいデータが利用可能になるたびにトリガーされます。

4

1 に答える 1

1

自動スケーリングを無効にします。QwtPlot::setAxisScale()を参照してください。

于 2012-11-23T11:49:40.417 に答える