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