MATLAB合并已经绘制的figure到新的子图中
MATLAB合并已经绘制的figure到新的子图中
1、原理
1.1获取句柄
% 获得所有句柄
thisgcf = findall(gcf);
% 获得特定类型句柄
thisgcf_lin = findall(gcf,'type','Line');
1.2获取图像属性
例如3D图像的surface属性:
EdgeColor: [0 0 0]
LineStyle: ‘-’
FaceColor: ‘flat’
FaceLighting: ‘flat’
FaceAlpha: 1
XData: [1×49 double]
YData: [49×1 double]
ZData: [49×49 double]
CData: [49×49 double]
…
注意:得到的数据为结构体数据类型,可适当转化为cell类型操作
有一些属性属于父控件属性不能操作,可以试一下是哪些
1.3通过遍历将原来图像属性设置复制到新的子图中
2、 使用
2.1 保存已经绘制的figure
可以使用自己的图像文件,建议命名数字名称文件,字符类型函数要进行相应修改。例如用TestGenerateFigure.m产生四个测试图像,分别命名为1.fig,2.fig,3.fig,4.fig
2.2 通过调用MergeFigure合并图像
% 方法一:运行MergeFigure函数
MergeFigure(2,2,1,2,3,4);
% 方法二:执行文件TestMF
合并后的figure
3、其他
3.1函数
GitHub.bsesasts
程序、细节以及改进放在在GitHub