Skip to content

Line2D dash pattern getter #17316

@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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions