@@ -531,12 +531,12 @@ def draw(self, renderer):
531
531
if self ._marker :
532
532
gc = renderer .new_gc ()
533
533
self ._set_gc_clip (gc )
534
- rgbFace = self ._get_rgb_face ()
535
- rgbFaceAlt = self ._get_rgb_face (alt = True )
534
+ rgbaFace = self ._get_rgba_face ()
535
+ rgbaFaceAlt = self ._get_rgba_face (alt = True )
536
536
edgecolor = self .get_markeredgecolor ()
537
537
if is_string_like (edgecolor ) and edgecolor .lower () == 'none' :
538
538
gc .set_linewidth (0 )
539
- gc .set_foreground (rgbFace )
539
+ gc .set_foreground (rgbaFace )
540
540
else :
541
541
gc .set_foreground (edgecolor )
542
542
gc .set_linewidth (self ._markeredgewidth )
@@ -574,16 +574,18 @@ def draw(self, renderer):
574
574
marker_trans = marker_trans .scale (w )
575
575
else :
576
576
gc .set_linewidth (0 )
577
+ gc .set_alpha (rgbaFace [3 ])
577
578
renderer .draw_markers (
578
579
gc , marker_path , marker_trans , subsampled , affine .frozen (),
579
- rgbFace )
580
+ rgbaFace )
580
581
alt_marker_path = marker .get_alt_path ()
581
582
if alt_marker_path :
583
+ gc .set_alpha (rgbaFaceAlt [3 ])
582
584
alt_marker_trans = marker .get_alt_transform ()
583
585
alt_marker_trans = alt_marker_trans .scale (w )
584
586
renderer .draw_markers (
585
587
gc , alt_marker_path , alt_marker_trans , subsampled ,
586
- affine .frozen (), rgbFaceAlt )
588
+ affine .frozen (), rgbaFaceAlt )
587
589
588
590
gc .restore ()
589
591
@@ -961,6 +963,14 @@ def _get_rgb_face(self, alt=False):
961
963
rgbFace = colorConverter .to_rgb (facecolor )
962
964
return rgbFace
963
965
966
+ def _get_rgba_face (self , alt = False ):
967
+ facecolor = self ._get_markerfacecolor (alt = alt )
968
+ if is_string_like (facecolor ) and facecolor .lower ()== 'none' :
969
+ rgbaFace = None
970
+ else :
971
+ rgbaFace = colorConverter .to_rgba (facecolor )
972
+ return rgbaFace
973
+
964
974
# some aliases....
965
975
def set_aa (self , val ):
966
976
'alias for set_antialiased'
0 commit comments