matlab画图导出时选择保存就经常会有多余得空白, 在插入论文的时候经常都需要先做裁剪, 非常麻烦. 以下几种方法可以快速保存图片, 同时保留最少量的空白.
第一种: 代码法
R2020a 中新增的exportgraphics
函数可以快速保存图片, 同时裁剪掉多余的空白.
ax =gca
exportgraphics(ax,'temp.pdf','ContentType','vector')
第二种: 设置边框法
如果你的matlab版本不到2020a, 那么可以写代码缩减画图的边框再手动进行保存.
ax=gca;
pos=ax.OuterPosition;
[OL,OB,OW,OH]=deal(pos(1),pos(2),pos(3),pos(4));
Inset=ax.TightInset;
[TL,TB,TR,TT]=deal(Inset(1),Inset(2),Inset(3),Inset(4));
ax.Position = [OL+TL,OL+TB,OW-TL-TR,OH-TB-TT];
具体原理可以看 Maltab画图的各种坐标区的大小: OuterPosition, Position, TightInset
过大图片的导出方法
对于一些spectrogram等包含很多像素点的图片, 导出pdf后文件非常大