我正在为项目开发GUI(以编程方式。没有使用GUIDE),我需要在同一个GUI上放置11个轴。我正在使用axes命令来获取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条曲线。它们不在同一位置,只是为了记录。
提前谢谢!
查理
答案 0 :(得分: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
然后,当您根据需要更新地图的XData
和YData
时,您不必更改父轴。