QCPDataMap *Layout2D::generateDataMap(Column *xData, Column *yData, int from, int to) { QCPDataMap *dataMap = new QCPDataMap(); double xdata = 0, ydata = 0; for (int i = from; i < to + 1; i++) { xdata = xData->valueAt(i); ydata = yData->valueAt(i); dataMap->insert(xdata, QCPData(xdata, ydata)); } return dataMap; }
/* //RANDOM WALKS STUFF graphRTT.clear(); float randomWalk=0.0f; int n=100; for(int i=0;i<n;++i){ graphRTT[i]=QCPData(i,randomWalk); randomWalk+=(qrand()/(float)RAND_MAX-0.5f)*0.1f; } stats.addGraph("Random data",graphRTT); */ void NetworkStats::appendGraphData(double rtt, int sent,int received,int lost,int acked, float sendBW,float receiveBW){ double now=QDateTime::currentMSecsSinceEpoch()/1000.0; graphRTT[now]=QCPData(now,rtt); graphSent[now]=QCPData(now,sent); graphReceived[now]=QCPData(now,received); graphLost[now]=QCPData(now,lost); graphAcked[now]=QCPData(now,acked); graphSendBW[now]=QCPData(now,sendBW); graphReceiveBW[now]=QCPData(now,receiveBW); stats.repaintPlot(); }
void MainWindow::setupGraphTest(QCustomPlot *customPlot) { customPlot->addGraph(); QCPDataMap *dataMap = new QCPDataMap; int n = 10e6; QTime t; t.start(); for (int i=0; i<n; ++i) { dataMap->insert(i, QCPData(i, i)); } qDebug() << "data" << t.restart(); customPlot->graph(0)->setData(dataMap, false); qDebug() << "set" << t.restart(); customPlot->xAxis->setRange(0, 50); customPlot->yAxis->setRange(-1, 1); t.restart(); customPlot->replot(); qDebug() << "replot" << t.restart(); //customPlot->rescaleAxes(); }