Sto producendo un grafico di qualità di pubblicazione da incorporare in latex e mi piacerebbe essere molto preciso in termini di dimensioni e caratteri (in modo che i caratteri sono della stessa misura nell'articolo come nella trama). Per evitare che la trama si riduca in lattice mi piacerebbe avere la dimensione esatta, ma non posso. Qui è il mio codice:pad_inches = 0 e bbox_inches = "tight" rende la trama più piccola di quanto dichiarato figg.
import matplotlib.pyplot as plt
from matplotlib import rc, rcParams
from numpy import sin
rc('text', usetex=True)
rc('font', family='serif', serif='Computer Modern Roman', size=8)
rc('legend', fontsize=10)
width_in = 5
fig = plt.figure(1, figsize=(width_in, 2))
ax = fig.add_subplot(111)
ax.plot(range(0,100), sin(range(0,100)))
fig.tight_layout()
fig.savefig('test.eps', bbox_inches='tight', pad_inches=0)
plt.close()
Il problema è con bbox_inches = 'stretto' e pad_inches = 0. L'aggiunta di queste opzioni rende la mia trama di 4,76 pollici di larghezza invece di 5 pollici dichiarati. Ma voglio che salvino lo spazio. Quindi come risolverlo?
Modifica: Bene, le risposte suggeriscono di rimuovere bbox_inches='tight'
e pad_inches=0
e utilizzare solo il tight_layout()
. Quindi le immagini hanno le giuste dimensioni, tuttavia ha ancora delle imbottiture bianche intorno. Posso rimuoverlo con fig.tight_layout(pad=0)
, ma poi il titolo della figura si è spostato all'interno della scatola, che sembra brutto. D'altra parte posso usare tight_layout(rect=[...])
e ottenere il risultato desiderato, ma è un lavoro manuale per ottenere i numeri corretti - Non mi piace. Quindi, al momento non vedo alcuna soluzione facile e generale al mio problema.
Ho una domanda di follow-up su questo: ho il testo sopra la figura bbox di default, quindi se li salvi direttamente il testo verrà ritagliato. Se uso bbox_inches = 'tight', i margini delle figure vengono tagliati. C'è un modo per fare solo bbox_inches = 'tight' nella direzione verticale? –
Poi fai una nuova domanda – tacaswell
Grazie! Ho fatto ed è qui: http://stackoverflow.com/questions/23532036/showing-text-outside-the-figure-limits –