使用QwtPlotCurve断开第一个和最后一个点

时间:2013-06-17 11:17:45

标签: c++ qt qwt

由于Qwt库,我在Qt绘制曲线时出现问题。

曲线图很好,除了最后一点和第一点连接的事实,QwtPlot实际上用我提供的数据绘制一个多边形......

我查看了QwtPlotCurve设置和参数,但找不到任何可以解决这个问题的相关内容。

我感谢this thread的另一个提示(遗憾的是没有答案)是它与我提供的数据有关。

目前,我正在使用循环固定大小的缓冲区(std::array)来存储我连续轮询的值。然后,我使用成员函数

setRawSamples(const double* xData, const double* yData, int size);

设置曲线的数据(使用std::array::data()得到的指针)。这意味着要绘制的点列表不是有序的(即具有最小横坐标的点不是double*中的第一个点)。

它可能是问题的根源吗?我该如何解决这个问题,只绘制曲线而不是多边形?

1 个答案:

答案 0 :(得分:1)

默认情况下,曲线绘制为非闭合多边形。每个采样点都连接到提供的数组中的前一个采样点(但第一个采样未连接到最后一个采样)。 Qwt不关心按横坐标值排序你的积分。例如,如果提供样本(0,0),(0,1),(1,1),(1,0),(0,0),它将绘制一个矩形。如果要避免曲线中的自相交,则需要提供按横坐标排序的样本。