Using print to export matlab figures to pdf: How to KEEP borders (and not crop them)
10 views (last 30 days)
Show older comments
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!
0 Comments
Answers (1)
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
set(gca,'Children',circshift(get(gca, 'Children'),-1));
% print to .eps file
print('foo.eps','-depsc');
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).
0 Comments
See Also
Categories
Find more on Interactive Control and Callbacks in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!