0

我目前正在为一个项目开发一个 GUI(以编程方式。没有使用 GUIDE),我需要在同一个 GUI 上放置 11 个轴。我正在使用轴命令来获取 11 个控件的句柄:

h.AXES_ALL(1)=axes('parent',h.fig,'position',[L1 T W H]);
h.AXES_ALL(2)=axes('parent',h.fig,'position',[L2 T W H]);
h.AXES_ALL(3)=axes('parent',h.fig,'position',[L3 T W H]);
...

它们都具有相同的尺寸,我正在使用 for 指令来绘制数据:

for i=1:11
           set(h.PLOT(i),'parent',h.AXES_ALL(i),'XData',x_data,'YData',y_data);            
end

但问题是最后一个图(第 11 个)是轴控件(第 11 个)上显示的图,所有其他轴都是空的。我的目标是在 11 个不同的轴控件上绘制 11 条曲线。它们不在同一个位置,只是为了记录。

提前致谢!

查理

4

1 回答 1

2

您在评论中说您从单轴手柄开始:

ha = axes;

并且您尝试创建两个具有相同父轴的图,但它没有按您的预期工作:

>> h.PLOT(1:2) = plot(ha,0,0)
h.PLOT =
  195.0035  195.0035

这只是复制了相同的情节系列句柄。因此,当您为每个绘图设置绘图数据和父坐标轴时,您只是将绘图从坐标轴移动到坐标轴,同时更新数据。

plot在循环中使用命令,为每个绘图使用适当的轴句柄:

for ip=1:11,
    h.PLOT_ALL(ip) = plot(h.AXES_ALL(ip),...);
end

然后,当您更新绘图XDataYData按照您的意愿进行操作时,您不必更改父轴。

于 2013-11-06T01:01:39.303 回答