FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

[Doc]: Use tick_params() instead of iterating over tick labels for setting tick properties · Issue #23372 · matplotlib/matplotlib · GitHub

Repository navigation

[Doc]: Use tick_params() instead of iterating over tick labels for setting tick properties #23372

Open

Description

Documentation Link

No response

Problem

At first sight, the effects of (1)

ax.tick_params(axis='x', labelrotation=90)

and (2)

for label in ax.get_xticklabels():
    label.set_rotation(90)

look similar.

However, the first solution is to be preferred:

  • It's shorter.
  • There's a fundamental difference: Tick label instances are not stable. They may be deleted, moved around or new ones created, e.g. when you pan or zoom the plot.(1) affects all current tick labels and sets the default for future ones. (2) only modifies the current labels. That means you can get labels with a different style when you manipulate the figure. This is almost never wanted. Therefore (2) is discouraged and we should remove it from our examples.

Suggested improvement

  1. Search through the examples and tutorials files. Suggest regular expression in.*ticklabels\(\)
  2. Replace the for loop with a call to tick_params(). (Note: Not every property of ticks is accessible through tick_params() so there may be some rare cases that cannot be replaced as of now.)
  3. Validate visually that the old and new code produce the same figure.

Activity

  1. QuLogic commented on Jun 30, 2022

    Member

    Possibly also iteration over Axis.get_major_ticks and Axes.get_minor_ticks should be changed as well.

  2. QuLogic commented on Jun 30, 2022

    Member

    Also, many of these calls set rotation, and then also horizontalalignment, but I don't think we expose that via tick_params, so this is somewhat contingent on #20644

  3. removed
    🌱 Good first issueOpen a pull request against these issues if there are no active ones!
    on Jul 1, 2022
  4. timhoffm commented on Jul 1, 2022

    MemberAuthor

    Simple cases fixed by #23377.

    waiting for #20644

  5. timhoffm commented on Nov 3, 2025

    MemberAuthor

    There's still need for improvement in the docs at least at:

    Overall, the artist tutorial should mention that ticks are ephemal and thus any applied properties may vanish.


    Also all getter methods for sequences of tick components should get an appropirate note.

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


      Back | FazBrowse Home | New Git URL