I’m new to bokeh, and having a potential application in mind, I thought it would be wise to ask the experts if I can make it do what I need, before diving in any further.
– The plot style is stacked line graphs, what seismologists call a “helicorder” display after the old-style pen-and-drum recorders which traced data in one long spiral.
– Real-time data are provided at 30-Hz sampling rate from the server. All computation happens on the client (browser) side, with a data cache of the raw 30-Hz data from the server. Often the period of interest is 1-3 days, so the client side has to decimate (rate change) on the fly as needed to present a view spanning several million data points, without compromising pan/zoom performance. I.e. UI responsiveness for scrolling or zooming in time can’t be worse than ~ 1 second, and preferably better than that.
– The data have a high dynamic range (~ 120 dB), so amplitude zoom by a factor of a thousand is common and should not feel sluggish as all of the data points on-screen update.
– Display auto-updates every 30 seconds or so as new [current] data arrive from the server. Ok to draw progressively and only scroll when the plot reaches the right edge of the screen and starts a new line below.
Does this sound like something I could achieve with bokeh?