Charting High Volumes of Data


I’m having some issues charting a large number of data points and I can’t figure out what is going wrong. I’m using an Easy Chart with a SQL query to grab the data. With the size of the chart in useI can get up to 2800 data points and it looks good, but after that the chart axes get all messed up and unable to see all the data. Here what it looks like:

I can’t zoom out anymore - the chart just seems to get corrupted.

With the “Top 3000” query the underlying data seems good - if I look at the data returned by the query in the chart properties it has 3000 rows with what looks like the correct data. It just not getting displayed correctly.

Anyone have any suggestions or knowledge of how the charts handle high volume of data points? With the given chart resolution I assume that if more data points than pixels it will filter the data somehow, but I’d hope that the chart would still be able to display some representation of the data in the selected time period.


Return t_stamp as your first column, not *_ndx. If you find yourself displaying 100k rows or more, you might want to look at my Time Series Database Cache module. It was inspired by the challenge of displaying 6 hours of 10/second samples on a real-time chart.

Thanks so much for the suggestion but it didn’t seem to help. I still get the oddity happening using t_stamp:

Exceeding 2800 rows still seems to break things. I will keep your Time Series Database Cache in mind as we might have some instances down the road where the higher resolution could be helpful. In this case I feel the standard chart should be able to display what I’m asking! Any other thoughts/ideas?

When you query 3000 rows, is the result dataset showing up as “optimized” in the chart properties panel?

Also, consider wrapping the query in an outer query that orders by t_stamp ascending. It might be a sorting or line rendering bug.

1 Like

Try sorting your data in the opposite direction (flip the X axis if you need to keep the chart looking the same. The Easy Chart and Classic Chart have some “optimizations” that handle large numbers of datapoints and look at factors such as the width of the chart itself (as in, in screen pixels) and sometimes truncate displayed datapoints as a result. Sorting the dataset ascending takes care of most (though not all) of these issues.

1 Like

Thanks - that took care of it!