InfluxDB Need assistance with downsampling

I have a scatterplot of over 100 thousand data points. Every point in the plot has same dimensions (small “x” mark) . I need to down sample the data while zooming in and out and only plot a fixed set of points to avoid lag while zooming in and out, and achieve good performance while interacting with the plot.

The dimension of each point remains the same while zooming in and out, so many points overlap as the data is quite huge.

Would be helpful if you can point to some articles or examples where this is achieved. Thanks!

Hello @PumpkinPie,
Welcome!
I’m sorry I don’t fully understand your problem. Are you looking for some sort of UI feature that doesn’t exist? Can you maybe provide some screenshots of what you mean? I’m having trouble understanding.
Thanks. When you say downsample do you mean
https://docs.influxdata.com/influxdb/v2.0/process-data/common-tasks/downsample-data/

Okay, First of all thank you for taking time to respond.

I’m trying to sample data based on minimum difference between consecutive values. Let’s assume the dataset as shown below. I want to group by time period (say 2min, 5min or 15 sec etc.) and then filter the data for each window based on the difference between consecutive values. I’m using InfluxQL to do this. Some one from the slack community suggested sample function to do this, but sample function randomly picks out n points and I’d miss out on few points, as explained in the example in below screenshot. So I’m looking for a function like sample but instead of randomly picking out values, I need to pick by a difference so that the points are sufficiently spread out. I’ll end there and let me know if you need more information. Thank you!
image

Hello @PumpkinPie,
I’m a little confused when you say that the points are sufficiently spread out do you mean the difference between values? or timestamps? Whats the minimum value or timestamp that’s acceptable?

Difference between values.

1s is the minimum timestamp and grouping can go up to 1 min.