2012-08-28 19 views
5

Quando si crea una figura semplice in MATLAB e la si salva come PDF, il file PDF risultante avrà un lussuoso rettangolo di selezione.Stretto rettangolo attorno al PDF di MATLAB figura

plot(1,1,'x') 
print(gcf, '-dpdf', 'test.pdf'); 

(Dal rapporto tra l'uscita a quanto pare hanno sempre messo in su una pagina.)

C'è un modo semplice per ottenere un riquadro stretto intorno al PDF?

risposta

3

È possibile formattare il rettangolo di selezione come segue

figure(1) 
hold on; 
plot(1,1,'x') 

ps = get(gcf, 'Position'); 
ratio = (ps(4)-ps(2))/(ps(3)-ps(1)) 
paperWidth = 10; 
paperHeight = paperWidth*ratio; 


set(gcf, 'paperunits', 'centimeters'); 
set(gcf, 'papersize', [paperWidth paperHeight]); 
set(gcf, 'PaperPosition', [0 0 paperWidth paperHeight]); 


print(gcf, '-dpdf', 'test2.pdf'); 

per i bordi più piccoli, è possibile regolare la proprietà paperposition, per esempio

set(gcf, 'PaperPosition', [-0.5 -0.5 paperWidth+0.5 paperHeight+0.5]); 
+0

Questa modifica il rapporto di aspetto e produce un file PDF che ha ancora un (piccolo) confine. Forse c'è un modo per leggere le dimensioni del riquadro di delimitazione? Ad ogni modo, "PaperPosition" è sicuramente interessante. –

+0

@Nico: ho aggiornato la mia risposta per tenere conto delle proporzioni e dei bordi più piccoli. –

1

una vecchia questione, ma io risponderò in quanto Google ha trovato questo per me prima di The MathWorks propria pagina di aiuto (Spiacente, non la reputazione sufficiente per pubblicare un commento al precedente). Comunque

ratio = (ps(4)-ps(2))/(ps(3)-ps(1)) 

dovrebbe essere

ratio = ps(4)/ps(3); 

come primi valori gcf.Position sono [x, y] posizione sullo schermo, niente a che fare con la dimensione.

anche Matlab (R) fornisce una risposta, soprattutto se non si vuole/necessità di ridimensionare la figura: https://se.mathworks.com/help/matlab/creating_plots/save-figure-with-minimal-white-space.html

fig = gcf; 
fig.PaperPositionMode = 'auto' 
fig_pos = fig.PaperPosition; 
fig.PaperSize = [fig_pos(3) fig_pos(4)]; 
Problemi correlati