Matlab是理工科学生使用非常广泛的科学计算和可视化软件。我们除了使用Matlab进行科学计算和算法开发,还使用Matlab绘制图像用于期刊发表。不会编程的同学可能会使用类似Origin、Excel这样的软件进行绘图,但是使用Matlab通过编程的方式绘图往往能够进行更灵活的控制。Matlab所做图形可以用于毕业论文,期刊论文等场合。

Matlab通常用于绘制线图,直方图等矢量图,也可以显示常规的像素图。对于单张图像,经过Matlab绘制,以及在Matlab图像属性对字体、亮度等调节好的图像可以直接复制到word里面,即可满足要求不高的期刊的要求。但是对于多张图组合在一起构成一张大图(如图1所示),单独使用Matlab就不那么方便了,这时使用Matlab加Adobe公司的illustrator是比较好的组合。本文使用了Matlab 2017a + adobe illustrator cc2017绘图。图1b图采用Matlab绘制,a和c采用illustrator绘制,a-b的排版采用illustrator完成。

图1

matlab上手很容易,入门教程推荐《MATLAB揭秘》

illustrator可以看作为微软visio的一个替代软件,但其功能比visio明显更加强大,自定义能力超级强,不会进行各种傻x的自动连接,但使用难度稍微高一些,一个推荐的比较全面的入门教程是 Learn Adobe Illustrator in 30 Days Crash Course – FREE。此外,还可以在我要自学网上找相关的视频教程进行学习。画线图,直方图等往往需要借助Matlab,单独使用illustrator时,画科研示意图,流程图等也是非常好的选择。

下面进入正题,介绍如何使用Matlab 结合 Adobe illustrator (有时简称AI)绘制科研图像。首先使用一个线图来展示。

1,使用matlab绘图,代码如下

plot(rand(1,10), 'LineWidth', 2, 'MarkerSize', 8)
hold on
plot(rand(1,10)+1, 'LineWidth', 2, 'MarkerSize', 8)
plot(rand(1,10)+2, 'LineWidth', 2, 'MarkerSize', 8)

xlabel('Time (s)','FontSize', 16);
ylabel('Y value (m)','FontSize',16);

legend('data1','data2','data3')

ha=gca; % current axis
set(ha,'FontSize',16,'LineWidth',2,'XScale','linear','YScale','linear'); %,'YScale','log'

绘制图像如图2,这个代码除了绘图之外,还将一些常用的属性设置放在了代码里面,这些属性也可以在图像的属性(图2红色标记部分的属性显示按钮,详细的属性可以在菜单/查看里面选择)里面进行设置,但是相对而言更加麻烦一些。其他常见的图像调整包括坐标轴数字个数,间隔,起始值等。修改图中信息请注意遵守学术规范,同时注意检查避免误操作对关键数据的修改。

图2

图2的内容不是一个正方形的图像,调整为期望的形状比例比较简单粗暴的方式就是在屏幕上通过尺子测量。

2,设置,在上图菜单 编辑/复制选项 对话框中,设置剪切板格式为图元文件,如图3,这一步很重要,但通常只需要设置一次,后续图像不需再设置。

图3

3,打开adobe illustrator cc,新建一个A4纸大小的画布,颜色模式可以选择RGB模式。

4,点击菜单 编辑/复制图形,即可将图形复制到剪切板,并粘贴到illustrator中。

(另一种复制方法是将matlab图像保存eps格式,再使用AI打开,但是这样麻烦而且速度非常慢)

5,图像编辑。a,图像大小调节:选中粘贴后的图像,对图像大小参数进行设置,如图4,可以根据需要,以及根据A4纸中占据的大小来确定。b,删除背景和legend边框:粘贴到illustrator中的图像是一个编组,双击该图即可进入该编组,可以删除该图下面的白色背景,legend的边框以及背景。c,字体调整和对齐:根据论文要求对图中的字体、字号进行设置,例如设置为arial 8号。一个一个地选中里面的文字对象比较麻烦,可以在该编组中使用菜单 选择/对象/所有文本对象 来选中所有文本对象来进行统一设置字体字号,通常设置好后还需要对文本与图像的对齐进行调节。d,图边框调整:一般图边框直线粗细应小于内部线的粗细,可以先选中图,在描边里面设置一个线宽,然后,在图像编组里面,选择一个边,使用菜单 选择/相同/外观 即可选中所有边框,统一设置一个描边宽度,例如0.5。修改后的图如图5,基本上就完成了。

图4

图5

5,排版,这里在加入一个像素图,可以直接复制该图,粘贴到illustrator里面,并设置图像大小。但是需要注意的是,需要点一下面板上的嵌入选项(图6),否则原始图丢失,该画布图也会丢失。对该像素图调整好大小,与第一个图对齐,添加编号后如图7.

图6

图7

6,导出,点击菜单 文件/导出/导出为,图像格式建议选择无损压缩格式.png,然后根据需要设置图像分辨率dpi,一般要求300-600。导出后的图像复制到word里面就可以啦。

7,中级篇:matlab里面的特殊字符一般与illustrator不兼容,可以在菜单 文字/字形里面找到替换。上小标可以采用小字体移动位置,或者里面illustrator里面的上下标来实现(选中字符后点击面板上的字符,如图8)。总而言之,复制到illustrator后可以进行任意illustrator支持的操作对图像进行丰富的调节修改。

图8

Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐