Adding index explanation to 'Controlling and Labelling Axis Objects"#25805
Adding index explanation to 'Controlling and Labelling Axis Objects"#25805mattymo30 wants to merge 19 commits intomatplotlib:mainfrom
Conversation
Wanted to implement a redirect to the examples' page for text, labels, and annotations, similar to the user_explain\colors\README.txt
Wanted to implement a redirect to the examples' page for text, labels, and annotations, similar to the user_explain\colors\README.txt
Some capitalization issues, or capitalizing certain words (TrueType) that is typically capitalized
Need to move/write examples that cover using and modifying axis objects (probably in axisartist module on the examples page)
Fixed reference to axis artist reference page Need to move/write examples that cover using and modifying axis objects (probably in axisartist module on the examples page)
Fixed reference to axis artist reference page Need to move/write examples that cover using and modifying axis objects (probably in axisartist module on the examples page)
Fixed reference to axis artist reference page Need to move/write examples that cover using and modifying axis objects (probably in axisartist module on the examples page)
Need to move/write examples that cover using and modifying axis objects (probably in axisartist module on the examples page)
Need to move/write examples that cover using and modifying axis objects (probably in axisartist module on the examples page)
Need to move/write examples that cover using and modifying axis objects (probably in axisartist module on the examples page)
| Matplotlib `~.axis.Axis` objects can be controlled and manipulated | ||
| using the `~.artist.Artist` class. These tutorials cover the basics |
There was a problem hiding this comment.
My major concern is that this makes it sound like an Artist is a controller class of an Axis, when an Axis is a type of artist.
Maybe table set here for folks who aren't gonna read the doc? Like introduce what is an Axis in Matplotlib's notion of a figure/visualization, summarize/link out to what is an artist, and then make clear that an axis is a type of artist and what that means?
There was a problem hiding this comment.
Ah okay. That does make more sense. I was still a little confused on the Axis API, so that really help. I'll try to reword it and work on it today or tomorrow (I am currently in my finals week for school so it may be a little delayed). Thank you!
There was a problem hiding this comment.
After finals week is fine/this is definitely not more important and good luck!
There was a problem hiding this comment.
I updated the description somewhat, and also added an inheritance diagram (from the Axis API page) to show how it is a type of Artist object. I also added a reference to that page. Let me know if what I wrote is any better and if I should change/add more to it. Thank you!
|
While my review is definitely critical, I'm super psyched you're taking the initiative to do this and so very much want to see these docs come into existence. Thanks so much! |
Added inheritance diagram to show how it is inherited Added reference to axis_api page (also added a reference within that page so it can be linked)
|
I think fixing this is definitely important. But the proposal here simply refers people to the Axis API, which isn't moving things forward a lot. @mattymo30 did you want to work on outlining something more comprehensive and have a go at it? I agree the API is confusing and maddeningly spread between Axis and Axes. |
story645
left a comment
There was a problem hiding this comment.
I think it's kinda getting there, but the focus here should be a simple "what is an Axis"
I'd really like something to go in before #26110 because the text there feels very much like a placeholder, but I'm not sure if the timing works.
| Almost every object interacted with on a Matplotlib plot is an "Artist," | ||
| which are a subclass of the `~matplotlib.artist.Artist` class. These objects | ||
| help to customize and modify your Matplotlib figures and visualizations. |
There was a problem hiding this comment.
I think it's enough to say something like an Axis is an artist subclass, for more on manipulating artists see
There was a problem hiding this comment.
Updated the description a little and just moved the link to the artists tutorial in this part
| Matplotlib `~.axis.Axis` objects are a type of Artist that can help | ||
| control and modify axes on a Matplotlib figure or visualization, which can | ||
| include alignment, direction, style, curve, and more. |
There was a problem hiding this comment.
I think this is in the right direction, but is sort of lumping the Axis with the Axes in a way where it may not be clear which is which.
There was a problem hiding this comment.
Changed it to axis to prevent confusion
|
Also @mattymo30 sorry that I dropped the ball on getting back to you. Please let us know if you'd like to finish this up. |
Sorry for the late reply, I've just been really busy lately. I'd be okay with finishing this up. |
| Matplotlib `~.axis.Axis` objects are a type of Artist that can help | ||
| control and modify axis on a Matplotlib figure or visualization, which can | ||
| include alignment, direction, style, curve, and more. |
There was a problem hiding this comment.
It's more than that - the Axis artists are the underlying abstraction for an axis - basically the don't help control and modify, they are the code stand ins for the axis.
Also split the what it is and the what it controls into two sentences for some breathing room.
There was a problem hiding this comment.
I tried to redefine the axis object to how you explained it to me. Let me know if it needs any more changing or updating
There was a problem hiding this comment.
Maybe it's a meta problem that it's kinda a problem to use the word axes because it's too easy to confuse plotting axes with mpl Axes.
Co-authored-by: hannah <story645@gmail.com>
| Matplotlib `~.axis.Axis` objects are a type of Artist that | ||
| are the underlying abstraction and the basis for the axes | ||
| on a Matplotlib figure or visualization. Axis objects are |
There was a problem hiding this comment.
I think something got jumbled - an Axes contains two or more Axis. The Axis are kinda abstractions of the coordinate system. See anatomy of a plot: https://nbviewer.org/github/matplotlib/AnatomyOfMatplotlib/blob/master/AnatomyOfMatplotlib-Part1-Figures_Subplots_and_layouts.ipynb
There was a problem hiding this comment.
I think I'm starting to get really confused on the concept of the axis artist now. I'm really struggling on how to describe it further
There was a problem hiding this comment.
Yeah, sorry about that :/ It is confusing, especially cause of the axis/axes thing. I tried to write a short verison at #26205, but what do you think about the explanation in https://matplotlib.org/devdocs/users/explain/quick_start.html#axis-scales-and-ticks
There was a problem hiding this comment.
I will re-iterate that I didn't write this section yet because it its very confusing, and indeed I'm strongly considering just dropping it and moving relevant material to Axes. I would not try and do this as a new contributor unless you have a vision for it.
There was a problem hiding this comment.
I think I agree with Jody here and therefore I'm sorry Matty if I've made you feel like you're wasting your time. While I totally appreciate how much effort you've been putting in here, I'm thinking maybe your energy might be put to better use elsewhere. Even opening an issue on all the ways you've found this confusing would be helpful as guidance for someone writing the section.
Jody I think regardless of where this PR goes, this should be folded into the Axes section until it gets big and complicated enough to need its own.
There was a problem hiding this comment.
Sorry for the very late reply (I've been extremely busy with another project), but no worries! It was definitely a challenge as a new contributor to try and write this documentation but I understand
Co-authored-by: hannah <story645@gmail.com>
Because you marked the other PR release critical and I thought this placeholder could address the "critical b/c empty" issue while we sort through the larger questions around that section. I'd rather one page I'm iffy about go in than a whole bunch of content. |
|
@mattymo30 I think this PR was made redundant by #26279 so I am going to close it. Thank you for your work on this even though we did not take it! I hope we hear from you again. |
PR summary
Following up on issue #25492, I added an indexed overview of the 'Controlling and Labelling Axis Objects' section of the user's explain page. The overview is a simple explanation of how Axis objects can be controlled and manipulated using the artist class. I also added reference links to the artist class and the examples of axis artist.
This is still a WIP, as I would like to add examples/written tutorials of this module.
PR checklist