簡體   English   中英

QCustomPlot:如何更新圖表數據?

[英]QCustomPlot: How to update data of a graph?

我使用QCustomPlot顯示圖片的直方圖。 我用來設置曲線的函數如下:

void SingleHistogram::setHist(const QVector<double> &x,
                              const QVector<double> &y)
{
    //clearGraphs();
    graph(0)->setData(x, y);
    graph(0)->rescaleAxes(true);
    replot();
}

它適用於我打開的第一張照片:

在此輸入圖像描述

但是當我使用相同的函數設置新的直方圖時,第一條曲線不會被刪除(即使setData()調用圖的clearData()方法):

在此輸入圖像描述

如您所見,第二條曲線(峰值)被添加到圖表中。

我不想刪除和重建新的QCPGraph以提高效率,因為我覺得它沒用。

有人能告訴我這里我做錯了什么嗎?

謝謝!

出於好奇,你要清除你的向量x,y嗎? 如果沒有,你應該在加載新圖表之前清除它們。

代碼看起來有點像

// Graph 1    
setHist(x,y);  // set graph

//
// ..Some code
//

//before loading new values
x.clear();
y.clear();

// Graph 2 
// Fill up new values
// x=[],y=[]

// set NEW graph
setHist(x,y);

實際上,我發現我提供的輸入數據圖包含2組值。 所以每個x坐標都有2 y值。

有趣的是,在這種情況下,QCustom圖將產生這種圖形!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM