<h3 dir="auto">Bug report</h3>
<p dir="auto"><strong>Bug summary</strong></p>
<p dir="auto">The matplotlib set_aspect(aspect='equal') command for 3D plots works perfectly well after the lines 1279:1282 in …\site_packages\matplotlib\axes_base.py (matplotlib 3.1.1) are commented out. With it, the plot maintains the 3D aspect ratio despite window resizing. This is the desired behavior for 3D plots where the axes aspect is important and was the behavior in matplotlib 3.0.3.  NB: set_aspect does not establish the axes ratios; that must be done via calls to set_xlim3d(), set_ylim3d(), and set_zlim3d(). Perhaps the documentation for set_aspect should be modified to reflect its usage.</p>
<h3 dir="auto">Bug report</h3>
<p dir="auto"><strong>Bug summary</strong></p>
<p dir="auto">set_aspect does not work for 3D surface plots</p>
<p dir="auto"><strong>Expected outcome</strong></p>
<p dir="auto">If a sphere is drawn with plot_surface then it should appear as a sphere and not an ellipse that depends on the window sizing. This was achieved in mpl 3.0.3 by calling<br>
set_aspect('equal').<br>
It is now broken in mpl 3.1.1-3.1.3 because the following was inserted in matplotlib/axes/_base.py (lines1279:1282) by the developers<br>
if (not cbook._str_equal(aspect, 'auto')) and self.name == '3d':<br>
raise NotImplementedError(<br>
'It is not currently possible to manually set the aspect '<br>
'on 3D axes')</p>
<p dir="auto">To get set_aspect to work (correctly, I might add), I have to comment out these lines in my local version of matplotlib. A plotted sphere appears as a sphere independent of the window sizing.</p>