Skip to content

Better document Axes.transData and other transXYZ attributes - #25922

Closed
AnanasClassic wants to merge 8 commits into
matplotlib:mainfrom
AnanasClassic:#25220
Closed

Better document Axes.transData and other transXYZ attributes#25922
AnanasClassic wants to merge 8 commits into
matplotlib:mainfrom
AnanasClassic:#25220

Conversation

@AnanasClassic

@AnanasClassic AnanasClassic commented May 19, 2023

Copy link
Copy Markdown

PR summary

Closes #25220
I added in _base.py defining the Axes.transData attribute and added documentation generation for it to axes_api.rst. It seems to me that this is enough for the user to understand from the github documentation what Axes.transData is.

PR checklist

@jklymak

jklymak commented May 19, 2023

Copy link
Copy Markdown
Member

Thanks for this. However, can you add a better title and move the cross reference to the description?

Comment thread lib/matplotlib/axes/_base.pyi
@AnanasClassic AnanasClassic changed the title #25220 [Doc]: Better document Axes.transData May 19, 2023
@tacaswell

Copy link
Copy Markdown
Member

Per the discussion in #25220 there is some concern about doing this via this method and I agree with @ksunden if we are going to do this for one, we should do it for all.

@tacaswell tacaswell left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

  1. I do not think that there is consensus on the best way to fix this per #25220 (comment)
  2. If we are going to do this for one of the transXYZ we should to it for all of them in the same PR.

@AnanasClassic AnanasClassic changed the title [Doc]: Better document Axes.transData Better document Axes.transData and other transXYZ attributes May 19, 2023
@timhoffm

Copy link
Copy Markdown
Member

@tacaswell let's come to a decision

I read the linked comment by @ksunden as +0.5 for properties. I'm also +0.5 on properties (and would make them read-only) I can't read any preference from your comments.

@AnanasClassic

Copy link
Copy Markdown
Author

as I see it, we are going to properties. I think I implemented this in my last commit, and I'm ready to listen to what I should fix in my implementation. I also have a slightly naive question about failed tests: I don't quite understand how the changes I made caused errors in the tests (as far as I understand, the errors say about the conflict of Tkinter versions)

@timhoffm

Copy link
Copy Markdown
Member

as I see it, we are going to properties.

I see it the same way, but @tacaswell doesn't seem so sure. Let's wait for his reply.

The test failures are unrelated. This is a configuration problem in the CI system for a specific version of OSX and tk.

@tacaswell

Copy link
Copy Markdown
Member

I added this to today's call agenda.

Moving to properties to get documentation seems backwards to me (we are imposing a run-time cost for a doc-build-time problem). These have not changed is years, could we explicitly list them in the class docstring instead?

@timhoffm

Copy link
Copy Markdown
Member

I‘m not sure I will make it to the call. Therefore, I add my 2cents right here:

Adding runtime cost just for doc would indeed sound odd, however

  • This makes the properties read-only, which they conceptually could/should be. (Not clear how protective we want to be here, but it is certainly justifiable).
  • The runtime cost is negligible in every practical usage scenario.

Overall I‘m +0.5 on properties. But it should alternatively be viable to list them in an Attributes section in the class docstring https://numpydoc.readthedocs.io/en/latest/format.html#class-docstring.

@tacaswell

Copy link
Copy Markdown
Member

This makes the properties read-only,

The PR currently has setters for all 4.

@tacaswell

Copy link
Copy Markdown
Member

Consensus from call

  • go with properties
    • but do coarse bench marks to see if it matters
  • option to look at read-only
    • would need a deprecation cycle
    • check how disruptive this would be
  • consider renaming
  • the docstrings are not yet clear
    • need to be more explicit about source and target coordinate systems
    • link to transform tutorial

@tacaswell
tacaswell dismissed their stale review May 25, 2023 20:16

outdated

@rcomer

rcomer commented Jul 15, 2023

Copy link
Copy Markdown
Member

Hi @AnanasClassic are you still interested in working on this one?

@tacaswell

Copy link
Copy Markdown
Member

Replaced by #32013

Thank you for your work @AnanasClassic and I'm sorry we did not get it in.

@tacaswell tacaswell closed this Jul 9, 2026
@github-project-automation github-project-automation Bot moved this from Waiting for author to Done in First Time Contributors Jul 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Development

Successfully merging this pull request may close these issues.

[Doc]: Better document Axes.transData and other transXYZ attributes

7 participants