C++ QCustomPlot:如何更新图形的数据?
我使用QCustomPlot显示图片的直方图。 我用于设置a曲线的函数如下所示:C++ QCustomPlot:如何更新图形的数据?,c++,qt,qcustomplot,C++,Qt,Qcustomplot,我使用QCustomPlot显示图片的直方图。 我用于设置a曲线的函数如下所示: void SingleHistogram::setHist(const QVector<double> &x, const QVector<double> &y) { //clearGraphs(); graph(0)->setData(x, y); graph(0)->resca
void SingleHistogram::setHist(const QVector<double> &x,
const QVector<double> &y)
{
//clearGraphs();
graph(0)->setData(x, y);
graph(0)->rescaleAxes(true);
replot();
}
void SingleHistogram::setHist(const QVector&x,
常数(矢量和y)
{
//clearGraphs();
图(0)->设置数据(x,y);
图(0)->重新缩放轴(真);
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);
实际上,我发现我在图表中提供的输入数据包含两组值。 所以每个x坐标有2个y值
有趣的是,在这种情况下,QCustom plot将生成这种图形 失败:
错误:“类QCPGraph”没有名为“replot”的成员:(!可能是您应该添加一个类似于clearValues()
的函数。它也不起作用。我的输入数据已“损坏”!