Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

MNT: Registered 3rd party scales do not need an axis parameter anymore#29358

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Draft
timhoffm wants to merge1 commit intomatplotlib:main
base:main
Choose a base branch
Loading
fromtimhoffm:scale-axis

Conversation

timhoffm
Copy link
Member

First step of#29349.

@timhoffmtimhoffm marked this pull request as ready for reviewDecember 30, 2024 00:35
@timhoffmtimhoffm added this to thev3.11.0 milestoneDec 30, 2024
@rcomer
Copy link
Member

Should theCustom Scale example also be updated at this point? Its__init__ method calls the parent__init__ method, which still requiresaxis. However, I think it could just not call the parent method (several of the built in scales do not).

@rcomer
Copy link
Member

I think the note here also needs updating

Notes
-----
The following note is for scale implementers.
For back-compatibility reasons, scales take an `~matplotlib.axis.Axis`
object as first argument. However, this argument should not
be used: a single scale object should be usable by multiple
`~matplotlib.axis.Axis`\es at the same time.

@timhoffm
Copy link
MemberAuthor

@rcomer This commit/PR is one step in removing the parameter (see#29349). The points you bring up have to be addressed in the course of making the parameter fully optional. I believe it's best to address them after making theaxis parameter in__init__ optional (step 3#29349). I will do that, but I'm undecided whether it's better as part of this PR or easier to review separately. Technically, the aspects (i) it's possible to use/create scale classes without theaxis parameter and (ii) the registry can use classes with and without theaxis parameter are independent - which could suggest making separate PRs for easier review. OTOH practical use is only possible after both have been implemented, which could suggest putting both in to one PR.

Specific note on:

However, I think it could just not call the parent method (several of the built in scales do not).

I'd rather not go this way. The currentScaleBase.__init__ is empty, so it does not matter. But not calling super init would break subclasses if we decide later that we needScaleBase.__init__. Not calling is okish for our own classes, which we have control over and can update if needed. But I would not recommend that for third-party subclasses. Since we can easily prevent that hassle through#29349 step 3, I would take that route.

@rcomer
Copy link
Member

Could this PR wait till after step 3?

timhoffm reacted with thumbs up emoji

Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers
No reviews
Assignees
No one assigned
Projects
None yet
Milestone
v3.11.0
Development

Successfully merging this pull request may close these issues.

2 participants
@timhoffm@rcomer

[8]ページ先頭

©2009-2025 Movatter.jp