MATLAB论文绘图模板与尺寸设置
- MATLAB图形绘制尺寸设置
- figure和axes中属性Position的定义与使用
- figure及axes属性修改的三种方式
- 图形导出理想尺寸的最方便的方法
- MATLAB绘图模板,以3子图12cm宽的函数输出为例
- 参考文献
MATLAB图形绘制尺寸设置
首先我们需要清楚MATLAB对图形尺寸的几个定义:
screen:默认为电脑显示屏幕;
figure:matlab软件用于直观性图形输出的窗口个体;
axes:在当前图窗中创建默认的笛卡尔坐标区,并将其设置为当前坐标区。
Matlab是面向对象的。最高等级的对象是screen,它定义了figure可以用的最大szie。screen下面是figure。figue就是你画图的时候跳出来的那个新的对话窗口。如果figure变化,screen是不会跟着变化的。但screen变化的话,figure就要跟着变化了。
同样,figure下面是axes。axes是那个窗口figure里面你要画的东西。axes的大小和位置取决于figure,如果放大缩小figure的大小,里面的图像也会跟着变化的。
figure和axes中属性Position的定义与使用
figure中的OuterPosition和InnerPosition:
- OuterPosition是指外部边界的位置和大小;
- InnerPosition是指可绘制区域的位置和大小,默认等于Position;
axes中的OuterPosition和InnerPosition:
- OuterPosition是指包含标签和边距的尺寸;
- InnerPosition是指不包含标签和边距的尺寸,默认等于Position。
根据实际操作,我们发现导出的实际图形尺寸为InnerPosition尺寸,一般与Position值相等。
figure及axes属性修改的三种方式
这里以figure对象的Position属性为例展示了三种修改方式:
figure('Name', 'Test', 'Color',[1,1,1], 'Units', 'centimeters','Position',[5,5,16,13])
# 其中属性Position用于控制左下角点和figure尺寸,注意默认单位为pixel,这里更改为cetimeters
# 同样可以通过访问具体属性的方式进行修改
f1 =figure
f1.Units = 'centimeters';
f1.Position = [5,5,16,13];
# 也可以采用函数set进行figure属性的修改
f1 = figure
set(f1,'Units','centimeters','Position',[5,5,16,13])
#若使用set(gcf,...)是指对当前figure属性的修改,gca则是对当前axes属性的修改。
可见,上述三种修改方式最重要的是对对象f1的访问,因此在创建figure或axes以及其他类似对象时,最好给对象figure赋予一个实际的f1,这样便于后续对属性的修改。
图形导出理想尺寸的最方便的方法
- 首先按照要求将线形、线宽、Legend、Title、X/YLabel,字体、字号等设置好,可在交互式窗口设置,也可采用编程方法设置;
- 在图窗中点击文件→导出设置→设置宽度和高度并放大坐标去至充满图窗(至此,图形尺寸设置完毕);
- 点击字体,设置为TimesNewRoman,若在步骤1中均已设置好,此处可不用设置,一般设置字号为10pt,
- 应用于图窗观察效果,可选择导出为.svg格式矢量图或者直接在图窗编辑按钮下选择复制图窗,然后粘贴至word中即可。
MATLAB绘图模板,以3子图12cm宽的函数输出为例
参考文献
- matlab中figure画图大小设置
- matlab设置plot图像尺寸大小、坐标轴等
- MATLAB画图之自定义图片大小
- 【Matlab】关于axes和figure对象的关系
- matlab的图像操作——输出图像尺寸大小、坐标轴等各项设置