@@ -314,26 +314,47 @@ def __init__(self, xdata, ydata,
314
314
if drawstyle is None :
315
315
drawstyle = 'default'
316
316
317
+ self ._dashcapstyle = None
318
+ self ._dashjoinstyle = None
319
+ self ._solidjoinstyle = None
320
+ self ._solidcapstyle = None
317
321
self .set_dash_capstyle (dash_capstyle )
318
322
self .set_dash_joinstyle (dash_joinstyle )
319
323
self .set_solid_capstyle (solid_capstyle )
320
324
self .set_solid_joinstyle (solid_joinstyle )
321
325
326
+ self ._linestyles = None
327
+ self ._drawstyle = None
328
+ self ._linewidth = None
322
329
self .set_linestyle (linestyle )
323
330
self .set_drawstyle (drawstyle )
324
331
self .set_linewidth (linewidth )
332
+
333
+ self ._color = None
325
334
self .set_color (color )
326
335
self ._marker = MarkerStyle ()
327
336
self .set_marker (marker )
337
+
338
+ self ._markevery = None
339
+ self ._markersize = None
340
+ self ._antialiased = None
341
+
328
342
self .set_markevery (markevery )
329
343
self .set_antialiased (antialiased )
330
344
self .set_markersize (markersize )
345
+
331
346
self ._dashSeq = None
332
347
348
+ self ._markeredgecolor = None
349
+ self ._markeredgewidth = None
350
+ self ._markerfacecolor = None
351
+ self ._markerfacecoloralt = None
352
+
333
353
self .set_markerfacecolor (markerfacecolor )
334
354
self .set_markerfacecoloralt (markerfacecoloralt )
335
355
self .set_markeredgecolor (markeredgecolor )
336
356
self .set_markeredgewidth (markeredgewidth )
357
+
337
358
self .set_fillstyle (fillstyle )
338
359
339
360
self .verticalOffset = None
@@ -457,6 +478,7 @@ def set_fillstyle(self, fs):
457
478
ACCEPTS: ['full' | 'left' | 'right' | 'bottom' | 'top' | 'none']
458
479
"""
459
480
self ._marker .set_fillstyle (fs )
481
+ self .dirty = True
460
482
461
483
def set_markevery (self , every ):
462
484
"""Set the markevery property to subsample the plot when using markers.
@@ -509,7 +531,8 @@ def set_markevery(self, every):
509
531
axes-bounding-box-diagonal regardless of the actual axes data limits.
510
532
511
533
"""
512
-
534
+ if self ._markevery != every :
535
+ self .dirty = True
513
536
self ._markevery = every
514
537
515
538
def get_markevery (self ):
@@ -890,6 +913,8 @@ def set_antialiased(self, b):
890
913
891
914
ACCEPTS: [True | False]
892
915
"""
916
+ if self ._antialiased != b :
917
+ self .dirty = True
893
918
self ._antialiased = b
894
919
895
920
def set_color (self , color ):
@@ -898,6 +923,8 @@ def set_color(self, color):
898
923
899
924
ACCEPTS: any matplotlib color
900
925
"""
926
+ if color != self ._color :
927
+ self .dirty = True
901
928
self ._color = color
902
929
903
930
def set_drawstyle (self , drawstyle ):
@@ -911,6 +938,8 @@ def set_drawstyle(self, drawstyle):
911
938
ACCEPTS: ['default' | 'steps' | 'steps-pre' | 'steps-mid' |
912
939
'steps-post']
913
940
"""
941
+ if self ._drawstyle != drawstyle :
942
+ self .dirty = True
914
943
self ._drawstyle = drawstyle
915
944
916
945
def set_linewidth (self , w ):
@@ -919,7 +948,10 @@ def set_linewidth(self, w):
919
948
920
949
ACCEPTS: float value in points
921
950
"""
922
- self ._linewidth = float (w )
951
+ w = float (w )
952
+ if self ._linewidth != w :
953
+ self .dirty = True
954
+ self ._linewidth = w
923
955
924
956
def set_linestyle (self , ls ):
925
957
"""
@@ -1021,6 +1053,8 @@ def set_markeredgecolor(self, ec):
1021
1053
"""
1022
1054
if ec is None :
1023
1055
ec = 'auto'
1056
+ if self ._markeredgecolor != ec :
1057
+ self .dirty = True
1024
1058
self ._markeredgecolor = ec
1025
1059
1026
1060
def set_markeredgewidth (self , ew ):
@@ -1031,6 +1065,8 @@ def set_markeredgewidth(self, ew):
1031
1065
"""
1032
1066
if ew is None :
1033
1067
ew = rcParams ['lines.markeredgewidth' ]
1068
+ if self ._markeredgewidth != ew :
1069
+ self .dirty = True
1034
1070
self ._markeredgewidth = ew
1035
1071
1036
1072
def set_markerfacecolor (self , fc ):
@@ -1041,7 +1077,8 @@ def set_markerfacecolor(self, fc):
1041
1077
"""
1042
1078
if fc is None :
1043
1079
fc = 'auto'
1044
-
1080
+ if self ._markerfacecolor != fc :
1081
+ self .dirty = True
1045
1082
self ._markerfacecolor = fc
1046
1083
1047
1084
def set_markerfacecoloralt (self , fc ):
@@ -1052,7 +1089,8 @@ def set_markerfacecoloralt(self, fc):
1052
1089
"""
1053
1090
if fc is None :
1054
1091
fc = 'auto'
1055
-
1092
+ if self ._markerfacecoloralt != fc :
1093
+ self .dirty = True
1056
1094
self ._markerfacecoloralt = fc
1057
1095
1058
1096
def set_markersize (self , sz ):
@@ -1061,7 +1099,10 @@ def set_markersize(self, sz):
1061
1099
1062
1100
ACCEPTS: float
1063
1101
"""
1064
- self ._markersize = float (sz )
1102
+ sz = float (sz )
1103
+ if self ._markersize != sz :
1104
+ self .dirty = True
1105
+ self ._markersize = sz
1065
1106
1066
1107
def set_xdata (self , x ):
1067
1108
"""
@@ -1071,6 +1112,7 @@ def set_xdata(self, x):
1071
1112
"""
1072
1113
self ._xorig = x
1073
1114
self ._invalidx = True
1115
+ self .dirty = True
1074
1116
1075
1117
def set_ydata (self , y ):
1076
1118
"""
@@ -1080,6 +1122,7 @@ def set_ydata(self, y):
1080
1122
"""
1081
1123
self ._yorig = y
1082
1124
self ._invalidy = True
1125
+ self .dirty = True
1083
1126
1084
1127
def set_dashes (self , seq ):
1085
1128
"""
@@ -1093,6 +1136,8 @@ def set_dashes(self, seq):
1093
1136
self .set_linestyle ('-' )
1094
1137
else :
1095
1138
self .set_linestyle ('--' )
1139
+ if self ._dashSeq != seq :
1140
+ self .dirty = True
1096
1141
self ._dashSeq = seq # TODO: offset ignored for now
1097
1142
1098
1143
def _draw_lines (self , renderer , gc , path , trans ):
@@ -1276,6 +1321,8 @@ def set_dash_joinstyle(self, s):
1276
1321
if s not in self .validJoin :
1277
1322
raise ValueError ('set_dash_joinstyle passed "%s";\n ' % (s ,)
1278
1323
+ 'valid joinstyles are %s' % (self .validJoin ,))
1324
+ if self ._dashjoinstyle != s :
1325
+ self .dirty = True
1279
1326
self ._dashjoinstyle = s
1280
1327
1281
1328
def set_solid_joinstyle (self , s ):
@@ -1287,6 +1334,9 @@ def set_solid_joinstyle(self, s):
1287
1334
if s not in self .validJoin :
1288
1335
raise ValueError ('set_solid_joinstyle passed "%s";\n ' % (s ,)
1289
1336
+ 'valid joinstyles are %s' % (self .validJoin ,))
1337
+
1338
+ if self ._solidjoinstyle != s :
1339
+ self .dirty = True
1290
1340
self ._solidjoinstyle = s
1291
1341
1292
1342
def get_dash_joinstyle (self ):
@@ -1311,7 +1361,8 @@ def set_dash_capstyle(self, s):
1311
1361
if s not in self .validCap :
1312
1362
raise ValueError ('set_dash_capstyle passed "%s";\n ' % (s ,)
1313
1363
+ 'valid capstyles are %s' % (self .validCap ,))
1314
-
1364
+ if self ._dashcapstyle != s :
1365
+ self .dirty = True
1315
1366
self ._dashcapstyle = s
1316
1367
1317
1368
def set_solid_capstyle (self , s ):
@@ -1324,7 +1375,8 @@ def set_solid_capstyle(self, s):
1324
1375
if s not in self .validCap :
1325
1376
raise ValueError ('set_solid_capstyle passed "%s";\n ' % (s ,)
1326
1377
+ 'valid capstyles are %s' % (self .validCap ,))
1327
-
1378
+ if self ._solidcapstyle != s :
1379
+ self .dirty = True
1328
1380
self ._solidcapstyle = s
1329
1381
1330
1382
def get_dash_capstyle (self ):
0 commit comments