2

以下是一些示例点:

(1,1),(2,3),(3,1),(4,2),(1,5),(3,4)

我想用一条线依次绘制这些点,我已将它们添加到向量xy. 然后,setData(x,y)进行了。
但是,QCustomPlot似乎只能按x轴的顺序绘制点。我注意到这些点是由setData(x,y).

如何按原始顺序绘制这些点?

4

2 回答 2

0

您正在寻找的是使用QCPCurve而不是 Graph。

定义:

QCPCurve *newCurve;

并通过以下方式启动它:

this->newCurve = new QCPCurve(ui->customPlot->xAxis, ui->customPlot->yAxis);
ui->customPlot->addPlottable(this->newCurve);

然后您可以像使用 Graph 一样使用它:

QVector<double> x, y;
//...
this->newCurve->setData(x, y);

另请参阅此示例:参数曲线演示

于 2016-10-09T17:09:02.567 回答
0

根据 A. Sarid 的帮助,我在 demos(11) 中找到了 QCPCurve 的用法。QCPCurve 和 QCPGraph 的区别在于,一个 x 可以用 QCPCurve 对应不同的 y。所以,只需添加代码:

QCPCurve *newCurve = new QCPCurve(ui->customPlot->xAxis, ui->customPlot->yAxis); 新曲线->setData(x,y);

再次感谢 A. Sarid!

于 2016-10-10T02:59:23.790 回答