Bring Drag & Drop to Dash with Dashboard Engine. 💫 Learn how at our next webinar!

More efficient loading of figures with large amounts of data

I have tried looking around the forum for any discussion of this, but keep coming up empty, so I am posting here in the hopes of not having to re-invent the wheel.

My problem is this: Dash works great. Even with fairly large datasets using scattergl the plots are usable once they load.

The problem is that loading my plots can be quite time consuming. For example I may be loading tens of minutes of time series data sampled at 100Hz, with tens of different traces viewable at once. This becomes a lot of data that needs to be downloaded at once.

It seems to me that the solution to improving performance here would be to downsample the data on initial load so that much less data is downloaded (while still not being noticeable by the user), and then load higher frequency data on-demand as the user zooms in.

If anyone knows of an existing solution such as this or has other thoughts on this problem, I would love to hear them.