Skip to content

Help page on concepts and mechanisms in matplotlib #9967

Open

Description

@timhoffm

Feature request

We do not have a description of the concepts and mechanisms used in matplotlib. Some information is available in the respective classes or in examples. But I haven't found a concise overview giving the big picture.

It would be valuable for users (and also developers) to have a single help page collecting this information.

In particular:

Elements of a plot

  • Figure
  • Axes
  • Axis
  • Artists
  • Patches
  • ...

Coordinates and scaling

  • Figure / Axes / Data coordinates
  • Bbox
  • aspect handling (original and active axes positions)
  • transforms
  • ...

The above are just the topics that came to my mind right now. It's work in progress and I plan to work on this later on. Comments and additions are welcome.

Activity

  1. jklymak commented on Dec 10, 2017

    @jklymak
    Member

    I think improving the usage guide is a place to start. It has most of your first subsection.

    http://matplotlib.org/tutorials/introductory/usage.html#sphx-glr-tutorials-introductory-usage-py

  2. timhoffm commented on Dec 10, 2017

    @timhoffm
    MemberAuthor

    That's indeed a good place, already conating some of my points (though I haven't yet read it completely).

    Maybe even more important than changing the contents is making this more accessible. To find it from the main page, I had to

    1. http://matplotlib.org/index.html: "To get started, read the User's Guide."
    2. http://matplotlib.org/users/index.html: Tutorials -> Introductory
    3. http://matplotlib.org/tutorials/index.html#introductory -> Usage Guide

    Step 1 is fine, I would never have guessed that I have to follow the links in 2 and 3 to find that information. Maybe part of the problem is the naming. It's more a reference than a tutorial. Also, it's more "Concepts/Structure of matplotlib" than a "User Guide".

  3. jklymak commented on Dec 10, 2017

    @jklymak
    Member

    Agreed. I think that right now there is no user documentation. The advice I've received is to go ahead and add documentation to the existing structure, which for better or worse is the "tutorials" section, and then a re-organization will happen using that raw material. I think the only caveat there is that tutorials are *.py files, whereas straight *.rst with ..plot:: directives might be a nicer editing format. But its pretty easy to translate the *.py tutorial files to *.rst (because it already happens during the build process). The other issue with tutorials is that they are not in any sensible order, which is another argument for *.rst. Sphinx Gallery arranges them by their length, of all things.

  4. anntzer commented on Dec 10, 2017

    @anntzer
    Contributor

    FWIW I believe that although sphinx-gallery is really good for "unstructured" examples where the main focus is sample code and plot, it doesn't work so well for "tutorial/guide" style docs where text is the most important part.
    I would support switching these parts of the docs back to plain rst.

  5. story645 commented on May 28, 2020

    @story645
    Member

    wonder how much this ties in w/ MEP #17446

  6. timhoffm commented on May 28, 2020

    @timhoffm
    MemberAuthor

    Loosely. #17446 is more specific in that it defines a method how to handle „porperty“ concepts. The docs part of #17446 and this one would live in the same part of the documentation.

  7. story645 commented on Nov 17, 2022

    @story645
    Member

    Wondering if most of this was addressed in #21641 w/ possibly a follow up issue that basically adds an intro to the transform tutorial to the quick-start guide?

    Or are you looking to make a kinda glossary/single source of truth thing - we had one that was removed in #18696 b/c it just listed backends, but a "core concepts in mpl" might not be bad? A different alternative 'cause search is kinda not great is maybe using something like sphinx-tags to catalog some of the related pages?

  8. timhoffm commented on Nov 17, 2022

    @timhoffm
    MemberAuthor

    @story645 Thanks for the ping. I'll check what is available now and reconsider what I want here. Will get back on this later.

  9. github-actions commented on Nov 20, 2023

    @github-actions

    This issue has been marked "inactive" because it has been 365 days since the last comment. If this issue is still present in recent Matplotlib releases, or the feature request is still wanted, please leave a comment and this label will be removed. If there are no updates in another 30 days, this issue will be automatically closed, but you are free to re-open or create a new issue if needed. We value issue reports, and this procedure is meant to help us resurface and prioritize issues that have not been addressed yet, not make them disappear. Thanks for your help!

  10. added
    status: closed as inactiveIssues closed by the "Stale" Github Action. Please comment on any you think should still be open.
    on Dec 21, 2023
  11. story645 commented on Dec 21, 2023

    @story645
    Member

    Keeping this open until we can replace with a more actionable roadmap for doing this in docs?

  12. added
    keepItems to be ignored by the “Stale” Github Action
    and removed
    status: inactiveMarked by the “Stale” Github Action
    status: closed as inactiveIssues closed by the "Stale" Github Action. Please comment on any you think should still be open.
    on Dec 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions