Skip to content

DOC: MEP 28 Artist Refactor #4693

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

Conversation

OceanWolf
Copy link
Member

Something perhaps for 2.1. Something I can work on after MEP27 😉.

@tacaswell
Copy link
Member

There is also an effort started at scipy2015 sprints by @rmorshea which is related to this. I just opened a PR (#4694) from his branch.

@tacaswell tacaswell added this to the proposed next point release milestone Jul 14, 2015
@tacaswell
Copy link
Member

You should also have a look at the Container related work in #3944

@OceanWolf
Copy link
Member Author

Big question first, do you think this needs a MEP? I started writing this as an issue and then it became rather long, so I thought I should convert it. Looking at the scipy sprint I think we need to outline the direction, perhaps with some branches to show proof of concepts.

I took a look a brief look at #3944, a bit confused as to the difference between a Collection and a Container, I see no documentation on the api for containers... http://matplotlib.org/api/ and containers.py has very little doc. It doesn't look like a very large file, so I guess I will figure it out.

What timescale did you have in mind for this? I see you marked this as "proposed next point release", does that relate to the MEP doc, or the code itself? I imagine you don't want to get bothered with code now just two weeks before release as I imagine you have a lot of other stuff to work on. I find it hard enough just keeping up with all the notifications, every time I check this last day I see another 30 new notifications, so I thought twice about posting this PR, but as an MEP discussion document I thought it could simply go on the table for a few weeks.

@OceanWolf OceanWolf mentioned this pull request Jul 14, 2015
@efiring
Copy link
Member

efiring commented Jul 14, 2015

On 2015/07/14 8:48 AM, OceanWolf wrote:

I took a look a brief look at #3944
#3944, a bit confused as
to the difference between a |Collection| and a |Container|, I see no
documentation on the api for containers... http://matplotlib.org/api/
and |containers.py| has very little doc. It doesn't look like a very
large file, so I guess I will figure it out.

Collections are for multiple objects that are very similar; they are
designed to take advantage of this similarity to allow backends to
render them much more efficiently than would be the case for a sequence
of individual objects. Notice how backends override the base class
rendering to gain efficiency.

Containers are for different types of object that combine to make a
complicated plot type; and/or for combining objects that are the same
type, but that don't easily go into a single collection.

@OceanWolf
Copy link
Member Author

Does matplotlib have a list of both ancestor and descendant classes, especially the latter? Something like this which lists the subclasses?

@tacaswell
Copy link
Member

Abstract
========

During the course of MPL, the number and complexity of artists have grown, to become quite unmanageable, this PR seeks to address that by refactoring the Artists and creating a more sensible class structure.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think all of our rst files should use hard returns to keep line lengths reasonable. I haven't checked, but I assume this has been done in the past.

@tacaswell tacaswell modified the milestones: 2.1 (next point release), 2.2 (next next feature release) Sep 24, 2017
@jklymak
Copy link
Member

jklymak commented Jul 14, 2020

Not even clear we are doing MEPs anymore. I'll close but feel free to reopen if this is still being pushed somewhere...

@jklymak jklymak closed this Jul 14, 2020
@story645 story645 removed this from the future releases milestone Oct 6, 2022
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.

6 participants