2016-03-02 14 views
5

Voglio ridurre la spaziatura verticale tra sottotrama. Navigare lungo il web ho appena trovato come ridurre la spaziatura orizzontale, qualcosa comeManipolazione su spazio verticale nelle sottotrame Matplotlib

import matplotlib.pyplot as plt 

fig, axes = plt.subplots(nrows=4, ncols=4) 
fig.tight_layout() # Or equivalently, "plt.tight_layout()" 
fig.subplots_adjust(hspace=0.5) 
plt.show() 

La cosa hspace è quella che manipola tale comportamento, ma a quanto pare non c'è vspace.

EDIT:

Questo non riduce lo spazio tra l'asse y, che è quello che voglio da manipolare.

+0

Il codice ** non ** ridurre lo spazio tra sottotrame verticali. – DavidG

+0

Voglio dire, non riduce lo spazio tra l'asse y nelle sottotrame, questo è quello che voglio fare. – user2820579

+0

Si prega di leggere di nuovo e non votare negativamente, dal momento che la domanda è stata fraintesa! – user2820579

risposta

6

Come hai detto nella tua domanda hspace riduce la spaziatura verticale tra le sottotrame. L'equivalente per la spaziatura orizzontale tra sottotrame è wspace. Di seguito è riportato un esempio:

x = np.linspace(0, 2 * np.pi, 400) 
y = np.sin(x ** 2) 


fig, ((ax1,ax2),(ax3,ax4)) = plt.subplots(nrows=2, ncols=2) 
fig.tight_layout() 
ax1.plot(x, y) 
ax2.scatter(x, y) 
ax3.scatter(x, y) 
ax4.scatter(x, y) 

fig.subplots_adjust(wspace=0.2) 
plt.show() 

Utilizzando un valore per 1 per wspaceenter image description here

Utilizzando 0,2 come valore di wspace

enter image description here

+0

quanto poco intuitivo avere wspace invece di hspace! – famargar

+0

Suppongo che 'hspace' sia _height_ e' wspace' sia _width_? Ma sì, un po 'controintuitivo! – DavidG

Problemi correlati