如何使 GUIDE 创建的图形内的轴成为当前轴?
How to make an axes current which is inside a figure created by GUIDE?
我使用 GUIDE 创建了一个银行图形,并在其中放置了一个轴对象并保存了该图形。现在我想加载图形并将其轴设置为当前轴对象。这是我的代码:
close all; clear all; clc;
fh = openfig('test.fig');
ah = findobj(fh, 'tag', 'axes1');
figure(fh);
axes(ah);
plot(rand(10, 1));
但是plot
创建了一个新图形并在其中绘图!我错过了什么吗?
我知道我可以用 plot(ah, ...)
解决它,但我想使 gca
到 return 这个新轴。我有很多绘图代码想在这个新轴上绘制。
默认情况下,HandleVisibility
个 GUIDE 图形设置为不自动检测。例如,如果您加载图形然后调用 gcf
,您还将创建一个新图形。
要将绘图放置在坐标轴内,您可以将坐标轴 显式指定 作为 plot
命令的父级。
plot(rand(10, 1), 'Parent', ah)
或者,您可以指定图形的 HandleVisibility
为 'on'
。然后plot就能找到了。这可以通过使用 GUIDE 中的 属性 编辑器设置 HandleVisibility
的值或调用 set
函数来完成:
set(fh, 'HandleVisibility', 'on')
我推荐第一个选项,因为显式指定父坐标轴总是比隐式指定更好。
我使用 GUIDE 创建了一个银行图形,并在其中放置了一个轴对象并保存了该图形。现在我想加载图形并将其轴设置为当前轴对象。这是我的代码:
close all; clear all; clc;
fh = openfig('test.fig');
ah = findobj(fh, 'tag', 'axes1');
figure(fh);
axes(ah);
plot(rand(10, 1));
但是plot
创建了一个新图形并在其中绘图!我错过了什么吗?
我知道我可以用 plot(ah, ...)
解决它,但我想使 gca
到 return 这个新轴。我有很多绘图代码想在这个新轴上绘制。
默认情况下,HandleVisibility
个 GUIDE 图形设置为不自动检测。例如,如果您加载图形然后调用 gcf
,您还将创建一个新图形。
要将绘图放置在坐标轴内,您可以将坐标轴 显式指定 作为 plot
命令的父级。
plot(rand(10, 1), 'Parent', ah)
或者,您可以指定图形的 HandleVisibility
为 'on'
。然后plot就能找到了。这可以通过使用 GUIDE 中的 属性 编辑器设置 HandleVisibility
的值或调用 set
函数来完成:
set(fh, 'HandleVisibility', 'on')
我推荐第一个选项,因为显式指定父坐标轴总是比隐式指定更好。