diff --git a/lib/matplotlib/lines.py b/lib/matplotlib/lines.py index 0ded319aacf9..5c7b1ed6dbd8 100644 --- a/lib/matplotlib/lines.py +++ b/lib/matplotlib/lines.py @@ -370,8 +370,7 @@ def __init__(self, xdata, ydata, self._color = None self.set_color(color) - self._marker = MarkerStyle() - self.set_marker(marker) + self._marker = MarkerStyle(marker, fillstyle) self._markevery = None self._markersize = None @@ -391,8 +390,6 @@ def __init__(self, xdata, ydata, self.set_markeredgecolor(markeredgecolor) self.set_markeredgewidth(markeredgewidth) - self.set_fillstyle(fillstyle) - self.verticalOffset = None # update kwargs before updating data to give the caller a diff --git a/lib/matplotlib/markers.py b/lib/matplotlib/markers.py index 732fa1c1aaa7..b0ee5c51f077 100644 --- a/lib/matplotlib/markers.py +++ b/lib/matplotlib/markers.py @@ -175,11 +175,9 @@ def __init__(self, marker=None, fillstyle=None): fillstyle : string, optional, default: 'full' 'full', 'left", 'right', 'bottom', 'top', 'none' """ - # The fillstyle has to be set here as it might be accessed by calls to - # _recache() in set_marker. - self._fillstyle = fillstyle - self.set_marker(marker) + self._marker_function = None self.set_fillstyle(fillstyle) + self.set_marker(marker) def __getstate__(self): d = self.__dict__.copy() @@ -189,9 +187,10 @@ def __getstate__(self): def __setstate__(self, statedict): self.__dict__ = statedict self.set_marker(self._marker) - self._recache() def _recache(self): + if self._marker_function is None: + return self._path = _empty_path self._transform = IdentityTransform() self._alt_path = None