Skip to content

Latest commit

Β 

History

History
176 lines (128 loc) Β· 12.8 KB

File metadata and controls

176 lines (128 loc) Β· 12.8 KB

Latest

v0.10.1

What's Changed

After resampling the figure, the line goes beyond figure frontier indicating presence of data. #308

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 #291
  • πŸš€ Python 3.12 support by @jvdd in #292
  • πŸ”₯ delegate nan behavior to aggregators by @jonasvdd in #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

  • Support nested admonitions by @jonasvdd in #245
  • πŸ‘· build: create codeql.yml by @NielsPraet in #248
  • ✨ first draft of improved xaxis filtering by @jonasvdd in #250
  • ⬆️ update dependencies by @jvdd in #260
  • πŸ’ͺ update dash-extensions by @jonasvdd in #261
  • fix for #263 by @jonasvdd in #264
  • Rangeslider support by @jonasvdd in #254
  • πŸ™ fix mkdocs by @jvdd in #268
  • ✈️ fix for #270 by @jonasvdd in #272
  • πŸ” adding init kwargs to show dash - fix for #265 by @jonasvdd in #269
  • Refactor/remove trace updater by @jonasvdd in #281
  • Bug/pop rangeselector by @jonasvdd in #279
  • ✨ fix for #275 by @jonasvdd in #286
  • Bug/rangeselector by @jonasvdd in #287

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)

  • πŸ”₯ multiple y-axes support by @jonasvdd in #244

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)

  • fix: handle bool dtype for x in LTTB_core_py by @jvdd in #183
  • fix: add colors to streamlit example 🎨 by @jvdd in #187
  • docs: describe solution in FAQ for slow datetime arrays by @jvdd in #184
  • Rework aggregator interface by @jvdd in #186
  • πŸš€ integrate with tsdownsample by @jvdd in #191
  • refactor: use composition for gap handling by @jvdd in #199
  • ✨ np.array interface implementation by @jonasvdd in #154
  • 🧹 fix typo in docstring + remove LTTB from MinMaxLTTB + remove interleave_gaps by @jonasvdd in #201
  • chore: use ruff instead of isort by @jvdd in #200
  • 🌈 adding marker props by @jonasvdd in #148
  • Datetime bugfix by @jonasvdd in #209
  • Fixes #210 by @jonasvdd in #211
  • Log support by @jonasvdd in #207
  • Datetime range by @jonasvdd in #213
  • ✨ add fill_value option to gap handlers by @jonasvdd in #218
  • ✨ fix limit_to_view=True but no gaps inserted bug by @jonasvdd in #220
  • πŸ› convert trace props to array + check for nan removal by @jvdd in #225
  • Figurewidget datetime bug by @jonasvdd in #232
  • ♻️ deprecate JupyterDash in favor for updated Dash version by @NielsPraet in #233
  • πŸ‘€ comment out reset layout by @jvdd in #228
  • Docs/versioned docs (#236) by @jonasvdd in #237

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)

  • πŸ› return self when calling add_traces by @jvdd in #75
  • πŸ”₯ add streamlit integration example by @jvdd in #80
  • ✨ adding convert_traces_kwargs by @jonasvdd in #81
  • Fix numeric hf_y input as dtype object by @jonasvdd in #90
  • πŸ”₯ add support for figure dict input + propagate _grid_str by @jvdd in #92
  • πŸ™ fix tests for all OS by @jvdd in #95
  • Add python3dot10 by @jvdd in #96
  • πŸŒ… FigureResampler display improvements by @jvdd in #97
  • πŸ“¦ serialization support + 🎚️ update OS & python version in test-matrix by @jvdd in #87
  • Lttbv2 πŸ’ ⛏️ branch by @jonasvdd in #103
  • πŸ€– hack together output retention in notebooks by @jvdd in #105
  • πŸ“¦ improve docs by @jvdd in #104

& 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)

  • 🦌 Adding reset-axes functionality by @jonasvdd in #48
  • πŸ› Small bugfixes by @jonasvdd in #52
  • πŸ” investigating gap-detection methodology by @jonasvdd in #53
  • πŸ” fix float index problem of #63 by @jonasvdd in #64
  • πŸ”§ hotfix for rounding error by @jonasvdd in #66
  • πŸ—³οΈ Compose figs by @jonasvdd in #72
  • ✨ register plotly-resampler by @jvdd in #70
  • πŸ€– update dependencies + new release by @jvdd in #74

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