如何在绘图中实时使用QCustomPlot

时间:2015-04-27 05:51:33

标签: c++ qt qcustomplot

QCustomPlot具有接受const变量的setData函数。 有没有办法QCustomPlot可以用来动态绘制? QCustomPlot setData函数接受常量向量,但我必须动态更改此向量中的值。

const QVector<double> yval(cl);
const QVector<int> xval(cl);


for (int j = 0; j<cl; j++)
    yval[j] = ui->tableView->model()->data(ui->tableView->model()->index(5, j)).toDouble();
for (int j = 0; j<cl; j++)
{
    xval[j] = j;
}
ui->widget->graph()->setData(xval, yval);

2 个答案:

答案 0 :(得分:1)

您可以使用QCPGraph::data()。 QCustomPlot的文档说明:

  

返回指向QCPDataMap类型的内部数据存储的指针。您   可以用它来直接操纵数据,这可能更多   比使用常规setData或addData方便快捷   方法,在某些情况下。

您可以在QCustomPlot中操作数据,如:

for(int i=0; i<count; i++)
    plot->graph()->data()[i] = y[i];

答案 1 :(得分:0)

您使用新数据拨打setData(),然后customPlot()->replot()

我在50毫秒计时器内使用它并且效果非常好。