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

Skip to content

Move plotting and geometry utilities to dedicated classes #264

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

Closed
wants to merge 1 commit into from

Conversation

lukelbd
Copy link
Collaborator

@lukelbd lukelbd commented Jul 17, 2021

This PR replaces #197 in order to address major changes to the wrapper internals.

This addresses #43. I got the ball rolling but it probably won't be finished until I have a complete week or so to dedicate to this. It moves plotting-function enhancements from dedicated "wrapper" functions to the methods themselves and combines the parameter tables associated with each plotting feature into single docstrings.

  • This will make it much easier for new users to learn ProPlot -- people have a hard time wrapping their heads around wrapper functions ;)
  • This will make the tracebacks much cleaner. It can be pretty disorienting when an error is raised and there are 3x more frames than necessary.

When using proplot locally, the proplot and matplotlib docstrings will be concatenated with nice headers for each section. When sphinx is importing proplot for generating documentation, they will not be concatenated -- only the proplot docstring will be shown with an intersphinx link to the matplotlib one. This is done by adding docstring.hardcopy: True to the local proplotrc. Then _concatenate_docstrings skips concatenation if rcParams['docstring.hardcopy'] is True.

@lukelbd lukelbd force-pushed the wrappers-to-methods branch 10 times, most recently from a2f07ae to de0b09d Compare July 21, 2021 09:53
@lukelbd lukelbd added this to the Version 0.8 milestone Jul 21, 2021
@lukelbd lukelbd force-pushed the wrappers-to-methods branch 9 times, most recently from 5a2adf8 to d63e4cd Compare July 23, 2021 13:08
@lukelbd lukelbd force-pushed the wrappers-to-methods branch from d63e4cd to c9f0952 Compare July 23, 2021 21:51
@lukelbd lukelbd changed the title Convert plotting wrappers to dedicated plotting methods Move plotting and geometry utilities to dedicated classes Jul 31, 2021
@lukelbd
Copy link
Collaborator Author

lukelbd commented Aug 1, 2021

This PR has really ballooned since it started -- I find it hard to avoid touching everything else when I get in a refactor state of mind. The major changes are as follows:

  • Move all plotting utilities to PlotAxes.
  • Move all auto-layout utilities to LayoutSolver.

The more minor, at least tangentially related changes will be itemized in the "What's New" page.

@lukelbd
Copy link
Collaborator Author

lukelbd commented Aug 2, 2021

This "PR" has actually gotten so big that I think it really doesn't make sense as a PR any more and would take way way too much time to try to break up into working pieces that pass tests.

Will just commit the changes to master in not-necessarily-independent chunks (that at least give an idea of the changes and can be referenced in WHATSNEW) and then I'll run tests locally before pushing.

Not always sure whether the traditional PR-test-merge workflow is even all that useful for such major refactor tasks on a (so far, mostly) one-man project...

@lukelbd lukelbd closed this Aug 2, 2021
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.

1 participant