@@ -2546,6 +2546,7 @@ def draw(self, renderer):
25462546 if not self .get_visible ():
25472547 return
25482548 renderer .open_group (self .__class__ .__name__ , self .get_gid ())
2549+
25492550 transform = self .get_transform ()
25502551 offset_trf = self .get_offset_transform ()
25512552 offsets = self .get_offsets ()
@@ -2580,14 +2581,24 @@ def draw(self, renderer):
25802581 renderer .draw_gouraud_triangles (
25812582 gc , triangles , colors , transform .frozen ())
25822583 else :
2584+ isolate = (renderer ._use_blend_group_for_pcolor and self ._antialiased
2585+ and (self ._edgecolors .size == 0 or self ._edgecolors [0 ][3 ] == 0 ))
2586+ if isolate :
2587+ gc .set_blend_mode ("plus" )
2588+ renderer .open_blend_group (self .get_blend_mode ())
2589+
25832590 renderer .draw_quad_mesh (
25842591 gc , transform .frozen (),
25852592 coordinates .shape [1 ] - 1 , coordinates .shape [0 ] - 1 ,
25862593 coordinates , offsets , offset_trf ,
25872594 # Backends expect flattened rgba arrays (n*m, 4) for fc and ec
25882595 self .get_facecolor ().reshape ((- 1 , 4 )),
25892596 self ._antialiased , self .get_edgecolors ().reshape ((- 1 , 4 )))
2597+
2598+ if isolate :
2599+ renderer .close_blend_group ()
25902600 gc .restore ()
2601+
25912602 renderer .close_group (self .__class__ .__name__ )
25922603 self .stale = False
25932604
@@ -2688,6 +2699,21 @@ def get_edgecolor(self):
26882699 return ec
26892700 return ec [unmasked_polys , :]
26902701
2702+ @artist .allow_rasterization
2703+ def draw (self , renderer ):
2704+ isolate = (renderer ._use_blend_group_for_pcolor and np .all (self ._antialiaseds )
2705+ and (self ._edgecolors .size == 0 or self ._edgecolors [0 ][3 ] == 0 ))
2706+ if isolate :
2707+ blend_mode = self .get_blend_mode ()
2708+ self .set_blend_mode ("plus" )
2709+ renderer .open_blend_group (blend_mode )
2710+
2711+ super ().draw (renderer )
2712+
2713+ if isolate :
2714+ renderer .close_blend_group ()
2715+ self .set_blend_mode (blend_mode )
2716+
26912717 def get_facecolor (self ):
26922718 # docstring inherited
26932719 # We only want to return the facecolors of the polygons
0 commit comments