How do the Chart and Easy Chart plot data?

Say for example you have an Easy Chart whose plotting area is 1000 pixels wide. You then ask for a 30 days trend of an input which has been logged every second - potentially over 2.5 million points.

Does the Chart request and get all 2.5 million points? If not how does it filter them? How then are the points displayed? Does the Chart try and plot all returned points on the graph?

I’ve seem some quite clever historical trenders that look at the width of the plotting area (in this example 1000 pixels), then get a maximum and a minimum for 1000 equally sized groups. They then draw a vertical line between the maximum and minimum values for each pixel. The result is a graph where you can see all perturbations no matter how far out you are zoomed, without worrying about biasing things (and losing brief transients) by carrying out averaging. The amount of data coming from the SQL database is also hugely reduced.

I’d be interested to hear what currently happens, and whether this kind of scheme could be an option for the future.

All points in a given range will be selected. Because we work with any brand of SQL database, our querying capabilities are necesarrily the lowest common denominator between all databases. Even without that excuse, SQL doesn’t offer a good way of selecting data like you suggested.

The good news is that the graph shouldn’t choke on 2.5M points - it’ll take a bit to load, but should work fine. As far as drawing the points, it does something similar to what you proposed.

I lied. There is a way to select data in a way similar to your suggestion. We’ll take this into consideration.