Using print to export matlab figures to pdf: How to KEEP borders (and not crop them)
34 views (last 30 days)
I am trying to export a matlab figure to a pdf file using print function.
set(gcf, 'InvertHardCopy', 'off', 'PaperType', 'usletter');
print(gcf, 'sample_output', '-dpdf', '-r400');
The output I see is of acceptable quality but the usual white space around figure is cropped in the output. I want to keep the surrounding space.
Any help would be great!
Alec Jacobson on 18 Oct 2020
This question has been asked many times with zero answers that I could find. Here's a hacky partial work around for 2D plots where a single axis fills the full figure window. It will add a line from the bottom-left corner to the top-right so when MATLAB crops the figure (without asking) it will have no choice but to leave the everything alone.
% add a white line from corner to corner
hold on;plt(reshape(axis,,2),'-w');hold off;
% put it in the back
% print to .eps file
Assumes background is white and manipulates the current axis and figure. Would be great to see MATLAB address this problem (or point out an existing solution).