1

我正在制作一个应用程序,用于使用Qt&从串行端口绘制实时数据。我正在使用's方法QwtQwtPlot对象上绘制数据。由于我正在绘制大量数据,x 轴不断缩小,使图形在某些情况下变得丑陋时间。所以我在绘制 500 点后重新设置它。它变得更好但我仍然没有一直缩小到 500 点。我不希望那样。我需要x轴是静态的。任何解决方案?QwtPlotCurvesetData(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 回答