8000 Merge pull request #5433 from tacaswell/enh_dashoffset · matplotlib/matplotlib@d11e344 · GitHub
[go: up one dir, main page]

Skip to content

Commit d11e344

Browse files
committed
Merge pull request #5433 from tacaswell/enh_dashoffset
ENH: pass dash_offset through to gc for Line2D
1 parent 9617dfe commit d11e344

File tree

7 files changed

+2885
-3
lines changed

7 files changed

+2885
-3
lines changed

lib/matplotlib/backends/backend_ps.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -276,14 +276,16 @@ def set_linecap(self, linecap, store=1):
276276
def set_linedash(self, offset, seq, store=1):
277277
if self.linedash is not None:
278278
oldo, oldseq = self.linedash
279-
if seq_allequal(seq, oldseq): return
279+
if seq_allequal(seq, oldseq) and oldo == offset:
280+
return
280281

281282
if seq is not None and len(seq):
282283
s="[%s] %d setdash\n"%(_nums_to_str(*seq), offset)
283284
self._pswriter.write(s)
284285
else:
285286
self._pswriter.write("[] 0 setdash\n")
286-
if store: self.linedash = (offset,seq)
287+
if store:
288+
self.linedash = (offset, seq)
287289

288290
def set_font(self, fontname, fontsize, store=1):
289291
if rcParams['ps.useafm']: return

lib/matplotlib/lines.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -346,6 +346,7 @@ def __init__(self, xdata, ydata,
346346
self.set_markersize(markersize)
347347

348348
self._dashSeq = None
349+
self._dashOffset = 0
349350

350351
self._markeredgecolor = None
351352
self._markeredgewidth = None
@@ -1028,6 +1029,7 @@ def set_linestyle(self, ls):
10281029
raise ValueError()
10291030

10301031
self.set_dashes(ls[1])
1032+
self._dashOffset = ls[0]
10311033
self._linestyle = "--"
10321034
return
10331035

@@ -1198,7 +1200,7 @@ def _draw_solid(self, renderer, gc, path, trans):
11981200
def _draw_dashed(self, renderer, gc, path, trans):
11991201
gc.set_linestyle('dashed')
12001202
if self._dashSeq is not None:
1201-
gc.set_dashes(0, self._dashSeq)
1203+
gc.set_dashes(self._dashOffset, self._dashSeq)
12021204

12031205
renderer.draw_path(gc, path, trans)
12041206

@@ -1222,6 +1224,7 @@ def update_from(self, other):
12221224
self._markeredgecolor = other._markeredgecolor
12231225
self._markeredgewidth = other._markeredgewidth
12241226
self._dashSeq = other._dashSeq
1227+
self._dashOffset = other._dashOffset
12251228
self._dashcapstyle = other._dashcapstyle
12261229
self._dashjoinstyle = other._dashjoinstyle
12271230
self._solidcapstyle = other._solidcapstyle
Binary file not shown.
Loading

0 commit comments

Comments
 (0)
0