其他分享
首页 > 其他分享> > matlab 不学无术小问题,plot绘图只能在工具栏的预览显示,无法全屏弹窗显示。

matlab 不学无术小问题,plot绘图只能在工具栏的预览显示,无法全屏弹窗显示。

作者:互联网

背景:小白在使用他人源码时,对MATLAB中的函数不熟悉,运行成功后发现plot绘图无法直接弹窗显示,只能在工具栏的预览显示。

为了解决此问题对绘图部分所有函数都进行了仔细调试,终于发现问题出在set函数上,下面给出了解决办法。
set函数在官方帮助中心已经很明了,这里仅解释问题部分
链接: MATLAB帮助文档 set函数.

笔者所用MATLAB源码版本R2016b,原文如下

// 这里只写了起作用的部分代码。
figure()
set(gcf,'units','normalized','outerposition',[1 0 1 1]);
clf;
hold on;

set函数参数:
gcf::返回当前图窗的句柄。如果图窗不存在,则 gcf 将创建一个图窗并返回其句柄。可以使用图窗句柄查询和修改图窗的属性当前图形
Units:有效值为pixels/normalized/inches/centimeters/points/characters
决定各种位置属性的度量单位,相对于窗口左下角为基准。当设置为Pixels时,以像素为单位;当设置为normalized时,以坐标为单位,屏幕的左下角为[0,0],右上角为[1,1]。

Outerposition:决定坐标轴外边界的位置。由位置向量[left,bottom,width,height]组成,其中left,bottom表示相对于绘图窗口左下角的位置,width,height表示区域尺寸,默认为[0 0 1 1]
Position:由位置向量[left,bottom,width,height]组成,决定坐标轴位置

问题就出现在这里
默认起始位置为[0,0,1,1],但是作者将其设置为了[1,0,1,1],所以导致plot绘图只能在左下角预览中显示,如下修改后,成功弹窗全屏显示。

//修改为
set(gcf,'units','normalized','outerposition',[0 0 1 1]);

// 甚至可以试试这样。
set(gcf,'units','normalized','outerposition',[0 0 20 10]);

参考大佬链接: matlab set函数.

标签:plot,set,工具栏,gcf,图窗,绘图,matlab,左下角,normalized
来源: https://blog.csdn.net/weixin_42141088/article/details/115564155