matlab在画多个图片循环保存时很容易出现看到的图跟保存的图片不一样,最常见的是大小不同导致坐标轴拉伸变形,主要是图片分辨率跟屏幕分辨率不同的原因,这个可以通过在设置figure时,固定画布大小解决。
同时还有可能会出现保存时字体颜色发生改变,如下图
figure显示的图:
保存后的图:
在查找资料后,有个方法可以解决这个问题,原理就是保存你看到的图片,无论是什么样式:
需要三个命令:
figure('position',[50 50 600 600],'PaperPositionMode', 'auto') % 设置figure窗口大小后,自动画布模式
set(gcf, 'InvertHardCopy', 'off'); % 背景的grid关掉
set(gcf, 'Color', [1 1 1]) % 背景画布设置为白色,不然会变成灰色
print('-dtiff','-r300','保存路径') % 保存即可,结果如图
当然手动file->export setup -> rendering中resolution(dpi) 修改为 300->export也可以完美解决这个问题,所使用的设置在下方export styles也可以保存下来下次使用
转载本文请联系原作者获取授权,同时请注明本文来自肖鑫科学网博客。
链接地址:http://blog.sciencenet.cn/blog-3386114-1196606.html
上一篇:[转载]matlab 利用datetick设置日期colorbar
下一篇:Matlab 利用新建坐标轴绘制多列legend