@@ -509,8 +509,15 @@ def draw(self, renderer):
509
509
if self ._marker :
510
510
gc = renderer .new_gc ()
511
511
self ._set_gc_clip (gc )
512
- gc .set_foreground (self .get_markeredgecolor ())
513
- gc .set_linewidth (self ._markeredgewidth )
512
+ rgbFace = self ._get_rgb_face ()
513
+ rgbFaceAlt = self ._get_rgb_face (alt = True )
514
+ edgecolor = self .get_markeredgecolor ()
515
+ if is_string_like (edgecolor ) and edgecolor .lower () == 'none' :
516
+ gc .set_linewidth (0 )
517
+ gc .set_foreground (rgbFace )
518
+ else :
519
+ gc .set_foreground (edgecolor )
520
+ gc .set_linewidth (self ._markeredgewidth )
514
521
gc .set_alpha (self ._alpha )
515
522
marker = self ._marker
516
523
tpath , affine = self ._transformed_path .get_transformed_points_and_affine ()
@@ -540,18 +547,16 @@ def draw(self, renderer):
540
547
w = renderer .points_to_pixels (self ._markersize )
541
548
if marker .get_marker () != ',' : # Don't scale for pixels
542
549
marker_trans = marker_trans .scale (w )
543
- rgbFace = self ._get_rgb_face ()
544
550
renderer .draw_markers (
545
551
gc , marker_path , marker_trans , subsampled , affine .frozen (),
546
552
rgbFace )
547
553
alt_marker_path = marker .get_alt_path ()
548
554
if alt_marker_path :
549
555
alt_marker_trans = marker .get_alt_transform ()
550
556
alt_marker_trans = alt_marker_trans .scale (w )
551
- rgbFace = self ._get_rgb_face (alt = True )
552
557
renderer .draw_markers (
553
558
gc , alt_marker_path , alt_marker_trans , subsampled ,
554
- affine .frozen (), rgbFace )
559
+ affine .frozen (), rgbFaceAlt )
555
560
556
561
gc .restore ()
557
562
@@ -568,16 +573,15 @@ def get_marker(self): return self._marker.get_marker()
568
573
569
574
def get_markeredgecolor (self ):
570
575
if (is_string_like (self ._markeredgecolor ) and
571
- self ._markeredgecolor == 'auto' ):
576
+ self ._markeredgecolor == 'auto' ):
577
+ if self ._marker .get_marker () in ('.' , ',' ):
578
+ return self ._color
572
579
if self ._marker .is_filled ():
573
- return 'k'
580
+ return 'k' # Bad hard-wired default...
574
581
else :
575
582
return self ._color
576
- else :
577
- return self ._markeredgecolor
578
-
579
-
580
583
return self ._markeredgecolor
584
+
581
585
def get_markeredgewidth (self ): return self ._markeredgewidth
582
586
583
587
def _get_markerfacecolor (self , alt = False ):
0 commit comments