我正在使用Qt
&进行串行端口实时数据绘图的应用程序Qwt
。我正在使用QwtPlot
的{{1}}方法在QwtPlotCurve
对象上绘制数据。由于我正在绘制大量数据,因此x轴不断缩小一段时间之后,这个图表很难看。所以我在绘制500分之后重置了setData(QVector<double>&,QVector<double>
。它变得更好但是我仍然没有缩小到500分。我不是那样的。我需要x轴是静态的。任何解决方案??
以下是代码的一部分供参考。
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();
}
方法。
答案 0 :(得分:1)
禁用自动缩放,请参阅QwtPlot :: setAxisScale()