-
-
Notifications
You must be signed in to change notification settings - Fork 7.9k
WIP : major Axes refactor #3944
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
Closed
+140
−90
Conversation
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
- add broadcasting draw method to Container - special-case BarContainer __new__ - remove duplicate functions from Container
This uses magic in the `__getattribute__` method which _works_ but does not play nice with IDE's, documentation, or tab-complete. Some Artist properties we don't want to broadcast, like the label.
Starting ground work for re-factoring Axes to use a single tree for storing the Artists in an Axes.
tests are still failing
6 tasks
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.
This branch is the start of work to unify the storage of the artists in the Axes into a single tree. I think this will simplify the serialization and export code we want to add. I also think this will make it easier to implement logic to check if a canvas needs to re-drawn. In all cases, the benefit comes from having a single Artist tree to walk.
The first step of this is to promote
Containers
to be full-classArtists
and use them for drawing (not just sorting out legend handles and returning). This will fix the z-order overlap issues with error bar (#409).There is some magic in how the broadcasting of the
{set,get}_*
methods works which should probably have some discussion around it.The sub-class of
list
is so that we can maintain back-compatibility for users that are removing artists by mucking with the internal data structures.Container
sub-classes (only ~5)add_*
add_*
methods