Skip to content

Commit e1db44e

Browse files
set_aspect('equal') now adopts current box aspect
1 parent 0c11638 commit e1db44e

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

lib/mpl_toolkits/mplot3d/axes3d.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -324,16 +324,17 @@ def set_aspect(self, aspect, adjustable=None, anchor=None, share=False):
324324
aspect, adjustable=adjustable, anchor=anchor, share=share)
325325

326326
if aspect == 'equal':
327-
self.set_box_aspect((1., 1., 1.))
328327
v_intervals = np.vstack((self.xaxis.get_view_interval(),
329328
self.yaxis.get_view_interval(),
330329
self.zaxis.get_view_interval()))
331330
mean = np.mean(v_intervals, axis=1)
332331
delta = np.max(np.ptp(v_intervals, axis=1))
332+
deltas = delta * self._box_aspect / min(self._box_aspect)
333+
334+
self.set_xlim3d(mean[0] - deltas[0] / 2., mean[0] + deltas[0] / 2.)
335+
self.set_ylim3d(mean[1] - deltas[1] / 2., mean[1] + deltas[1] / 2.)
336+
self.set_zlim3d(mean[2] - deltas[2] / 2., mean[2] + deltas[2] / 2.)
333337

334-
self.set_xlim3d(mean[0] - delta / 2., mean[0] + delta / 2.)
335-
self.set_ylim3d(mean[1] - delta / 2., mean[1] + delta / 2.)
336-
self.set_zlim3d(mean[2] - delta / 2., mean[2] + delta / 2.)
337338

338339
def set_box_aspect(self, aspect, *, zoom=1):
339340
"""

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy