MATLAB GUI界面编程——如何去除axes控件在运行时的坐标轴和坐标刻度?

问题描述:

MATLAB GUI设计时,插入axes控件,在运行时,如何去除坐标轴和坐标刻度,并且保留窗口的白色背景?

例如:

MATLAB GUI界面编程——如何去除axes控件在运行时的坐标轴和坐标刻度?_第1张图片

运行时的效果:

MATLAB GUI界面编程——如何去除axes控件在运行时的坐标轴和坐标刻度?_第2张图片

期望得到的效果:

MATLAB GUI界面编程——如何去除axes控件在运行时的坐标轴和坐标刻度?_第3张图片

 

这里提供两种解决办法:

第一种办法:(推荐,设置起来方便)

右键axes1控件,View Callbacks——>CreateFcn,然后在该控件的CreateFcn函数下面输入下面四行代码:

set(gca,'XColor',get(gca,'Color')) ;% 这两行代码功能:将坐标轴和坐标刻度转为白色
set(gca,'YColor',get(gca,'Color'));

set(gca,'XTickLabel',[]); % 这两行代码功能:去除坐标刻度
set(gca,'YTickLabel',[]);

 

“将坐标轴和坐标刻度设置为白色” 代码的其他写法:

set( gca, 'XColor', 'w' ); 
set( gca, 'YColor', 'w' );

或者:

set(gca,'XColor',[1 1 1])
set(gca,'YColor',[1 1 1])

 

“去除坐标轴刻度” 代码的其他写法:

set( gca, 'xtick', [] ); %去掉x轴的刻度 
set( gca, 'ytick', [] ); %去掉y轴的刻度

或者:

set(gca, 'xtick', [], 'ytick', [] ); %同时去掉x轴和y轴的刻度

以上代码中,将 gca 替换成 hObject,也依然成立。

 

第二种办法:

双击axes1控件,打开其属性设置面板。下拉找到“XTickLabel”和“YTickLabel”,将其中是刻度值全部清除(点击图中黄色田字格下面的按钮即可进入,全选,清除)。再找到其中的“XColor”和“YColor”,将坐标轴改成白色。

MATLAB GUI界面编程——如何去除axes控件在运行时的坐标轴和坐标刻度?_第4张图片

 

====================== 分 ========== 割 ========== 线 ======================

PS1:网上有人说:双击打开axes控件的属性设置面板,将其visible属性为off,或者在.m文件中——在XXX_OpeningFcn()函数中输入:

set( handles.axes1, 'visible', 'off' );

但是这样的操作后,运行GUI时,axes区域与GUI背景颜色一致,而看不到axes的空白的图像显示区,只能看到大片的GUI的背景颜色。

 

====================== 分 ========== 割 ========== 线 ======================

 

PS2:将下面的这行代码插入在GUI 的 XXX_OpeningFcn()函数中,可以显示axes1控件的四周的边框

set( handles.axes1, 'box', 'on' );

 

====================== 分 ========== 割 ========== 线 ======================

 以上内容也参考了网址:

http://www.ilovematlab.cn/forum.php?mod=viewthread&tid=270054(GUI中去掉axes的坐标显示)

https://blog.csdn.net/u013346007/article/details/54172093(Matlab中set-gca函数的使用)

 

 ====================== 分 ========== 割 ========== 线 ======================

 本篇博文内容如有错误之处,希望留言指出。并希望原谅(毕竟功夫不深)!【抱拳】

 

如有其他更好的方法,也欢迎留言补充。

 

 

你可能感兴趣的:(MATLAB,GUI,MATLAB,GUI设计,axes控件)