0

我正在为 Qt 中的几个 Arduino 传感器制作数据记录器。问题是我想将数据记录在 3 个不同的图表中,每个图表都有一个特定的比例,然后我将选择要显示的图表(一次只显示 3 个图表中的一个)。

我试过这样的事情:

QCPGraph *sensorXGraph = ui->graph->addGraph();
QCPGraph *sensorYGraph = ui->graph->addGraph();
sensorXGraph->setVisible(false);
sensorYGraph->setVisible(false);

然后,在 RadioButtonclicked事件的插槽调用中,我做了:

sensorXGraph->setVisible(true);
sensorYGraph->setVisible(false);

而另一个 RadioButton 则相反。但是该图似乎保留了创建的最后一个图的轴。因此,如果我尝试查看sensorXGraph,数据将相应更改,但 y 轴范围将是sensorYGraph.

我还尝试为每个图制作一个 QCPAxis,但它开始变得一团糟,因为我还必须为每个图制作 QCPAxisRect,结果比第一次试验更差。

如何正确地从一个图形更改为另一个图形?

先感谢您。

4

1 回答 1

0

您可以在 QCustomPlot 上调用 clearGraphs(),然后通过调用 addGraph() 添加要显示的任何图形,然后在 QCustomPlot 上调用 replot()。所以它会是这样的:

ui->graph->clearGraphs();
ui->graph->addGraph();
// Do whatever you need to do to edit your graph.
ui->graph->replot();

由于您使用的是单选按钮,我认为绘制一个图表并根据选择的任何单选按钮添加必要的数据和标签会更容易。希望这会有所帮助!

于 2017-04-09T22:12:42.900 回答