gpt4 book ai didi

c++ - QCustomPlot:如何更新图表的数据?

转载 作者:太空狗 更新时间:2023-10-29 23:13:59 29 4
gpt4 key购买 nike

我使用 QCustomPlot 来显示图片的直方图。我用来设置曲线的函数如下:

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

它非常适合我打开的第一张图片:

enter image description here

但是当我使用相同的函数设置一个新的直方图时,第一条曲线不会被删除(即使 setData() 调用了图表的 clearData() 方法) :

enter image description here

如您所见,第二条曲线(峰值)已添加到图中。

我不想为了效率而删除和重建一个新的QCPGraph,因为我觉得它没用。

有人能告诉我我做错了什么吗?

谢谢!

最佳答案

出于好奇,您要清除 vector 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);

关于c++ - QCustomPlot:如何更新图表的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36379482/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com