Plotly Resampler Versions Save

Visualize large time series data with plotly.py

v0.10.0

1 month ago

New features

๐Ÿšจ Nan handling has been delegated to the aggregators, this implies that plotly-resampler does not perform any nan-checks anymore (making it faster) ๐ŸŽ.

Consequently, we removed the check_nans argument of the FigureResampler constructor and its add_traces method. This argument was used to check for NaNs in the input data, but this is now handled by the nan_policy argument of specific aggregators (see for instance the constructor of the MinMax and MinMaxLTTB aggregator). ๐Ÿ”

What's Changed

New Contributors

Full Changelog: https://github.com/predict-idlab/plotly-resampler/compare/v0.9.2...v0.10.0

v0.9.2

4 months ago

New Features / major changes

โšก overview / rangeslider support ๐ŸŽ‰

  • โžก๏ธ code example:
  • ๐Ÿ–๏ธ high level docs
  • ๐Ÿ” API docs
    • make sure to take a look at the doc strings of the create_overview, overview_row_idxs, and overview_kwargs arguments of the FigureResampler its constructor. Peek 2023-10-25 01-51

๐Ÿ’จ remove traceUpdater dash component as a dependency.

context: see #281 #271 traceUpdater was developed during a period when Dash did not yet contain the Patch feature for partial property updates. As such, traceUpdater has become somewhat redundant is now effectively replaced with Patch.

What's Changed

Full Changelog: https://github.com/predict-idlab/plotly-resampler/compare/v0.9.1...v0.9.2

v0.9.1

10 months ago

Major changes:

Support for multiple axes.

The .GIF below demonstrates how multiple axes on a subplots can be used to enhance the number of visible traces, without using more (vertical) screen space ๐Ÿ”ฅ!

Make sure to take a look at our examples

Peek 2023-07-13 10-24

What's Changed (generated)

Full Changelog: https://github.com/predict-idlab/plotly-resampler/compare/v0.9.0...v0.9.1

v0.9.0

10 months ago

Major changes:

Even faster aggregation ๐ŸŽ

We switched our aggregation backend to tsdownsample, which alleviates the need to compile our C code on non-supported devices, and has parallelization capabilities. tsdownsample leverages the argminmax crate, which has SIMD-optimized instruction to find vertical extrema really fast!

With parallelization enabled, you should clearly see a bump in perfomance when visualizing (multiple) large traces! ๐ŸŽ

Versioned docs! :party:

We restyled our documentation and added versioning! ๐ŸŽ‰

https://predict-idlab.github.io/plotly-resampler/latest/

Go check it out! :point_up:

Other Features

  • Support for log-scale axes (and thus log-bin-based aggregators) - check this pull-request

The above image shows how the log aggregator (row2) will use log-scale bins. This can be seen in the 1-1000 range when comparing both subplots.
Note: the shown data has a fixed delta-x of 1. Hence, here are no exact equally spaced bins for the left part of the LogLTTB.

  • Add a fill-value option to gap handlers

The above image shows how the fill_value option can be used to fill gaps with a specific value.
This can be of greate use, when you use the fill='tozeroy' option in plotly and gaps occur in your data, as this will, combined with line_shape='vh', fill the area between the trace and the x-axis and gaps will be a flat zero-line.

Bugfixes

  • support for pandas2.0 intricacies

What's Changed (generated)

Full Changelog: https://github.com/predict-idlab/plotly-resampler/compare/v0.8.3.2...v0.9.0

v0.8.3.2

1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/predict-idlab/plotly-resampler/compare/v0.8.3.1...v0.8.3.2

v0.8.3.1

1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/predict-idlab/plotly-resampler/compare/v0.8.3...v0.8.3.1

v0.8.3

1 year ago

Main changes:

  • Try to parse the object dtype of the hf_x property in plotly-resampler, see #116 #120 #115
  • Add the check_nan option to the add_trace(s) methods. Setting this variable to True allows for graph construction speedups when no Nans are present in your data.

What's Changed

Full Changelog: https://github.com/predict-idlab/plotly-resampler/compare/v0.8.0...v0.8.3

v0.8.0

1 year ago

Major changes

Faster aggregation ๐ŸŽ

the lttbc dependency is removed; and we added our own (faster) lttb C implementation. Additionally we provide a Python fallback when this lttb-C building fails. In the near future, we will look into CIBuildWheels to build the wheels for the major OS & Python matrix versions.
A well deserved s/o to dgoeris/lttbc, who heavily inspired our implementation!

Figure Output serialization ๐Ÿ“ธ

Plotly-resampler now also has the option to store the output figure as an Image in notebook output. As long the notebook is connected, the interactive plotly-resampler figure is shown; but once the figure / notebook isn't connected anymore, a static image will be rendered in the notebook output.

What's Changed (generated)

& some other minor bug fixes :see_no_evil:

Full Changelog: https://github.com/predict-idlab/plotly-resampler/compare/v0.7.0...v0.8.0

v0.7.0

1 year ago

What's Changed

You can register plotly_resampler; this adds dynamic resampling functionality under the hood to plotly.py! ๐Ÿฅณ As a result, you can stop wrapping plotly figures with a plotly-resampler decorator (as this all happens automatically)

You only need to call the register_plotly_resampler method and all plotly figures will be wrapped (under the hood) according to that method's configuration.

-> More info in the README and docs!

Aditionally, all resampler Figures are now composable; implying that they can be decorated by themselves and all other types of plotly-(resampler) figures. This eases the switching from a FigureResampler to FigureWidgetResampler and vice-versa.

What's Changed (PR's)

Full Changelog: https://github.com/predict-idlab/plotly-resampler/compare/v0.6.0...v0.7.0

v0.6.0

2 years ago

What's Changed

Dynamically adjusting raw data ๐Ÿ”ง

The hf_data property now allows adjusting the hf_traces their data; documentation ๐Ÿ“–

fig.hf_data[-1]["y"] = - sin ** 2

FigureWidget support ๐Ÿ‘€

plotly-resampler can now wrap plotly's FigureWidget graph-object with the FigureWidgetResampler (see #47).

This has several advantages

  1. โœ”๏ธ Able to use the on_click callback and thus create annotation app ๐Ÿ‘‰๐Ÿผ see this example notebook.
  2. โœ”๏ธ No web-application with dash callbacks need to be started

You can just seamlessly use plolty-resampler within your jupyter environment, remote or local.