2017-04-09 91 views
0

我正在爲Qt中的幾個Arduino傳感器製作數據記錄器。問題是我想在3個不同的圖表中記錄數據,每個圖表都有一個特定的比例,然後我將選擇要顯示的圖形(一次顯示3個圖形中的一個)。隱藏/顯示qcustomplot中的多個圖

我想是這樣的:

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

,然後在一個插槽調用從單選clicked事件我所做的:

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

而對於另一個單選倒數。但該圖似乎保留了最後創建的圖形的軸。所以,如果我試圖看到sensorXGraph,數據會相應改變,但y軸範圍將是sensorYGraph之一。

我也試圖爲每個圖製作一個QCPAxis,但它開始變得一團糟,因爲我必須爲每個圖製作QCPAxisRect,結果比第一個試用版更差。

我該如何實現從一張圖改變到另一張圖?

預先感謝您。

回答

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(); 

由於您使用的無線電按鈕,我認爲它會更容易畫出一個圖表,並添加基於任何單選按鈕被選中的必要的數據和標籤:那麼它會是這樣的。希望這有助於!