Quando ho eseguito questo codiceCreazione di sottotrame quadrati (di uguale altezza e larghezza) 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()
ottengo due sottotrame che sono "schiacciati" nella dimensione X. Come posso ottenere queste sottotrame in modo che l'altezza dell'asse Y sia uguale alla larghezza dell'asse X, per entrambe le sottotrame?
Sto usando matplotlib v.0.99.1.2 su Ubuntu 10.04.
Aggiornamento 2010-07-08: Diamo un'occhiata ad alcune cose che non funzionano.
Dopo aver cercato su Google tutto il giorno, ho pensato che potesse essere correlato al ridimensionamento automatico. Così ho provato a giocherellare con quello.
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 insiste sull'auto-ridimensionamento.
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 questo, i dati scompare completamente. WTF, matplotlib? Solo WTF?
Ok, beh, forse se ripariamo le proporzioni?
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()
Questo provoca la scomparsa del primo sottotramma. È divertente! Chi è venuto con quello?
In tutta serietà, ora ... dovrebbe essere davvero una cosa così difficile da realizzare?
uso asse ('uguale') per più MATLAB come synthax. E quando l'aspetto deve essere 1 come "asse quadrato" in MATLAB, io uso figura (1, figsize = (6, 6)). – otterb
Sfortunatamente, gli assi delle azioni sono spariti e bisogna rimuovere a mano i ticklabels. Questo è sfortunato :(. Che cosa, tipo di lavoro sta usando 'subplot_kw = {'adjustable': 'box-forced', 'aspect': 'equal'}' come opzione per 'subplot'. Solo problema ora è quello le etichette degli assi sono ancora mostrate per gli assi "condivisi" ... – rubenvb
OK ... dove hai trovato la descrizione API 'adjustable = 'box-forced''? Sto diventando un po' pazzo qui ... – Atcold