Using print to export matlab figures to pdf: How to KEEP borders (and not crop them)
7 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(1 个)
Alec Jacobson
2020-10-18
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Interactive Control and Callbacks 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!