@@ -1146,6 +1146,19 @@ def set_marker(self, marker):
11461146 self ._marker = MarkerStyle (marker , self ._marker .get_fillstyle ())
11471147 self .stale = True
11481148
1149+ def _set_markercolor (self , attr , val ):
1150+ if val is None :
1151+ val = 'auto'
1152+ current = getattr (self , attr )
1153+ if current is None :
1154+ self .stale = True
1155+ else :
1156+ neq = current != val
1157+ # Much faster than `np.any(current != val)` if no arrays are used.
1158+ if neq .any () if isinstance (neq , np .ndarray ) else neq :
1159+ self .stale = True
1160+ setattr (self , attr , val )
1161+
11491162 def set_markeredgecolor (self , ec ):
11501163 """
11511164 Set the marker edge color.
@@ -1154,55 +1167,42 @@ def set_markeredgecolor(self, ec):
11541167 ----------
11551168 ec : color
11561169 """
1157- if ec is None :
1158- ec = 'auto'
1159- if (self ._markeredgecolor is None
1160- or np .any (self ._markeredgecolor != ec )):
1161- self .stale = True
1162- self ._markeredgecolor = ec
1170+ self ._set_markercolor ("_markeredgecolor" , ec )
11631171
1164- def set_markeredgewidth (self , ew ):
1172+ def set_markerfacecolor (self , fc ):
11651173 """
1166- Set the marker edge width in points .
1174+ Set the marker face color .
11671175
11681176 Parameters
11691177 ----------
1170- ew : float
1171- Marker edge width, in points.
1178+ fc : color
11721179 """
1173- if ew is None :
1174- ew = rcParams ['lines.markeredgewidth' ]
1175- if self ._markeredgewidth != ew :
1176- self .stale = True
1177- self ._markeredgewidth = ew
1180+ self ._set_markercolor ("_markerfacecolor" , fc )
11781181
1179- def set_markerfacecolor (self , fc ):
1182+ def set_markerfacecoloralt (self , fc ):
11801183 """
1181- Set the marker face color.
1184+ Set the alternate marker face color.
11821185
11831186 Parameters
11841187 ----------
11851188 fc : color
11861189 """
1187- if fc is None :
1188- fc = 'auto'
1189- if np .any (self ._markerfacecolor != fc ):
1190- self .stale = True
1191- self ._markerfacecolor = fc
1190+ self ._set_markercolor ("_markerfacecoloralt" , fc )
11921191
1193- def set_markerfacecoloralt (self , fc ):
1192+ def set_markeredgewidth (self , ew ):
11941193 """
1195- Set the alternate marker face color .
1194+ Set the marker edge width in points .
11961195
11971196 Parameters
11981197 ----------
1199- fc : color
1198+ ew : float
1199+ Marker edge width, in points.
12001200 """
1201- if fc is None :
1202- fc = 'auto'
1203- if np . any ( self ._markerfacecoloralt != fc ) :
1201+ if ew is None :
1202+ ew = rcParams [ 'lines.markeredgewidth' ]
1203+ if self ._markeredgewidth != ew :
12041204 self .stale = True
1205- self ._markerfacecoloralt = fc
1205+ self ._markeredgewidth = ew
12061206
12071207 def set_markersize (self , sz ):
12081208 """
0 commit comments