社区法律知识讲座内容:matlab中函数figure在边框改变的应用

来源:百度文库 编辑:中财网 时间:2024/04/28 06:55:04

matlab 输出图片文件时,图片的四周总有白色边框,如何裁剪掉这些边框呢。
首先要了解的是Matlab是面向对象的。最高等级的对象是screen,它定义了figure可以用的最大szie。
screen下面是figure。figue就是你画图的时候跳出来的那个新的对话窗口。如果figure变化,screen是不会跟着变化的。但screen变化的话,figure就要跟着变化了。
figure下面是axes。axes是那个窗口里面你要画的东西。axes的大小和位置取决于figure,如果你放大缩小figure的大小的话,里面的图线也会跟着变化的。
运行如下命令:
[x,y]=meshgrid(1:15,1:15);
tri = delaunay(x,y);
z = peaks(15);
H = trisurf(tri,x,y,z);
view(2);
显示如下:



这个figure1就是figure,里面坐标系包围的就是axes。输出图片时,就会留下外面的灰色边框。
如果运行get(gcf), get(gca),get(H) 就会等到许多你可以修改的关于更个层次对象的句柄。
set(gcf,'color',[0.8 0.8 0.1]);可以更改灰色部分的颜色,如下图。

如果使之为空则为, set(gcf,'color','none'); 效果如下:

注意:空和白色不同,白色为set(gcf,'color','white');

set(gcf,'InvertHardcopy','off');当复制或者打印图片时,边框的颜色就不会再变为白色。
set(gcf,'paperpositionmode','auto'); 当打印或保存图片时,matlab会调整图片大小,设置为auto,matlab就不会自动调整图片大小了。
调整plot area的显示范围,以去掉白色边框部分。
axis([min(x(:)) max(x(:)) min(y(:)) max(y(:))]);效果如下:


如何去掉周围的边框呢。
set(gca,'position',[0 0 1 1]); 效果如下:可以调整参数值,以便显示坐标轴,如set(gca,'position',[0.05 0.08 .9 .89]),图形如下:不得不佩服matlab的强大和灵活,只是其技巧太分散。