Фигуры MATLAB являются сложными иерархическими объектами, поэтому было бы практически невозможно создать универсальный «художник формата».
Вы можете получить свойства фигуры, осей, линий и т. Д. Как структуры, но многие из них доступны только для чтения.
Если вы имеете дело с простыми фигурами - одна ось, аналогичнаятипы графиков, одинаковое количество рядов данных, никаких ручных аннотаций - возможно, более простым способом было бы получить данные из одной фигуры и применить их к фигуре, которую вы хотите использовать в качестве стандарта.
Если ваша фигураall scatter, тип объекта - это либо line (если вы используете plot), либо hggroup (если вы используете scatter).Так что он пример того, как это можно сделать.
fstd = hgload('standard.fig'); %# load standard figure
f1 = hgload('f1.fig'); %# load another figure
%# find data series objects
hstd = findobj(gcf,'type','line','-or','type','hggroup');
h1 = findobj(gcf,'type','line','-or','type','hggroup');
assert(numel(hstd)==numel(h1),'Figures have different number of data series')
%# get the data coordinates from one figure and apply to another
for k = 1:numel(hstd)
h1x = get(h1(k),'XData');
h1y = get(h1(k),'YData');
h1z = get(h1(k),'ZData');
set(hstd(k),'XData',h1x);
set(hstd(k),'YData',h1y);
set(hstd(k),'ZData',h1z);
end
hgsave(hstd,'f1mod.fig') %# save the modified figure