QCustomPlot Discussion and Comments

Data scale changeReturn to overview


I have a big data file, with 32 arrays of more than 2 millions points each. I made only one plot with 32 graphs inside it.
I want to show only a small part of the datas at a time, so I only display 4000 points for each graph on the screen. When I click, the page change and the next 4000 points are displayed.

The first : I want to change the time scale (y-axis = number of point displayed by each graph on the screen), and for that I need to change the matrix of each graph. Let's say I want to display 8000 points pergraph instead of the default 4000, I get this error message after the replot() :
void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 4000 8000

And when I reduce the scale (from 4000 to 2000 for example), only the first half of the data are changed, and the second half stay the same.

I guess it's because when I first create the graphs, I set the data with a matrix of 4000 points... Is it possible to change the data size of a graph after its creation ?

One of the solution is to set all the data directly inside the graph at the beginning, and then change the QCPRange to display more or less data. It works fine, but as the file is really big (way more than 64 millions data points), it takes too much time to load everything. So this is not the way I want to do it.

graph->data()->set(datas) set current show datas