Wenn ich diesen Code ausführenErstellen Quadrat Nebenhandlungen (von gleicher Höhe und Breite) in matplotlib
from pylab import *
figure()
ax1 = subplot(121)
plot([1, 2, 3], [1, 2, 3])
subplot(122, sharex=ax1, sharey=ax1)
plot([1, 2, 3], [1, 2, 3])
draw()
show()
ich zwei Handlungsstränge, die in der X-Dimension „gestaucht“ werden. Wie bekomme ich diese Teilplots so, dass die Höhe der Y-Achse gleich der Breite der X-Achse für beide Teilplots ist?
Ich benutze Matplotlib v.0.99.1.2 auf Ubuntu 10.04.
Update 2010-07-08: Schauen wir uns einige Dinge an, die nicht funktionieren.
Nachdem ich den ganzen Tag gegoogelt habe, dachte ich, dass es mit der automatischen Skalierung zusammenhängen könnte. Also habe ich versucht, damit zu spielen.
from pylab import *
figure()
ax1 = subplot(121, autoscale_on=False)
plot([1, 2, 3], [1, 2, 3])
subplot(122, sharex=ax1, sharey=ax1)
plot([1, 2, 3], [1, 2, 3])
draw()
show()
matplotlib besteht auf automatischer Skalierung.
from pylab import *
figure()
ax1 = subplot(121, autoscale_on=False)
plot([1, 2, 3], [1, 2, 3])
subplot(122, sharex=ax1, sharey=ax1, autoscale_on=False)
plot([1, 2, 3], [1, 2, 3])
draw()
show()
In diesem verschwindet die Daten vollständig. WTF, Matplotlib? Nur WTF?
Okay, gut vielleicht, wenn wir das Seitenverhältnis reparieren?
from pylab import *
figure()
ax1 = subplot(121, autoscale_on=False)
plot([1, 2, 3], [1, 2, 3])
axes().set_aspect('equal')
subplot(122, sharex=ax1, sharey=ax1)
plot([1, 2, 3], [1, 2, 3])
draw()
show()
Dieser bewirkt, dass das erste Teilplot vollständig verschwindet. Das ist urkomisch! Wer hat das erfunden?
In aller Ernsthaftigkeit, jetzt ... sollte das wirklich so schwer zu erreichen sein?
ich benutze Achse ('gleich') für mehr MATLAB wie Synthax. Und wenn Aspekt in MATLAB 1 "Achsenquadrat" sein muss, verwende ich Abbildung (1, figsize = (6, 6)). – otterb
Leider sind die Aktienachsen weg und man muss die Tickelabels von Hand entfernen. Das ist bedauerlich :(. Was tut, Arbeit verwendet 'subplot_kw = {'einstellbar': 'Box-forciert', 'Aspekt': 'gleich'}' als eine Option zu "subplots". Nur Problem jetzt ist das die Achsenbeschriftungen werden immer noch für die "gemeinsamen" Achsen angezeigt ... – rubenvb
OK ... wo hast du die API-Beschreibung 'adjustable = 'box-forced' gefunden? Ich werde hier ein bisschen verrückt ... – Atcold