Как обрезать график Axes3D с квадратным соотношением сторон?

Вот простой пример:

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()
f = fig.add_subplot(2, 1, 1, projection='3d')
t = fig.add_subplot(2, 1, 2, projection='3d')

# axes
for d in {f, t}:
    d.plot([-1, 1], [0, 0], [0, 0], color='k', alpha=0.8, lw=2)
    d.plot([0, 0], [-1, 1], [0, 0], color='k', alpha=0.8, lw=2)
    d.plot([0, 0], [0, 0], [-1, 1], color='k', alpha=0.8, lw=2)

f.dist = t.dist = 5.2   # 10 is default

plt.tight_layout()
f.set_aspect('equal')
t.set_aspect('equal')

r = 6
f.set_xlim3d([-r, r])
f.set_ylim3d([-r, r])
f.set_zlim3d([-r, r])

t.set_xlim3d([-r, r])
t.set_ylim3d([-r, r])
t.set_zlim3d([-r, r])

f.set_axis_off()
t.set_axis_off()

plt.draw()
plt.show()

Вот что я получаю:

Это то, что я хочу:

Другими словами, я хочу, чтобы сами графики имели квадратное соотношение сторон, а не все растягивались так:

и я получил эту часть работы благодаряhttps://stackoverflow.com/a/31364297/125507

но я хочу, чтобы окна, смотрящие на эти графики, были прямоугольными, с обрезанными верхом и низом (так как сверху и снизу будут просто пробелы, и я создаю несколько анимированных GIF-файлов, поэтому я не могу легко постобработать их в форму, я хочу).

По сути, я делаю эту анимацию и хочу то же самое, но без пробелов:

Ответы на вопрос(1)

Ваш ответ на вопрос