Skip to content

[MNT]: Inconsistent use of "inherit" and "auto" for color fallback in rcParams #28154

Open

Description

@anntzer

Summary

Some color rcParams that can fallback to another rcParam use "auto" to indicate that fallback (lines.markerface/edgecolor, boxplot.flierprops.markerfacecolor, axes.titlecolor, savefig.face/edgecolor), whereas others use "inherit" (legend.face/edgecolor, x/ytick.labelcolor).

There's also legend.labelcolor, which uses "None", but that's a much more complicated case (#28153).

Proposed fix

This should be made consistent. Safest (and not really an issue) would be to just support "auto" and "inherit" with the same meaning for all those rcParams; it would also be possible to pick a single winner, use it consistently, and deprecate usage of the other, although I'm not really sure it's worth the annoyance.

Activity

  1. story645 commented on May 1, 2024

    @story645
    Member

    it would also be possible to pick a single winner, use it consistently, and deprecate usage of the other, although I'm not really sure it's worth the annoyance.

    pick a winner and silently support the other? I think for reading code or new commits, it's easier if there's only one consistently used throughout the codebase (I think inherit is more descriptive) but agree that deprecation probably isn't worth it.

  2. anntzer commented on May 1, 2024

    @anntzer
    ContributorAuthor

    I would prefer auto, agreeing with the reasoning at #15111 (comment). But sure, I guess we could switch places using inherit to use auto and keep undocumented support for inherit there.

  3. story645 commented on May 1, 2024

    @story645
    Member

    keep undocumented support for inherit there.

    Forgot in my first comment, but that is one of the reasons we have the discouraged admonition. I'll defer to you on auto being the winner.

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