I am running a live system that is controlled via a complex figure. One part of this figure is a uipanel (named handles.APlot) that contains three subplots – so:
subplot(311, 'Parent', handles.APlot); handles.plotx=animatedline('Color','b','LineWidth',1); ylabel('x (m)'); xlabel('time (s)'); subplot(312, 'Parent', handles.APlot); handles.ploty=animatedline('Color','b','LineWidth',1); ylabel('y (m)'); xlabel('time (s)'); subplot(313, 'Parent', handles.APlot); handles.plotz=animatedline('Color','b','LineWidth',1); ylabel('z (m)'); xlabel('time (s)');
This is continually updated until the end of a run:
hold on; addpoints(handles.plotx,timeelapsed,X_mean); addpoints(handles.ploty,timeelapsed,Y_mean); addpoints(handles.plotz,timeelapsed,Z_mean); hold off;
where timeelapsed is the time after start in seconds and the three means are positions in X, Y and Z. At the end of a run we get three nice graphs showing the events in X, Y, Z during the run.
My question is: How can I save these graphs to a file? A uipanel is not a figure so I can't access a frame. Matlab seems to indicate that there is an internal figure generated when you place axes(subplots) on a uipanel, but I can't find any way to access this.
Best Answer