Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 407ebd9

Browse files
committed
Small cleanup of logic in handling drawstyle in Line2D
svn path=/trunk/matplotlib/; revision=7505
1 parent ee0353a commit 407ebd9

1 file changed

Lines changed: 4 additions & 3 deletions

File tree

lib/matplotlib/lines.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,8 @@ class Line2D(Artist):
9999
drawStyles = {}
100100
drawStyles.update(_drawStyles_l)
101101
drawStyles.update(_drawStyles_s)
102+
# Need a list ordered with long names first:
103+
drawStyleKeys = _drawStyles_l.keys() + _drawStyles_s.keys()
102104

103105
markers = _markers = { # hidden names deprecated
104106
'.' : '_draw_point',
@@ -712,15 +714,14 @@ def set_linestyle(self, linestyle):
712714
any drawstyle in combination with a linestyle, e.g. 'steps--'.
713715
"""
714716

715-
# handle long drawstyle names before short ones !
716-
for ds in flatten([k.keys() for k in (self._drawStyles_l,
717-
self._drawStyles_s)], is_string_like):
717+
for ds in self.drawStyleKeys: # long names are first in the list
718718
if linestyle.startswith(ds):
719719
self.set_drawstyle(ds)
720720
if len(linestyle) > len(ds):
721721
linestyle = linestyle[len(ds):]
722722
else:
723723
linestyle = '-'
724+
break
724725

725726
if linestyle not in self._lineStyles:
726727
if linestyle in ls_mapper:

0 commit comments

Comments
 (0)