gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 07:33:44 26 4
gpt4 key购买 nike

由于 Qwt 库,我在 Qt 中绘制曲线时遇到问题。

曲线画的很好,除了最后一个点和第一个点是连在一起的,QwtPlot居然用我提供的数据画了一个多边形...

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

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

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

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

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

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

最佳答案

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

关于c++ - 使用 QwtPlotCurve 断开第一个和最后一个点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17146219/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com