@@ -972,17 +972,12 @@ def draw(self, renderer):
972972 self .patch .draw (renderer )
973973
974974 # a list of (zorder, func_to_call, list_of_args)
975- dsu = []
975+ dsu = [( x . get_zorder (), x , x . draw , [ renderer ]) for x in self . patches ]
976976
977- for a in self .patches :
978- dsu .append ((a .get_zorder (), a , a .draw , [renderer ]))
979-
980- for a in self .lines :
981- dsu .append ((a .get_zorder (), a , a .draw , [renderer ]))
982-
983- for a in self .artists :
984- dsu .append ((a .get_zorder (), a , a .draw , [renderer ]))
977+ dsu .extend ((x .get_zorder (), x , x .draw , [renderer ]) for x in self .lines )
985978
979+ dsu .extend ((x .get_zorder (), x , x .draw , [renderer ]) for x in self .artists )
980+
986981 # override the renderer default if self.suppressComposite
987982 # is not None
988983 not_composite = renderer .option_image_nocomposite ()
@@ -1018,19 +1013,17 @@ def draw_composite():
10181013 draw_composite , []))
10191014
10201015 # render the axes
1021- for a in self .axes :
1022- dsu .append ((a .get_zorder (), a , a .draw , [renderer ]))
1016+ dsu .extend ((x .get_zorder (), x , x .draw , [renderer ]) for x in self .axes )
10231017
10241018 # render the figure text
1025- for a in self .texts :
1026- dsu .append ((a .get_zorder (), a , a .draw , [renderer ]))
1019+ dsu .extend ((x .get_zorder (), x , x .draw , [renderer ]) for x in self .texts )
10271020
1028- for a in self . legends :
1029- dsu .append (( a .get_zorder (), a , a .draw , [renderer ]))
1021+ # render the figure legends
1022+ dsu .extend (( x .get_zorder (), x , x .draw , [renderer ]) for x in self . legends )
10301023
10311024 dsu = [row for row in dsu if not row [1 ].get_animated ()]
10321025 dsu .sort (key = itemgetter (0 ))
1033- for zorder , a , func , args in dsu :
1026+ for zorder , a , func , args in dsu : # this also needs to go away for speed
10341027 func (* args )
10351028
10361029 renderer .close_group ('figure' )
0 commit comments