Puede poner el código que utiliza para generar su figura base en una función, luego llame a esa función varias veces para crear copias múltiples de su figura base. Deberá devolver el graphics handles para esas figuras (y probablemente sus ejes) como salidas de la función para modificar cada una con un conjunto diferente de datos graficados. Por ejemplo, esta función hace que un 500-por-500 figura pixel posicionado 100 píxeles por la izquierda y la parte inferior de la pantalla con un fondo rojo y uno ejes con un conjunto dado de datos de entrada representan en ella:
function [hFigure,hAxes] = make_my_figure(dataX,dataY)
hFigure = figure('Color','r','Position',[100 100 500 500]); %# Make figure
hAxes = axes('Parent',hFigure); %# Make axes
plot(hAxes,dataX,dataY); %# Plot the data
hold(hAxes,'on'); %# Subsequent plots won't replace existing data
end
con la función anterior guardado en un m-file en su MATLAB path, se pueden hacer tres copias de la figura llamando make_my_figure
tres veces con el mismo conjunto de datos de entrada y el almacenamiento de las asas se devuelve en las variables independientes:
x = rand(1,100);
y = rand(1,100);
[hFigure1,hAxes1] = make_my_figure(x,y);
[hFigure2,hAxes2] = make_my_figure(x,y);
[hFigure3,hAxes3] = make_my_figure(x,y);
Y puede agregar datos a los ejes de la segunda figura de la siguiente manera:
plot(hAxes2,rand(1,100),rand(1,100));
+1: Lo he olvidado de COPYOBJ. – gnovice