Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Prepare for making create_dummy_axis not necessary. #22554

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Mar 6, 2022

Conversation

anntzer
Copy link
Contributor

@anntzer anntzer commented Feb 24, 2022

create_dummy_axis() sets up some internal _DummyAxis, which should not
really have been leaked to end users; instead, we should just always
attach a _DummyAxis to locators and formatters at init to start with.

_DummyAxis should actually be quite cheap to create, but it does create
two Bbox.unit() (dataLim and viewLim) which are slightly expensive to
create, can be placed by plain tuples, and do not correspond to any APIs
on "standard" Axises (there's Axes.dataLim/viewLim, not
Axis.dataLim/viewLim). While the offending attributes are on a private
class, they are publically accessible e.g. via
locator.create_dummy_axis(); locator.axis so go through a deprecation
to be extra safe.

PR Summary

PR Checklist

Tests and Styling

  • Has pytest style unit tests (and pytest passes).
  • Is Flake 8 compliant (install flake8-docstrings and run flake8 --docstring-convention=all).

Documentation

  • New features are documented, with examples if plot related.
  • New features have an entry in doc/users/next_whats_new/ (follow instructions in README.rst there).
  • API changes documented in doc/api/next_api_changes/ (follow instructions in README.rst there).
  • Documentation is sphinx and numpydoc compliant (the docs should build without error).

create_dummy_axis() sets up some internal _DummyAxis, which should not
really have been leaked to end users; instead, we should just always
attach a _DummyAxis to locators and formatters at init to start with.

_DummyAxis should actually be quite cheap to create, but it does create
two Bbox.unit() (dataLim and viewLim) which are *slightly* expensive to
create, can be placed by plain tuples, and do not correspond to any APIs
on "standard" Axises (there's Axes.dataLim/viewLim, not
Axis.dataLim/viewLim).  While the offending attributes are on a private
class, they are publically accessible e.g. via
`locator.create_dummy_axis(); locator.axis` so go through a deprecation
to be extra safe.
@anntzer anntzer added this to the v3.6.0 milestone Feb 24, 2022
@timhoffm timhoffm merged commit e75b529 into matplotlib:main Mar 6, 2022
@anntzer anntzer deleted the da branch March 6, 2022 11:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants