Plotting an existing MATLAB plot into another figure
matlab, plot
Solution
I have run into this situation before. Depending on what you are trying to do the function copyobj may be appropriate. This function lets you take the contents of one axes and copy it to a new figure.
Problem
I used the plot command to plot a figure and then changed lots of its properties using set command. I also store the handle of the plot (say h1). What I need is to use the handle to plot the same figure again later in my code. I checked the plot command and did not find any version that accepts handle. I also thought of getting the Xdata and Ydata and use them to re-plot the same figure. What is the simplest solution? Edit 1: A working sample code based on copyobj that PeterM suggested. ``` hf(1) = figure(1); plot(peaks); hf(2) = figure(2); plot(membrane); hf(3) = figure(3); ha(1) = subplot(1,2,1); ha(2) = subplot(1,2,2); for i = 1:2 hc = get(hf(i),'children'); hgc = get(hc, 'children'); copyobj(hgc,ha(i)); end ``` Edit 2: I also found this function that can copy figures (including legend) into a subplot.