以下是一些示例点:
(1,1),(2,3),(3,1),(4,2),(1,5),(3,4)
我想依次用一条线绘制这些点,我已将它们添加到向量x
和y
中。然后,执行了setData(x,y)
但是,QCustomPlot
似乎只能按x
轴的顺序绘制点。
我注意到这些点是由setData(x,y)
自动排序的。
如何按原始顺序绘制这些点?
答案 0 :(得分:0)
您正在寻找的是使用QCPCurve
而非图表。
定义:
QCPCurve *newCurve;
通过以下方式启动它:
this->newCurve = new QCPCurve(ui->customPlot->xAxis, ui->customPlot->yAxis);
ui->customPlot->addPlottable(this->newCurve);
然后您可以像使用图表一样使用它:
QVector<double> x, y;
//...
this->newCurve->setData(x, y);
另请参见此示例:Parametric Curves Demo。
答案 1 :(得分:0)
根据A. Sarid的帮助,我在演示中找到了QCPCurve的用法(11)。 QCPCurve和QCPGraph之间的区别在于,一个x可以与QCPCurve对应不同的y。 所以,只需添加代码:
QCPCurve * newCurve = new QCPCurve(ui - &gt; customPlot-&gt; xAxis,ui-&gt; customPlot-&gt; yAxis); newCurve-&GT;使用setData(X,Y);
再次感谢A. Sarid!