Maltab画图的各种坐标区的大小: OuterPosition, Position, TightInset

Matlab画图各种坐标区的大小如下定义:

  • 黑色是figure (gcf)的大小. 可以使用如下定义:
set(gcf,'unit','centimeters', 'position', [fig_left, fig_bottom,fig_width,fig_height]); 
% 这里的数值都是绝对量. 
  • 红色是画出的图坐标区 (gca)的真正大小. 可以通过gca.OuterPosition来设置或读取, 由[left bottom width height] 构成. 这里是相对figure的值. 比如为[0,0,1,1], 即和黑色相同, 占满了gcf的区域.
  • 蓝色是纯坐标区的大小. 这里不包括刻度, 纵横坐标, 标题. 可以通过gca.Position或者gca.InnerPosition获取. 由[left bottom width height] 构成. 也是相对值.
ax=gca;
pos=ax.Position;
[PL,PB,PW,PH]=deal(pos(1),pos(2),pos(3),pos(4));
  • 品红色是图坐标区的最小值. 比蓝色gca.Position大, 比红色gca.OuterPosition小. 可以由gca.TightInset 来获取, 表示从蓝色区开始到红色区的增量, 只只读的, 不可以设置.
Inset=ax.TightInset;
[TL,TB,TR,TT]=deal(Inset(1),Inset(2),Inset(3),Inset(4));

Maltab画图的各种坐标区的大小: OuterPosition, Position, TightInset_第1张图片
了解了以上定义, 我们就可以设置图片的边框, 这样保存的时候就可以只保存品红色区域内, 去掉红色多余的白边了.
详情看这里: Matlab画图保留最少的空白导出向量图

Reference

[1] 控制坐标区布局
[2] Axes 属性

你可能感兴趣的:(Matlab,matlab)