| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Currently, Matplotlib only ever calls draw_if_interactive at the end of
`plt.figure()` (and upon figure unpickling), i.e. this is a mechanism to
further customize handling of newly generated figures. (Prior to
Matplotlib 1.5, draw_if_interactive was also called at the end of all
pyplot functions to trigger a figure redraw, but this is now handled by
the stale attribute.)
In order to simplify the backend API ("what is the API that a backend
module must/can provide", I am planning to deprecate (on Matplotlib's
side) the ability for backends to provide a draw_if_interactive
function (forcing them to always do `if interactive(): draw_idle()`).
Instead, any relevant new-figure-customization logic can instead go
into `new_figure_manager_given_figure`. This PR implements this change
for ipympl, and should be fully back-compatible all the way back to
Matplotlib 1.5. I would like to make these changes first on the side
of the clients (i.e., the third-party backends), to catch any possible
problems with the intended change on Matplotlib's side.
Sorry, something went wrong.
|
As for #466, the visual regression tests fail even on master, independently of this PR. |
Sorry, something went wrong.
|
@ianhi any chance you can have a look at this? thanks :) |
Sorry, something went wrong.
There was a problem hiding this comment.
seems good to me! thakns for the ping
Sorry, something went wrong.
|
and thanks also for the PR! makes following the backend changes in matplotlib much nicer :) |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Currently, Matplotlib only ever calls draw_if_interactive at the end of
plt.figure() (and upon figure unpickling), i.e. this is a mechanism to
further customize handling of newly generated figures. (Prior to
Matplotlib 1.5, draw_if_interactive was also called at the end of all
pyplot functions to trigger a figure redraw, but this is now handled by
the stale attribute.)
In order to simplify the backend API ("what is the API that a backend
module must/can provide", I am planning to deprecate (on Matplotlib's
side) the ability for backends to provide a draw_if_interactive
function (forcing them to always do if interactive(): draw_idle()) (matplotlib/matplotlib#23105).
Instead, any relevant new-figure-customization logic can instead go
into new_figure_manager_given_figure. This PR implements this change
for ipympl, and should be fully back-compatible all the way back to
Matplotlib 1.5. I would like to make these changes first on the side
of the clients (i.e., the third-party backends), to catch any possible
problems with the intended change on Matplotlib's side.