Skip to content

Latest commit

 

History

History
173 lines (125 loc) · 12.6 KB

CHANGELOG.md

File metadata and controls

173 lines (125 loc) · 12.6 KB

Latest

v0.10.0

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

  • Address FutureWarning: 'H' is deprecated and will be removed in a future version. Please use 'h' instead of 'H'. by @t-jakubek in predict-idlab#291
  • 🚀 Python 3.12 support by @jvdd in predict-idlab#292
  • 🔥 delegate nan behavior to aggregators by @jonasvdd in predict-idlab#294

v0.9.2

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.

🚨 This is a breaking change with previous Dash apps!!!

What's Changed

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

v0.9.1

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)

v0.9.0

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! ☝️

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)

v 0.8.0

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 🙈

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


V0.7.0

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