Oto Barebone przykład:Jak przyciąć wykres Axes3D o kwadratowym współczynniku kształtu?
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()
To co mam:
To jest to, co chcę:
Innymi słowy, chcę same wątki mają kwadratowy współczynnik kształtu, nie wszystkie rozciągnięte w ten sposób:
i dostałem tę rolę dzięki roboczą do https://stackoverflow.com/a/31364297/125507
ale chcę okna patrząc na tych działkach być prostokątny, przy czym górna i dolna wykadrowane (ponieważ nie będzie tylko spacje na górze i na dole i generuję wiele animowanych GIF-ów, więc nie mogę go łatwo przetworzyć na żądany kształt).
Zasadniczo Robię animację, a ja chcę to samo, ale bez wszystkich spacji:
nie jestem usre Twój przykład jest wystarczająco reprezentatywne, czy próbowałeś ' fig.subplots_adjust (top = 1, bottom = 0, right = 1, left = 0, hspace = 0, wspace = 0) '? – rll
Poza tym, musisz dokręcić "r" – rll
@rll Tak, skróciłem jedną oś z tego, co faktycznie chcę, aby zilustrować je wszystkie o tej samej długości. – endolith