Streaming sensor data at >100 points per second

0.1s is 10 frames per second, that’s generally about the minimum refresh rate that looks smooth to a human. I only want to show 5 seconds of data, so ~500 points to plot as the data scrolls by. If the update happened every second then 100 new data points would show up, so 1/5th of the graph, and when we do that it’s clearly choppy.

I was hoping that a single render of say 10 seconds of data with quick updates to a range property would be possible, but that doesn’t seem like an option.

I also noticed that Plotly V3 had a Streaming API (https://plotly.com/python/v3/streaming-tutorial/) which looks closer to what is needed to achieve this, but as far as I can tell that doesn’t exist in V4, only the interval callbacks which are quite limited at higher frame rates needed to smoothly stream data.

There’s also this old streaming demos plotly repo that hasn’t been updated in 2 years and all the demos don’t work now. But there’s a video showing a streaming voltage trace which is exactly what we’re trying to accomplish.