2013-05-07 16 views
17

Ho una trama semplice in matplotlib e vorrei aumentare la distanza tra il titolo e la trama (senza usare suptitle perché non funziona sulla versione che uso su un server). Come farlo ?Aumentare la distanza tra titolo e trama in matplolib?

+0

Non è possibile mettere semplicemente qualche riga vuota (s) dopo il titolo? Si potrebbe persino giocare con il kwarg 'linespacing' di' text'. – Jehan

+0

duplicato? http://stackoverflow.com/questions/12750355/python-matplotlib-figure-title-overlaps-axes-label-when-using-twiny – denfromufa

+0

Ho trovato solo l'aggiunta \ n dopo che la stringa lasciava lo spazio che mi serviva – ashley

risposta

26

Non sembra essere un modo pulito per impostarlo direttamente (ma potrebbe valere una richiesta di funzionalità per aggiungerlo), tuttavia il titolo è solo un artista text, quindi è possibile raggiungerlo e modificarlo.

#ax = plt.gca() 
ttl = ax.title 
ttl.set_position([.5, 1.05]) 
#plt.draw() 

dovrebbe fare il trucco. Ottimizza il tuo 1.05.

6

Utilizzando rcParams:

from matplotlib import rcParams 
rcParams['axes.titlepad'] = 20 

dove 20 è la spaziatura tra la trama e il titolo.

Da https://matplotlib.org/users/customizing.html

+0

la documentazione in il link elenca solo 'axes.titlepad'. forse un errore di battitura? – keisuke

+0

@keisuke corretto. Grazie per averlo notato. Ho aggiornato la risposta. – bmorgan

+0

In Python3 * "KeyError: 'axes.titlepad non è un parametro rc valido" *. – gented

Problemi correlati