用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,它完全符合您的要求。
我有一组要绘制的点,它们的坐标存储在
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,它完全符合您的要求。