使用matlab生成符合哈工大学报的图片格式

前言

去年投稿了哈尔滨工业大学学报,因为模板问题没有过于要求投稿的细节,所以出图都是按照自己的风格来的。录用前的最后要求时需要修改图片格式,具体是表示成函数图,并且横纵坐标保持相同的精确位数。我想那么多图片我咋搞呀,一个图片打开,然后粘贴一段代码运行还要重新渲染保存,那可实在太浪费时间了,不如写一段做个批处理吧。

前提 为我有原图的批量命名的fig文件

要求

  • 函数图,编辑老师说即没有上、右框线
  • 最好不要有网格线
  • 保持坐标轴有效数字或者精确数字一致

相关代码

for i=1:8
    for j=1:6
        name=strcat('E:\哈工大学报pics\',num2str(i),'-',num2str(j),'.fig');%批量读取文件的名字
        newname=strcat('n',num2str(i),'-',num2str(j),'.fig');  %新存的fig
        newpng=strcat(num2str(i),'-',num2str(j),'.png');       %输出的png
        open(name) %打开文件
        box off;   %去除边框
        grid off;  %去除网格线
        set(gca,'xTickLabel',{'0';'0.05';'0.10';'0.15';'0.20';'0.25';'0.30'});  %设置横坐标
        set(gca,'yTickLabel',num2str(get(gca,'yTick')','%.1f'))                 %设置纵坐标
        saveas(gca,newname);                 %保存fig文件
        print(gcf,newpng,'-dpng','-r300');   %300分辨率输出
        pause(1)       %为了查看设置了暂停,可注释掉
        close
    end
end

技术要点

  • 通过命令行或文件"菜单指定所需的分辨率来保存图像.

命令行:使用 print,只需包含选项 -r###,其中 ### 如果您想要的分辨率。通常 300 点每英寸 (dpi) 对我的目的来说足够高的分辨率,但如果需要,可以随意提高。显然,dpi 越高,图像文件的大小就越大。

print(gcf,‘foo.png’,‘-dpng’,‘-r300’);*//300 dpi

菜单模式:选择文件,导出设置,打开渲染,选择需要的分辨率,然后导出的时候再设置文件格式,png比较好。

  • 用set gca/gcf 设置figure的属性

具体属性可以通过命令行查看并进行相应编辑,涉及内容过多,并且可以个性化定制,暂时不展开说明。

效果展示

前后对比图如下,可以看到,网格线和框线都没有了,并且横坐标的精确位数都统一了,当然0 是不能变的。
使用matlab生成符合哈工大学报的图片格式_第1张图片

你可能感兴趣的:(笔记,matlab,开发语言)