Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit ed2b16a

Browse files
committed
Deprecate renderer parameter in do_3d_projection.
1 parent 45777e4 commit ed2b16a

File tree

3 files changed

+34
-9
lines changed

3 files changed

+34
-9
lines changed

doc/api/next_api_changes/deprecations/18302-ES.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,10 @@ now deprecated:
1111

1212
These attributes are all available via `.Axes3D`, which can be accessed via
1313
``self.axes`` on all `.Artist`\s.
14+
15+
``renderer`` argument of ``do_3d_projection`` method for ``Collection3D``/``Patch3D``
16+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
17+
18+
The ``renderer`` argument for the ``do_3d_projection`` method on
19+
``Collection3D`` and ``Patch3D`` is no longer necessary, and passing it during
20+
draw is deprecated.

lib/mpl_toolkits/mplot3d/art3d.py

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,8 @@ def set_segments(self, segments):
296296
self._segments3d = segments
297297
super().set_segments([])
298298

299-
def do_3d_projection(self, renderer):
299+
@cbook._delete_parameter('3.4', 'renderer')
300+
def do_3d_projection(self, renderer=None):
300301
"""
301302
Project the points according to renderer matrix.
302303
"""
@@ -314,7 +315,7 @@ def do_3d_projection(self, renderer):
314315
@artist.allow_rasterization
315316
def draw(self, renderer, project=False):
316317
if project:
317-
self.do_3d_projection(renderer)
318+
self.do_3d_projection()
318319
super().draw(renderer)
319320

320321

@@ -346,7 +347,8 @@ def get_path(self):
346347
def get_facecolor(self):
347348
return self._facecolor2d
348349

349-
def do_3d_projection(self, renderer):
350+
@cbook._delete_parameter('3.4', 'renderer')
351+
def do_3d_projection(self, renderer=None):
350352
s = self._segment3d
351353
xs, ys, zs = zip(*s)
352354
vxs, vys, vzs, vis = proj3d.proj_transform_clip(xs, ys, zs,
@@ -371,7 +373,8 @@ def set_3d_properties(self, path, zs=0, zdir='z'):
371373
Patch3D.set_3d_properties(self, path.vertices, zs=zs, zdir=zdir)
372374
self._code3d = path.codes
373375

374-
def do_3d_projection(self, renderer):
376+
@cbook._delete_parameter('3.4', 'renderer')
377+
def do_3d_projection(self, renderer=None):
375378
s = self._segment3d
376379
xs, ys, zs = zip(*s)
377380
vxs, vys, vzs, vis = proj3d.proj_transform_clip(xs, ys, zs,
@@ -481,7 +484,8 @@ def set_3d_properties(self, zs, zdir):
481484
self._edgecolor3d = self.get_edgecolor()
482485
self.stale = True
483486

484-
def do_3d_projection(self, renderer):
487+
@cbook._delete_parameter('3.4', 'renderer')
488+
def do_3d_projection(self, renderer=None):
485489
xs, ys, zs = self._offsets3d
486490
vxs, vys, vzs, vis = proj3d.proj_transform_clip(xs, ys, zs,
487491
self.axes.M)
@@ -586,7 +590,8 @@ def set_linewidth(self, lw):
586590
super().set_linewidth(lw)
587591
self._linewidth3d = self.get_linewidth()
588592

589-
def do_3d_projection(self, renderer):
593+
@cbook._delete_parameter('3.4', 'renderer')
594+
def do_3d_projection(self, renderer=None):
590595
xs, ys, zs = self._offsets3d
591596
vxs, vys, vzs, vis = proj3d.proj_transform_clip(xs, ys, zs,
592597
self.axes.M)
@@ -762,7 +767,8 @@ def set_sort_zpos(self, val):
762767
self._sort_zpos = val
763768
self.stale = True
764769

765-
def do_3d_projection(self, renderer):
770+
@cbook._delete_parameter('3.4', 'renderer')
771+
def do_3d_projection(self, renderer=None):
766772
"""
767773
Perform the 3D projection for this object.
768774
"""

lib/mpl_toolkits/mplot3d/axes3d.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -407,18 +407,30 @@ def draw(self, renderer):
407407
}
408408

409409
with cbook._setattr_cm(type(renderer), **props3d):
410+
def do_3d_projection(artist):
411+
if artist.__module__ == 'mpl_toolkits.mplot3d.art3d':
412+
# Our 3D Artists have deprecated the renderer parameter.
413+
return artist.do_3d_projection()
414+
415+
cbook.warn_deprecated(
416+
"3.4",
417+
message="The 'renderer' parameter of "
418+
"do_3d_projection() was deprecated in Matplotlib "
419+
"%(since)s and will be removed %(removal)s.")
420+
return artist.do_3d_projection(renderer)
421+
410422
# Calculate projection of collections and patches and zorder them.
411423
# Make sure they are drawn above the grids.
412424
zorder_offset = max(axis.get_zorder()
413425
for axis in self._get_axis_list()) + 1
414426
for i, col in enumerate(
415427
sorted(self.collections,
416-
key=lambda col: col.do_3d_projection(renderer),
428+
key=do_3d_projection,
417429
reverse=True)):
418430
col.zorder = zorder_offset + i
419431
for i, patch in enumerate(
420432
sorted(self.patches,
421-
key=lambda patch: patch.do_3d_projection(renderer),
433+
key=do_3d_projection,
422434
reverse=True)):
423435
patch.zorder = zorder_offset + i
424436

0 commit comments

Comments
 (0)