如何让Matlab画布大小与图形大小一致?

matlab画图时,画布的左右部分总是超出图形大小,导致画出的图的左右两边有很大的白底,文档编辑时很不方便。
请高手指点。不胜感激。财富值太小,没有分值悬赏了啊。抱歉

set(gcf,'position',[0,0,468,468])%gcf是当前figure,可以改变当前图框的大小
%其中的数值对应的是像素值,也是左下宽高,0,0对应的就是屏幕的最最下角,宽高一样的话
%可以看到图框是方的
set(gca,'position',[0,0,1,1])
[0,0,1,1]数值分别对应左下宽高,其中的宽高的数值时对应的相对于当前图框的百分比,
%如果要同样大小就是1,就是100%
这样可能会看不到坐标轴,可以适当改改
当然也可以设定
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-08-29

  如何让Matlab画布大小与图形大小一致

    问的是让图像和axes一样大,而不是axes和图像一样大。

    如果是想让图像显示出来和axes一样大,就在调用imshow的时候最后加一个数 'fit'。如果图像长宽比例和axes不一样,显示结果会造成挤压变形。

    如果lz是想让图像本身数据变的和axes一样大,就需要用imresize函数来改变图像尺寸。

第2个回答  2011-01-29
我觉得这是Matlab在制图时候有默认坐标范围的缘故。
可以在plot的时候用函数axis([X1 X2 Y1 Y2])来调整画布的坐标范围。
X1和X2分别是横坐标的左右端点,Y1和Y2分别是纵坐标的上下端点。
首先plot一下你的图形,然后根据图形的边界数据来选择你的X1,X2和Y1,Y2。
这样一来,加上axis([X1 X2 Y1 Y2])函数定义画布坐标范围后,你就会得到你想要的图。详情也可以查看help axis 。
(注意:Matlab中定义axis的时候,四个参数都要输入,不能只定义横坐标或只定义纵坐标,不然会报错的)

希望我的回答能够对你有帮助 ^_^
相似回答