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

Relationship between line-art markers and the markeredgewidth parameter · Issue #4679 · matplotlib/matplotlib · GitHub

Repository navigation

Relationship between line-art markers and the markeredgewidth parameter #4679

Closed

Description

This issue is related to the call for style overhaul proposals.

My understanding of how line-art markers get drawn (e.g. "x") is that the width of the line reads from the markeredgewidth parameter.

This means that when markeredgewidth is 0, line art markers are invisible. This is particularly a problem for seaborn (where markeredgewidth is 0 by default), but I think one could argue that it is not ideal in any case.

IMO, it would be better to have some differentiation between the width of the edge around a solid marker, which is purely aesthetic, and the weight of the line that is used to draw a line-art marker, which isn't. This distinction already exists a little bit in that line-art markers are colored with the color parameter and not the markeredgecolor parameter (though specifying the latter does appear to override the former). So I would propose one of two things: 1) adding a lines.lineartwidth (or something) parameter to allow separate specification of the line-art marker width, or 2) reading from lines.linewidth instead of lines.markeredgewidth.

A related (but possibly separate; I can make a new issue) point is that it would be nice to have some "hollow" markers, like a hollow "o" or "s" which are really line-art markers with the same basic shape as a circle or square, but without a fill and where the line color is derived from color and not markeredgecolor. It's possible to draw one of these currently, but you have to do something like plt.plot(x, y, "o", markeredgewidth=1, markerfacecolor="none", markeredgecolor="b"). This means it is hard to use this style of marker through an abstract interface (i.e. seaborn), which is a shame because this can be a very useful way to draw scatterplot points.

Activity

  1. mwaskom commented on Jul 13, 2015

    Author

    Also I should say that my examples are about plt.plot but apply to plt.scatter too.

  2. WeatherGod commented on Jul 13, 2015

    Member

    This actually touches on some very messy code in the deep underbelly of
    matplotlib. The relationships between the different properties across the
    different aspects of an Artist has been developed in an ad hoc manner. One
    thing that we should keep in mind as we adopt the v2.0 styles is that some
    choices can be made that will allow us to completely revamp how properties
    are set, breaking from the classic style and fixing bugs along the way. I
    suspect several of the nuances that you are pointing out are actually
    inadvertent "bugs" in the code that has simply become our classic style.

    On Mon, Jul 13, 2015 at 12:06 PM, Michael Waskom notifications@github.com
    wrote:

    Also I should say that my examples are about plt.plot but apply to
    plt.scatter too.

    —
    Reply to this email directly or view it on GitHub
    #4679 (comment)
    .

  3. added this to the milestone on Jul 14, 2015
  4. modified the milestones: , on Oct 8, 2015
  5. mdboom commented on Nov 9, 2015

    Member

    I actually this will be fairly easy to address. Markers already have "filled" in their metadata. It's just a matter of using the inputs differently under those modes.

  6. self-assigned this
    on Nov 9, 2015
  7. added a commit that references this issue on Nov 9, 2015
    d542087
  8. added 9 commits that reference this issue on Nov 11, 2015
    16765c2
    eb9170d
    8ef48a8
    d110acf
    197619a
    e6e63ac
    d15c34a
    ff5c5c1
    de7bc93
  9. naught101 commented on Apr 21, 2017

    @mwaskom: Why is markeredgewidth 0 and not markeredgecolor='none'?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions


    Back | FazBrowse Home | New Git URL