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

Skip to content

Simplify axisartist line clipping. #19401

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
May 10, 2021

Conversation

anntzer
Copy link
Contributor

@anntzer anntzer commented Jan 29, 2021

axisartist.clip_path is currently used to clip the paths for curvilinear
grid lines and compute the angles at which the ticks are drawn.

We don't actually need to clip the lines (because we can just set a
clipbox on the gridline instead); actually we just need to find the
crossings positions and angles, which is much simpler, and now
encapsulated in the _find_line_box_crossings function. Therefore,
deprecate the whole clip_path module.

The baseline images change slightly, mostly because we don't clip the
path ourselves anymore, but let the renderer do that; also because
floating point slop changes for ticks exactly at the edges.

PR Summary

PR Checklist

  • Has pytest style unit tests (and pytest passes).
  • Is Flake 8 compliant (run flake8 on changed files to check).
  • New features are documented, with examples if plot related.
  • Documentation is sphinx and numpydoc compliant (the docs should build without error).
  • Conforms to Matplotlib style conventions (install flake8-docstrings and run flake8 --docstring-convention=all).
  • 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).

@anntzer anntzer added this to the v3.5.0 milestone Jan 29, 2021
@anntzer anntzer force-pushed the clip_line_to_rect branch 4 times, most recently from ec937be to 39cb499 Compare January 30, 2021 16:04
@jklymak
Copy link
Member

jklymak commented Apr 14, 2021

I wonder if we should change axisartist's review policy to one review to allow it to improve faster? I'm also not sure there is a cadre of folks who understand it well enough to help, and since it is not core, there is less risk to breakage.

axisartist.clip_path is currently used to clip the paths for curvilinear
grid lines and compute the angles at which the ticks are drawn.

We don't actually need to clip the lines (because we can just set a
clipbox on the gridline instead); actually we just need to find the
crossings positions and angles, which is much simpler, and now
encapsulated in the `_find_line_box_crossings` function.  Therefore,
deprecate the whole clip_path module.

The baseline images change slightly, mostly because we don't clip the
path ourselves anymore, but let the renderer do that; also because
floating point slop changes for ticks exactly at the edges.
@anntzer anntzer force-pushed the clip_line_to_rect branch from 02a6d0a to 62ed6f0 Compare April 16, 2021 08:29
@jklymak jklymak merged commit df667ba into matplotlib:master May 10, 2021
@anntzer anntzer deleted the clip_line_to_rect branch May 10, 2021 19:37
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