Hier ist ein Barebone Beispiel:Wie beschneide ich ein Axes3D-Diagramm mit quadratischem Seitenverhältnis?
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()
Dies ist, was ich bekommen:
Dies ist, was ich will:
Mit anderen Worten, ich möchte die Plots selbst haben ein quadratisches Seitenverhältnis, nicht alle gestreckt wie folgt:
und ich habe diesen Teil Arbeiten durch https://stackoverflow.com/a/31364297/125507
aber ich möchte die Fenster in jene Plots suchen rechteckig, mit oben und unten heraus abgeschnitten (da es nur Leerraum sein wird oben und unten und ich generiere mehrere animierte GIFs, so kann ich es nicht einfach auf die Form nachbearbeiten, die ich will).
Im Grunde mache ich diese Animation, und ich möchte das Gleiche, aber ohne alle Leerzeichen:
ich nicht usre bin Ihr Beispiel repräsentativ genug ist, haben Sie versucht, ' fig.plots_adjust (oben = 1, unten = 0, rechts = 1, links = 0, hspace = 0, wspace = 0) '? – rll
Abgesehen davon, müssen Sie Ihre 'r' – rll
@rll festziehen. Yeah Ich verkürzte eine Achse von dem, was ich eigentlich will, um zu veranschaulichen, dass sie alle die gleiche Länge haben – endolith