一些研究
感谢 OP 的问题,我今天学到了一些新东西。所以,我知道也可以通过代码更改坐标轴的 XColor,使用命令 - set(handles.axes1,'XColor',colorname),其中 colorname 可以是任何颜色,例如“r”代表红色,“k”代表黑色等。所以,我会建议使用set(handles.axes1,'XColor',’w’),但必须记住XColor 是通过GUIDE 设置的,并将该信息复制到关联的M 文件中,这还不够“优雅”。
我最初的想法是在 GUI 的初始化阶段从 Fig-file 中提取 XColor 信息,即GUINAME_ OpeningFcn,将其保存到句柄结构中,然后通过句柄在回调函数中使用它再次。我尝试在此函数末尾调用 color_data = get(handles.axes1,'XColor') 以将 XColor 信息作为三元素向量。这不起作用,因为它给了我 [1 1 1] 代表默认颜色白色。
下一个明显的事情是将 color_data 提取命令放在 GUINAME_ OpeningFcn 的开头,然后在该函数中设置 handles.output 并且它起作用了!因此,结论是handles.output = hObject 至少将Color 信息设置为默认值。
回去工作
对于 OP,步骤如下:
把这个放在GUINAME_OpeningFcn的开头
axes1_XColor = get(handles.axes1,'XColor');
axes1_YColor = get(handles.axes1,'YColor');
handles.axes1_XColor = axes1_XColor;
handles.axes1_YColor = axes1_YColor;
set(handles.axes1,'XColor',handles.axes1_XColor);
set(handles.axes1,'YColor',handles.axes1_YColor);
在以handles 作为输入之一的任何函数内绘图时,请在绘图后使用以下命令
set(handles.axes1,'XColor',handles.axes1_XColor);
set(handles.axes1,'YColor',handles.axes1_YColor);
因此,对于您的示例,它将是 –
axes(handles.axes1); % axes1 is the tag for my graph in GUIDE
time = 0:1/fs:(length(handles.x)-1)/fs;
plot(time,handles.x);
title('Original Signal');
set(handles.axes1,'XColor',handles.axes1_XColor);
set(handles.axes1,'YColor',handles.axes1_YColor);
希望它对你有用,让我们知道!