2016-04-02 19 views
3

Resimlerin histogramlarını görüntülemek için QCustomPlot kullanıyorum. Ben bir eğri ayarlamak için kullandığınız işlevi şudur:QCustomPlot: Bir grafiğin verileri nasıl güncellenir?

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

Ben ilk açtığınızda resim için harika çalışır:

enter image description here

Ama aynı kullanarak yeni histogram ayarladığınızda

enter image description here

: işlevi, birinci eğri (bile setData() çağrı grafiğin clearData() yöntemi) kaldırılmaz

Görüldüğü gibi ikinci eğri (tepe) grafiğe eklenir.

Yararsız olduğu için, yeni bir QCPGraph verimliliğini silmek ve yeniden oluşturmak istemiyorum.

Birisi bana burada yanlış yaptığımı söyleyebilir mi?

Teşekkürler!

cevap

0

Aslında, grafik temin edilen giriş veri değerleri 2 takım mevcut olduğu anlaşılmıştır biraz gibi görünecektir. Yani her x koordinatı 2 y değerine sahipti.

Bu durumda QCustom çiziminin bu tür bir grafik üreteceğini bilmek ilginç!

0

Sadece meraktan uzak, vektörlerinizi temizliyor musunuz x, y? değilse yeni grafikleri yüklemeden önce bunları temizlemelisiniz.

kod

// 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); 
+0

Başarısız: 'error: 'QCPGraph' sınıfı 'replot'' adlı bir üyeye sahip değil :(! – Plouff

+0

' clearValues ​​()' – Mozfox

+0

gibi bir işlev eklemelisiniz. Ayrıca işe yaramadı. Giriş verilerim " "bozuk! – Plouff

İlgili konular