qt 用qt chart做上位机实时显示曲线
单片机每秒传500个点 但是chart画图每秒可能只有20个点 而且还延时 问下怎么回事啊 画图时我是逐点更新的
void MainWidget::updateData(float value)///////更新数据函数
{
int i;
QVector<QPointF> oldData = SplineSeries->pointsVector();
QVector<QPointF> oldData3 =scatterSeries->pointsVector();
QVector<QPointF> data;///////////新的数据变量
QVector<QPointF> data3;///////////新的数据变量
if (oldData.size() < 250) {
data=SplineSeries->pointsVector();//////////////把之前数据点量大小没超过97的复制到新的数据变量data里面
data3=scatterSeries->pointsVector();
} else {
/* 添加之前老的数据到新的vector中,不复制最前的数据,即每次替换前面的数据
* 由于这里每次只添加1个数据,所以为1,使用时根据实际情况修改
*/
/*
for (i = 1; i < oldData.size(); ++i) {
data.append(QPointF(i - 1 , oldData.at(i ).y()));
data3.append(QPointF(i - 1 , oldData.at(i ).y()));
}
}
qint64 size = data.size();
for(i = 0; i < 1; ++i)
{
data.append(QPointF(i + size, value));///////////到时我这里是单片机给他的
data3.append(QPointF(i + size, value));
}
SplineSeries->replace(data);///重新替换整个数据//////也相当于加载坐标点集
scatterSeries->replace(data3);
count++;
}