用Qt C++绘制平滑曲线

Drawing smooth curve with Qt C++

我有一组要绘制的点,它们的坐标存储在

QVector<double> x(200), y(200);

我想用一些平滑的曲线将它们连接起来,比如样条曲线。或者节点之间更大的点阵列也足够了。我的尝试是

    customPlot->addGraph();
    customPlot->graph(0)->setData(x, y);
    customPlot->graph(0)->setPen(QPen(Qt::blue));
    customPlot->xAxis->setLabel("Index");
    customPlot->yAxis->setLabel("Amplitude");
    customPlot->xAxis->setRange(0, 200);
    customPlot->yAxis->setRange(-3, 3);

我尝试了 QPainterPath class,但没有成功。请帮帮我。

UPD:我现在正在查看 QEasingCurve class,这些函数可能会有所帮助,但作者没有提供示例,我不知道如何使用它们。

根据代码我会说你正在使用 QtCharts。

您可以使用 QSplineSeries,它完全符合您的要求。