qcustomplot 绘制不连续的曲线
时间: 2023-11-06 15:04:01 浏览: 29
要绘制不连续的曲线,可以使用QCustomPlot的“空数据”方式。具体步骤如下:
1.创建一个QVector,用于存储数据点的x坐标和y坐标。
2.在不连续的点处,将x和y的值设置为QCPGraph::lsNone,即没有数据。例如:
```
QVector<double> xData, yData;
xData << 1 << 2 << 3 << 4 << 5 << 6;
yData << 1 << 2 << QCPGraph::lsNone << QCPGraph::lsNone << 5 << 6;
graph->setData(xData, yData);
```
在上面的代码中,第三个和第四个点的x和y值被设置为QCPGraph::lsNone,表示这些点没有数据,因此图形将在这些点处中断。
3.将图形的线型设置为QCPGraph::lsLine,以便在不连续的点处绘制线段。
```
graph->setLineStyle(QCPGraph::lsLine);
```
完整代码示例:
```
QVector<double> xData, yData;
xData << 1 << 2 << 3 << 4 << 5 << 6;
yData << 1 << 2 << QCPGraph::lsNone << QCPGraph::lsNone << 5 << 6;
QCPGraph *graph = ui->plot->addGraph();
graph->setData(xData, yData);
graph->setLineStyle(QCPGraph::lsLine);
```
运行代码后,您应该会看到一个在第三个和第四个点中断的曲线图。