Skip to content

Commit 46966d8

Browse files
committed
Re-cache Line2D if transformation changes
1 parent ef1c111 commit 46966d8

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

lib/matplotlib/lines.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -420,6 +420,7 @@ def __init__(self, xdata, ydata, *,
420420
self._xy = None
421421
self._path = None
422422
self._transformed_path = None
423+
self._transform_when_path_transformed = None
423424
self._subslice = False
424425
self._x_filled = None # used in subslicing; only x is needed
425426

@@ -721,6 +722,7 @@ def _transform_path(self, subslice=None):
721722
_interpolation_steps=self._path._interpolation_steps)
722723
else:
723724
_path = self._path
725+
self._transform_when_path_transformed = self.get_transform().frozen()
724726
self._transformed_path = TransformedPath(_path, self.get_transform())
725727

726728
def _get_transformed_path(self):
@@ -742,7 +744,7 @@ def draw(self, renderer):
742744
if not self.get_visible():
743745
return
744746

745-
if self._invalidy or self._invalidx:
747+
if self._invalidy or self._invalidx or self.get_transform() != self._transform_when_path_transformed:
746748
self.recache()
747749
self.ind_offset = 0 # Needed for contains() method.
748750
if self._subslice and self.axes:

0 commit comments

Comments
 (0)