2016-06-01 8 views
12

Ho una trama simile a questa:Matplotlib: impostare asse stretto solo per X o Y

enter image description here

Ovviamente, il lato destro e sinistro è uno spreco di spazio, così mi sono messo

plt.axis('tight') 

Ma questo mi dà trama in questo modo:

enter image description here

Lo xlim sembra proprio adesso, ma lo ylim è troppo stretto per la trama.

mi chiedo, se posso solo impostare axis(tight) solo per l'asse x nel mio caso?

così la trama può essere simile a questa:

enter image description here

E 'certamente possibile che io possa fare questo manualmente

plt.gca().set_xlim(left=-10, right=360) 

Ma ho paura che questo non è un molto elegante soluzione.

risposta

22

enter image description here

Dopo plt.autoscale(enable=True, axis='x', tight=True):

enter image description here

+1

Una piccola aggiunta: Sono per lo più utilizzando l'API orientato agli oggetti, 'autoscale' è in realtà un metodo della classe' Axes'. – Wisperwind