Cleanups to webagg & friends.#19127
Merged
dopplershift merged 1 commit intomatplotlib:masterfrom Dec 16, 2020
Merged
Conversation
38208bb to
ffd9fa1
Compare
FigureCanvasWebAgg and FigureCanvasNbAgg empty subclasses of FigureCanvasWebAggCore. They only differed in that WebAggCore did not define the (common) timer class, which is easily fixed (but the TimerTornado definition needs to be moved above the FigureCanvasWegAggCore definition), and that WebAgg explicitly redefined `show` to use the module's `show`, whereas WebAggCore's `show` uses `pyplot.show`... but `pyplot.show` is defined as calling the backend module's `show`, so it comes down to the same. Still it's useful for them to be subclasses rather than straight aliases, to keep the possibility of a canvas->manager mapping. No need to explicitly mark WebAggCore as `supports_blit`, as that's autodetected now (one can easily check that `FigureCanvasWebAggCore.supports_blit` is still True). Saving `pgf` to a BytesIO actually works fine nowadays, and can indeed by manually tested on WebAgg.
tacaswell
approved these changes
Dec 16, 2020
Member
|
What is the test for this, since its largely untested by CI? |
Contributor
Author
|
test_backends_interactive.py::test_webagg should cover a good part of it? In fact looking at https://codecov.io/gh/matplotlib/matplotlib/commit/25ee876375a1d98f9f925348a2578d40cc75cd0b the sole source of non-coverage is the fact that some of TimerTornado is untested, but I just shifted the whole implementation verbatim upwards in the source file... |
dopplershift
approved these changes
Dec 16, 2020
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
FigureCanvasWebAgg and FigureCanvasNbAgg empty subclasses of
FigureCanvasWebAggCore. They only differed in that WebAggCore did not
define the (common) timer class, which is easily fixed (but the
TimerTornado definition needs to be moved above the
FigureCanvasWegAggCore definition), and that WebAgg explicitly redefined
showto use the module'sshow, whereas WebAggCore'sshowusespyplot.show... butpyplot.showis defined as calling the backendmodule's
show, so it comes down to the same.Still it's useful for them to be subclasses rather than straight
aliases, to keep the possibility of a canvas->manager mapping (#18854).
No need to explicitly mark WebAggCore as
supports_blit, as that'sautodetected now (one can easily check that
FigureCanvasWebAggCore.supports_blitis still True).Saving
pgfto a BytesIO actually works fine nowadays, and can indeedby manually tested on WebAgg.
PR Summary
PR Checklist
pytestpasses).flake8on changed files to check).flake8-docstringsand runflake8 --docstring-convention=all).doc/users/next_whats_new/(follow instructions in README.rst there).doc/api/next_api_changes/(follow instructions in README.rst there).