FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

WIP : major Axes refactor by tacaswell · Pull Request #3944 · matplotlib/matplotlib · GitHub

Repository navigation

WIP : major Axes refactor - #3944

Closed
tacaswell wants to merge 8 commits into
matplotlib:masterfrom
tacaswell:axes_refactor
Closed

tacaswell wants to merge 8 commits into
matplotlib:masterfrom
tacaswell:axes_refactor

Conversation

Copy link
Copy Markdown
Member

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-class Artists 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.

  • intra-container zorder
  • update all usage of Container sub-classes (only ~5)
  • unify draw logic to a single tree
  • make sure all the back compatibility works
  • make remove fully clean up after add_*
  • deprecate all of the add_* methods
  • add visitor-pattern API

 - 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.
tacaswell modified the milestones: proposed next point release, next point release Jun 22, 2015
tacaswell modified the milestones: 2.2 (next next feature release), 2.1 (next point release) Dec 11, 2016
tacaswell closed this Aug 21, 2017
QuLogic modified the milestones: needs sorting, v2.2.0 Feb 13, 2018
QuLogic added this to the unassigned milestone Feb 13, 2018
tacaswell deleted the axes_refactor branch March 17, 2023 13:46

Copy link
Copy Markdown
Member Author

QuLogic added this to the v3.5.0 milestone Mar 18, 2023
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants


Back | FazBrowse Home | New Git URL