Nearly all the animations I'm working on would benefit greatly from the ability to pause/rewind/step forward/etc. as shown in the example - it was sad to see these features couldn't be implemented using the example code.
It would be possible to recreate these widgets, but the process is finicky and quite involved, definitely not something the average user could easily step into.
A pre-built animation with widgets class could take a lot of the hassle out of implementing some of these features.
Baring that, having an example that recreated the website widgets in python would also save a lot of troubleshooting.
This could be a good starting point https://stackoverflow.com/a/46327978/3949028
I have been improving this Player class for my own purpose, could share it when it is done. I also found some more bugs with animation class in the pause() & resume() methods which will need fixing too
In the docs we have pre-rendererd the full animation and the html UI is effective a movie player. Doing it on top of a live figure gets a bit more interesting because we have a lot more degrees of freedom!
The choice to parameterize the animation only by i is a reasonable simplification.
I'm a bit sceptical that we're driving the widget thing too far. Yes, it basically works and has the advantage of being backend-independent. On the other hand, it has some serious limitations: non-native look&feel, layout issues (does this work with constrained layout?), resizing/scaling issues, non-accessibility, ...
Maybe we'd be better off by creating an animation widget for each of the GUI toolkits and provide that similar to the toolbar. - After all it's only a set of buttons and a slider, which should be quite easy to create.
This issue has been marked "inactive" because it has been 365 days since the last comment. If this issue is still present in recent Matplotlib releases, or the feature request is still wanted, please leave a comment and this label will be removed. If there are no updates in another 30 days, this issue will be automatically closed, but you are free to re-open or create a new issue if needed. We value issue reports, and this procedure is meant to help us resurface and prioritize issues that have not been addressed yet, not make them disappear. Thanks for your help!
Activity
mikaeltulldahl commented on Nov 23, 2022
This could be a good starting point
https://stackoverflow.com/a/46327978/3949028
I have been improving this Player class for my own purpose, could share it when it is done. I also found some more bugs with animation class in the pause() & resume() methods which will need fixing too
tacaswell commented on Nov 23, 2022
That is a good example (as is most things @ImportanceOfBeingErnest has writte).
In the docs we have pre-rendererd the full animation and the html UI is effective a movie player. Doing it on top of a live figure gets a bit more interesting because we have a lot more degrees of freedom!
The choice to parameterize the animation only by i is a reasonable simplification.
timhoffm commented on Nov 24, 2022
I'm a bit sceptical that we're driving the widget thing too far. Yes, it basically works and has the advantage of being backend-independent. On the other hand, it has some serious limitations: non-native look&feel, layout issues (does this work with constrained layout?), resizing/scaling issues, non-accessibility, ...
Maybe we'd be better off by creating an animation widget for each of the GUI toolkits and provide that similar to the toolbar. - After all it's only a set of buttons and a slider, which should be quite easy to create.
mikaeltulldahl commented on Nov 27, 2022
It's up to matplotlib community to decide. I just realized that I was not alone looking for this functionality so I decided do share my work
github-actions commented on Jan 19, 2026
This issue has been marked "inactive" because it has been 365 days since the last comment. If this issue is still present in recent Matplotlib releases, or the feature request is still wanted, please leave a comment and this label will be removed. If there are no updates in another 30 days, this issue will be automatically closed, but you are free to re-open or create a new issue if needed. We value issue reports, and this procedure is meant to help us resurface and prioritize issues that have not been addressed yet, not make them disappear. Thanks for your help!