πŸ’« Plotly-resampler - Visualize large time series using plotly-dash

I proudly present plotly-resampler, a wrapper around the plotly Figure object, which is able to visualize large sequences of time-series data.

basic_example

I wrote a custom dash-component to optimize the callbacks (i.e. only send the to-be updated trace data to the client). I am rather sure that this component & the source code can still be improved!

Any feedback/contributions are welcome!

Main features:

  • Convenient to use:
    • just add the FigureResampler decorator around a plotly Figure constructor and call .show_dash()
    • allows all other plotly figure construction flexibility to be used!
  • Environment-independent
    • can be used in Jupyter, vscode-notebooks, Pycharm-notebooks, as application (on a server)
  • Interface for various downsampling algorithms:
    • ability to define your preferred sequence aggregation method
8 Likes

This is SO cool! I can’t wait to try it out :smiley:

1 Like

This is impressive work :fire: Thank you for building this and sharing with the community, @jonvdrdo .

1 Like

Could this be used with large amount of data that’s not strictly time-series? In my case I have data about frames in a video, so consecutive indices from 0 to a large number

1 Like

Hi @Wabiloo!

plotly-resampler supports numeric-indices (i.e., not-time based indices (see the noisy-sine on the right-top subplot of the example gif)) so I suppose it will work! :slight_smile: