8000 Line2D dash pattern getter · Issue #17316 · matplotlib/matplotlib · GitHub
[go: up one dir, main page]

Skip to content
Line2D dash pattern getter #17316
Open
@MaozGelbart

Description

@MaozGelbart

Bug report

Bug summary

For lines.Line2D, there exists line.get_linestyle() which returns a short string representation of one of the four preconfigured line styles ("-"/"--"/":"/"-."). For the "dashed" ("--") style, which is returned wherever the linestyle input is a tuple (or dashes kwarg was used or set_dashes was called with tuple input), the exact dash pattern is not returned. There's no line.get_dashes().

On the contrary, collections.LineCollection([], linestyle=style).get_linestyle() returns the (scaled) dash pattern and not the preconfigured linestyle, which is more general and helpful. collection.get_dashes() is an alias for get_linestyle().

Is it possible to add a getter for the (unscaled) original dash pattern of a line2d instance?

Code for reproduction

#linestyle input to line2d can be queried but dash pattern is not exposed
from matplotlib import lines
line = lines.Line2D([],[],linestyle=(0,(2,2)))
line.get_linestyle()  # "--"
#similar dashing input to lineCollection
from matplotlib import collections
collection = collections.LineCollection([], linestyle=(0,(2,2)))
collection.get_linestyle()  # [(0.0, [3.0, 3.0])]

Actual outcome

'--'
[(0.0, [3.0, 3.0])]

Expected outcome

Matplotlib version

  • Matplotlib version: 3.2.1

Many thanks for considering this!

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 a 2BFE ctions

      0