xiaoxin960904的个人博客分享 http://blog.sciencenet.cn/u/xiaoxin960904

博文

解决matlab saveas printf保存图片时 colorbar中的字体颜色发生改变

已有 6330 次阅读 2019-9-4 12:53 |个人分类:Matlab学习笔记|系统分类:科研笔记| colorbar, 保存字体颜色改变

matlab在画多个图片循环保存时很容易出现看到的图跟保存的图片不一样,最常见的是大小不同导致坐标轴拉伸变形,主要是图片分辨率跟屏幕分辨率不同的原因,这个可以通过在设置figure时,固定画布大小解决。

同时还有可能会出现保存时字体颜色发生改变,如下图

figure显示的图:

image.png

保存后的图:

image.png

在查找资料后,有个方法可以解决这个问题,原理就是保存你看到的图片,无论是什么样式:

https://www.mathworks.com/matlabcentral/answers/100079-why-does-saveas-or-print-fail-to-save-a-figure-as-it-appears-on-screen-in-matlab

需要三个命令:

figure('position',[50 50 600 600],'PaperPositionMode', 'auto') % 设置figure窗口大小后,自动画布模式

set(gcf, 'InvertHardCopy', 'off'); % 背景的grid关掉

set(gcf, 'Color', [1 1 1]) % 背景画布设置为白色,不然会变成灰色

print('-dtiff','-r300','保存路径') % 保存即可,结果如图

image.png

当然手动file->export setup -> rendering中resolution(dpi) 修改为 300->export也可以完美解决这个问题,所使用的设置在下方export styles也可以保存下来下次使用

image.png



https://blog.sciencenet.cn/blog-3386114-1196606.html

上一篇:[转载]matlab 利用datetick设置日期colorbar
下一篇:Matlab 利用新建坐标轴绘制多列legend
收藏 IP: 113.110.75.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-11-23 06:10

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部