我在matlab中使用GUI,我有一个轴来绘制数据。我想跟踪我已经绘制的内容,以便在相同的轴上重新绘制它,为此目的,我有一个列表框,其中包含我绘制的数据集的名称。我试图找到适当的方法来选择列表框中的数据集名称,并重新绘制轴上的数据集。我在绘图时设置轴的一些属性,所以我不想执行重绘操作,相反,我想重新使用句柄(某种类型)来重新获取绘图数据。
我有一些使用数字手柄通过提供手柄获得数字的经验,但我正在寻找类似于绘制轴的方法。
f1 = figure
plot ([0:0.1:2*pi] , cos ([0:0.1:2*pi]))
f2 = figure
plot ([0:0.1:2*pi] , sin([0:0.1:2*pi]))
figure(f1) or figure (f2)
1 个答案:
答案 0 :(得分:1)
< p>以下是有关如何使用3个图表执行此操作的基本示例(将此代码另存为文件并运行):< / p>
< pre>< code>函数示例
%% // 在里面
关闭所有;
%% //示例图
图(201);
h(1)= ezplot(' sin(x)');坚持,稍等; h(2)= ezplot(' cos(x)'); h(3)= ezplot(' tan(x)');
%% //创建UI控件
hDrop = uicontrol(201,...
' FontUnits',得到(0,' defaultuicontrolFontUnits'),...
'样式''弹出菜单' ...
'单位''归' ...
'位置' [0.729,0.879,0.134,0.027] ...
'回调',@ dropdown_callback,...
'字符串' {' Plot1&#39 ;;' Plot2&#39 ;;' Plot3'},...
'值',1); %//默认情节
handles = struct(' hPlots',h,' hDrop',hDrop); %//创建"句柄"结构体
guidata(201,把手); %//将句柄结构与图形相关联
(1)hide_all_besides_selected; %//取消隐藏默认值
function dropdown_callback(hObj,〜)
hide_all_besides_selected(获得(hObj,'价值'));
function hide_all_besides_selected(selectedVal)
handles = guidata(gcf); %//检索句柄
for ind1 = 1:numel(handles.hPlots)%//隐藏所有内容
集(handles.hPlots,'可见''关闭&#39);
结束
集(handles.hPlots(selectedVal)'可见''关于&#39); %//取消隐藏相关情节
< /代码>< /预>
< p>这是你想要的吗?< / p>