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

Skip to content

Commit aa3102c

Browse files
committed
MNT : implement steps with cbook functions
Use the centralized version of the points -> step conversion. Slightly questioning my API choices on the cbook functions due to awkwardly large number of .T to make this work here.
1 parent a9cdd6d commit aa3102c

File tree

1 file changed

+6
-19
lines changed

1 file changed

+6
-19
lines changed

lib/matplotlib/lines.py

Lines changed: 6 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@
1616
from matplotlib import verbose
1717
from . import artist
1818
from .artist import Artist
19-
from .cbook import iterable, is_string_like, is_numlike, ls_mapper_r
19+
from .cbook import (iterable, is_string_like, is_numlike, ls_mapper_r,
20+
pts_to_prestep, pts_to_poststep, pts_to_midstep)
21+
2022
from .colors import colorConverter
2123
from .path import Path
2224
from .transforms import Bbox, TransformedPath, IdentityTransform
@@ -1154,36 +1156,21 @@ def _draw_lines(self, renderer, gc, path, trans):
11541156
self._lineFunc(renderer, gc, path, trans)
11551157

11561158
def _draw_steps_pre(self, renderer, gc, path, trans):
1157-
vertices = self._xy
1158-
steps = ma.zeros((2 * len(vertices) - 1, 2), np.float_)
1159-
1160-
steps[0::2, 0], steps[1::2, 0] = vertices[:, 0], vertices[:-1, 0]
1161-
steps[0::2, 1], steps[1:-1:2, 1] = vertices[:, 1], vertices[1:, 1]
1159+
steps = np.vstack(pts_to_prestep(*self._xy.T)).T
11621160

11631161
path = Path(steps)
11641162
path = path.transformed(self.get_transform())
11651163
self._lineFunc(renderer, gc, path, IdentityTransform())
11661164

11671165
def _draw_steps_post(self, renderer, gc, path, trans):
1168-
vertices = self._xy
1169-
steps = ma.zeros((2 * len(vertices) - 1, 2), np.float_)
1170-
1171-
steps[::2, 0], steps[1:-1:2, 0] = vertices[:, 0], vertices[1:, 0]
1172-
steps[0::2, 1], steps[1::2, 1] = vertices[:, 1], vertices[:-1, 1]
1166+
steps = np.vstack(pts_to_poststep(*self._xy.T)).T
11731167

11741168
path = Path(steps)
11751169
path = path.transformed(self.get_transform())
11761170
self._lineFunc(renderer, gc, path, IdentityTransform())
11771171

11781172
def _draw_steps_mid(self, renderer, gc, path, trans):
1179-
vertices = self._xy
1180-
steps = ma.zeros((2 * len(vertices), 2), np.float_)
1181-
1182-
steps[1:-1:2, 0] = 0.5 * (vertices[:-1, 0] + vertices[1:, 0])
1183-
steps[2::2, 0] = 0.5 * (vertices[:-1, 0] + vertices[1:, 0])
1184-
steps[0, 0] = vertices[0, 0]
1185-
steps[-1, 0] = vertices[-1, 0]
1186-
steps[0::2, 1], steps[1::2, 1] = vertices[:, 1], vertices[:, 1]
1173+
steps = np.vstack(pts_to_midstep(*self._xy.T)).T
11871174

11881175
path = Path(steps)
11891176
path = path.transformed(self.get_transform())

0 commit comments

Comments
 (0)