@@ -399,36 +399,39 @@ def draw(self, renderer):
399
399
400
400
# add the projection matrix to the renderer
401
401
self .M = self .get_proj ()
402
- renderer .M = self .M
403
- renderer .vvec = self .vvec
404
- renderer .eye = self .eye
405
- renderer .get_axis_position = self .get_axis_position
406
-
407
- # Calculate projection of collections and patches and zorder them.
408
- # Make sure they are drawn above the grids.
409
- zorder_offset = max (axis .get_zorder ()
410
- for axis in self ._get_axis_list ()) + 1
411
- for i , col in enumerate (
412
- sorted (self .collections ,
413
- key = lambda col : col .do_3d_projection (renderer ),
414
- reverse = True )):
415
- col .zorder = zorder_offset + i
416
- for i , patch in enumerate (
417
- sorted (self .patches ,
418
- key = lambda patch : patch .do_3d_projection (renderer ),
419
- reverse = True )):
420
- patch .zorder = zorder_offset + i
421
-
422
- if self ._axis3don :
423
- # Draw panes first
424
- for axis in self ._get_axis_list ():
425
- axis .draw_pane (renderer )
426
- # Then axes
427
- for axis in self ._get_axis_list ():
428
- axis .draw (renderer )
402
+ props3d = {
403
+ name : cbook .deprecated ('3.4' , name = name ,
404
+ alternative = f'self.axes.{ name } ' )(
405
+ property (lambda self , _value = getattr (self , name ): _value ))
406
+ for name in ['M' , 'vvec' , 'eye' , 'get_axis_position' ]
407
+ }
429
408
430
- # Then rest
431
- super ().draw (renderer )
409
+ with cbook ._setattr_cm (type (renderer ), ** props3d ):
410
+ # Calculate projection of collections and patches and zorder them.
411
+ # Make sure they are drawn above the grids.
412
+ zorder_offset = max (axis .get_zorder ()
413
+ for axis in self ._get_axis_list ()) + 1
414
+ for i , col in enumerate (
415
+ sorted (self .collections ,
416
+ key = lambda col : col .do_3d_projection (renderer ),
417
+ reverse = True )):
418
+ col .zorder = zorder_offset + i
419
+ for i , patch in enumerate (
420
+ sorted (self .patches ,
421
+ key = lambda patch : patch .do_3d_projection (renderer ),
422
+ reverse = True )):
423
+ patch .zorder = zorder_offset + i
424
+
425
+ if self ._axis3don :
426
+ # Draw panes first
427
+ for axis in self ._get_axis_list ():
428
+ axis .draw_pane (renderer )
429
+ # Then axes
430
+ for axis in self ._get_axis_list ():
431
+ axis .draw (renderer )
432
+
433
+ # Then rest
434
+ super ().draw (renderer )
432
435
433
436
def get_axis_position (self ):
434
437
vals = self .get_w_lims ()
0 commit comments