Вы можете поместить код, который вы используете для генерации вашей базовой фигуры, в функцию, а затем вызвать эту функцию несколько раз, чтобы создать несколько копий вашей базовой фигуры.Вы захотите вернуть графические маркеры для этих фигур (и, возможно, их осей) в качестве выходных данных функции, чтобы модифицировать каждый из них с различным набором нанесенных на график данных.Например, эта функция создает фигуру размером 500 на 500 пикселей, расположенную в 100 пикселях слева и снизу экрана с красным фоном и одной осью с заданным набором входных данных:
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
С помощью вышеуказанной функции, сохраненной в m-файле на вашем пути MATLAB , вы можете сделать три копии фигуры, трижды вызвав make_my_figure
с одним и тем же наборомввод данных и сохранение дескрипторов, которые он возвращает в отдельных переменных:
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);
И вы можете добавить данные к осям второго рисунка следующим образом:
plot(hAxes2,rand(1,100),rand(1,100));